From 9cca4526abd0615246d245fbff806b724ccb4f09 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 19 Oct 2023 15:24:06 +0000 Subject: [PATCH 0001/1313] First commit --- designs/tristan/CHANGELOG.md | 17 ++ designs/tristan/README.md | 143 ++++++++++++++++ designs/tristan/build.mjs | 35 ++++ designs/tristan/data.mjs | 4 + designs/tristan/i18n/en.json | 7 + designs/tristan/i18n/index.mjs | 8 + designs/tristan/package.json | 73 ++++++++ designs/tristan/src/backinside.mjs | 162 ++++++++++++++++++ designs/tristan/src/backoutside.mjs | 133 +++++++++++++++ designs/tristan/src/backpoints.mjs | 70 ++++++++ designs/tristan/src/frontinside.mjs | 209 +++++++++++++++++++++++ designs/tristan/src/frontoutside.mjs | 236 ++++++++++++++++++++++++++ designs/tristan/src/frontpoints.mjs | 55 ++++++ designs/tristan/src/index.mjs | 18 ++ designs/tristan/src/options.mjs | 27 +++ designs/tristan/tests/shared.test.mjs | 20 +++ 16 files changed, 1217 insertions(+) create mode 100644 designs/tristan/CHANGELOG.md create mode 100644 designs/tristan/README.md create mode 100644 designs/tristan/build.mjs create mode 100644 designs/tristan/data.mjs create mode 100644 designs/tristan/i18n/en.json create mode 100644 designs/tristan/i18n/index.mjs create mode 100644 designs/tristan/package.json create mode 100644 designs/tristan/src/backinside.mjs create mode 100644 designs/tristan/src/backoutside.mjs create mode 100644 designs/tristan/src/backpoints.mjs create mode 100644 designs/tristan/src/frontinside.mjs create mode 100644 designs/tristan/src/frontoutside.mjs create mode 100644 designs/tristan/src/frontpoints.mjs create mode 100644 designs/tristan/src/index.mjs create mode 100644 designs/tristan/src/options.mjs create mode 100644 designs/tristan/tests/shared.test.mjs diff --git a/designs/tristan/CHANGELOG.md b/designs/tristan/CHANGELOG.md new file mode 100644 index 00000000000..83acfea0b8e --- /dev/null +++ b/designs/tristan/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change log for: @freesewing/tristan + + +## 3.0.0 (2022-09-30) + +### Changed + + - All FreeSewing pacakges are now ESM only. + - All FreeSewing pacakges now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/designs/tristan/README.md b/designs/tristan/README.md new file mode 100644 index 00000000000..cc27523f3a5 --- /dev/null +++ b/designs/tristan/README.md @@ -0,0 +1,143 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/tristan on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:tristan + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/tristan + +A FreeSewing pattern that needs a description + + + + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/tristan + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Support FreeSewing: Become a patron 🥰 + +FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. + +If you feel FreeSewing is worthwhile, and you can spend a few coind without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.org](https://freesewing.org) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) + - ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose), + [Issues](https://github.com/freesewing/freesewing/issues) & + [Discussions](https://github.com/freesewing/freesewing/discussions) on + [GitHub](https://github.com/freesewing/freesewing) + +**Social media** + + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +**Places the FreeSewing community hangs out** + + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://github.com/freesewing/freesewing/issues/new/choose), +please use the [Issues](https://github.com/freesewing/freesewing/issues) & +[Discussions](https://github.com/freesewing/freesewing/discussions) on +[GitHub](https://github.com/freesewing/freesewing). + diff --git a/designs/tristan/build.mjs b/designs/tristan/build.mjs new file mode 100644 index 00000000000..99ace216bc8 --- /dev/null +++ b/designs/tristan/build.mjs @@ -0,0 +1,35 @@ +/* This script will build the package with esbuild */ +import esbuild from 'esbuild' +import pkg from './package.json' assert { type: 'json' } + +// Create banner based on package info +const banner = `/** + * ${pkg.name} | v${pkg.version} + * ${pkg.description} + * (c) ${new Date().getFullYear()} ${pkg.author} + * @license ${pkg.license} + */` + +// Shared esbuild options +const options = { + banner: { js: banner }, + bundle: true, + entryPoints: ['src/index.mjs'], + format: 'esm', + outfile: 'dist/index.mjs', + external: ['@freesewing'], + metafile: process.env.VERBOSE ? true : false, + minify: process.env.NO_MINIFY ? false : true, + sourcemap: true, +} + +// Let esbuild generate the build +const build = async () => { + const result = await esbuild.build(options).catch(() => process.exit(1)) + + if (process.env.VERBOSE) { + const info = await esbuild.analyzeMetafile(result.metafile) + console.log(info) + } +} +build() diff --git a/designs/tristan/data.mjs b/designs/tristan/data.mjs new file mode 100644 index 00000000000..f703aaa2bd8 --- /dev/null +++ b/designs/tristan/data.mjs @@ -0,0 +1,4 @@ +// This file is auto-generated | All changes you make will be overwritten. +export const name = '@freesewing/tristan' +export const version = '3.0.0' +export const data = { name, version } diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json new file mode 100644 index 00000000000..7b0495506a5 --- /dev/null +++ b/designs/tristan/i18n/en.json @@ -0,0 +1,7 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/tristan/i18n/index.mjs b/designs/tristan/i18n/index.mjs new file mode 100644 index 00000000000..36aac928b67 --- /dev/null +++ b/designs/tristan/i18n/index.mjs @@ -0,0 +1,8 @@ +import en from './en.json' assert { type: 'json' } +import de from './de.json' assert { type: 'json' } +import es from './es.json' assert { type: 'json' } +import fr from './fr.json' assert { type: 'json' } +import nl from './nl.json' assert { type: 'json' } +import uk from './uk.json' assert { type: 'json' } + +export const i18n = { en, de, es, fr, nl, uk } diff --git a/designs/tristan/package.json b/designs/tristan/package.json new file mode 100644 index 00000000000..4f5eb2b4eb9 --- /dev/null +++ b/designs/tristan/package.json @@ -0,0 +1,73 @@ +{ + "name": "@freesewing/tristan", + "version": "3.0.0", + "description": "A FreeSewing pattern that needs a description", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "design", + "diy", + "fashion", + "made to measure", + "parametric design", + "pattern", + "sewing", + "sewing pattern" + ], + "type": "module", + "module": "dist/index.mjs", + "exports": { + ".": { + "internal": "./src/index.mjs", + "default": "./dist/index.mjs" + } + }, + "scripts": { + "build": "node build.mjs", + "build:all": "yarn build", + "clean": "rimraf dist", + "mbuild": "NO_MINIFY=1 node build.mjs", + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "npx mocha tests/*.test.mjs", + "vbuild": "VERBOSE=1 node build.mjs", + "lab": "cd ../../sites/lab && yarn start", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'", + "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", + "wbuild": "node build.mjs", + "wbuild:all": "yarn wbuild" + }, + "peerDependencies": { + "@freesewing/core": "3.0.0" + }, + "dependencies": {}, + "devDependencies": { + "mocha": "10.2.0", + "chai": "4.3.10", + "@freesewing/models": "3.0.0", + "@freesewing/plugin-timing": "3.0.0" + }, + "files": [ + "dist/*", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": "18", + "npm": "9" + } +} diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs new file mode 100644 index 00000000000..70bf3f19d6a --- /dev/null +++ b/designs/tristan/src/backinside.mjs @@ -0,0 +1,162 @@ +import { backPoints } from './backpoints.mjs' + +export const backInside = { + name: 'noble.backInside', + from: backPoints, + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + if (options.dartPosition != 'shoulder') { + paths.insideSeam = paths.seam.clone().unhide() + } else { + // Hide Bella paths + for (let key of Object.keys(paths)) paths[key].hide() + for (let i in snippets) delete snippets[i] + + paths.insideSeam = new Path() + .move(points.cbNeck) + .curve_(points.cbNeckCp2, points.waistCenter) + .line(points.dartBottomLeft) + .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) + .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) + .line(points.hps) + ._curve(points.cbNeckCp1, points.cbNeck) + .close() + .attr('class', 'fabric') + } + + points.grainlineFrom = new Point(points.hps.x / 2, points.shoulder.y) + points.grainlineTo = new Point(points.hps.x / 2, points.waistSide.y) + macro('grainline', { + from: points.grainlineFrom, + to: points.grainlineTo, + }) + + snippets.dartTip = new Snippet('notch', points.dartTip) + + macro('title', { + at: points.titleAnchor, + nr: 3, + title: options.dartPosition != 'shoulder' ? 'back' : 'backInside', + }) + points.gridAnchor = points.hps.clone() + + if (sa) paths.sa = paths.insideSeam.offset(sa).attr('class', 'fabric sa') + + if (options.dartPosition == 'shoulder') { + points.shoulderPoint = points.shoulderDart.clone() + } else { + points.shoulderPoint = points.shoulder.clone() + } + macro('hd', { + from: points.waistCenter, + to: points.shoulderPoint, + y: points.waistCenter.y + sa + 15, + id: 'middleToShoulder', + }) + macro('hd', { + from: points.waistCenter, + to: points.dartTip, + y: points.waistCenter.y + sa + 25, + id: 'middleToDartPoint', + }) + macro('hd', { + from: points.waistCenter, + to: points.dartBottomLeft, + y: points.waistCenter.y + sa + 35, + id: 'middleToDart', + }) + macro('hd', { + from: points.cbNeck, + to: points.dartBottomLeft, + y: points.waistCenter.y + sa + 45, + id: 'neckToDart', + }) + macro('hd', { + from: points.cbNeck, + to: points.hps, + y: points.hps.y - sa - 15, + id: 'neckToHps', + }) + macro('hd', { + from: points.hps, + to: points.shoulderPoint, + y: points.hps.y - sa - 15, + id: 'hpsToShoulder', + }) + if (options.dartPosition != 'shoulder') { + macro('hd', { + from: points.dartTip, + to: points.waistSide, + y: points.waistCenter.y + sa + 25, + id: 'dartPointToSide', + }) + macro('hd', { + from: points.dartBottomRight, + to: points.waistSide, + y: points.waistCenter.y + sa + 35, + id: 'dartToSide', + }) + macro('hd', { + from: points.dartBottomRight, + to: points.armhole, + y: points.waistCenter.y + sa + 45, + id: 'dartToArmhole', + }) + } + + let extraOffset = 0 + if (options.dartPosition != 'shoulder') { + macro('vd', { + from: points.shoulderPoint, + to: points.waistSide, + x: points.shoulderPoint.x + sa + 25, + id: 'sideToShoulder', + }) + macro('vd', { + from: points.armhole, + to: points.waistSide, + x: points.shoulderPoint.x + sa + 15, + id: 'sideToArmhole', + }) + extraOffset = 10 + } + + macro('vd', { + from: points.shoulderPoint, + to: points.dartTip, + x: points.shoulderPoint.x + sa + 15, + id: 'dartPointToShoulder', + }) + macro('vd', { + from: points.shoulderPoint, + to: points.dartBottomLeft, + x: points.shoulderPoint.x + sa + 25 + extraOffset, + id: 'dartToShoulder', + }) + macro('vd', { + from: points.shoulderPoint, + to: points.waistCenter, + x: points.shoulderPoint.x + sa + 35 + extraOffset, + id: 'middleToShoulder', + }) + macro('vd', { + from: points.hps, + to: points.waistCenter, + x: points.shoulderPoint.x + sa + 45 + extraOffset, + id: 'middleToHps', + }) + macro('vd', { + from: points.waistCenter, + to: points.cbNeck, + x: points.cbNeck.x - sa - 15, + id: 'hemToNeck', + }) + macro('vd', { + from: points.waistCenter, + to: points.hps, + x: points.cbNeck.x - sa - 25, + id: 'hemToHps', + }) + + return part + }, +} diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs new file mode 100644 index 00000000000..e581a9070cb --- /dev/null +++ b/designs/tristan/src/backoutside.mjs @@ -0,0 +1,133 @@ +import { backPoints } from './backpoints.mjs' + +export const backOutside = { + name: 'noble.backOutside', + from: backPoints, + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + if (options.dartPosition != 'shoulder') { + return part + } + + paths.dart = new Path() + .move(points.shoulderDart) + .curve(points.shoulderDart, points.shoulderDartCpUp, points.dartTip) + .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) + .hide() + + paths.outsideSeam = new Path() + .move(points.dartBottomRight) + .line(points.waistSide) + .curve_(points.waistSideCp2, points.armhole) + .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + .curve_(points.armholePitchCp2, points.shoulder) + .line(points.shoulderDart) + .join(paths.dart) + .close() + .attr('class', 'fabric') + + points.grainlineFrom = new Point( + Math.max(points.shoulderDart.x, points.dartBottomRight.x), + points.shoulder.y + ) + points.grainlineTo = new Point( + points.grainlineFrom.x, + points.waistSide.y - (points.waistSide.y - points.shoulder.y) * 0.4 + ) + + macro('grainline', { + from: points.grainlineFrom, + to: points.grainlineTo, + }) + + snippets.dartTip = new Snippet('notch', points.dartTip) + + points.titleAnchor = points.dartBottomRight + .shiftFractionTowards(points.waistSide, 0.1) + .shiftFractionTowards(points.shoulder, 0.3) + macro('title', { + at: points.titleAnchor, + nr: 4, + title: 'backOutside', + }) + points.gridAnchor = points.armholeCpTarget.clone() + + if (sa) paths.sa = paths.outsideSeam.offset(sa).attr('class', 'fabric sa') + + let pLeft = paths.dart.edge('left') + macro('hd', { + from: pLeft, + to: points.waistSide, + y: points.waistCenter.y + sa + 15, + id: 'leftToSide', + }) + macro('hd', { + from: points.dartBottomRight, + to: points.armhole, + y: points.waistCenter.y + sa + 25, + id: 'dartToArmhole', + }) + macro('hd', { + from: points.dartTip, + to: points.waistSide, + y: points.waistCenter.y + sa + 35, + id: 'leftToSide', + }) + macro('hd', { + from: points.dartBottomRight, + to: points.waistSide, + y: points.waistCenter.y + sa + 45, + id: 'dartToSide', + }) + macro('hd', { + from: pLeft, + to: points.shoulder, + y: points.shoulderDart.y - sa - 15, + id: 'leftToShoulder', + }) + macro('hd', { + from: points.shoulderDart, + to: points.shoulder, + y: points.shoulderDart.y - sa - 25, + id: 'dartToShoulder', + }) + macro('hd', { + from: points.shoulderDart, + to: points.armhole, + y: points.shoulderDart.y - sa - 35, + id: 'dartToArmhole', + }) + + macro('vd', { + from: points.shoulder, + to: points.dartTip, + x: points.armhole.x + sa + 15, + id: 'dartPointToShoulder', + }) + macro('vd', { + from: points.armhole, + to: points.waistSide, + x: points.armhole.x + sa + 15, + id: 'sideToArmhole', + }) + macro('vd', { + from: points.shoulder, + to: points.waistSide, + x: points.armhole.x + sa + 25, + id: 'sideToShoulder', + }) + macro('vd', { + from: points.shoulder, + to: points.dartBottomRight, + x: points.armhole.x + sa + 35, + id: 'dartToShoulder', + }) + macro('vd', { + from: points.shoulderDart, + to: points.dartBottomRight, + x: points.armhole.x + sa + 45, + id: 'dartToDart', + }) + + return part + }, +} diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs new file mode 100644 index 00000000000..f4fdf616e2a --- /dev/null +++ b/designs/tristan/src/backpoints.mjs @@ -0,0 +1,70 @@ +import { back as bellaBack } from '@freesewing/bella' +import { hidePresets } from '@freesewing/core' +import * as options from './options.mjs' + +export const backPoints = { + name: 'noble.backPoints', + from: bellaBack, + hide: hidePresets.HIDE_ALL, + options, + draft: ({ points, Path, paths, options, snippets, log, part }) => { + // Hide Bella paths + for (const key of Object.keys(paths)) paths[key].hide() + for (const i in snippets) delete snippets[i] + + delete points.bustDartLeft + delete points.bustDartLeftCp + + points.shoulderDart = points.hps.shiftFractionTowards( + points.shoulder, + options.shoulderDartPosition + ) + + const aUp = points.dartTip.angle(points.shoulderDart) + const aDown = points.dartBottomRight.angle(points.dartTip) + const aDiff = Math.abs(aUp - aDown) + + // let dartCpAdjustment = Math.abs( options.shoulderDartPosition -.5) +.05 + const dartCpAdjustment = aDiff / 50 + + points.shoulderDartCpUp = points.shoulderDart.shiftFractionTowards( + points.dartTip, + 1 - dartCpAdjustment + ) + points.shoulderDartCpDown = points.shoulderDart.shiftFractionTowards( + points.dartTip, + 1 + dartCpAdjustment + ) + + const length = { + i: new Path() + .move(points.dartBottomLeft) + .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) + .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) + .length(), + } + + let iteration = 0 + let diff = 0 + let angle = 0 + do { + if (length.o) angle = diff * (length.o > length.i ? -0.1 : 0.1) + + points.dartBottomRight = points.dartBottomRight.rotate(angle, points.waistSide) + + length.o = new Path() + .move(points.shoulderDart) + .curve(points.shoulderDart, points.shoulderDartCpUp, points.dartTip) + .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) + .length() + + diff = length.o - length.i + iteration++ + } while (diff < -0.5 || (diff > 0.5 && iteration < 100)) + if (iteration >= 100) { + log.error('Something is not quite right here!') + } + + return part + }, +} diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs new file mode 100644 index 00000000000..8c83845e3b7 --- /dev/null +++ b/designs/tristan/src/frontinside.mjs @@ -0,0 +1,209 @@ +import { frontPoints } from './frontpoints.mjs' + +export const frontInside = { + name: 'tristan.frontInside', + from: frontPoints, + draft: ({ store, sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + delete points.waistDartHem + delete points.waistDartRight + delete points.waistDartRightCp + delete points.waistDartCpBottom + delete points.bustDartBottom + delete points.bustDartCpBottom + delete points.bustDartTip + delete points.bustDartTop + delete points.shoulderDartTipCpDownOutside + delete points.ex + delete points.bustB + delete points.shoulder + delete points.shoulderDartShoulder + delete points.shoulderDartOutside + delete points.pitchMax + delete points.armholeCpTarget + delete points.armholePitch + delete points.armholePitchCp1 + delete points.armholePitchCp2 + delete points.armhole + delete points.armholeCp2 + delete points.bustDartCpTop + delete points.bustSide + delete points.bustDartMiddle + delete points.bustDartEdge + + if (options.dartPosition == 'shoulder') { + paths.insideSeam = new Path() + .move(points.cfHem) + .line(points.waistDartLeft) + .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) + .line(points.shoulderDartInside) + .line(points.hps) + .curve(points.hpsCp2, points.cfNeckCp1, points.cfNeck) + + paths.cut = new Path() + .move(points.strapInside) + .curve(points.strapInsideCp, points.cfCutCp, points.cfCut) + paths.seam = paths.insideSeam + .join(new Path().move(points.cfNeck).line(points.cfHem)) + .close() + .attr('class', 'fabric') + + store.set( + 'shoulderDartTipNotch', + new Path() + .move(points.waistDartLeft) + .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) + .length() + ) + } else { + paths.insideSeam = new Path() + .move(points.cfHem) + .line(points.waistDartLeft) + .curve( + points.waistDartLeftCp, + points.armholeDartTipCpDownInside, + points.armholeDartTipInside + ) + .curve(points.waistCircleInsideCp1, points.armholeCircleInsideCp1, points.armholeDartInside) + .join(paths.armholeInside) + .line(points.hps) + .curve(points.hpsCp2, points.cfNeckCp1, points.cfNeck) + + paths.seam = paths.insideSeam + .join(new Path().move(points.cfNeck).line(points.cfHem)) + .close() + .attr('class', 'fabric') + + store.set( + 'shoulderDartTipNotch', + new Path() + .move(points.waistDartLeft) + .curve( + points.waistDartLeftCp, + points.armholeDartTipCpDownInside, + points.armholeDartTipInside + ) + .length() + ) + } + + macro('cutonfold', { + from: points.cfNeck, + to: points.cfHem, + grainline: true, + }) + + if (options.dartPosition == 'shoulder') { + snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) + } else { + snippets.shoulderDartTip = new Snippet('notch', points.armholeDartTipInside) + } + points.titleAnchor = new Point(points.hpsCp2.x * 0.75, points.cfNeckCp1.y * 1.5) + macro('title', { + at: points.titleAnchor, + nr: 1, + title: 'frontInside', + }) + points.gridAnchor = points.hps.clone() + + points.scaleboxAnchor = points.titleAnchor.shift(-90, 90).shift(0, 10) + // macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 }) + + if (sa) { + paths.sa = paths.insideSeam.offset(sa).line(points.cfNeck).attr('class', 'fabric sa') + paths.sa = paths.sa.move(points.cfHem).line(paths.sa.start()) + } + + let extraOffset = 0 + if (options.dartPosition == 'shoulder') { + macro('hd', { + from: points.cfNeck, + to: points.shoulderDartInside, + y: points.hps.y - 25, + id: 'hpsToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.shoulderDartInside, + x: 0 - 30, + id: 'hemToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.shoulderDartTip, + x: 0 - 10, + id: 'hemToDartTip', + }) + macro('hd', { + from: points.cfBust, + to: points.shoulderDartTip, + y: points.cfHem.y + sa + 25, + id: 'middleToDartTip', + }) + } else { + extraOffset = 10 + macro('hd', { + from: points.hps, + to: points.shoulderCp1, + y: points.hps.y - 35, + id: 'hpsToShoulder', + }) + macro('hd', { + from: points.hps, + to: points.armholeDartInsideCp2, + y: points.hps.y - 25, + id: 'hpsToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.armholeDartInsideCp2, + x: 0 - 20, + id: 'hemToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.shoulderCp1, + x: 0 - 40, + id: 'hemToShoulder', + }) + macro('vd', { + from: points.cfHem, + to: points.armholeDartTipInside, + x: 0 - 10, + id: 'hemToDartTip', + }) + macro('hd', { + from: points.cfBust, + to: points.armholeDartTipInside, + y: points.cfHem.y + sa + 25, + id: 'middleToDartTip', + }) + } + + macro('vd', { + from: points.cfHem, + to: points.cfNeck, + x: 0 - 20 - extraOffset, + id: 'hemToNeck', + }) + macro('vd', { + from: points.cfHem, + to: points.hps, + x: 0 - 40 - extraOffset, + id: 'hemToHps', + }) + macro('hd', { + from: points.cfHem, + to: points.waistDartLeft, + y: points.cfHem.y + sa + 15, + id: 'middleToDart', + }) + macro('hd', { + from: points.cfNeck, + to: points.hps, + y: points.hps.y - sa - 15, + id: 'middleToHps', + }) + + return part + }, +} diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs new file mode 100644 index 00000000000..be39115b46d --- /dev/null +++ b/designs/tristan/src/frontoutside.mjs @@ -0,0 +1,236 @@ +import { frontPoints } from './frontpoints.mjs' +import { frontInside } from './frontinside.mjs' + +export const frontOutside = { + name: 'noble.frontOutside', + from: frontPoints, + after: frontInside, + draft: ({ store, sa, points, Path, paths, Snippet, snippets, options, macro, part }) => { + delete points.bustDartTop + delete points.bustSide + delete points.bustDartMiddle + delete points.bustDartBottom + delete points.bustDartCpBottom + delete points.bustB + delete points.bustDartEdge + + macro('rmcutonfold') + + if (options.dartPosition == 'shoulder') { + paths.princessSeam = new Path() + .move(points.shoulderDartOutside) + .curve( + points.shoulderDartTipCpDownOutside, + points.waistUpDartRightCpUp, + points.waistUpDartRight + ) + .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) + .hide() + paths.armhole = new Path() + .move(points.armhole) + .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + .curve_(points.armholePitchCp2, points.shoulder) + .hide() + + paths.seam = new Path() + .move(points.waistDartRight) + .line(points.sideHem) + .line(points.armhole) + .join(paths.armhole) + .line(points.shoulderDartOutside) + .join(paths.princessSeam) + .close() + .attr('class', 'fabric') + } else { + paths.princessSeam = new Path() + .move(points.armholeDartOutside) + .curve( + points.armholeCircleOutsideCp1, + points.waistCircleOutsideCp1, + points.waistUpDartRight + ) + .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) + .hide() + + paths.seam = new Path() + .move(points.waistDartRight) + .line(points.sideHem) + .line(points.armhole) + .join(paths.armholeOutside.reverse()) + .join(paths.princessSeam) + .close() + .attr('class', 'fabric') + } + + points.grainTop = points.armhole.shift(225, 20) + points.grainBottom = points.sideHemInitial.shift(135, 20) + macro('grainline', { + from: points.grainBottom, + to: points.grainTop, + }) + + store.cutlist.removeCut() + store.cutlist.addCut() + + points.snippet = paths.princessSeam.shiftAlong( + paths.princessSeam.length() - store.get('shoulderDartTipNotch') + ) + snippets.shoulderDartTip = new Snippet('notch', points.snippet) + + points.titleAnchor = points.waistDartRight + .shiftFractionTowards(points.armhole, 0.3) + .shiftFractionTowards(points.shoulderDartOutside, 0.2) + macro('title', { + at: points.titleAnchor, + nr: 2, + title: 'frontOutside', + }) + points.gridAnchor = points.armholeCpTarget.clone() + + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + + let pLeft = paths.princessSeam.edge('left') + macro('hd', { + from: points.waistDartRight, + to: points.armholeOutsidePitchCp1, + y: points.sideHemInitial.y + sa + 35, + id: 'dartToArmhole', + }) + macro('hd', { + from: points.waistDartRight, + to: points.sideHemInitial, + y: points.sideHemInitial.y + sa + 25, + id: 'dartToSide', + }) + macro('hd', { + from: pLeft, + to: points.sideHemInitial, + y: points.sideHemInitial.y + sa + 15, + id: 'leftToSide', + }) + + macro('vd', { + from: points.armholeOutsidePitchCp1, + to: points.sideHemInitial, + x: points.sideHemInitial.x + sa + 15, + id: 'hemToArmhole', + }) + macro('vd', { + from: points.waistDartRight, + to: pLeft, + x: pLeft.x - sa - 15, + id: 'hemToLeft', + }) + + if (options.dartPosition == 'shoulder') { + macro('hd', { + from: points.shoulderDartOutside, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 15, + id: 'dartToShoulder', + }) + macro('hd', { + from: points.snippet, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 25, + id: 'dartPointToShoulder', + }) + macro('hd', { + from: pLeft, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 35, + id: 'leftToShoulder', + }) + macro('hd', { + from: points.waistDartRight, + to: points.shoulder, + y: points.sideHemInitial.y + sa + 45, + id: 'hemDartToShoulder', + }) + macro('vd', { + from: points.shoulder, + to: points.sideHemInitial, + x: points.shoulder.x, + id: 'hemToShoulder', + }) + macro('vd', { + from: points.shoulderDartOutside, + to: points.sideHemInitial, + x: points.shoulderDartOutside.x, + id: 'sideHemToShoulderDart', + }) + macro('vd', { + from: points.waistDartRight, + to: points.shoulderDartOutside, + x: pLeft.x - sa - 25, + id: 'hemToShoulderDart', + }) + macro('vd', { + from: points.snippet, + to: points.shoulderDartOutside, + x: pLeft.x - sa - 15, + id: 'shoulderDartToDartPoint', + }) + + const pArmholeLeft = paths.armhole.edge('left') + macro('hd', { + from: points.waistDartRight, + to: pArmholeLeft, + y: points.sideHemInitial.y + sa + 5, + id: 'hemDartToRight', + }) + macro('vd', { + from: pArmholeLeft, + to: points.sideHemInitial, + x: points.sideHemInitial.x + sa + 25, + id: 'hemSideToRight', + }) + } else { + let pTop = paths.princessSeam.edge('top') + macro('hd', { + from: pLeft, + to: points.armholeOutsidePitchCp1, + y: pTop.y - sa - 35, + id: 'leftToArmhole', + }) + macro('hd', { + from: pLeft, + to: points.armholeDartOutside, + y: pTop.y - sa - 25, + id: 'leftToArmholeDart', + }) + macro('hd', { + from: pLeft, + to: pTop, + y: pTop.y - sa - 15, + id: 'leftToTop', + }) + macro('vd', { + from: points.waistDartRight, + to: pTop, + x: pLeft.x - sa - 25, + id: 'hemToTop', + }) + macro('vd', { + from: points.snippet, + to: pTop, + x: pLeft.x - sa - 15, + id: 'topToDartPoint', + }) + macro('vd', { + from: points.armholeDartOutside, + to: points.sideHemInitial, + x: points.sideHemInitial.x + sa + 25, + id: 'sideHemToArmholeDart', + }) + macro('vd', { + from: pTop, + to: points.sideHemInitial, + x: points.sideHemInitial.x + sa + 35, + id: 'sideHemToTop', + }) + } + + return part + }, +} diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs new file mode 100644 index 00000000000..7c7c85def93 --- /dev/null +++ b/designs/tristan/src/frontpoints.mjs @@ -0,0 +1,55 @@ +import { frontPoints as nobleFrontPoints } from '@freesewing/noble' +import { hidePresets } from '@freesewing/core' +import * as options from './options.mjs' + +export const frontPoints = { + name: 'tristan.frontPoints', + from: nobleFrontPoints, + hide: hidePresets.HIDE_ALL, + options, + draft: ({ log, points, Path, paths, snippets, options, macro, part }) => { + const bCircle = 0.552284749831 + + // Hide Bella paths + for (const key of Object.keys(paths)) paths[key].hide() + for (const i in snippets) delete snippets[i] + + // Remove macros from Bella + macro('rmtitle') + macro('rmscalebox') + + console.log({ dist: points.hps.dist(points.shoulder) }) + console.log({ dist: points.shoulderDartInside.dist(points.hps) }) + console.log({ dist: points.shoulderDartOutside.dist(points.shoulder) }) + + console.log({ options: JSON.parse(JSON.stringify(options)) }) + console.log({ paths: JSON.parse(JSON.stringify(paths)) }) + + points.strapInside = points.shoulderDartInside + .shiftFractionTowards(points.hps, options.strapWidth / 2) + .addCircle(5) + points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepth).addCircle(5) + + points.cutSeam = new Path() + .move(points.waistDartLeft) + .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) + .line(points.shoulderDartInside) + .intersectsY(points.cfCut.y)[0] + .addCircle(5) + + points.xx = points.cutSeam + .shift( + points.cutSeam.angle(points.shoulderDartInside) + 90, + points.shoulderDartInside.dist(points.strapInside) + ) + .addCircle(5) + + points.cfCutCp = points.cfCut + .shiftFractionTowards(points.cutSeam, 1 - options.cutRoundness) + .addCircle(5) + points.strapInsideCp = points.strapInside + .shiftFractionTowards(points.xx, 1 - options.cutRoundness) + .addCircle(5) + return part + }, +} diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs new file mode 100644 index 00000000000..ee09adf597f --- /dev/null +++ b/designs/tristan/src/index.mjs @@ -0,0 +1,18 @@ +// + +import { Design } from '@freesewing/core' +import { i18n } from '../i18n/index.mjs' +import { data } from '../data.mjs' +// Parts +import { frontPoints } from './frontpoints.mjs' +import { frontInside } from './frontinside.mjs' +import { frontOutside } from './frontoutside.mjs' + +// Create new design +const Tristan = new Design({ + data, + parts: [frontPoints, frontInside, frontOutside], +}) + +// Named exports +export { frontPoints, frontInside, frontOutside, i18n, Tristan } diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs new file mode 100644 index 00000000000..a4e7fc77c30 --- /dev/null +++ b/designs/tristan/src/options.mjs @@ -0,0 +1,27 @@ +import { pctBasedOn } from '@freesewing/core' + +// Constants +export const shoulderToShoulderCorrection = 0.995 +export const bustDartCurve = 1 +export const bustDartLength = 0.9 +export const dartPosition = 'shoulder' +// Percentages +export const strapWidth = { pct: 15, min: 5, max: 100, menu: 'style' } +export const cutDepth = { pct: 80, min: 0, max: 125, menu: 'style' } +export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } +export const cutRoundness = { pct: 10, min: 0, max: 100, menu: 'style' } +export const bustSpanEase = { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' } +export const backHemSlope = { deg: 2.5, min: 0, max: 5, menu: 'advanced' } +export const upperDartLength = { pct: 90, min: 80, max: 95, menu: 'darts' } +export const shoulderDartPosition = { + pct: 50, + min: 10, + max: 90, + menu: (settings, mergedOptions) => (mergedOptions.dartPosition === 'shoulder' ? 'darts' : false), +} +export const armholeDartPosition = { + pct: 50, + min: 10, + max: 90, + menu: (settings, mergedOptions) => (mergedOptions.dartPosition === 'armhole' ? 'darts' : false), +} diff --git a/designs/tristan/tests/shared.test.mjs b/designs/tristan/tests/shared.test.mjs new file mode 100644 index 00000000000..87be117e2ed --- /dev/null +++ b/designs/tristan/tests/shared.test.mjs @@ -0,0 +1,20 @@ +// This file is auto-generated | Any changes you make will be overwritten. +import { Tristan, i18n } from '../src/index.mjs' + +// Shared tests +import { testPatternConfig } from '../../../tests/designs/config.mjs' +import { testPatternI18n } from '../../../tests/designs/i18n.mjs' +import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' +import { testPatternSampling } from '../../../tests/designs/sampling.mjs' + +// Test config +testPatternConfig(Tristan) + +// Test translation +testPatternI18n(Tristan, i18n) + +// Test drafting - Change the second parameter to `true` to log errors +testPatternDrafting(Tristan, false) + +// Test sampling - Change the second parameter to `true` to log errors +testPatternSampling(Tristan, false) From 94a6e51033c98b777b75b4362a92cbab6335c2e0 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 19 Oct 2023 23:02:21 +0000 Subject: [PATCH 0002/1313] Front mostly done --- designs/tristan/src/frontinside.mjs | 166 ++++++------------- designs/tristan/src/frontoutside.mjs | 239 ++++++++++----------------- designs/tristan/src/frontpoints.mjs | 99 +++++++++-- designs/tristan/src/options.mjs | 8 +- 4 files changed, 222 insertions(+), 290 deletions(-) diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index 8c83845e3b7..ee63ab7ea35 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -30,64 +30,32 @@ export const frontInside = { delete points.bustDartMiddle delete points.bustDartEdge - if (options.dartPosition == 'shoulder') { - paths.insideSeam = new Path() - .move(points.cfHem) - .line(points.waistDartLeft) + paths.cut = new Path() + .move(points.strapInside) + .curve(points.strapInsideCp, points.cfCutCp, points.cfCut) + + paths.insideSeam = new Path() + .move(points.cfHem) + .line(points.waistDartLeft) + .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) + .line(points.shoulderDartInside) + .join(paths.cut) + + paths.seam = paths.insideSeam + .join(new Path().move(points.cfCut).line(points.cfHem)) + .close() + .attr('class', 'fabric') + + store.set( + 'shoulderDartTipNotch', + new Path() + .move(points.waistDartLeft) .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) - .line(points.shoulderDartInside) - .line(points.hps) - .curve(points.hpsCp2, points.cfNeckCp1, points.cfNeck) - - paths.cut = new Path() - .move(points.strapInside) - .curve(points.strapInsideCp, points.cfCutCp, points.cfCut) - paths.seam = paths.insideSeam - .join(new Path().move(points.cfNeck).line(points.cfHem)) - .close() - .attr('class', 'fabric') - - store.set( - 'shoulderDartTipNotch', - new Path() - .move(points.waistDartLeft) - .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) - .length() - ) - } else { - paths.insideSeam = new Path() - .move(points.cfHem) - .line(points.waistDartLeft) - .curve( - points.waistDartLeftCp, - points.armholeDartTipCpDownInside, - points.armholeDartTipInside - ) - .curve(points.waistCircleInsideCp1, points.armholeCircleInsideCp1, points.armholeDartInside) - .join(paths.armholeInside) - .line(points.hps) - .curve(points.hpsCp2, points.cfNeckCp1, points.cfNeck) - - paths.seam = paths.insideSeam - .join(new Path().move(points.cfNeck).line(points.cfHem)) - .close() - .attr('class', 'fabric') - - store.set( - 'shoulderDartTipNotch', - new Path() - .move(points.waistDartLeft) - .curve( - points.waistDartLeftCp, - points.armholeDartTipCpDownInside, - points.armholeDartTipInside - ) - .length() - ) - } + .length() + ) macro('cutonfold', { - from: points.cfNeck, + from: points.cfCut, to: points.cfHem, grainline: true, }) @@ -114,70 +82,30 @@ export const frontInside = { } let extraOffset = 0 - if (options.dartPosition == 'shoulder') { - macro('hd', { - from: points.cfNeck, - to: points.shoulderDartInside, - y: points.hps.y - 25, - id: 'hpsToDart', - }) - macro('vd', { - from: points.cfHem, - to: points.shoulderDartInside, - x: 0 - 30, - id: 'hemToDart', - }) - macro('vd', { - from: points.cfHem, - to: points.shoulderDartTip, - x: 0 - 10, - id: 'hemToDartTip', - }) - macro('hd', { - from: points.cfBust, - to: points.shoulderDartTip, - y: points.cfHem.y + sa + 25, - id: 'middleToDartTip', - }) - } else { - extraOffset = 10 - macro('hd', { - from: points.hps, - to: points.shoulderCp1, - y: points.hps.y - 35, - id: 'hpsToShoulder', - }) - macro('hd', { - from: points.hps, - to: points.armholeDartInsideCp2, - y: points.hps.y - 25, - id: 'hpsToDart', - }) - macro('vd', { - from: points.cfHem, - to: points.armholeDartInsideCp2, - x: 0 - 20, - id: 'hemToDart', - }) - macro('vd', { - from: points.cfHem, - to: points.shoulderCp1, - x: 0 - 40, - id: 'hemToShoulder', - }) - macro('vd', { - from: points.cfHem, - to: points.armholeDartTipInside, - x: 0 - 10, - id: 'hemToDartTip', - }) - macro('hd', { - from: points.cfBust, - to: points.armholeDartTipInside, - y: points.cfHem.y + sa + 25, - id: 'middleToDartTip', - }) - } + macro('hd', { + from: points.cfNeck, + to: points.shoulderDartInside, + y: points.hps.y - 25, + id: 'hpsToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.shoulderDartInside, + x: 0 - 30, + id: 'hemToDart', + }) + macro('vd', { + from: points.cfHem, + to: points.shoulderDartTip, + x: 0 - 10, + id: 'hemToDartTip', + }) + macro('hd', { + from: points.cfBust, + to: points.shoulderDartTip, + y: points.cfHem.y + sa + 25, + id: 'middleToDartTip', + }) macro('vd', { from: points.cfHem, diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index be39115b46d..753760cbf21 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -16,51 +16,36 @@ export const frontOutside = { macro('rmcutonfold') - if (options.dartPosition == 'shoulder') { - paths.princessSeam = new Path() - .move(points.shoulderDartOutside) - .curve( - points.shoulderDartTipCpDownOutside, - points.waistUpDartRightCpUp, - points.waistUpDartRight - ) - .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) - .hide() - paths.armhole = new Path() - .move(points.armhole) - .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - .curve_(points.armholePitchCp2, points.shoulder) - .hide() + paths.cut = new Path() + .move(points.armhole) + .curve(points.armholeCutCp, points.strapOutsideCp, points.strapOutside) + .hide() - paths.seam = new Path() - .move(points.waistDartRight) - .line(points.sideHem) - .line(points.armhole) - .join(paths.armhole) - .line(points.shoulderDartOutside) - .join(paths.princessSeam) - .close() - .attr('class', 'fabric') - } else { - paths.princessSeam = new Path() - .move(points.armholeDartOutside) - .curve( - points.armholeCircleOutsideCp1, - points.waistCircleOutsideCp1, - points.waistUpDartRight - ) - .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) - .hide() + paths.princessSeam = new Path() + .move(points.shoulderDartOutside) + .curve( + points.shoulderDartTipCpDownOutside, + points.waistUpDartRightCpUp, + points.waistUpDartRight + ) + .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) + .hide() - paths.seam = new Path() - .move(points.waistDartRight) - .line(points.sideHem) - .line(points.armhole) - .join(paths.armholeOutside.reverse()) - .join(paths.princessSeam) - .close() - .attr('class', 'fabric') - } + paths.armhole = new Path() + .move(points.armhole) + .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + .curve_(points.armholePitchCp2, points.shoulder) + .hide() + + paths.seam = new Path() + .move(points.waistDartRight) + .line(points.sideHem) + .line(points.armhole) + .join(paths.cut) + .line(points.shoulderDartOutside) + .join(paths.princessSeam) + .close() + .attr('class', 'fabric') points.grainTop = points.armhole.shift(225, 20) points.grainBottom = points.sideHemInitial.shift(135, 20) @@ -122,114 +107,68 @@ export const frontOutside = { id: 'hemToLeft', }) - if (options.dartPosition == 'shoulder') { - macro('hd', { - from: points.shoulderDartOutside, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 15, - id: 'dartToShoulder', - }) - macro('hd', { - from: points.snippet, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 25, - id: 'dartPointToShoulder', - }) - macro('hd', { - from: pLeft, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 35, - id: 'leftToShoulder', - }) - macro('hd', { - from: points.waistDartRight, - to: points.shoulder, - y: points.sideHemInitial.y + sa + 45, - id: 'hemDartToShoulder', - }) - macro('vd', { - from: points.shoulder, - to: points.sideHemInitial, - x: points.shoulder.x, - id: 'hemToShoulder', - }) - macro('vd', { - from: points.shoulderDartOutside, - to: points.sideHemInitial, - x: points.shoulderDartOutside.x, - id: 'sideHemToShoulderDart', - }) - macro('vd', { - from: points.waistDartRight, - to: points.shoulderDartOutside, - x: pLeft.x - sa - 25, - id: 'hemToShoulderDart', - }) - macro('vd', { - from: points.snippet, - to: points.shoulderDartOutside, - x: pLeft.x - sa - 15, - id: 'shoulderDartToDartPoint', - }) + macro('hd', { + from: points.shoulderDartOutside, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 15, + id: 'dartToShoulder', + }) + macro('hd', { + from: points.snippet, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 25, + id: 'dartPointToShoulder', + }) + macro('hd', { + from: pLeft, + to: points.shoulder, + y: points.shoulderDartOutside.y - sa - 35, + id: 'leftToShoulder', + }) + macro('hd', { + from: points.waistDartRight, + to: points.shoulder, + y: points.sideHemInitial.y + sa + 45, + id: 'hemDartToShoulder', + }) + macro('vd', { + from: points.shoulder, + to: points.sideHemInitial, + x: points.shoulder.x, + id: 'hemToShoulder', + }) + macro('vd', { + from: points.shoulderDartOutside, + to: points.sideHemInitial, + x: points.shoulderDartOutside.x, + id: 'sideHemToShoulderDart', + }) + macro('vd', { + from: points.waistDartRight, + to: points.shoulderDartOutside, + x: pLeft.x - sa - 25, + id: 'hemToShoulderDart', + }) + macro('vd', { + from: points.snippet, + to: points.shoulderDartOutside, + x: pLeft.x - sa - 15, + id: 'shoulderDartToDartPoint', + }) - const pArmholeLeft = paths.armhole.edge('left') - macro('hd', { - from: points.waistDartRight, - to: pArmholeLeft, - y: points.sideHemInitial.y + sa + 5, - id: 'hemDartToRight', - }) - macro('vd', { - from: pArmholeLeft, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 25, - id: 'hemSideToRight', - }) - } else { - let pTop = paths.princessSeam.edge('top') - macro('hd', { - from: pLeft, - to: points.armholeOutsidePitchCp1, - y: pTop.y - sa - 35, - id: 'leftToArmhole', - }) - macro('hd', { - from: pLeft, - to: points.armholeDartOutside, - y: pTop.y - sa - 25, - id: 'leftToArmholeDart', - }) - macro('hd', { - from: pLeft, - to: pTop, - y: pTop.y - sa - 15, - id: 'leftToTop', - }) - macro('vd', { - from: points.waistDartRight, - to: pTop, - x: pLeft.x - sa - 25, - id: 'hemToTop', - }) - macro('vd', { - from: points.snippet, - to: pTop, - x: pLeft.x - sa - 15, - id: 'topToDartPoint', - }) - macro('vd', { - from: points.armholeDartOutside, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 25, - id: 'sideHemToArmholeDart', - }) - macro('vd', { - from: pTop, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 35, - id: 'sideHemToTop', - }) - } + const pArmholeLeft = paths.armhole.edge('left') + macro('hd', { + from: points.waistDartRight, + to: pArmholeLeft, + y: points.sideHemInitial.y + sa + 5, + id: 'hemDartToRight', + }) + macro('vd', { + from: pArmholeLeft, + to: points.sideHemInitial, + x: points.sideHemInitial.x + sa + 25, + id: 'hemSideToRight', + }) return part }, diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 7c7c85def93..e7f7e0961c3 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -1,13 +1,14 @@ import { frontPoints as nobleFrontPoints } from '@freesewing/noble' import { hidePresets } from '@freesewing/core' import * as options from './options.mjs' +import { utils } from 'mocha' export const frontPoints = { name: 'tristan.frontPoints', from: nobleFrontPoints, hide: hidePresets.HIDE_ALL, options, - draft: ({ log, points, Path, paths, snippets, options, macro, part }) => { + draft: ({ log, points, Path, paths, snippets, options, macro, utils, part }) => { const bCircle = 0.552284749831 // Hide Bella paths @@ -22,34 +23,96 @@ export const frontPoints = { console.log({ dist: points.shoulderDartInside.dist(points.hps) }) console.log({ dist: points.shoulderDartOutside.dist(points.shoulder) }) + const shoulderWidthInside = points.shoulderDartInside.dist(points.hps) + const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder) + let strapWidth = (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth + + if (strapWidth / 2 > shoulderWidthInside) { + strapWidth = shoulderWidthInside * 2 + } + if (strapWidth / 2 > shoulderWidthOutside) { + strapWidth = shoulderWidthOutside * 2 + } + console.log({ options: JSON.parse(JSON.stringify(options)) }) console.log({ paths: JSON.parse(JSON.stringify(paths)) }) - points.strapInside = points.shoulderDartInside - .shiftFractionTowards(points.hps, options.strapWidth / 2) - .addCircle(5) - points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepth).addCircle(5) + points.strapInside = points.shoulderDartInside.shiftTowards(points.hps, strapWidth / 2) + points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2) - points.cutSeam = new Path() + points.shoulder = points.strapOutside + + // .line(points.armhole) + // .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + // .curve_(points.armholePitchCp2, points.shoulder) + points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront) + + points.cutSeamInside = new Path() .move(points.waistDartLeft) .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) .line(points.shoulderDartInside) .intersectsY(points.cfCut.y)[0] - .addCircle(5) - points.xx = points.cutSeam - .shift( - points.cutSeam.angle(points.shoulderDartInside) + 90, - points.shoulderDartInside.dist(points.strapInside) + points.cutSeamOutside = new Path() + .move(points.waistDartRight) + .curve(points.waistCpUp, points.waistUpDartRightCpDown, points.waistUpDartRight) + .curve( + points.waistUpDartRightCpUp, + points.shoulderDartTipCpDownOutside, + points.shoulderDartOutside ) - .addCircle(5) + .intersectsY(points.cfCut.y)[0] + + points.cfCutCp = points.cfCut.shiftFractionTowards( + points.cutSeamInside, + 1 - options.cutRoundnessFront + ) + points.strapInsideCp = points.strapInside.shiftFractionTowards( + points.cutSeamInside.shift( + points.cutSeamInside.angle(points.shoulderDartInside) + 90, + strapWidth / 2 + ), + 1 - options.cutRoundnessFront + ) + + points.armholeCutCp = points.armhole.shiftFractionTowards( + points.cutSeamOutside, + 1 - options.cutRoundnessFront + ) + + points.strapOutsideCp = points.strapOutside.shiftFractionTowards( + points.cutSeamOutside.shift( + points.cutSeamOutside.angle(points.shoulderDartOutside) - 90, + strapWidth / 2 + ), + 1 - options.cutRoundnessFront + ) + + const armHole = new Path() + .move(points.armhole) + .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + .curve_(points.armholePitchCp2, points.shoulder) + + console.log({ + intersects: armHole.intersects( + new Path() + .move(points.strapOutside) + .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + ).length, + }) + + var iter = 0 + while ( + armHole.intersects( + new Path() + .move(points.strapOutside) + .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + ).length != 0 && + ++iter < 250 + ) { + points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) + } - points.cfCutCp = points.cfCut - .shiftFractionTowards(points.cutSeam, 1 - options.cutRoundness) - .addCircle(5) - points.strapInsideCp = points.strapInside - .shiftFractionTowards(points.xx, 1 - options.cutRoundness) - .addCircle(5) return part }, } diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs index a4e7fc77c30..adbf1163163 100644 --- a/designs/tristan/src/options.mjs +++ b/designs/tristan/src/options.mjs @@ -7,9 +7,11 @@ export const bustDartLength = 0.9 export const dartPosition = 'shoulder' // Percentages export const strapWidth = { pct: 15, min: 5, max: 100, menu: 'style' } -export const cutDepth = { pct: 80, min: 0, max: 125, menu: 'style' } -export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } -export const cutRoundness = { pct: 10, min: 0, max: 100, menu: 'style' } +export const cutDepthFront = { pct: 80, min: 0, max: 125, menu: 'style' } +export const cutDepthBack = { pct: 80, min: 0, max: 125, menu: 'style' } +// export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } +export const cutRoundnessFront = { pct: 10, min: 0, max: 100, menu: 'style' } +export const cutRoundnessBack = { pct: 10, min: 0, max: 100, menu: 'style' } export const bustSpanEase = { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' } export const backHemSlope = { deg: 2.5, min: 0, max: 5, menu: 'advanced' } export const upperDartLength = { pct: 90, min: 80, max: 95, menu: 'darts' } From f71a52eaf85b8a14faab65dbcc59ad94b9a57c37 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 22 Oct 2023 18:58:54 +0000 Subject: [PATCH 0003/1313] Back --- designs/tristan/src/backinside.mjs | 165 +++------------------------- designs/tristan/src/backoutside.mjs | 117 ++------------------ designs/tristan/src/backpoints.mjs | 127 +++++++++++++-------- designs/tristan/src/frontpoints.mjs | 7 +- designs/tristan/src/index.mjs | 18 ++- designs/tristan/src/options.mjs | 2 +- 6 files changed, 124 insertions(+), 312 deletions(-) diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index 70bf3f19d6a..2ef049e08a8 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -1,161 +1,22 @@ import { backPoints } from './backpoints.mjs' export const backInside = { - name: 'noble.backInside', + name: 'tristan.backInside', from: backPoints, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { - if (options.dartPosition != 'shoulder') { - paths.insideSeam = paths.seam.clone().unhide() - } else { - // Hide Bella paths - for (let key of Object.keys(paths)) paths[key].hide() - for (let i in snippets) delete snippets[i] + paths.cut = new Path() + .move(points.strapInside) + .curve(points.strapInsideCp, points.cbCutCp, points.cbCut) - paths.insideSeam = new Path() - .move(points.cbNeck) - .curve_(points.cbNeckCp2, points.waistCenter) - .line(points.dartBottomLeft) - .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) - .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) - .line(points.hps) - ._curve(points.cbNeckCp1, points.cbNeck) - .close() - .attr('class', 'fabric') - } - - points.grainlineFrom = new Point(points.hps.x / 2, points.shoulder.y) - points.grainlineTo = new Point(points.hps.x / 2, points.waistSide.y) - macro('grainline', { - from: points.grainlineFrom, - to: points.grainlineTo, - }) - - snippets.dartTip = new Snippet('notch', points.dartTip) - - macro('title', { - at: points.titleAnchor, - nr: 3, - title: options.dartPosition != 'shoulder' ? 'back' : 'backInside', - }) - points.gridAnchor = points.hps.clone() - - if (sa) paths.sa = paths.insideSeam.offset(sa).attr('class', 'fabric sa') - - if (options.dartPosition == 'shoulder') { - points.shoulderPoint = points.shoulderDart.clone() - } else { - points.shoulderPoint = points.shoulder.clone() - } - macro('hd', { - from: points.waistCenter, - to: points.shoulderPoint, - y: points.waistCenter.y + sa + 15, - id: 'middleToShoulder', - }) - macro('hd', { - from: points.waistCenter, - to: points.dartTip, - y: points.waistCenter.y + sa + 25, - id: 'middleToDartPoint', - }) - macro('hd', { - from: points.waistCenter, - to: points.dartBottomLeft, - y: points.waistCenter.y + sa + 35, - id: 'middleToDart', - }) - macro('hd', { - from: points.cbNeck, - to: points.dartBottomLeft, - y: points.waistCenter.y + sa + 45, - id: 'neckToDart', - }) - macro('hd', { - from: points.cbNeck, - to: points.hps, - y: points.hps.y - sa - 15, - id: 'neckToHps', - }) - macro('hd', { - from: points.hps, - to: points.shoulderPoint, - y: points.hps.y - sa - 15, - id: 'hpsToShoulder', - }) - if (options.dartPosition != 'shoulder') { - macro('hd', { - from: points.dartTip, - to: points.waistSide, - y: points.waistCenter.y + sa + 25, - id: 'dartPointToSide', - }) - macro('hd', { - from: points.dartBottomRight, - to: points.waistSide, - y: points.waistCenter.y + sa + 35, - id: 'dartToSide', - }) - macro('hd', { - from: points.dartBottomRight, - to: points.armhole, - y: points.waistCenter.y + sa + 45, - id: 'dartToArmhole', - }) - } - - let extraOffset = 0 - if (options.dartPosition != 'shoulder') { - macro('vd', { - from: points.shoulderPoint, - to: points.waistSide, - x: points.shoulderPoint.x + sa + 25, - id: 'sideToShoulder', - }) - macro('vd', { - from: points.armhole, - to: points.waistSide, - x: points.shoulderPoint.x + sa + 15, - id: 'sideToArmhole', - }) - extraOffset = 10 - } - - macro('vd', { - from: points.shoulderPoint, - to: points.dartTip, - x: points.shoulderPoint.x + sa + 15, - id: 'dartPointToShoulder', - }) - macro('vd', { - from: points.shoulderPoint, - to: points.dartBottomLeft, - x: points.shoulderPoint.x + sa + 25 + extraOffset, - id: 'dartToShoulder', - }) - macro('vd', { - from: points.shoulderPoint, - to: points.waistCenter, - x: points.shoulderPoint.x + sa + 35 + extraOffset, - id: 'middleToShoulder', - }) - macro('vd', { - from: points.hps, - to: points.waistCenter, - x: points.shoulderPoint.x + sa + 45 + extraOffset, - id: 'middleToHps', - }) - macro('vd', { - from: points.waistCenter, - to: points.cbNeck, - x: points.cbNeck.x - sa - 15, - id: 'hemToNeck', - }) - macro('vd', { - from: points.waistCenter, - to: points.hps, - x: points.cbNeck.x - sa - 25, - id: 'hemToHps', - }) + paths.insideSeam = new Path() + .move(points.strapInside) + .join(paths.cut) + .curve_(points.cbCutCp2, points.waistCenter) + .line(points.dartBottomLeft) + .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) + .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) + .close() + .attr('class', 'fabric') return part }, diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index e581a9070cb..d6984137af1 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -4,9 +4,10 @@ export const backOutside = { name: 'noble.backOutside', from: backPoints, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { - if (options.dartPosition != 'shoulder') { - return part - } + paths.cut = new Path() + .move(points.armhole) + .curve(points.armholeCutCp, points.strapOutsideCp, points.strapOutside) + // .hide() paths.dart = new Path() .move(points.shoulderDart) @@ -18,116 +19,14 @@ export const backOutside = { .move(points.dartBottomRight) .line(points.waistSide) .curve_(points.waistSideCp2, points.armhole) - .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - .curve_(points.armholePitchCp2, points.shoulder) - .line(points.shoulderDart) + // .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + // .curve_(points.armholePitchCp2, points.shoulder) + // .line(points.shoulderDart) + .join(paths.cut) .join(paths.dart) .close() .attr('class', 'fabric') - points.grainlineFrom = new Point( - Math.max(points.shoulderDart.x, points.dartBottomRight.x), - points.shoulder.y - ) - points.grainlineTo = new Point( - points.grainlineFrom.x, - points.waistSide.y - (points.waistSide.y - points.shoulder.y) * 0.4 - ) - - macro('grainline', { - from: points.grainlineFrom, - to: points.grainlineTo, - }) - - snippets.dartTip = new Snippet('notch', points.dartTip) - - points.titleAnchor = points.dartBottomRight - .shiftFractionTowards(points.waistSide, 0.1) - .shiftFractionTowards(points.shoulder, 0.3) - macro('title', { - at: points.titleAnchor, - nr: 4, - title: 'backOutside', - }) - points.gridAnchor = points.armholeCpTarget.clone() - - if (sa) paths.sa = paths.outsideSeam.offset(sa).attr('class', 'fabric sa') - - let pLeft = paths.dart.edge('left') - macro('hd', { - from: pLeft, - to: points.waistSide, - y: points.waistCenter.y + sa + 15, - id: 'leftToSide', - }) - macro('hd', { - from: points.dartBottomRight, - to: points.armhole, - y: points.waistCenter.y + sa + 25, - id: 'dartToArmhole', - }) - macro('hd', { - from: points.dartTip, - to: points.waistSide, - y: points.waistCenter.y + sa + 35, - id: 'leftToSide', - }) - macro('hd', { - from: points.dartBottomRight, - to: points.waistSide, - y: points.waistCenter.y + sa + 45, - id: 'dartToSide', - }) - macro('hd', { - from: pLeft, - to: points.shoulder, - y: points.shoulderDart.y - sa - 15, - id: 'leftToShoulder', - }) - macro('hd', { - from: points.shoulderDart, - to: points.shoulder, - y: points.shoulderDart.y - sa - 25, - id: 'dartToShoulder', - }) - macro('hd', { - from: points.shoulderDart, - to: points.armhole, - y: points.shoulderDart.y - sa - 35, - id: 'dartToArmhole', - }) - - macro('vd', { - from: points.shoulder, - to: points.dartTip, - x: points.armhole.x + sa + 15, - id: 'dartPointToShoulder', - }) - macro('vd', { - from: points.armhole, - to: points.waistSide, - x: points.armhole.x + sa + 15, - id: 'sideToArmhole', - }) - macro('vd', { - from: points.shoulder, - to: points.waistSide, - x: points.armhole.x + sa + 25, - id: 'sideToShoulder', - }) - macro('vd', { - from: points.shoulder, - to: points.dartBottomRight, - x: points.armhole.x + sa + 35, - id: 'dartToShoulder', - }) - macro('vd', { - from: points.shoulderDart, - to: points.dartBottomRight, - x: points.armhole.x + sa + 45, - id: 'dartToDart', - }) - return part }, } diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index f4fdf616e2a..9405d93af12 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -1,68 +1,105 @@ -import { back as bellaBack } from '@freesewing/bella' +import { backPoints as nobleBackPoints } from '@freesewing/noble' import { hidePresets } from '@freesewing/core' import * as options from './options.mjs' +import { frontPoints } from './frontpoints.mjs' export const backPoints = { - name: 'noble.backPoints', - from: bellaBack, + name: 'tristan.backPoints', + from: nobleBackPoints, + after: frontPoints, hide: hidePresets.HIDE_ALL, options, - draft: ({ points, Path, paths, options, snippets, log, part }) => { - // Hide Bella paths + draft: ({ points, Path, paths, options, snippets, log, store, part }) => { + // Hide Noble paths for (const key of Object.keys(paths)) paths[key].hide() for (const i in snippets) delete snippets[i] delete points.bustDartLeft delete points.bustDartLeftCp - points.shoulderDart = points.hps.shiftFractionTowards( - points.shoulder, - options.shoulderDartPosition + const strapWidth = store.get('strapWidth') + + console.log({ BP_options: JSON.parse(JSON.stringify(options)) }) + console.log({ BP_points: JSON.parse(JSON.stringify(points)) }) + console.log({ BP_paths: JSON.parse(JSON.stringify(paths)) }) + + points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2) + points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2) + + points.shoulder = points.strapOutside + + // points.cbCut = points.cbNeck.shiftFractionTowards(points.waistCenter, options.cutDepthBack) + points.cbCut = new Path() + .move(points.cbNeck) + .curve_(points.cbNeckCp2, points.waistCenter) + .shiftFractionAlong(options.cutDepthBack) + + points.cbCutCp2 = new Path() + .move(points.cbNeck) + .curve_(points.cbNeckCp2, points.waistCenter) + .split(points.cbCut)[1].ops[1].cp2 + + points.cutSeamInside = new Path() + .move(points.dartBottomLeft) + .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) + .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) + .intersectsY(points.cbCut.y)[0] + + points.cutSeamOutside = new Path() + .move(points.shoulderDart) + .curve(points.shoulderDart, points.shoulderDartCpUp, points.dartTip) + .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) + .intersectsY(points.cbCut.y)[0] + + points.cbCutCp = points.cbCut.shiftFractionTowards( + points.cutSeamInside, + 1 - options.cutRoundnessBack ) - const aUp = points.dartTip.angle(points.shoulderDart) - const aDown = points.dartBottomRight.angle(points.dartTip) - const aDiff = Math.abs(aUp - aDown) - - // let dartCpAdjustment = Math.abs( options.shoulderDartPosition -.5) +.05 - const dartCpAdjustment = aDiff / 50 - - points.shoulderDartCpUp = points.shoulderDart.shiftFractionTowards( - points.dartTip, - 1 - dartCpAdjustment - ) - points.shoulderDartCpDown = points.shoulderDart.shiftFractionTowards( - points.dartTip, - 1 + dartCpAdjustment + points.strapInsideCp = points.strapInside.shiftFractionTowards( + points.cutSeamInside.shift( + points.cutSeamInside.angle(points.shoulderDart) + 90, + strapWidth / 2 + ), + 1 - options.cutRoundnessBack ) - const length = { - i: new Path() - .move(points.dartBottomLeft) - .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) - .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) - .length(), - } + points.armholeCutCp = points.armhole.shiftFractionTowards( + points.cutSeamOutside, + 1 - options.cutRoundnessBack + ) - let iteration = 0 - let diff = 0 - let angle = 0 - do { - if (length.o) angle = diff * (length.o > length.i ? -0.1 : 0.1) + points.strapOutsideCp = points.strapOutside.shiftFractionTowards( + points.cutSeamOutside.shift( + points.cutSeamOutside.angle(points.shoulderDart) - 90, + strapWidth / 2 + ), + 1 - options.cutRoundnessBack + ) - points.dartBottomRight = points.dartBottomRight.rotate(angle, points.waistSide) + const armHole = new Path() + .move(points.armhole) + .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) + .curve_(points.armholePitchCp2, points.shoulder) - length.o = new Path() - .move(points.shoulderDart) - .curve(points.shoulderDart, points.shoulderDartCpUp, points.dartTip) - .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) - .length() + console.log({ + intersects: armHole.intersects( + new Path() + .move(points.strapOutside) + .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + ).length, + }) - diff = length.o - length.i - iteration++ - } while (diff < -0.5 || (diff > 0.5 && iteration < 100)) - if (iteration >= 100) { - log.error('Something is not quite right here!') + var iter = 0 + while ( + armHole.intersects( + new Path() + .move(points.strapOutside) + .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + ).length != 0 && + ++iter < 250 + ) { + points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) } return part diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index e7f7e0961c3..26163a980bb 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -8,14 +8,14 @@ export const frontPoints = { from: nobleFrontPoints, hide: hidePresets.HIDE_ALL, options, - draft: ({ log, points, Path, paths, snippets, options, macro, utils, part }) => { + draft: ({ log, points, Path, paths, snippets, options, macro, utils, store, part }) => { const bCircle = 0.552284749831 - // Hide Bella paths + // Hide Noble paths for (const key of Object.keys(paths)) paths[key].hide() for (const i in snippets) delete snippets[i] - // Remove macros from Bella + // Remove macros from Noble macro('rmtitle') macro('rmscalebox') @@ -33,6 +33,7 @@ export const frontPoints = { if (strapWidth / 2 > shoulderWidthOutside) { strapWidth = shoulderWidthOutside * 2 } + store.set('strapWidth', strapWidth) console.log({ options: JSON.parse(JSON.stringify(options)) }) console.log({ paths: JSON.parse(JSON.stringify(paths)) }) diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index ee09adf597f..09d24f3b0b2 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -7,12 +7,26 @@ import { data } from '../data.mjs' import { frontPoints } from './frontpoints.mjs' import { frontInside } from './frontinside.mjs' import { frontOutside } from './frontoutside.mjs' +import { backPoints } from './backpoints.mjs' +import { backInside } from './backinside.mjs' +import { backOutside } from './backoutside.mjs' // Create new design const Tristan = new Design({ data, - parts: [frontPoints, frontInside, frontOutside], + parts: [frontPoints, frontInside, frontOutside, backPoints, backInside, backOutside], }) // Named exports -export { frontPoints, frontInside, frontOutside, i18n, Tristan } +export { + frontPoints, + frontInside, + frontOutside, + backPoints, + backInside, + backOutside, + i18n, + Tristan, +} + +// http://localhost:8000/new/tristan#view=%22draft%22&settings=%7B%22measurements%22%3A%7B%22highBust%22%3A790%2C%22chest%22%3A840%2C%22underbust%22%3A735%2C%22waist%22%3A711%2C%22waistBack%22%3A358%2C%22bustSpan%22%3A190%2C%22neck%22%3A311%2C%22hpsToBust%22%3A245%2C%22hpsToWaistFront%22%3A415%2C%22hpsToWaistBack%22%3A410%2C%22shoulderToShoulder%22%3A390%2C%22shoulderSlope%22%3A15%7D%7D diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs index adbf1163163..c4f79f7a968 100644 --- a/designs/tristan/src/options.mjs +++ b/designs/tristan/src/options.mjs @@ -8,7 +8,7 @@ export const dartPosition = 'shoulder' // Percentages export const strapWidth = { pct: 15, min: 5, max: 100, menu: 'style' } export const cutDepthFront = { pct: 80, min: 0, max: 125, menu: 'style' } -export const cutDepthBack = { pct: 80, min: 0, max: 125, menu: 'style' } +export const cutDepthBack = { pct: 40, min: 0, max: 125, menu: 'style' } // export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } export const cutRoundnessFront = { pct: 10, min: 0, max: 100, menu: 'style' } export const cutRoundnessBack = { pct: 10, min: 0, max: 100, menu: 'style' } From 9807f9a1eb37782eddb521f76272bd01eefca6d2 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Fri, 27 Oct 2023 04:43:09 +0000 Subject: [PATCH 0004/1313] Adjusted defaults and armhole calc --- designs/tristan/src/backoutside.mjs | 9 +++- designs/tristan/src/backpoints.mjs | 56 ++++++++++++++--------- designs/tristan/src/frontoutside.mjs | 2 + designs/tristan/src/frontpoints.mjs | 67 ++++++++++++++++++++-------- designs/tristan/src/options.mjs | 9 +++- 5 files changed, 99 insertions(+), 44 deletions(-) diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index d6984137af1..5d18df696f1 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -1,7 +1,7 @@ import { backPoints } from './backpoints.mjs' export const backOutside = { - name: 'noble.backOutside', + name: 'tristan.backOutside', from: backPoints, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { paths.cut = new Path() @@ -27,6 +27,13 @@ export const backOutside = { .close() .attr('class', 'fabric') + console.log({ + backSide: new Path() + .move(points.waistSide) + .curve_(points.waistSideCp2, points.armhole) + .length(), + }) + return part }, } diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index 9405d93af12..cf1051702c6 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -64,18 +64,30 @@ export const backPoints = { 1 - options.cutRoundnessBack ) - points.armholeCutCp = points.armhole.shiftFractionTowards( - points.cutSeamOutside, - 1 - options.cutRoundnessBack - ) + points.armholeCutCp = points.armhole + .shift(180, options.armholeBackIn * points.armhole.dist(points.dartTip)) + .addCircle(4) + // points.cutSeamOutside = points.armhole.shiftFractionTowards( + // points.cutSeamOutside, + // 1 - options.cutRoundnessBack + // ) - points.strapOutsideCp = points.strapOutside.shiftFractionTowards( - points.cutSeamOutside.shift( - points.cutSeamOutside.angle(points.shoulderDart) - 90, - strapWidth / 2 - ), - 1 - options.cutRoundnessBack - ) + points.strapOutsideCp = points.strapOutside + .shiftFractionTowards( + points.cutSeamOutside.shift( + points.cutSeamOutside.angle(points.shoulderDart) - 90, + strapWidth / 2 + ), + options.armholeFrontDepth + ) + .addCircle(2) + // points.strapOutsideCp = points.strapOutside.shiftFractionTowards( + // points.cutSeamOutside.shift( + // points.cutSeamOutside.angle(points.shoulderDart) - 90, + // strapWidth / 2 + // ), + // 1 - options.cutRoundnessBack + // ).addCircle(2) const armHole = new Path() .move(points.armhole) @@ -90,17 +102,17 @@ export const backPoints = { ).length, }) - var iter = 0 - while ( - armHole.intersects( - new Path() - .move(points.strapOutside) - .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - ).length != 0 && - ++iter < 250 - ) { - points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) - } + // var iter = 0 + // while ( + // armHole.intersects( + // new Path() + // .move(points.strapOutside) + // .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + // ).length != 0 && + // ++iter < 250 + // ) { + // points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) + // } return part }, diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 753760cbf21..6409b26994a 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -54,6 +54,8 @@ export const frontOutside = { to: points.grainTop, }) + console.log({ frontSide: points.sideHem.dist(points.armhole) }) + store.cutlist.removeCut() store.cutlist.addCut() diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 26163a980bb..75ae4a9f6eb 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -1,14 +1,26 @@ import { frontPoints as nobleFrontPoints } from '@freesewing/noble' import { hidePresets } from '@freesewing/core' import * as options from './options.mjs' -import { utils } from 'mocha' export const frontPoints = { name: 'tristan.frontPoints', from: nobleFrontPoints, hide: hidePresets.HIDE_ALL, options, - draft: ({ log, points, Path, paths, snippets, options, macro, utils, store, part }) => { + draft: ({ + log, + measurements, + Point, + points, + Path, + paths, + snippets, + options, + macro, + utils, + store, + part, + }) => { const bCircle = 0.552284749831 // Hide Noble paths @@ -34,6 +46,7 @@ export const frontPoints = { strapWidth = shoulderWidthOutside * 2 } store.set('strapWidth', strapWidth) + console.log({ strapWidth: strapWidth }) console.log({ options: JSON.parse(JSON.stringify(options)) }) console.log({ paths: JSON.parse(JSON.stringify(paths)) }) @@ -47,6 +60,7 @@ export const frontPoints = { // .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) // .curve_(points.armholePitchCp2, points.shoulder) points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront) + console.log({ cut: points.cfNeck.dist(points.cfCut) }) points.cutSeamInside = new Path() .move(points.waistDartLeft) @@ -63,6 +77,7 @@ export const frontPoints = { points.shoulderDartOutside ) .intersectsY(points.cfCut.y)[0] + .addCircle(6) points.cfCutCp = points.cfCut.shiftFractionTowards( points.cutSeamInside, @@ -76,18 +91,28 @@ export const frontPoints = { 1 - options.cutRoundnessFront ) - points.armholeCutCp = points.armhole.shiftFractionTowards( - points.cutSeamOutside, - 1 - options.cutRoundnessFront - ) + points.armholeCutCp = points.armhole + .shiftFractionTowards(points.bustDartTip, options.armholeFrontIn) + .addCircle(4) + // points.armholeCutCp = points.armhole.shiftFractionTowards( + // points.cutSeamOutside, + // 1 - options.cutRoundnessFront + // ).addCircle(4) points.strapOutsideCp = points.strapOutside.shiftFractionTowards( - points.cutSeamOutside.shift( + points.bustDartTip.shift( points.cutSeamOutside.angle(points.shoulderDartOutside) - 90, strapWidth / 2 ), - 1 - options.cutRoundnessFront + options.armholeFrontDepth ) + // points.strapOutsideCp = points.strapOutside.shiftFractionTowards( + // points.cutSeamOutside.shift( + // points.cutSeamOutside.angle(points.shoulderDartOutside) - 90, + // strapWidth / 2 + // ), + // 1 - options.cutRoundnessFront + // ) const armHole = new Path() .move(points.armhole) @@ -102,18 +127,22 @@ export const frontPoints = { ).length, }) - var iter = 0 - while ( - armHole.intersects( - new Path() - .move(points.strapOutside) - .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - ).length != 0 && - ++iter < 250 - ) { - points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) - } + // var iter = 0 + // while ( + // armHole.intersects( + // new Path() + // .move(points.strapOutside) + // .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) + // ).length != 0 && + // ++iter < 250 + // ) { + // points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) + // } + // armhole adjustment + if (points.sideHem.y < points.waistDartRight.y) { + points.sideHem.y = points.waistDartRight.y + } return part }, } diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs index c4f79f7a968..c51c388aa36 100644 --- a/designs/tristan/src/options.mjs +++ b/designs/tristan/src/options.mjs @@ -4,14 +4,19 @@ import { pctBasedOn } from '@freesewing/core' export const shoulderToShoulderCorrection = 0.995 export const bustDartCurve = 1 export const bustDartLength = 0.9 +export const armholeFrontIn = 0.2 +export const armholeFrontDepth = 0.65 +export const armholeBackIn = 0.6 +export const armholeBackDepth = 0.6 export const dartPosition = 'shoulder' // Percentages -export const strapWidth = { pct: 15, min: 5, max: 100, menu: 'style' } +export const armholeDepth = { pct: 44, min: 38, max: 55, menu: 'armhole' } +export const strapWidth = { pct: 45, min: 5, max: 100, menu: 'style' } export const cutDepthFront = { pct: 80, min: 0, max: 125, menu: 'style' } export const cutDepthBack = { pct: 40, min: 0, max: 125, menu: 'style' } // export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } export const cutRoundnessFront = { pct: 10, min: 0, max: 100, menu: 'style' } -export const cutRoundnessBack = { pct: 10, min: 0, max: 100, menu: 'style' } +export const cutRoundnessBack = { pct: 20, min: 0, max: 100, menu: 'style' } export const bustSpanEase = { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' } export const backHemSlope = { deg: 2.5, min: 0, max: 5, menu: 'advanced' } export const upperDartLength = { pct: 90, min: 80, max: 95, menu: 'darts' } From c34a531814c6b92d10967659f8ab238f8819732a Mon Sep 17 00:00:00 2001 From: woutervdub Date: Fri, 27 Oct 2023 04:55:47 +0000 Subject: [PATCH 0005/1313] defaults bug fix --- designs/tristan/src/backpoints.mjs | 7 +++---- designs/tristan/src/options.mjs | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index cf1051702c6..54dc58350a6 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -74,13 +74,12 @@ export const backPoints = { points.strapOutsideCp = points.strapOutside .shiftFractionTowards( - points.cutSeamOutside.shift( - points.cutSeamOutside.angle(points.shoulderDart) - 90, - strapWidth / 2 - ), + points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2), options.armholeFrontDepth ) .addCircle(2) + .addCircle(4) + .addCircle(6) // points.strapOutsideCp = points.strapOutside.shiftFractionTowards( // points.cutSeamOutside.shift( // points.cutSeamOutside.angle(points.shoulderDart) - 90, diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs index c51c388aa36..c43552ac868 100644 --- a/designs/tristan/src/options.mjs +++ b/designs/tristan/src/options.mjs @@ -11,9 +11,9 @@ export const armholeBackDepth = 0.6 export const dartPosition = 'shoulder' // Percentages export const armholeDepth = { pct: 44, min: 38, max: 55, menu: 'armhole' } -export const strapWidth = { pct: 45, min: 5, max: 100, menu: 'style' } +export const strapWidth = { pct: 45, min: 5, max: 90, menu: 'style' } export const cutDepthFront = { pct: 80, min: 0, max: 125, menu: 'style' } -export const cutDepthBack = { pct: 40, min: 0, max: 125, menu: 'style' } +export const cutDepthBack = { pct: 40, min: 5, max: 90, menu: 'style' } // export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } export const cutRoundnessFront = { pct: 10, min: 0, max: 100, menu: 'style' } export const cutRoundnessBack = { pct: 20, min: 0, max: 100, menu: 'style' } From dda0ec18f3a8af3a46760a22be9a22a191d1decd Mon Sep 17 00:00:00 2001 From: woutervdub Date: Mon, 30 Oct 2023 23:55:00 +0000 Subject: [PATCH 0006/1313] peplum --- designs/tristan/src/backoutside.mjs | 5 +- designs/tristan/src/backpoints.mjs | 59 ++----------- designs/tristan/src/frontoutside.mjs | 2 - designs/tristan/src/frontpoints.mjs | 127 +++++++++++++-------------- designs/tristan/src/index.mjs | 4 +- designs/tristan/src/peplum.mjs | 73 +++++++++++++++ 6 files changed, 144 insertions(+), 126 deletions(-) create mode 100644 designs/tristan/src/peplum.mjs diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 5d18df696f1..2eadbb72f31 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -7,7 +7,7 @@ export const backOutside = { paths.cut = new Path() .move(points.armhole) .curve(points.armholeCutCp, points.strapOutsideCp, points.strapOutside) - // .hide() + .hide() paths.dart = new Path() .move(points.shoulderDart) @@ -19,9 +19,6 @@ export const backOutside = { .move(points.dartBottomRight) .line(points.waistSide) .curve_(points.waistSideCp2, points.armhole) - // .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - // .curve_(points.armholePitchCp2, points.shoulder) - // .line(points.shoulderDart) .join(paths.cut) .join(paths.dart) .close() diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index 54dc58350a6..eb3be8ec922 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -1,6 +1,5 @@ import { backPoints as nobleBackPoints } from '@freesewing/noble' import { hidePresets } from '@freesewing/core' -import * as options from './options.mjs' import { frontPoints } from './frontpoints.mjs' export const backPoints = { @@ -8,7 +7,7 @@ export const backPoints = { from: nobleBackPoints, after: frontPoints, hide: hidePresets.HIDE_ALL, - options, + // options, draft: ({ points, Path, paths, options, snippets, log, store, part }) => { // Hide Noble paths for (const key of Object.keys(paths)) paths[key].hide() @@ -19,16 +18,11 @@ export const backPoints = { const strapWidth = store.get('strapWidth') - console.log({ BP_options: JSON.parse(JSON.stringify(options)) }) - console.log({ BP_points: JSON.parse(JSON.stringify(points)) }) - console.log({ BP_paths: JSON.parse(JSON.stringify(paths)) }) - points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2) - points.shoulder = points.strapOutside + // points.shoulder = points.strapOutside - // points.cbCut = points.cbNeck.shiftFractionTowards(points.waistCenter, options.cutDepthBack) points.cbCut = new Path() .move(points.cbNeck) .curve_(points.cbNeckCp2, points.waistCenter) @@ -67,51 +61,14 @@ export const backPoints = { points.armholeCutCp = points.armhole .shift(180, options.armholeBackIn * points.armhole.dist(points.dartTip)) .addCircle(4) - // points.cutSeamOutside = points.armhole.shiftFractionTowards( - // points.cutSeamOutside, - // 1 - options.cutRoundnessBack - // ) - points.strapOutsideCp = points.strapOutside - .shiftFractionTowards( - points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2), - options.armholeFrontDepth - ) - .addCircle(2) - .addCircle(4) - .addCircle(6) - // points.strapOutsideCp = points.strapOutside.shiftFractionTowards( - // points.cutSeamOutside.shift( - // points.cutSeamOutside.angle(points.shoulderDart) - 90, - // strapWidth / 2 - // ), - // 1 - options.cutRoundnessBack - // ).addCircle(2) + points.strapOutsideCp = points.strapOutside.shiftFractionTowards( + points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2), + options.armholeFrontDepth + ) - const armHole = new Path() - .move(points.armhole) - .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - .curve_(points.armholePitchCp2, points.shoulder) - - console.log({ - intersects: armHole.intersects( - new Path() - .move(points.strapOutside) - .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - ).length, - }) - - // var iter = 0 - // while ( - // armHole.intersects( - // new Path() - // .move(points.strapOutside) - // .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - // ).length != 0 && - // ++iter < 250 - // ) { - // points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) - // } + store.set('backOutsideWaistLength', points.dartBottomRight.dist(points.waistSide)) + store.set('backInsideWaistLength', points.dartBottomLeft.dist(points.waistCenter)) return part }, diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 6409b26994a..753760cbf21 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -54,8 +54,6 @@ export const frontOutside = { to: points.grainTop, }) - console.log({ frontSide: points.sideHem.dist(points.armhole) }) - store.cutlist.removeCut() store.cutlist.addCut() diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 75ae4a9f6eb..6cd2ce12f94 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -1,26 +1,47 @@ import { frontPoints as nobleFrontPoints } from '@freesewing/noble' -import { hidePresets } from '@freesewing/core' -import * as options from './options.mjs' +import { pctBasedOn, hidePresets } from '@freesewing/core' export const frontPoints = { name: 'tristan.frontPoints', from: nobleFrontPoints, hide: hidePresets.HIDE_ALL, - options, - draft: ({ - log, - measurements, - Point, - points, - Path, - paths, - snippets, - options, - macro, - utils, - store, - part, - }) => { + options: { + // Static + armholeBackDepth: 0.6, + armholeBackIn: 0.6, + armholeDartPosition: 0.5, + armholeFrontDepth: 0.65, + armholeFrontIn: 0.2, + backArmholeCurvature: 0.63, + backArmholePitchDepth: 0.035, + backArmholeSlant: 5, + backDartHeight: 0.46, + backHemSlope: 2.5, + backNeckCutout: 0.06, + bustDartCurve: 1, + bustDartLength: 0.9, + dartPosition: 'shoulder', + frontArmholeCurvature: 0.63, + frontArmholePitchDepth: 0.29, + shoulderToShoulderCorrection: 0.995, + + // Percentages + bustSpanEase: { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' }, + armholeDepth: { pct: 44, min: 38, max: 55, menu: 'style' }, + cutDepthBack: { pct: 40, min: 5, max: 90, menu: 'style' }, + cutDepthFront: { pct: 80, min: 0, max: 125, menu: 'style' }, + cutRoundnessBack: { pct: 20, min: 0, max: 100, menu: 'style' }, + cutRoundnessFront: { pct: 10, min: 0, max: 100, menu: 'style' }, + shoulderDartPosition: { pct: 50, min: 10, max: 90, menu: 'style' }, + strapWidth: { pct: 45, min: 5, max: 90, menu: 'style' }, + upperDartLength: { pct: 90, min: 80, max: 95, menu: 'advanced' }, + waistDartLength: { pct: 90, min: 75, max: 95, menu: 'advanced' }, + + // Options + // peplum: { bool: false, menu: 'style' }, + // peplumSize: { pct: 10, min: 5, max: 50, menu: 'peplum' }, + }, + draft: ({ points, Path, paths, snippets, options, macro, store, part }) => { const bCircle = 0.552284749831 // Hide Noble paths @@ -31,14 +52,16 @@ export const frontPoints = { macro('rmtitle') macro('rmscalebox') - console.log({ dist: points.hps.dist(points.shoulder) }) - console.log({ dist: points.shoulderDartInside.dist(points.hps) }) - console.log({ dist: points.shoulderDartOutside.dist(points.shoulder) }) - const shoulderWidthInside = points.shoulderDartInside.dist(points.hps) const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder) let strapWidth = (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth + console.log({ + r: strapWidth / shoulderWidthOutside, + sw: shoulderWidthOutside, + strap: strapWidth, + }) + if (strapWidth / 2 > shoulderWidthInside) { strapWidth = shoulderWidthInside * 2 } @@ -46,19 +69,10 @@ export const frontPoints = { strapWidth = shoulderWidthOutside * 2 } store.set('strapWidth', strapWidth) - console.log({ strapWidth: strapWidth }) - - console.log({ options: JSON.parse(JSON.stringify(options)) }) - console.log({ paths: JSON.parse(JSON.stringify(paths)) }) points.strapInside = points.shoulderDartInside.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2) - points.shoulder = points.strapOutside - - // .line(points.armhole) - // .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - // .curve_(points.armholePitchCp2, points.shoulder) points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront) console.log({ cut: points.cfNeck.dist(points.cfCut) }) @@ -91,13 +105,10 @@ export const frontPoints = { 1 - options.cutRoundnessFront ) - points.armholeCutCp = points.armhole - .shiftFractionTowards(points.bustDartTip, options.armholeFrontIn) - .addCircle(4) - // points.armholeCutCp = points.armhole.shiftFractionTowards( - // points.cutSeamOutside, - // 1 - options.cutRoundnessFront - // ).addCircle(4) + points.armholeCutCp = points.armhole.shiftFractionTowards( + points.bustDartTip, + options.armholeFrontIn + ) points.strapOutsideCp = points.strapOutside.shiftFractionTowards( points.bustDartTip.shift( @@ -106,43 +117,23 @@ export const frontPoints = { ), options.armholeFrontDepth ) - // points.strapOutsideCp = points.strapOutside.shiftFractionTowards( - // points.cutSeamOutside.shift( - // points.cutSeamOutside.angle(points.shoulderDartOutside) - 90, - // strapWidth / 2 - // ), - // 1 - options.cutRoundnessFront - // ) - const armHole = new Path() - .move(points.armhole) - .curve(points.armholeCp2, points.armholePitchCp1, points.armholePitch) - .curve_(points.armholePitchCp2, points.shoulder) - - console.log({ - intersects: armHole.intersects( - new Path() - .move(points.strapOutside) - .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - ).length, - }) - - // var iter = 0 - // while ( - // armHole.intersects( - // new Path() - // .move(points.strapOutside) - // .curve(points.strapOutsideCp, points.armholeCutCp, points.armhole) - // ).length != 0 && - // ++iter < 250 - // ) { - // points.armholeCutCp = points.armholeCutCp.shiftFractionTowards(points.cutSeamOutside, 0.05) - // } + if (points.strapOutsideCp.x > points.armholeDartCpBottom.x) { + points.strapOutsideCp.x = points.armholeDartCpBottom.x + } + if (points.strapOutsideCp.y > points.armholeDartCpBottom.y) { + points.strapOutsideCp.y = points.armholeDartCpBottom.y + } // armhole adjustment if (points.sideHem.y < points.waistDartRight.y) { points.sideHem.y = points.waistDartRight.y } + + store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem)) + store.set('frontInsideWaistLength', points.waistDartLeft.dist(points.cfHem)) + store.set('frontLength', points.cfNeck.dist(points.cfHem)) + return part }, } diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index 09d24f3b0b2..f6b8e71b78e 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -10,11 +10,12 @@ import { frontOutside } from './frontoutside.mjs' import { backPoints } from './backpoints.mjs' import { backInside } from './backinside.mjs' import { backOutside } from './backoutside.mjs' +import { peplum } from './peplum.mjs' // Create new design const Tristan = new Design({ data, - parts: [frontPoints, frontInside, frontOutside, backPoints, backInside, backOutside], + parts: [frontPoints, frontInside, frontOutside, backPoints, backInside, backOutside, peplum], }) // Named exports @@ -25,6 +26,7 @@ export { backPoints, backInside, backOutside, + peplum, i18n, Tristan, } diff --git a/designs/tristan/src/peplum.mjs b/designs/tristan/src/peplum.mjs new file mode 100644 index 00000000000..3f954f574ff --- /dev/null +++ b/designs/tristan/src/peplum.mjs @@ -0,0 +1,73 @@ +import { backPoints } from './backpoints.mjs' +import { cbqc } from '@freesewing/core' + +export const peplum = { + name: 'tristan.peplum', + after: backPoints, + options: { + // Options + peplum: { bool: false, menu: 'style' }, + peplumSize: { pct: 10, min: 5, max: 50, menu: 'peplum' }, + peplumFullness: { deg: 180, min: 180, max: 360, menu: 'peplum' }, + }, + + draft: ({ + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + measurements, + options, + macro, + store, + part, + }) => { + if (false == options.peplum) { + return part.hide() + } + + console.log({ measurements: JSON.parse(JSON.stringify(measurements)) }) + console.log({ options: JSON.parse(JSON.stringify(options)) }) + + const backInsideWaistLength = store.get('backInsideWaistLength') + const backOutsideWaistLength = store.get('backOutsideWaistLength') + const frontInsideWaistLength = store.get('frontInsideWaistLength') + const frontOutsideWaistLength = store.get('frontOutsideWaistLength') + + const radius = + (((backInsideWaistLength + + backOutsideWaistLength + + frontInsideWaistLength + + frontOutsideWaistLength) / + Math.PI) * + (360 / options.peplumFullness)) / + 2 + const length = options.peplumSize * store.get('frontLength') + + ;['top', 'bottom'].forEach((prefix) => { + const offset = prefix == 'top' ? 0 : length + points[prefix + 'Middle'] = new Point(0, offset) + points[prefix + 'MiddleCp1'] = points[prefix + 'Middle'].shift(0, (offset + radius) * cbqc) + points[prefix + 'MiddleCp2'] = points[prefix + 'Middle'].shift(180, (offset + radius) * cbqc) + points[prefix + 'Left'] = new Point(-1 * radius + -1 * offset, -1 * radius) + points[prefix + 'LeftCp1'] = points[prefix + 'Left'].shift(270, (offset + radius) * cbqc) + points[prefix + 'LeftCp2'] = points[prefix + 'Left'].shift(90, (offset + radius) * cbqc) + points[prefix + 'Right'] = new Point(radius - -1 * offset, -1 * radius) + points[prefix + 'RightCp1'] = points[prefix + 'Right'].shift(90, (offset + radius) * cbqc) + points[prefix + 'RightCp2'] = points[prefix + 'Right'].shift(270, (offset + radius) * cbqc) + + paths[prefix] = new Path() + .move(points[prefix + 'Left']) + .curve(points[prefix + 'LeftCp1'], points[prefix + 'MiddleCp2'], points[prefix + 'Middle']) + .curve(points[prefix + 'MiddleCp1'], points[prefix + 'RightCp2'], points[prefix + 'Right']) + }) + + console.log({ points: JSON.parse(JSON.stringify(points)) }) + console.log({ paths: JSON.parse(JSON.stringify(paths)) }) + + return part + }, +} From 6b40d78888090337a5792e69ae4acb50af072c43 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 31 Oct 2023 04:39:49 +0000 Subject: [PATCH 0007/1313] peplum done --- designs/tristan/src/frontpoints.mjs | 17 +++- designs/tristan/src/index.mjs | 17 +++- designs/tristan/src/peplum.mjs | 73 --------------- designs/tristan/src/peplumBack.mjs | 34 +++++++ designs/tristan/src/peplumFront.mjs | 140 ++++++++++++++++++++++++++++ 5 files changed, 203 insertions(+), 78 deletions(-) delete mode 100644 designs/tristan/src/peplum.mjs create mode 100644 designs/tristan/src/peplumBack.mjs create mode 100644 designs/tristan/src/peplumFront.mjs diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 6cd2ce12f94..9f6574b44dd 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -38,8 +38,21 @@ export const frontPoints = { waistDartLength: { pct: 90, min: 75, max: 95, menu: 'advanced' }, // Options - // peplum: { bool: false, menu: 'style' }, - // peplumSize: { pct: 10, min: 5, max: 50, menu: 'peplum' }, + zipperLocation: { dflt: 'side', list: ['front', 'side', 'back'], menu: 'options' }, + binding: { bool: false, menu: 'options' }, + bindingLocation: { + dflt: 'back', + list: ['front', 'back'], + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions.binding === false ? false : 'options'), + }, + bindingWidth: { + pct: 100, + min: 0, + max: 50, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions.binding === false ? false : 'options'), + }, }, draft: ({ points, Path, paths, snippets, options, macro, store, part }) => { const bCircle = 0.552284749831 diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index f6b8e71b78e..92111b4bbf6 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -10,12 +10,22 @@ import { frontOutside } from './frontoutside.mjs' import { backPoints } from './backpoints.mjs' import { backInside } from './backinside.mjs' import { backOutside } from './backoutside.mjs' -import { peplum } from './peplum.mjs' +import { peplumFront } from './peplumFront.mjs' +import { peplumBack } from './peplumBack.mjs' // Create new design const Tristan = new Design({ data, - parts: [frontPoints, frontInside, frontOutside, backPoints, backInside, backOutside, peplum], + parts: [ + frontPoints, + frontInside, + frontOutside, + backPoints, + backInside, + backOutside, + peplumFront, + peplumBack, + ], }) // Named exports @@ -26,7 +36,8 @@ export { backPoints, backInside, backOutside, - peplum, + peplumFront, + peplumBack, i18n, Tristan, } diff --git a/designs/tristan/src/peplum.mjs b/designs/tristan/src/peplum.mjs deleted file mode 100644 index 3f954f574ff..00000000000 --- a/designs/tristan/src/peplum.mjs +++ /dev/null @@ -1,73 +0,0 @@ -import { backPoints } from './backpoints.mjs' -import { cbqc } from '@freesewing/core' - -export const peplum = { - name: 'tristan.peplum', - after: backPoints, - options: { - // Options - peplum: { bool: false, menu: 'style' }, - peplumSize: { pct: 10, min: 5, max: 50, menu: 'peplum' }, - peplumFullness: { deg: 180, min: 180, max: 360, menu: 'peplum' }, - }, - - draft: ({ - sa, - Point, - points, - Path, - paths, - Snippet, - snippets, - measurements, - options, - macro, - store, - part, - }) => { - if (false == options.peplum) { - return part.hide() - } - - console.log({ measurements: JSON.parse(JSON.stringify(measurements)) }) - console.log({ options: JSON.parse(JSON.stringify(options)) }) - - const backInsideWaistLength = store.get('backInsideWaistLength') - const backOutsideWaistLength = store.get('backOutsideWaistLength') - const frontInsideWaistLength = store.get('frontInsideWaistLength') - const frontOutsideWaistLength = store.get('frontOutsideWaistLength') - - const radius = - (((backInsideWaistLength + - backOutsideWaistLength + - frontInsideWaistLength + - frontOutsideWaistLength) / - Math.PI) * - (360 / options.peplumFullness)) / - 2 - const length = options.peplumSize * store.get('frontLength') - - ;['top', 'bottom'].forEach((prefix) => { - const offset = prefix == 'top' ? 0 : length - points[prefix + 'Middle'] = new Point(0, offset) - points[prefix + 'MiddleCp1'] = points[prefix + 'Middle'].shift(0, (offset + radius) * cbqc) - points[prefix + 'MiddleCp2'] = points[prefix + 'Middle'].shift(180, (offset + radius) * cbqc) - points[prefix + 'Left'] = new Point(-1 * radius + -1 * offset, -1 * radius) - points[prefix + 'LeftCp1'] = points[prefix + 'Left'].shift(270, (offset + radius) * cbqc) - points[prefix + 'LeftCp2'] = points[prefix + 'Left'].shift(90, (offset + radius) * cbqc) - points[prefix + 'Right'] = new Point(radius - -1 * offset, -1 * radius) - points[prefix + 'RightCp1'] = points[prefix + 'Right'].shift(90, (offset + radius) * cbqc) - points[prefix + 'RightCp2'] = points[prefix + 'Right'].shift(270, (offset + radius) * cbqc) - - paths[prefix] = new Path() - .move(points[prefix + 'Left']) - .curve(points[prefix + 'LeftCp1'], points[prefix + 'MiddleCp2'], points[prefix + 'Middle']) - .curve(points[prefix + 'MiddleCp1'], points[prefix + 'RightCp2'], points[prefix + 'Right']) - }) - - console.log({ points: JSON.parse(JSON.stringify(points)) }) - console.log({ paths: JSON.parse(JSON.stringify(paths)) }) - - return part - }, -} diff --git a/designs/tristan/src/peplumBack.mjs b/designs/tristan/src/peplumBack.mjs new file mode 100644 index 00000000000..dc9355d97a3 --- /dev/null +++ b/designs/tristan/src/peplumBack.mjs @@ -0,0 +1,34 @@ +import { plugin as ringsectorPlugin } from '@freesewing/plugin-ringsector' +import { CreateShape, peplumFront } from './peplumFront.mjs' + +export const peplumBack = { + name: 'tristan.peplumBack', + after: peplumFront, + plugins: [ringsectorPlugin], + draft: ({ Point, points, paths, options, store, macro, sa, part }) => { + if (false == options.peplum) { + return part.hide() + } + + const radius = store.get('peblumRadius') + const width = store.get('peblumWidth') + const ratio = store.get('peblumratio') + + CreateShape({ + Point: Point, + points: points, + paths: paths, + options: options, + macro: macro, + store: store, + sa: sa, + type: 'back', + radius: radius, + width: width, + offset: 0, + ratio: 1 - ratio, + }) + + return part + }, +} diff --git a/designs/tristan/src/peplumFront.mjs b/designs/tristan/src/peplumFront.mjs new file mode 100644 index 00000000000..6cd35587e7e --- /dev/null +++ b/designs/tristan/src/peplumFront.mjs @@ -0,0 +1,140 @@ +import { backPoints } from './backpoints.mjs' +import { plugin as ringsectorPlugin } from '@freesewing/plugin-ringsector' + +export const CreateShape = ({ + Point, + points, + paths, + options, + macro, + sa, + type, + store, + radius, + width, + offset, + ratio, +}) => { + const double = + type == options.zipperLocation || (true == options.binding && type == options.bindingLocation) + + macro('ringsector', { + id: type + 'Peblum', + center: new Point(0, offset), + angle: (options.peplumFullness / 2) * ratio * (double ? 0.5 : 1), + insideRadius: radius, + outsideRadius: radius + width, + rotate: false, + }) + + macro('cutOnFold', { + id: type, + from: points['__macro_ringsector_' + type + 'Peblum_in2Flipped'], + to: points['__macro_ringsector_' + type + 'Peblum_ex2Flipped'], + }) + + points[type + 'TitleAnchor'] = points[ + '__macro_ringsector_' + type + 'Peblum_in2FlippedRotated' + ].shiftFractionTowards(points['__macro_ringsector_' + type + 'Peblum_ex2FlippedRotated'], 0.5) + + macro('title', { + nr: 10 + ('front' == type ? 0 : 1), + at: points[type + 'TitleAnchor'], + id: type + 'Peblum', + title: type + 'Peblum', + align: 'center', + scale: options.peplumSize * 2, + }) + + store.cutlist.addCut({ cut: double ? 2 : 1, from: 'fabric' }) + + if (sa) + paths[type + 'SA'] = paths['__macro_ringsector_' + type + 'Peblum_path'] + .reverse() + .offset(sa) + .attr('class', 'fabric sa') + + macro('hd', { + id: 'topWidth', + from: points['__macro_ringsector_' + type + 'Peblum_in2Flipped'], + to: points['__macro_ringsector_' + type + 'Peblum_in1Rotated'], + y: points['__macro_ringsector_' + type + 'Peblum_in1Rotated'].y - 15 - sa, + }) + macro('hd', { + id: 'bottomWidth', + from: points['__macro_ringsector_' + type + 'Peblum_ex2Flipped'], + to: points['__macro_ringsector_' + type + 'Peblum_ex1Rotated'], + y: points['__macro_ringsector_' + type + 'Peblum_ex1Rotated'].y + 15 + sa, + }) + macro('ld', { + id: 'width', + from: points['__macro_ringsector_' + type + 'Peblum_in1Rotated'], + to: points['__macro_ringsector_' + type + 'Peblum_ex1Rotated'], + d: 15 + sa, + }) +} + +export const peplumFront = { + name: 'tristan.peplumFront', + after: backPoints, + options: { + // Options + peplum: { bool: false, menu: 'style' }, + peplumSize: { + pct: 10, + min: 5, + max: 50, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions.peplum === false ? false : 'peplum'), + }, + peplumFullness: { + deg: 180, + min: 180, + max: 360, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions.peplum === false ? false : 'peplum'), + }, + }, + plugins: [ringsectorPlugin], + draft: ({ sa, Point, points, paths, options, macro, store, part }) => { + if (false == options.peplum) { + return part.hide() + } + const backInsideWaistLength = store.get('backInsideWaistLength') + const backOutsideWaistLength = store.get('backOutsideWaistLength') + const frontInsideWaistLength = store.get('frontInsideWaistLength') + const frontOutsideWaistLength = store.get('frontOutsideWaistLength') + const length = + backInsideWaistLength + + backOutsideWaistLength + + frontInsideWaistLength + + frontOutsideWaistLength + + const radius = ((length / Math.PI) * (360 / options.peplumFullness)) / 2 + const width = options.peplumSize * store.get('frontLength') + + const frontLength = frontInsideWaistLength + frontOutsideWaistLength + const ratio = frontLength / length + + store.set('peblumRadius', radius) + store.set('peblumWidth', width) + store.set('peblumratio', ratio) + + CreateShape({ + Point: Point, + points: points, + paths: paths, + options: options, + macro: macro, + store: store, + sa: sa, + type: 'front', + radius: radius, + width: width, + offset: 0, + ratio: ratio, + }) + + return part + }, +} From 78f8f21a39881e80279f52d73fd31edbe7512bc9 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 1 Nov 2023 02:25:39 +0000 Subject: [PATCH 0008/1313] Lacing and sa and titles - oh my --- designs/tristan/src/backinside.mjs | 34 ++++++++++++++++-- designs/tristan/src/backoutside.mjs | 16 +++++---- designs/tristan/src/backpoints.mjs | 21 +++++++++-- designs/tristan/src/frontinside.mjs | 56 ++++++++++++++++++++--------- designs/tristan/src/frontpoints.mjs | 31 +++++++++++----- designs/tristan/src/options.mjs | 34 ------------------ designs/tristan/src/peplumFront.mjs | 6 ++-- 7 files changed, 123 insertions(+), 75 deletions(-) delete mode 100644 designs/tristan/src/options.mjs diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index 2ef049e08a8..28f38a00c82 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -4,20 +4,48 @@ export const backInside = { name: 'tristan.backInside', from: backPoints, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + const lacing = true == options.lacing && 'back' == options.lacingLocation + paths.cut = new Path() .move(points.strapInside) - .curve(points.strapInsideCp, points.cbCutCp, points.cbCut) + .curve(points.strapInsideCp, points.cbCutCp, lacing ? points.lacingCut : points.cbCut) - paths.insideSeam = new Path() + if (lacing) { + paths.cut.line(points.lacingWaist) + paths.originalSide = new Path() + .move(points.lacingCut) + .line(points.cbCut) + .curve_(points.cbCutCp2, points.waistCenter) + .line(points.lacingWaist) + .setClass('note dashed') + } else { + paths.cut.curve_(points.cbCutCp2, points.waistCenter) + } + + paths.seam = new Path() .move(points.strapInside) .join(paths.cut) - .curve_(points.cbCutCp2, points.waistCenter) .line(points.dartBottomLeft) .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) + .line(points.strapInside) .close() .attr('class', 'fabric') + points.titleAnchor = points.dartBottomLeft.shiftFractionTowards( + lacing ? points.lacingCut : points.cbCut, + 0.75 + ) + macro('title', { + at: points.titleAnchor, + nr: 3, + title: 'backInside', + }) + + if (sa) { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } + return part }, } diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 2eadbb72f31..eeece9d74ad 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -15,7 +15,7 @@ export const backOutside = { .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) .hide() - paths.outsideSeam = new Path() + paths.seam = new Path() .move(points.dartBottomRight) .line(points.waistSide) .curve_(points.waistSideCp2, points.armhole) @@ -24,13 +24,17 @@ export const backOutside = { .close() .attr('class', 'fabric') - console.log({ - backSide: new Path() - .move(points.waistSide) - .curve_(points.waistSideCp2, points.armhole) - .length(), + points.titleAnchor = points.dartBottomRight.shiftFractionTowards(points.armholeCpTarget, 0.5) + macro('title', { + at: points.titleAnchor, + nr: 4, + title: 'backOutside', }) + if (sa) { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } + return part }, } diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index eb3be8ec922..d0ca42bc0a3 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -9,6 +9,8 @@ export const backPoints = { hide: hidePresets.HIDE_ALL, // options, draft: ({ points, Path, paths, options, snippets, log, store, part }) => { + const lacing = true == options.lacing && 'back' == options.lacingLocation + // Hide Noble paths for (const key of Object.keys(paths)) paths[key].hide() for (const i in snippets) delete snippets[i] @@ -58,15 +60,28 @@ export const backPoints = { 1 - options.cutRoundnessBack ) - points.armholeCutCp = points.armhole - .shift(180, options.armholeBackIn * points.armhole.dist(points.dartTip)) - .addCircle(4) + points.armholeCutCp = points.armhole.shift( + 180, + options.armholeBackIn * points.armhole.dist(points.dartTip) + ) + // .addCircle(4) points.strapOutsideCp = points.strapOutside.shiftFractionTowards( points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2), options.armholeFrontDepth ) + if (lacing) { + points.lacingCut = points.cbCut.shift( + 0, + (points.strapInsideCp.x - points.cbCut.x) * options.lacingWidth + ) + points.lacingWaist = points.waistCenter.shiftTowards( + points.dartBottomLeft, + (points.strapInsideCp.x - points.cbCut.x) * options.lacingWidth + ) + } + store.set('backOutsideWaistLength', points.dartBottomRight.dist(points.waistSide)) store.set('backInsideWaistLength', points.dartBottomLeft.dist(points.waistCenter)) diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index ee63ab7ea35..96b3f3fd3f5 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -30,19 +30,25 @@ export const frontInside = { delete points.bustDartMiddle delete points.bustDartEdge + const lacing = true == options.lacing && 'front' == options.lacingLocation + paths.cut = new Path() .move(points.strapInside) - .curve(points.strapInsideCp, points.cfCutCp, points.cfCut) + .curve(points.strapInsideCp, points.cfCutCp, lacing ? points.lacingCut : points.cfCut) paths.insideSeam = new Path() - .move(points.cfHem) + .move(lacing ? points.lacingHem : points.cfHem) .line(points.waistDartLeft) .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) .line(points.shoulderDartInside) .join(paths.cut) paths.seam = paths.insideSeam - .join(new Path().move(points.cfCut).line(points.cfHem)) + .join( + lacing + ? new Path().move(points.lacingCut).line(points.lacingHem) + : new Path().move(points.cfCut).line(points.cfHem) + ) .close() .attr('class', 'fabric') @@ -54,18 +60,29 @@ export const frontInside = { .length() ) - macro('cutonfold', { - from: points.cfCut, - to: points.cfHem, - grainline: true, - }) - - if (options.dartPosition == 'shoulder') { - snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) - } else { - snippets.shoulderDartTip = new Snippet('notch', points.armholeDartTipInside) + if ('front' != options.zipperLocation) { + macro('cutonfold', { + from: points.cfCut, + to: points.cfHem, + grainline: true, + }) } - points.titleAnchor = new Point(points.hpsCp2.x * 0.75, points.cfNeckCp1.y * 1.5) + + if (lacing) { + paths.originalSide = new Path() + .move(points.lacingCut) + .line(points.cfCut) + .line(points.cfHem) + .line(points.lacingHem) + .setClass('note dashed') + } + + snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) + + points.titleAnchor = points.waistDartLeft.shiftFractionTowards( + lacing ? points.lacingCut : points.cfCut, + 0.75 + ) macro('title', { at: points.titleAnchor, nr: 1, @@ -77,8 +94,15 @@ export const frontInside = { // macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 }) if (sa) { - paths.sa = paths.insideSeam.offset(sa).line(points.cfNeck).attr('class', 'fabric sa') - paths.sa = paths.sa.move(points.cfHem).line(paths.sa.start()) + if ('front' == options.zipperLocation) { + paths.sa = paths.seam + .offset(sa) + .line(lacing ? points.lacingCut : points.cfCut) + .attr('class', 'fabric sa') + } else { + paths.sa = paths.insideSeam.offset(sa).line(points.cfCut).attr('class', 'fabric sa') + paths.sa = paths.sa.move(points.cfHem).line(paths.sa.start()) + } } let extraOffset = 0 diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 9f6574b44dd..7eebc20ebd3 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -39,23 +39,23 @@ export const frontPoints = { // Options zipperLocation: { dflt: 'side', list: ['front', 'side', 'back'], menu: 'options' }, - binding: { bool: false, menu: 'options' }, - bindingLocation: { + lacing: { bool: false, menu: 'options' }, + lacingLocation: { dflt: 'back', list: ['front', 'back'], // eslint-disable-next-line no-unused-vars - menu: (settings, mergedOptions) => (mergedOptions.binding === false ? false : 'options'), + menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), }, - bindingWidth: { - pct: 100, + lacingWidth: { + pct: 20, min: 0, max: 50, // eslint-disable-next-line no-unused-vars - menu: (settings, mergedOptions) => (mergedOptions.binding === false ? false : 'options'), + menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), }, }, draft: ({ points, Path, paths, snippets, options, macro, store, part }) => { - const bCircle = 0.552284749831 + const lacing = true == options.lacing && 'front' == options.lacingLocation // Hide Noble paths for (const key of Object.keys(paths)) paths[key].hide() @@ -104,7 +104,7 @@ export const frontPoints = { points.shoulderDartOutside ) .intersectsY(points.cfCut.y)[0] - .addCircle(6) + // .addCircle(6) points.cfCutCp = points.cfCut.shiftFractionTowards( points.cutSeamInside, @@ -143,8 +143,21 @@ export const frontPoints = { points.sideHem.y = points.waistDartRight.y } + if (lacing) { + points.lacingCut = points.cfCut.shift( + 0, + (points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth + ) + points.lacingHem = points.cfHem.shiftTowards( + points.waistDartLeft, + (points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth + ) + } store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem)) - store.set('frontInsideWaistLength', points.waistDartLeft.dist(points.cfHem)) + store.set( + 'frontInsideWaistLength', + points.waistDartLeft.dist(lacing ? points.lacingHem : points.cfHem) + ) store.set('frontLength', points.cfNeck.dist(points.cfHem)) return part diff --git a/designs/tristan/src/options.mjs b/designs/tristan/src/options.mjs deleted file mode 100644 index c43552ac868..00000000000 --- a/designs/tristan/src/options.mjs +++ /dev/null @@ -1,34 +0,0 @@ -import { pctBasedOn } from '@freesewing/core' - -// Constants -export const shoulderToShoulderCorrection = 0.995 -export const bustDartCurve = 1 -export const bustDartLength = 0.9 -export const armholeFrontIn = 0.2 -export const armholeFrontDepth = 0.65 -export const armholeBackIn = 0.6 -export const armholeBackDepth = 0.6 -export const dartPosition = 'shoulder' -// Percentages -export const armholeDepth = { pct: 44, min: 38, max: 55, menu: 'armhole' } -export const strapWidth = { pct: 45, min: 5, max: 90, menu: 'style' } -export const cutDepthFront = { pct: 80, min: 0, max: 125, menu: 'style' } -export const cutDepthBack = { pct: 40, min: 5, max: 90, menu: 'style' } -// export const cutShape = { pct: 80, min: 0, max: 100, menu: 'style' } -export const cutRoundnessFront = { pct: 10, min: 0, max: 100, menu: 'style' } -export const cutRoundnessBack = { pct: 20, min: 0, max: 100, menu: 'style' } -export const bustSpanEase = { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan'), menu: 'fit' } -export const backHemSlope = { deg: 2.5, min: 0, max: 5, menu: 'advanced' } -export const upperDartLength = { pct: 90, min: 80, max: 95, menu: 'darts' } -export const shoulderDartPosition = { - pct: 50, - min: 10, - max: 90, - menu: (settings, mergedOptions) => (mergedOptions.dartPosition === 'shoulder' ? 'darts' : false), -} -export const armholeDartPosition = { - pct: 50, - min: 10, - max: 90, - menu: (settings, mergedOptions) => (mergedOptions.dartPosition === 'armhole' ? 'darts' : false), -} diff --git a/designs/tristan/src/peplumFront.mjs b/designs/tristan/src/peplumFront.mjs index 6cd35587e7e..341052b650f 100644 --- a/designs/tristan/src/peplumFront.mjs +++ b/designs/tristan/src/peplumFront.mjs @@ -16,11 +16,10 @@ export const CreateShape = ({ ratio, }) => { const double = - type == options.zipperLocation || (true == options.binding && type == options.bindingLocation) + type == options.zipperLocation || (true == options.lacing && type == options.lacingLocation) macro('ringsector', { id: type + 'Peblum', - center: new Point(0, offset), angle: (options.peplumFullness / 2) * ratio * (double ? 0.5 : 1), insideRadius: radius, outsideRadius: radius + width, @@ -50,7 +49,6 @@ export const CreateShape = ({ if (sa) paths[type + 'SA'] = paths['__macro_ringsector_' + type + 'Peblum_path'] - .reverse() .offset(sa) .attr('class', 'fabric sa') @@ -79,7 +77,7 @@ export const peplumFront = { after: backPoints, options: { // Options - peplum: { bool: false, menu: 'style' }, + peplum: { bool: false, menu: 'options' }, peplumSize: { pct: 10, min: 5, From a5c5a7f862bfd8b494b7e1114ff1bc7c9d47672f Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 7 Nov 2023 02:22:52 +0000 Subject: [PATCH 0009/1313] Dimensions, grainline, i18n --- designs/tristan/i18n/en.json | 137 ++++++++++++++++++++++++++- designs/tristan/src/backinside.mjs | 60 ++++++++++++ designs/tristan/src/backoutside.mjs | 75 +++++++++++++++ designs/tristan/src/backpoints.mjs | 4 - designs/tristan/src/frontinside.mjs | 55 ++++++----- designs/tristan/src/frontoutside.mjs | 66 +++++-------- designs/tristan/src/frontpoints.mjs | 9 +- 7 files changed, 325 insertions(+), 81 deletions(-) diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index 7b0495506a5..28cb9c75862 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -1,7 +1,138 @@ { "t": "Tristan", "d": "A FreeSewing pattern that needs a description", - "p": { }, - "s": { }, - "o": { } + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": {}, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } } diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index 28f38a00c82..bc5406dcafd 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -42,10 +42,70 @@ export const backInside = { title: 'backInside', }) + points.grainlineFrom = new Point(points.hps.x / 4, points.cbCut.y) + points.grainlineTo = new Point(points.hps.x / 4, points.waistSide.y) + macro('grainline', { + from: points.grainlineFrom, + to: points.grainlineTo, + }) + + points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.dartBottomLeft, 0.5) + macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 }) + if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } + macro('hd', { + from: points.cbCut, + to: points.strapInside, + y: points.strapInside.y - sa - 15, + id: 'cutWidth', + }) + macro('hd', { + from: points.cbCut, + to: points.shoulderDart, + y: points.strapInside.y - sa - 25, + id: 'cutToDart', + }) + macro('hd', { + from: lacing ? points.lacingWaist : points.waistCenter, + to: points.dartBottomLeft, + y: points.waistCenter.y + sa + 15, + id: 'waistCenterToSide', + }) + macro('hd', { + from: points.cbCut, + to: points.dartBottomLeft, + y: points.waistCenter.y + sa + 25, + id: 'waistCutToSide', + }) + + macro('vd', { + from: lacing ? points.lacingWaist : points.waistCenter, + to: points.cbCut, + x: points.cbCut.x - sa - 15, + id: 'waistToCut', + }) + macro('vd', { + from: lacing ? points.lacingWaist : points.waistCenter, + to: points.strapInside, + x: points.cbCut.x - sa - 25, + id: 'waistToStrap', + }) + macro('vd', { + from: points.dartBottomLeft, + to: points.shoulderDart, + x: points.shoulderDart.x + sa + 15, + id: 'dartToDart', + }) + macro('vd', { + from: points.dartBottomLeft, + to: points.strapInside, + x: points.shoulderDart.x + sa + 25, + id: 'dartToStrap', + }) + return part }, } diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index eeece9d74ad..4702a6ed363 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -31,10 +31,85 @@ export const backOutside = { title: 'backOutside', }) + points.grainlineFrom = new Point( + Math.max(points.shoulderDart.x, points.dartBottomRight.x), + points.waistSide.y - (points.waistSide.y - points.shoulder.y) * 0.7 + ) + points.grainlineTo = new Point(points.grainlineFrom.x, points.dartBottomRight.y * 0.95) + + macro('grainline', { + from: points.grainlineFrom, + to: points.grainlineTo, + }) + if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } + const pLeft = paths.dart.edge('left') + + macro('hd', { + from: pLeft, + to: points.shoulderDart, + y: points.shoulderDart.y - sa - 15, + id: 'leftToDart', + }) + macro('hd', { + from: pLeft, + to: points.strapOutside, + y: points.shoulderDart.y - sa - 25, + id: 'leftToStrap', + }) + macro('hd', { + from: pLeft, + to: points.armhole, + y: points.shoulderDart.y - sa - 35, + id: 'leftToArmhole', + }) + macro('hd', { + from: pLeft, + to: points.waistSide, + y: points.dartBottomRight.y + sa + 25, + id: 'leftToWaistSide', + }) + macro('hd', { + from: points.dartBottomRight, + to: points.waistSide, + y: points.dartBottomRight.y + sa + 15, + id: 'dartToWaistSide', + }) + + macro('vd', { + from: points.dartBottomRight, + to: pLeft, + x: pLeft.x - sa - 15, + id: 'leftToDart', + }) + macro('vd', { + from: points.dartBottomRight, + to: points.shoulderDart, + x: pLeft.x - sa - 25, + id: 'dartToDart', + }) + macro('vd', { + from: points.dartBottomRight, + to: points.strapOutside, + x: points.armhole.x + sa + 35, + id: 'dartToStrap', + }) + macro('vd', { + from: points.waistSide, + to: points.strapOutside, + x: points.armhole.x + sa + 25, + id: 'sideToStrap', + }) + macro('vd', { + from: points.waistSide, + to: points.armhole, + x: points.armhole.x + sa + 15, + id: 'sideToArmhole', + }) + return part }, } diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index d0ca42bc0a3..96ccff5d59e 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -7,7 +7,6 @@ export const backPoints = { from: nobleBackPoints, after: frontPoints, hide: hidePresets.HIDE_ALL, - // options, draft: ({ points, Path, paths, options, snippets, log, store, part }) => { const lacing = true == options.lacing && 'back' == options.lacingLocation @@ -23,8 +22,6 @@ export const backPoints = { points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2) - // points.shoulder = points.strapOutside - points.cbCut = new Path() .move(points.cbNeck) .curve_(points.cbNeckCp2, points.waistCenter) @@ -64,7 +61,6 @@ export const backPoints = { 180, options.armholeBackIn * points.armhole.dist(points.dartTip) ) - // .addCircle(4) points.strapOutsideCp = points.strapOutside.shiftFractionTowards( points.dartTip.shift(points.dartTip.angle(points.shoulderDart) - 90, strapWidth / 2), diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index 96b3f3fd3f5..82f1ae286a8 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -60,23 +60,36 @@ export const frontInside = { .length() ) - if ('front' != options.zipperLocation) { - macro('cutonfold', { - from: points.cfCut, - to: points.cfHem, - grainline: true, - }) - } - if (lacing) { + store.cutlist.addCut({ cut: 2, from: 'fabric' }) paths.originalSide = new Path() .move(points.lacingCut) .line(points.cfCut) .line(points.cfHem) .line(points.lacingHem) .setClass('note dashed') + macro('grainline', { + from: points.lacingCut.shift(315, 10), + to: points.lacingHem.shift(45, 10), + grainline: true, + }) + } else { + if ('front' == options.zipperLocation) { + store.cutlist.addCut({ cut: 2, from: 'fabric' }) + macro('grainline', { + from: points.cfCut.shift(315, 10), + to: points.cfHem.shift(45, 10), + grainline: true, + }) + } else { + // store.cutlist.addCut({ cut: 1, from: 'fabric' }) + macro('cutonfold', { + from: points.cfCut, + to: points.cfHem, + grainline: true, + }) + } } - snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) points.titleAnchor = points.waistDartLeft.shiftFractionTowards( @@ -90,9 +103,6 @@ export const frontInside = { }) points.gridAnchor = points.hps.clone() - points.scaleboxAnchor = points.titleAnchor.shift(-90, 90).shift(0, 10) - // macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 }) - if (sa) { if ('front' == options.zipperLocation) { paths.sa = paths.seam @@ -105,9 +115,8 @@ export const frontInside = { } } - let extraOffset = 0 macro('hd', { - from: points.cfNeck, + from: lacing ? points.lacingHem : points.cfHem, to: points.shoulderDartInside, y: points.hps.y - 25, id: 'hpsToDart', @@ -125,7 +134,7 @@ export const frontInside = { id: 'hemToDartTip', }) macro('hd', { - from: points.cfBust, + from: lacing ? points.lacingHem : points.cfHem, to: points.shoulderDartTip, y: points.cfHem.y + sa + 25, id: 'middleToDartTip', @@ -133,26 +142,26 @@ export const frontInside = { macro('vd', { from: points.cfHem, - to: points.cfNeck, - x: 0 - 20 - extraOffset, + to: lacing ? points.lacingCut : points.cfCut, + x: 0 - 20, id: 'hemToNeck', }) macro('vd', { from: points.cfHem, - to: points.hps, - x: 0 - 40 - extraOffset, + to: points.strapInside, + x: 0 - 40, id: 'hemToHps', }) macro('hd', { - from: points.cfHem, + from: lacing ? points.lacingHem : points.cfHem, to: points.waistDartLeft, y: points.cfHem.y + sa + 15, id: 'middleToDart', }) macro('hd', { - from: points.cfNeck, - to: points.hps, - y: points.hps.y - sa - 15, + from: lacing ? points.lacingCut : points.cfCut, + to: points.strapInside, + y: points.strapInside.y - sa - 15, id: 'middleToHps', }) diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 753760cbf21..8d2e250254f 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -55,7 +55,7 @@ export const frontOutside = { }) store.cutlist.removeCut() - store.cutlist.addCut() + store.cutlist.addCut({ cut: 2, from: 'fabric' }) points.snippet = paths.princessSeam.shiftAlong( paths.princessSeam.length() - store.get('shoulderDartTipNotch') @@ -74,7 +74,8 @@ export const frontOutside = { if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') - let pLeft = paths.princessSeam.edge('left') + const pLeft = paths.princessSeam.edge('left') + macro('hd', { from: points.waistDartRight, to: points.armholeOutsidePitchCp1, @@ -93,6 +94,24 @@ export const frontOutside = { y: points.sideHemInitial.y + sa + 15, id: 'leftToSide', }) + macro('hd', { + from: points.shoulderDartOutside, + to: points.strapOutside, + y: points.shoulderDartOutside.y - sa - 15, + id: 'dartToShoulder', + }) + macro('hd', { + from: points.snippet, + to: points.strapOutside, + y: points.shoulderDartOutside.y - sa - 25, + id: 'dartPointToShoulder', + }) + macro('hd', { + from: pLeft, + to: points.strapOutside, + y: points.shoulderDartOutside.y - sa - 35, + id: 'leftToShoulder', + }) macro('vd', { from: points.armholeOutsidePitchCp1, @@ -106,35 +125,10 @@ export const frontOutside = { x: pLeft.x - sa - 15, id: 'hemToLeft', }) - - macro('hd', { - from: points.shoulderDartOutside, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 15, - id: 'dartToShoulder', - }) - macro('hd', { - from: points.snippet, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 25, - id: 'dartPointToShoulder', - }) - macro('hd', { - from: pLeft, - to: points.shoulder, - y: points.shoulderDartOutside.y - sa - 35, - id: 'leftToShoulder', - }) - macro('hd', { - from: points.waistDartRight, - to: points.shoulder, - y: points.sideHemInitial.y + sa + 45, - id: 'hemDartToShoulder', - }) macro('vd', { - from: points.shoulder, + from: points.strapOutside, to: points.sideHemInitial, - x: points.shoulder.x, + x: points.sideHemInitial.x + sa + 25, id: 'hemToShoulder', }) macro('vd', { @@ -156,20 +150,6 @@ export const frontOutside = { id: 'shoulderDartToDartPoint', }) - const pArmholeLeft = paths.armhole.edge('left') - macro('hd', { - from: points.waistDartRight, - to: pArmholeLeft, - y: points.sideHemInitial.y + sa + 5, - id: 'hemDartToRight', - }) - macro('vd', { - from: pArmholeLeft, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 25, - id: 'hemSideToRight', - }) - return part }, } diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 7eebc20ebd3..167913ddcba 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -69,12 +69,6 @@ export const frontPoints = { const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder) let strapWidth = (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth - console.log({ - r: strapWidth / shoulderWidthOutside, - sw: shoulderWidthOutside, - strap: strapWidth, - }) - if (strapWidth / 2 > shoulderWidthInside) { strapWidth = shoulderWidthInside * 2 } @@ -87,7 +81,6 @@ export const frontPoints = { points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2) points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront) - console.log({ cut: points.cfNeck.dist(points.cfCut) }) points.cutSeamInside = new Path() .move(points.waistDartLeft) @@ -104,7 +97,6 @@ export const frontPoints = { points.shoulderDartOutside ) .intersectsY(points.cfCut.y)[0] - // .addCircle(6) points.cfCutCp = points.cfCut.shiftFractionTowards( points.cutSeamInside, @@ -153,6 +145,7 @@ export const frontPoints = { (points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth ) } + store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem)) store.set( 'frontInsideWaistLength', From a2c934a089b0327ca577a18e8c6d6fdd35c64ebd Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 9 Nov 2023 05:57:21 +0000 Subject: [PATCH 0010/1313] eyelets and info --- designs/tristan/src/backinside.mjs | 12 ++++++++++++ designs/tristan/src/backoutside.mjs | 7 ++----- designs/tristan/src/frontinside.mjs | 14 +++++++++++++- designs/tristan/src/frontpoints.mjs | 11 ++++++++++- 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index bc5406dcafd..e9066599b44 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -18,6 +18,18 @@ export const backInside = { .curve_(points.cbCutCp2, points.waistCenter) .line(points.lacingWaist) .setClass('note dashed') + + const lacingDistance = points.lacingWaist.y - points.lacingCut.y + if (lacingDistance > 15 * 5) { + const numberOfEyelets = Math.floor(lacingDistance / 15) + const eyeletDistance = lacingDistance / (numberOfEyelets + 1) + const pEyelets = new Path().move(points.lacingCut).line(points.lacingWaist).offset(-10) + + for (let i = 1; i <= numberOfEyelets; i++) { + points['eyelet' + i] = pEyelets.shiftAlong(i * eyeletDistance) + snippets['eyelet' + i] = new Snippet('eyelet', points['eyelet' + i]) + } + } } else { paths.cut.curve_(points.cbCutCp2, points.waistCenter) } diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 4702a6ed363..e5063bd1080 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -31,11 +31,8 @@ export const backOutside = { title: 'backOutside', }) - points.grainlineFrom = new Point( - Math.max(points.shoulderDart.x, points.dartBottomRight.x), - points.waistSide.y - (points.waistSide.y - points.shoulder.y) * 0.7 - ) - points.grainlineTo = new Point(points.grainlineFrom.x, points.dartBottomRight.y * 0.95) + points.grainlineTo = new Point(points.dartBottomRight.x * 1.1, points.dartBottomRight.y * 0.95) + points.grainlineFrom = new Point(points.grainlineTo.x, points.dartTip.y) macro('grainline', { from: points.grainlineFrom, diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index 82f1ae286a8..fddb59f9868 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -73,6 +73,18 @@ export const frontInside = { to: points.lacingHem.shift(45, 10), grainline: true, }) + const lacingDistance = points.lacingHem.y - points.lacingCut.y + if (lacingDistance > 15 * 5) { + const numberOfEyelets = Math.floor(lacingDistance / 15) + const eyeletDistance = lacingDistance / (numberOfEyelets + 1) + for (let i = 0; i < numberOfEyelets; i++) { + points['eyelet' + i] = new Point( + points.lacingCut.x + 10, + points.lacingCut.y + i * eyeletDistance + eyeletDistance + ) + snippets['eyelet' + i] = new Snippet('eyelet', points['eyelet' + i]) + } + } } else { if ('front' == options.zipperLocation) { store.cutlist.addCut({ cut: 2, from: 'fabric' }) @@ -82,7 +94,7 @@ export const frontInside = { grainline: true, }) } else { - // store.cutlist.addCut({ cut: 1, from: 'fabric' }) + store.cutlist.addCut({ cut: 1, from: 'fabric' }) macro('cutonfold', { from: points.cfCut, to: points.cfHem, diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 167913ddcba..93209635854 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -54,7 +54,7 @@ export const frontPoints = { menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), }, }, - draft: ({ points, Path, paths, snippets, options, macro, store, part }) => { + draft: ({ points, Path, paths, snippets, options, macro, store, units, part }) => { const lacing = true == options.lacing && 'front' == options.lacingLocation // Hide Noble paths @@ -77,6 +77,15 @@ export const frontPoints = { } store.set('strapWidth', strapWidth) + if (strapWidth != (shoulderWidthInside + shoulderWidthOutside) * options.strapWidth) { + store.flag.info({ + msg: 'tristan:strapWidthAdjusted', + replace: { + width: units(strapWidth), + }, + }) + } + points.strapInside = points.shoulderDartInside.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDartOutside.shiftTowards(points.shoulder, strapWidth / 2) From 9c22d929f2aabe7ee0b1da4de654f5b6ba60d77c Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 9 Nov 2023 06:01:48 +0000 Subject: [PATCH 0011/1313] Some more i18n --- designs/tristan/i18n/en.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index 28cb9c75862..a59e0b11cd2 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -11,7 +11,10 @@ "peplumFront": "Peplum front", "peplumBack": "Peplum back" }, - "s": {}, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, "o": { "bustSpanEase": { "t": "Bust span ease", @@ -109,6 +112,14 @@ "t": "Location of the lacing", "d": "Lacing in the front, or the back" }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, "lacingWidth": { "t": "Lacing width", "d": "Width of the lacing opening" From 1241e76851d3b91dbec2c444b7d437da8430302c Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 9 Nov 2023 16:39:21 +0000 Subject: [PATCH 0012/1313] other language files --- designs/tristan/i18n/de.json | 149 +++++++++++++++++++++++++++++++++++ designs/tristan/i18n/es.json | 149 +++++++++++++++++++++++++++++++++++ designs/tristan/i18n/fr.json | 149 +++++++++++++++++++++++++++++++++++ designs/tristan/i18n/nl.json | 149 +++++++++++++++++++++++++++++++++++ designs/tristan/i18n/uk.json | 149 +++++++++++++++++++++++++++++++++++ 5 files changed, 745 insertions(+) create mode 100644 designs/tristan/i18n/de.json create mode 100644 designs/tristan/i18n/es.json create mode 100644 designs/tristan/i18n/fr.json create mode 100644 designs/tristan/i18n/nl.json create mode 100644 designs/tristan/i18n/uk.json diff --git a/designs/tristan/i18n/de.json b/designs/tristan/i18n/de.json new file mode 100644 index 00000000000..a59e0b11cd2 --- /dev/null +++ b/designs/tristan/i18n/de.json @@ -0,0 +1,149 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } +} diff --git a/designs/tristan/i18n/es.json b/designs/tristan/i18n/es.json new file mode 100644 index 00000000000..a59e0b11cd2 --- /dev/null +++ b/designs/tristan/i18n/es.json @@ -0,0 +1,149 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } +} diff --git a/designs/tristan/i18n/fr.json b/designs/tristan/i18n/fr.json new file mode 100644 index 00000000000..a59e0b11cd2 --- /dev/null +++ b/designs/tristan/i18n/fr.json @@ -0,0 +1,149 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } +} diff --git a/designs/tristan/i18n/nl.json b/designs/tristan/i18n/nl.json new file mode 100644 index 00000000000..a59e0b11cd2 --- /dev/null +++ b/designs/tristan/i18n/nl.json @@ -0,0 +1,149 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } +} diff --git a/designs/tristan/i18n/uk.json b/designs/tristan/i18n/uk.json new file mode 100644 index 00000000000..a59e0b11cd2 --- /dev/null +++ b/designs/tristan/i18n/uk.json @@ -0,0 +1,149 @@ +{ + "t": "Tristan", + "d": "A FreeSewing pattern that needs a description", + "p": { + "backInside": "Back inside", + "backOutside": "Back outside", + "backPoints": "Back base", + "frontInside": "Front inside", + "frontOutside": "Front outside", + "frontPoints": "Front base", + "peplumFront": "Peplum front", + "peplumBack": "Peplum back" + }, + "s": { + "strapWidthAdjusted.t": "The strap width has been adjusted", + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + }, + "o": { + "bustSpanEase": { + "t": "Bust span ease", + "d": "Controls the amount of ease along the bust span" + }, + "chestEase": { + "t": "Chest ease", + "d": "Controls the amount of ease at the chest" + }, + "shoulderToShoulderEase": { + "t": "Shoulder to shoulder ease", + "d": "Controls the amount of ease along the shoulder to shoulder measurement" + }, + "fullChestEaseReduction": { + "t": "Full chest ease reduction", + "d": "Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area" + }, + "waistEase": { + "t": "Waist ease", + "d": "Controls the amount of ease at the waist" + }, + "frontShoulderWidth": { + "t": "Front shoulder width", + "d": "Controls how much width is added to the shoulder in the front" + }, + "highBustWidth": { + "t": "High bust width", + "d": "Controls the width of the high bust" + }, + "armholeDepth": { + "t": "Depth of the Armhole", + "d": "Controls how deep the armhole is" + }, + "cutDepthBack": { + "t": "Depth of the cut in the back", + "d": "Controls the depth of the cut in the back" + }, + "cutDepthFront": { + "t": "Depth of the cut in the front", + "d": "Controls the depth of the cut in the front" + }, + "cutRoundnessBack": { + "t": "Roundness of the cut in the back", + "d": "Controls how 'round' the cut in the back is, from V to round to square" + }, + "cutRoundnessFront": { + "t": "Roundness of the cut in the front", + "d": "Controls how 'round' the cut in the front is, from V to round to square" + }, + "shoulderDartPosition": { + "t": "Shoulder dart position", + "d": "Controls the position of the shoulder dart" + }, + "strapWidth": { + "t": "Width of the straps", + "d": "Controls the width of the straps" + }, + "upperDartLength": { + "t": "Upper dart length", + "d": "Controls the length of the upper dart" + }, + "waistDartLength": { + "t": "Waist dart length", + "d": "Controls the length of the waist dart" + }, + "zipperLocation": { + "t": "Zipper location", + "d": "The location of the zipper: side, back, or front" + }, + "zipperLocation.front": { + "t": "Front zipper location", + "d": "The location of the zipper will be in the front" + }, + "zipperLocation.side": { + "t": "Side zipper location", + "d": "The location of the zipper will be on the side" + }, + "zipperLocation.back": { + "t": "Back zipper location", + "d": "The location of the zipper will be in the back" + }, + "lacing": { + "t": "Lacing option", + "d": "This removes part of the seam to create an opening for lacing" + }, + "lacingYes": { + "t": "Add Lacing", + "d": "Remove part of the seam to create an opening for lacing" + }, + "lacingNo": { + "t": "No lacing", + "d": "Close the seams normally" + }, + "lacingLocation": { + "t": "Location of the lacing", + "d": "Lacing in the front, or the back" + }, + "lacingLocation.back": { + "t": "Lacing in the back", + "d": "The lacing will be in the back" + }, + "lacingLocation.front": { + "t": "Lacing in the front", + "d": "The lacing will be in the front" + }, + "lacingWidth": { + "t": "Lacing width", + "d": "Width of the lacing opening" + }, + "peplum": { + "t": "Peplum", + "d": "Add a peplum" + }, + "peplumYes": { + "t": "Add a peplum", + "d": "This will generate the peplum part." + }, + "peplumNo": { + "t": "No peplum", + "d": "Pattern will be generated without a peplum" + }, + "peplumSize": { + "t": "Peplum size", + "d": "Controls the size of the peplum" + }, + "peplumFullness": { + "t": "Peplum fullness", + "d": "Controls the 'fullness' of the peplum. Basically from a half-circle to a full-circle." + } + + } +} From a2e4c8a7b57c05753c47b57dd8584576b8cea71b Mon Sep 17 00:00:00 2001 From: woutervdub Date: Fri, 10 Nov 2023 04:58:16 +0000 Subject: [PATCH 0013/1313] cutlist and designs, oh my! --- config/software/designs.json | 14 ++++++++++++++ designs/tristan/src/backinside.mjs | 11 ++++++----- designs/tristan/src/backoutside.mjs | 6 +++++- designs/tristan/src/frontinside.mjs | 7 ++++--- designs/tristan/src/frontoutside.mjs | 12 +++++++++--- designs/tristan/src/frontpoints.mjs | 4 ++++ 6 files changed, 42 insertions(+), 12 deletions(-) diff --git a/config/software/designs.json b/config/software/designs.json index 5341adbed82..4d4d6befed9 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -799,6 +799,20 @@ "lining" ] }, + "tristan": { + "code": "Wouter van Wageningen", + "description": "A FreeSewing pattern for a top", + "design": "Natalia Sayang", + "difficulty": 3, + "lab": true, + "org": true, + "tags": [ + "tops" + ], + "techniques": [ + "precision" + ] + }, "uma": { "code": "Joost De Cock", "description": "A FreeSewing pattern for a basic, highly-customizable underwear pattern", diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index e9066599b44..813424d3590 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -3,9 +3,11 @@ import { backPoints } from './backpoints.mjs' export const backInside = { name: 'tristan.backInside', from: backPoints, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, store, macro, part }) => { const lacing = true == options.lacing && 'back' == options.lacingLocation + store.cutlist.removeCut() + paths.cut = new Path() .move(points.strapInside) .curve(points.strapInsideCp, points.cbCutCp, lacing ? points.lacingCut : points.cbCut) @@ -54,15 +56,14 @@ export const backInside = { title: 'backInside', }) - points.grainlineFrom = new Point(points.hps.x / 4, points.cbCut.y) - points.grainlineTo = new Point(points.hps.x / 4, points.waistSide.y) + points.grainlineFrom = new Point(points.dartBottomLeft.x - 10, points.cbCut.y) + points.grainlineTo = new Point(points.dartBottomLeft.x - 10, points.waistSide.y) macro('grainline', { from: points.grainlineFrom, to: points.grainlineTo, }) - points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.dartBottomLeft, 0.5) - macro('scalebox', { at: points.scaleboxAnchor, rotate: 270 }) + store.cutlist.addCut({ cut: 2, from: 'fabric' }) if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index e5063bd1080..1ea864296a4 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -3,7 +3,9 @@ import { backPoints } from './backpoints.mjs' export const backOutside = { name: 'tristan.backOutside', from: backPoints, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, store, macro, part }) => { + store.cutlist.removeCut() + paths.cut = new Path() .move(points.armhole) .curve(points.armholeCutCp, points.strapOutsideCp, points.strapOutside) @@ -39,6 +41,8 @@ export const backOutside = { to: points.grainlineTo, }) + store.cutlist.addCut({ cut: 2, from: 'fabric' }) + if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index fddb59f9868..457b557a362 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -68,9 +68,10 @@ export const frontInside = { .line(points.cfHem) .line(points.lacingHem) .setClass('note dashed') + const pGrainLineTo = points.waistDartLeft.shift(135, 10) macro('grainline', { - from: points.lacingCut.shift(315, 10), - to: points.lacingHem.shift(45, 10), + from: new Point(pGrainLineTo.x, points.cfCut.y), + to: pGrainLineTo, grainline: true, }) const lacingDistance = points.lacingHem.y - points.lacingCut.y @@ -94,12 +95,12 @@ export const frontInside = { grainline: true, }) } else { - store.cutlist.addCut({ cut: 1, from: 'fabric' }) macro('cutonfold', { from: points.cfCut, to: points.cfHem, grainline: true, }) + store.cutlist.addCut({ cut: 1, from: 'fabric' }) } } snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 8d2e250254f..4da295b5a99 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -2,7 +2,7 @@ import { frontPoints } from './frontpoints.mjs' import { frontInside } from './frontinside.mjs' export const frontOutside = { - name: 'noble.frontOutside', + name: 'tristan.frontOutside', from: frontPoints, after: frontInside, draft: ({ store, sa, points, Path, paths, Snippet, snippets, options, macro, part }) => { @@ -15,6 +15,7 @@ export const frontOutside = { delete points.bustDartEdge macro('rmcutonfold') + store.cutlist.removeCut() paths.cut = new Path() .move(points.armhole) @@ -54,7 +55,6 @@ export const frontOutside = { to: points.grainTop, }) - store.cutlist.removeCut() store.cutlist.addCut({ cut: 2, from: 'fabric' }) points.snippet = paths.princessSeam.shiftAlong( @@ -72,10 +72,13 @@ export const frontOutside = { }) points.gridAnchor = points.armholeCpTarget.clone() + points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.sideHem, 0.5) + points.scaleboxAnchor.x = points.titleAnchor.x + macro('miniscale', { at: points.scaleboxAnchor }) + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') const pLeft = paths.princessSeam.edge('left') - macro('hd', { from: points.waistDartRight, to: points.armholeOutsidePitchCp1, @@ -150,6 +153,9 @@ export const frontOutside = { id: 'shoulderDartToDartPoint', }) + // console.log({part:JSON.parse(JSON.stringify(part))}) + console.log({ store: JSON.parse(JSON.stringify(store)) }) + return part }, } diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 93209635854..2f3569e714e 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -64,6 +64,10 @@ export const frontPoints = { // Remove macros from Noble macro('rmtitle') macro('rmscalebox') + macro('rmcutonfold') + + store.cutlist.removeCut() + console.log({ t_store: JSON.parse(JSON.stringify(store)) }) const shoulderWidthInside = points.shoulderDartInside.dist(points.hps) const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder) From 6f4254ce69be6fcd00b904fd7f403707814907fd Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sat, 11 Nov 2023 22:00:08 +0000 Subject: [PATCH 0014/1313] hem --- designs/tristan/i18n/en.json | 19 ++++- designs/tristan/src/backinside.mjs | 19 ++++- designs/tristan/src/backoutside.mjs | 19 ++++- designs/tristan/src/backpoints.mjs | 78 +++++++++++++++++++- designs/tristan/src/frontinside.mjs | 68 +++++++++++------ designs/tristan/src/frontoutside.mjs | 58 +++++++++------ designs/tristan/src/frontpoints.mjs | 105 ++++++++++++++++++++++++--- 7 files changed, 305 insertions(+), 61 deletions(-) diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index a59e0b11cd2..5b4a01303c1 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -13,7 +13,8 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -96,6 +97,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index 813424d3590..ad61bdd03ef 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -6,6 +6,7 @@ export const backInside = { draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, store, macro, part }) => { const lacing = true == options.lacing && 'back' == options.lacingLocation + macro('rmtitle') store.cutlist.removeCut() paths.cut = new Path() @@ -36,10 +37,26 @@ export const backInside = { paths.cut.curve_(points.cbCutCp2, points.waistCenter) } + if (options.hem && !options.peplum) { + paths.hem = new Path() + .move(lacing ? points.lacingWaist : points.waistCenter) + .line(points.waistCenterHem) + .line(points.dartBottomLeftHem) + .line(points.dartBottomLeft) + .hide() + paths.hemFold = new Path() + .move(points.waistCenter) + .line(points.dartBottomLeft) + .addClass('note dashed') + .addText('hem', 'center note') + } else { + paths.hem = new Path().move(points.waistCenter).line(points.dartBottomLeft).hide() + } + paths.seam = new Path() .move(points.strapInside) .join(paths.cut) - .line(points.dartBottomLeft) + .join(paths.hem) .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) .line(points.strapInside) diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 1ea864296a4..5d3928db272 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -3,7 +3,7 @@ import { backPoints } from './backpoints.mjs' export const backOutside = { name: 'tristan.backOutside', from: backPoints, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, store, macro, part }) => { + draft: ({ sa, Point, points, Path, paths, options, store, macro, part }) => { store.cutlist.removeCut() paths.cut = new Path() @@ -17,9 +17,24 @@ export const backOutside = { .curve(points.shoulderDartCpDown, points.dartRightCp, points.dartBottomRight) .hide() + if (options.hem && !options.peplum) { + paths.hem = new Path() + .move(points.dartBottomRight) + .line(points.dartBottomRightHem) + .line(points.waistSideHem) + .line(points.waistSide) + .hide() + paths.hemFold = new Path() + .move(points.dartBottomRight) + .line(points.waistSide) + .addClass('note dashed') + .addText('hem', 'center note') + } else { + paths.hem = new Path().move(points.dartBottomRight).line(points.waistSide).hide() + } paths.seam = new Path() .move(points.dartBottomRight) - .line(points.waistSide) + .join(paths.hem) .curve_(points.waistSideCp2, points.armhole) .join(paths.cut) .join(paths.dart) diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index 96ccff5d59e..61deb6bb943 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -7,7 +7,7 @@ export const backPoints = { from: nobleBackPoints, after: frontPoints, hide: hidePresets.HIDE_ALL, - draft: ({ points, Path, paths, options, snippets, log, store, part }) => { + draft: ({ points, Path, paths, options, snippets, macro, utils, store, part }) => { const lacing = true == options.lacing && 'back' == options.lacingLocation // Hide Noble paths @@ -30,7 +30,7 @@ export const backPoints = { points.cbCutCp2 = new Path() .move(points.cbNeck) .curve_(points.cbNeckCp2, points.waistCenter) - .split(points.cbCut)[1].ops[1].cp2 + .split(points.cbCut)[1].ops[1].cp1 points.cutSeamInside = new Path() .move(points.dartBottomLeft) @@ -78,6 +78,80 @@ export const backPoints = { ) } + if (options.hem && !options.peplum) { + const hemSize = store.get('hemSize') + + const waistCenterHemTemp1 = (lacing ? points.lacingWaist : points.waistCenter).shiftTowards( + lacing ? points.lacingCut : points.cbCut, + hemSize + ) + const dartBottomLeftHemTemp = waistCenterHemTemp1.shift( + (lacing ? points.lacingWaist : points.cbWaist).angle(points.dartBottomLeft), + (lacing ? points.lacingWaist : points.cbWaist).dist(points.dartBottomLeft) * 1.5 + ) + const waistCenterHemTemp2 = dartBottomLeftHemTemp.shiftOutwards(waistCenterHemTemp1, 100) + + if (lacing) { + points.waistCenterHem = utils.beamsIntersect( + waistCenterHemTemp2, + dartBottomLeftHemTemp, + points.lacingWaist, + points.cbCut + ) + } else { + points.waistCenterHem = utils.beamIntersectsCurve( + waistCenterHemTemp2, + dartBottomLeftHemTemp, + points.waistCenter, + points.waistCenter, + points.cbCutCp2, + lacing ? points.lacingCut : points.cbCut + ) + } + points.dartBottomLeftHem = utils.beamIntersectsCurve( + waistCenterHemTemp2, + dartBottomLeftHemTemp, + points.dartBottomLeft, + points.dartLeftCp, + points.shoulderDartCpDown, + points.dartTip + ) + macro('mirror', { + clone: false, + mirror: [lacing ? points.lacingWaist : points.waistCenter, points.dartBottomLeft], + points: ['waistCenterHem', 'dartBottomLeftHem'], + }) + + const waistSideHemTemp1 = points.waistSide.shiftTowards(points.armhole, hemSize) + const waistDartRightHemTemp = waistSideHemTemp1.shift( + points.waistSide.angle(points.dartBottomRight), + points.waistSide.dist(points.dartBottomRight) * 1.5 + ) + const waistSideHemTemp2 = waistDartRightHemTemp.shiftOutwards(waistSideHemTemp1, 100) + + points.waistSideHem = utils.beamIntersectsCurve( + waistSideHemTemp2, + waistDartRightHemTemp, + points.waistSide, + points.waistSideCp2, + points.armhole, + points.armhole + ) + points.dartBottomRightHem = utils.beamIntersectsCurve( + waistSideHemTemp2, + waistDartRightHemTemp, + points.dartTip, + points.shoulderDartCpDown, + points.dartRightCp, + points.dartBottomRight + ) + macro('mirror', { + clone: false, + mirror: [points.dartBottomRight, points.waistSide], + points: ['waistSideHem', 'dartBottomRightHem'], + }) + } + store.set('backOutsideWaistLength', points.dartBottomRight.dist(points.waistSide)) store.set('backInsideWaistLength', points.dartBottomLeft.dist(points.waistCenter)) diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index 457b557a362..e886c99d907 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -36,18 +36,37 @@ export const frontInside = { .move(points.strapInside) .curve(points.strapInsideCp, points.cfCutCp, lacing ? points.lacingCut : points.cfCut) - paths.insideSeam = new Path() - .move(lacing ? points.lacingHem : points.cfHem) - .line(points.waistDartLeft) + paths.insideSeamTemp = new Path() + .move(points.waistDartLeft) .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) .line(points.shoulderDartInside) .join(paths.cut) + .hide() + + if (options.hem && !options.peplum) { + paths.insideSeam = new Path() + .move(lacing ? points.lacingWaist : points.cfWaist) + .line(points.cfHem) + .line(points.waistDartLeftHem) + .line(points.waistDartLeft) + .join(paths.insideSeamTemp) + paths.hemFold = new Path() + .move(lacing ? points.lacingWaist : points.cfWaist) + .line(points.waistDartLeft) + .addClass('note dashed') + .addText('hem', 'center note') + } else { + paths.insideSeam = new Path() + .move(lacing ? points.lacingWaist : points.cfWaist) + .line(points.waistDartLeft) + .join(paths.insideSeamTemp) + } paths.seam = paths.insideSeam .join( lacing - ? new Path().move(points.lacingCut).line(points.lacingHem) - : new Path().move(points.cfCut).line(points.cfHem) + ? new Path().move(points.lacingCut).line(points.lacingWaist) + : new Path().move(points.cfCut).line(points.cfWaist) ) .close() .attr('class', 'fabric') @@ -65,8 +84,8 @@ export const frontInside = { paths.originalSide = new Path() .move(points.lacingCut) .line(points.cfCut) - .line(points.cfHem) - .line(points.lacingHem) + .line(points.cfWaist) + .line(points.lacingWaist) .setClass('note dashed') const pGrainLineTo = points.waistDartLeft.shift(135, 10) macro('grainline', { @@ -74,7 +93,7 @@ export const frontInside = { to: pGrainLineTo, grainline: true, }) - const lacingDistance = points.lacingHem.y - points.lacingCut.y + const lacingDistance = points.lacingWaist.y - points.lacingCut.y if (lacingDistance > 15 * 5) { const numberOfEyelets = Math.floor(lacingDistance / 15) const eyeletDistance = lacingDistance / (numberOfEyelets + 1) @@ -91,18 +110,19 @@ export const frontInside = { store.cutlist.addCut({ cut: 2, from: 'fabric' }) macro('grainline', { from: points.cfCut.shift(315, 10), - to: points.cfHem.shift(45, 10), + to: points.cfWaist.shift(45, 10), grainline: true, }) } else { macro('cutonfold', { from: points.cfCut, - to: points.cfHem, + to: points.cfWaist, grainline: true, }) store.cutlist.addCut({ cut: 1, from: 'fabric' }) } } + snippets.shoulderDartTip = new Snippet('notch', points.shoulderDartTip) points.titleAnchor = points.waistDartLeft.shiftFractionTowards( @@ -124,51 +144,51 @@ export const frontInside = { .attr('class', 'fabric sa') } else { paths.sa = paths.insideSeam.offset(sa).line(points.cfCut).attr('class', 'fabric sa') - paths.sa = paths.sa.move(points.cfHem).line(paths.sa.start()) + paths.sa = paths.sa.move(points.cfWaist).line(paths.sa.start()) } } macro('hd', { - from: lacing ? points.lacingHem : points.cfHem, + from: lacing ? points.lacingWaist : points.cfWaist, to: points.shoulderDartInside, y: points.hps.y - 25, id: 'hpsToDart', }) macro('vd', { - from: points.cfHem, + from: points.cfWaist, to: points.shoulderDartInside, x: 0 - 30, - id: 'hemToDart', + id: 'waistToDart', }) macro('vd', { - from: points.cfHem, + from: points.cfWaist, to: points.shoulderDartTip, x: 0 - 10, - id: 'hemToDartTip', + id: 'waistToDartTip', }) macro('hd', { - from: lacing ? points.lacingHem : points.cfHem, + from: lacing ? points.lacingWaist : points.cfWaist, to: points.shoulderDartTip, - y: points.cfHem.y + sa + 25, + y: points.cfWaist.y + sa + 25, id: 'middleToDartTip', }) macro('vd', { - from: points.cfHem, + from: points.cfWaist, to: lacing ? points.lacingCut : points.cfCut, x: 0 - 20, - id: 'hemToNeck', + id: 'waistToNeck', }) macro('vd', { - from: points.cfHem, + from: points.cfWaist, to: points.strapInside, x: 0 - 40, - id: 'hemToHps', + id: 'waistToHps', }) macro('hd', { - from: lacing ? points.lacingHem : points.cfHem, + from: lacing ? points.lacingWaist : points.cfWaist, to: points.waistDartLeft, - y: points.cfHem.y + sa + 15, + y: points.cfWaist.y + sa + 15, id: 'middleToDart', }) macro('hd', { diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 4da295b5a99..6f6f0590700 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -14,6 +14,8 @@ export const frontOutside = { delete points.bustB delete points.bustDartEdge + console.log({ points: JSON.parse(JSON.stringify(points)) }) + macro('rmcutonfold') store.cutlist.removeCut() @@ -38,9 +40,26 @@ export const frontOutside = { .curve_(points.armholePitchCp2, points.shoulder) .hide() + if (options.hem && !options.peplum) { + paths.hem = new Path() + .move(points.waistDartRight) + .line(points.waistDartRightHem) + .line(points.sideWaistHem) + .line(points.sideWaist) + .hide() + paths.hemFold = new Path() + .move(points.waistDartRight) + .line(points.sideWaist) + .addClass('note dashed') + .addText('hem', 'center note') + } else { + paths.hem = new Path().move(points.waistDartRight).hide() + } + paths.seam = new Path() .move(points.waistDartRight) - .line(points.sideHem) + .join(paths.hem) + .line(points.sideWaist) .line(points.armhole) .join(paths.cut) .line(points.shoulderDartOutside) @@ -49,7 +68,7 @@ export const frontOutside = { .attr('class', 'fabric') points.grainTop = points.armhole.shift(225, 20) - points.grainBottom = points.sideHemInitial.shift(135, 20) + points.grainBottom = points.sideWaistInitial.shift(135, 20) macro('grainline', { from: points.grainBottom, to: points.grainTop, @@ -72,7 +91,7 @@ export const frontOutside = { }) points.gridAnchor = points.armholeCpTarget.clone() - points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.sideHem, 0.5) + points.scaleboxAnchor = points.titleAnchor.shiftFractionTowards(points.sideWaist, 0.5) points.scaleboxAnchor.x = points.titleAnchor.x macro('miniscale', { at: points.scaleboxAnchor }) @@ -82,19 +101,19 @@ export const frontOutside = { macro('hd', { from: points.waistDartRight, to: points.armholeOutsidePitchCp1, - y: points.sideHemInitial.y + sa + 35, + y: points.sideWaistInitial.y + sa + 35, id: 'dartToArmhole', }) macro('hd', { from: points.waistDartRight, - to: points.sideHemInitial, - y: points.sideHemInitial.y + sa + 25, + to: points.sideWaistInitial, + y: points.sideWaistInitial.y + sa + 25, id: 'dartToSide', }) macro('hd', { from: pLeft, - to: points.sideHemInitial, - y: points.sideHemInitial.y + sa + 15, + to: points.sideWaistInitial, + y: points.sideWaistInitial.y + sa + 15, id: 'leftToSide', }) macro('hd', { @@ -118,33 +137,33 @@ export const frontOutside = { macro('vd', { from: points.armholeOutsidePitchCp1, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 15, - id: 'hemToArmhole', + to: points.sideWaistInitial, + x: points.sideWaistInitial.x + sa + 15, + id: 'waistToArmhole', }) macro('vd', { from: points.waistDartRight, to: pLeft, x: pLeft.x - sa - 15, - id: 'hemToLeft', + id: 'waistToLeft', }) macro('vd', { from: points.strapOutside, - to: points.sideHemInitial, - x: points.sideHemInitial.x + sa + 25, - id: 'hemToShoulder', + to: points.sideWaistInitial, + x: points.sideWaistInitial.x + sa + 25, + id: 'waistToShoulder', }) macro('vd', { from: points.shoulderDartOutside, - to: points.sideHemInitial, + to: points.sideWaistInitial, x: points.shoulderDartOutside.x, - id: 'sideHemToShoulderDart', + id: 'sideWaistToShoulderDart', }) macro('vd', { from: points.waistDartRight, to: points.shoulderDartOutside, x: pLeft.x - sa - 25, - id: 'hemToShoulderDart', + id: 'waistToShoulderDart', }) macro('vd', { from: points.snippet, @@ -153,9 +172,6 @@ export const frontOutside = { id: 'shoulderDartToDartPoint', }) - // console.log({part:JSON.parse(JSON.stringify(part))}) - console.log({ store: JSON.parse(JSON.stringify(store)) }) - return part }, } diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index 2f3569e714e..f41bfb77f2b 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -1,6 +1,23 @@ import { frontPoints as nobleFrontPoints } from '@freesewing/noble' import { pctBasedOn, hidePresets } from '@freesewing/core' +function stringify(obj) { + let cache = [] + let str = JSON.stringify(obj, function (key, value) { + if (typeof value === 'object' && value !== null) { + if (cache.indexOf(value) !== -1) { + // Circular reference found, discard key + return + } + // Store value in our collection + cache.push(value) + } + return value + }) + cache = null // reset the cache + return str +} + export const frontPoints = { name: 'tristan.frontPoints', from: nobleFrontPoints, @@ -34,11 +51,24 @@ export const frontPoints = { cutRoundnessFront: { pct: 10, min: 0, max: 100, menu: 'style' }, shoulderDartPosition: { pct: 50, min: 10, max: 90, menu: 'style' }, strapWidth: { pct: 45, min: 5, max: 90, menu: 'style' }, + hemSize: { + pct: 5.62, + min: 1, + max: 25, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => + mergedOptions.hem === false || mergedOptions.peplum === true ? false : 'options', + }, upperDartLength: { pct: 90, min: 80, max: 95, menu: 'advanced' }, waistDartLength: { pct: 90, min: 75, max: 95, menu: 'advanced' }, // Options zipperLocation: { dflt: 'side', list: ['front', 'side', 'back'], menu: 'options' }, + hem: { + bool: false, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions.peplum === true ? false : 'options'), + }, lacing: { bool: false, menu: 'options' }, lacingLocation: { dflt: 'back', @@ -54,7 +84,7 @@ export const frontPoints = { menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), }, }, - draft: ({ points, Path, paths, snippets, options, macro, store, units, part }) => { + draft: ({ points, Path, paths, snippets, options, macro, store, utils, units, sa, part }) => { const lacing = true == options.lacing && 'front' == options.lacingLocation // Hide Noble paths @@ -66,8 +96,11 @@ export const frontPoints = { macro('rmscalebox') macro('rmcutonfold') + points.sideWaist = points.sideHem.clone() + points.sideWaistInitial = points.sideHemInitial.clone() + points.cfWaist = points.cfHem.clone() + store.cutlist.removeCut() - console.log({ t_store: JSON.parse(JSON.stringify(store)) }) const shoulderWidthInside = points.shoulderDartInside.dist(points.hps) const shoulderWidthOutside = points.shoulderDartOutside.dist(points.shoulder) @@ -95,11 +128,12 @@ export const frontPoints = { points.cfCut = points.cfNeck.shiftFractionTowards(points.cfBust, options.cutDepthFront) - points.cutSeamInside = new Path() + paths.cutSeamInside = new Path() .move(points.waistDartLeft) .curve(points.waistDartLeftCp, points.shoulderDartTipCpDownInside, points.shoulderDartTip) .line(points.shoulderDartInside) - .intersectsY(points.cfCut.y)[0] + .hide() + points.cutSeamInside = paths.cutSeamInside.intersectsY(points.cfCut.y)[0] points.cutSeamOutside = new Path() .move(points.waistDartRight) @@ -144,8 +178,8 @@ export const frontPoints = { } // armhole adjustment - if (points.sideHem.y < points.waistDartRight.y) { - points.sideHem.y = points.waistDartRight.y + if (points.sideWaist.y < points.waistDartRight.y) { + points.sideWaist.y = points.waistDartRight.y } if (lacing) { @@ -153,18 +187,69 @@ export const frontPoints = { 0, (points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth ) - points.lacingHem = points.cfHem.shiftTowards( + points.lacingWaist = points.cfWaist.shiftTowards( points.waistDartLeft, (points.strapInsideCp.x - points.cfCut.x) * options.lacingWidth ) } - store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideHem)) + if (options.hem && !options.peplum) { + const hemSize = points.cfWaist.dist(points.cfNeck) * options.hemSize + store.set('hemSize', hemSize) + + points.cfHem = (lacing ? points.lacingCut : points.cfCut).shiftOutwards( + lacing ? points.lacingWaist : points.cfWaist, + hemSize + ) + points.cfHemIn = (lacing ? points.lacingWaist : points.cfWaist).shiftTowards( + lacing ? points.lacingCut : points.cfCut, + hemSize + ) + const waistDartLeftHemInTemp = points.cfHemIn.shift( + points.cfWaist.angle(points.waistDartLeft), + points.cfWaist.dist(points.waistDartLeft) * 1.5 + ) + points.waistDartLeftHem = utils.beamIntersectsCurve( + points.cfHemIn, + waistDartLeftHemInTemp, + points.waistDartLeft, + points.waistDartLeftCp, + points.shoulderDartTipCpDownInside, + points.shoulderDartTip + ) + + points.sideWaistHem = points.armhole.shiftOutwards(points.sideWaist, hemSize) + points.sideWaistHemIn = points.sideWaist.shiftTowards(points.armhole, hemSize) + const waistDartRightHemInTemp = points.sideWaistHemIn.shift( + points.sideWaist.angle(points.waistDartRight), + points.sideWaist.dist(points.waistDartRight) * 1.5 + ) + points.waistDartRightHem = utils.beamIntersectsCurve( + points.sideWaistHemIn, + waistDartRightHemInTemp, + points.waistDartRight, + points.waistDartRightCp, + points.waistUpDartRightCpDown, + points.waistUpDartRight + ) + macro('mirror', { + clone: false, + mirror: [points.cfWaist, points.waistDartLeft], + points: ['waistDartLeftHem'], + }) + macro('mirror', { + clone: false, + mirror: [points.sideWaist, points.waistDartRight], + points: ['waistDartRightHem'], + }) + } + + store.set('frontOutsideWaistLength', points.waistDartRight.dist(points.sideWaist)) store.set( 'frontInsideWaistLength', - points.waistDartLeft.dist(lacing ? points.lacingHem : points.cfHem) + points.waistDartLeft.dist(lacing ? points.lacingWaist : points.cfWaist) ) - store.set('frontLength', points.cfNeck.dist(points.cfHem)) + store.set('frontLength', points.cfNeck.dist(points.cfWaist)) return part }, From aae034302aea725daa17b1bcdb257fe2d95cb115 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 12 Nov 2023 23:43:29 +0000 Subject: [PATCH 0015/1313] waistReduction --- config/software/designs.json | 79 +++- designs/lumina/CHANGELOG.md | 17 + designs/lumina/README.md | 143 +++++++ designs/lumina/build.mjs | 35 ++ designs/lumina/data.mjs | 4 + designs/lumina/i18n/de.json | 7 + designs/lumina/i18n/en.json | 7 + designs/lumina/i18n/es.json | 7 + designs/lumina/i18n/fr.json | 7 + designs/lumina/i18n/index.mjs | 8 + designs/lumina/i18n/nl.json | 7 + designs/lumina/i18n/uk.json | 7 + designs/lumina/package.json | 73 ++++ designs/lumina/src/index.mjs | 22 ++ designs/lumina/src/ipoints.mjs | 495 +++++++++++++++++++++++ designs/lumina/src/leg.mjs | 19 + designs/lumina/src/panel.mjs | 17 + designs/lumina/src/points.mjs | 498 +++++++++++++++++++++++ designs/lumina/src/side.mjs | 52 +++ designs/lumina/src/zpoints.mjs | 565 +++++++++++++++++++++++++++ designs/lumina/tests/shared.test.mjs | 20 + sites/lab/pages/new/lumina.mjs | 41 ++ sites/shared/i18n/designs.mjs | 2 + 23 files changed, 2114 insertions(+), 18 deletions(-) create mode 100644 designs/lumina/CHANGELOG.md create mode 100644 designs/lumina/README.md create mode 100644 designs/lumina/build.mjs create mode 100644 designs/lumina/data.mjs create mode 100644 designs/lumina/i18n/de.json create mode 100644 designs/lumina/i18n/en.json create mode 100644 designs/lumina/i18n/es.json create mode 100644 designs/lumina/i18n/fr.json create mode 100644 designs/lumina/i18n/index.mjs create mode 100644 designs/lumina/i18n/nl.json create mode 100644 designs/lumina/i18n/uk.json create mode 100644 designs/lumina/package.json create mode 100644 designs/lumina/src/index.mjs create mode 100644 designs/lumina/src/ipoints.mjs create mode 100644 designs/lumina/src/leg.mjs create mode 100644 designs/lumina/src/panel.mjs create mode 100644 designs/lumina/src/points.mjs create mode 100644 designs/lumina/src/side.mjs create mode 100644 designs/lumina/src/zpoints.mjs create mode 100644 designs/lumina/tests/shared.test.mjs create mode 100644 sites/lab/pages/new/lumina.mjs diff --git a/config/software/designs.json b/config/software/designs.json index 5341adbed82..4075baf7eb1 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -554,14 +554,25 @@ ] }, "onyx": { - "lab": true, - "org": true, - "description": "A FreeSewing pattern for one-piece garments", "code": "Thrunic", + "description": "A FreeSewing pattern for one-piece garments", "design": "Thrunic", "difficulty": 4, - "tags": ["swimwear", "pajamas", "onePiece"], - "techniques": ["hem", "curvedSeam", "stretch", "lining", "zipper", "ribbing"] + "lab": true, + "org": true, + "tags": [ + "swimwear", + "pajamas", + "onePiece" + ], + "techniques": [ + "hem", + "curvedSeam", + "stretch", + "lining", + "zipper", + "ribbing" + ] }, "paco": { "code": "Joost De Cock", @@ -633,14 +644,22 @@ ] }, "shelly": { - "lab": true, - "org": true, - "description": "A FreeSewing pattern for a raglan shirt, perfect for swimshirts", "code": "Thrunic", + "description": "A FreeSewing pattern for a raglan shirt, perfect for swimshirts", "design": "Thrunic", "difficulty": 2, - "tags": ["tops", "swimwear"], - "techniques": ["hem", "stretch", "curvedSeam", "raglanSleeve"] + "lab": true, + "org": true, + "tags": [ + "tops", + "swimwear" + ], + "techniques": [ + "hem", + "stretch", + "curvedSeam", + "raglanSleeve" + ] }, "shin": { "code": "Joost De Cock", @@ -699,14 +718,20 @@ ] }, "skully": { - "description": "A FreeSewing pattern for skully, our logo, a plushy toy", "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for skully, our logo, a plushy toy", "design": "Wouter Van Wageningen", "difficulty": 4, "lab": true, "org": true, - "tags": ["accessories", "toys"], - "techniques": ["curvedSeam", "precision"] + "tags": [ + "accessories", + "toys" + ], + "techniques": [ + "curvedSeam", + "precision" + ] }, "sven": { "code": "Joost De Cock", @@ -860,7 +885,11 @@ "bottoms", "trousers" ], - "techniques": ["curvedSeam", "hem", "weltPocket"] + "techniques": [ + "curvedSeam", + "hem", + "weltPocket" + ] }, "yuri": { "code": "Hellgy", @@ -880,13 +909,27 @@ ] }, "otis": { - "description": "A FreeSewing pattern for a baby romper", "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for a baby romper", "design": "Wouter Van Wageningen", "difficulty": 2, "lab": true, "org": true, - "tags": [ ], - "techniques": [ ] + "tags": [], + "techniques": [] + }, + "lumina": { + "code": "Coder name", + "description": "A FreeSewing pattern that needs a description", + "design": "Designer name", + "difficulty": 1, + "lab": true, + "org": false, + "tags": [ + "tagname" + ], + "techniques": [ + "techname" + ] } -} +} \ No newline at end of file diff --git a/designs/lumina/CHANGELOG.md b/designs/lumina/CHANGELOG.md new file mode 100644 index 00000000000..c077f713761 --- /dev/null +++ b/designs/lumina/CHANGELOG.md @@ -0,0 +1,17 @@ +# Change log for: @freesewing/lumina + + +## 3.0.0 (2022-09-30) + +### Changed + + - All FreeSewing pacakges are now ESM only. + - All FreeSewing pacakges now use named exports. + - Dropped support for NodeJS 14. NodeJS 18 (LTS/hydrogen) or more recent is now required. + + +This is the **initial release**, and the start of this change log. + +> Prior to version 2, FreeSewing was not a JavaScript project. +> As such, that history is out of scope for this change log. + diff --git a/designs/lumina/README.md b/designs/lumina/README.md new file mode 100644 index 00000000000..b39499c4729 --- /dev/null +++ b/designs/lumina/README.md @@ -0,0 +1,143 @@ +![FreeSewing](https://static.freesewing.org/banner.png) +

@freesewing/lumina on NPM + License: MIT + Code quality on DeepScan + Open issues tagged pkg:lumina + All Contributors +

Follow @freesewing_org on Twitter + Chat with us on Discord + Become a FreeSewing Patron + Follow @freesewing_org on Twitter +

+ +# @freesewing/lumina + +A FreeSewing pattern that needs a description + + + + +## What am I looking at? 🤔 + +This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. + +This folder holds: @freesewing/lumina + +If you're not entirely sure what to do or how to start, type this command: + +``` +npm run tips +``` + +> If you don't want to set up a dev environment, you can run it in your browser: +> +> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) +> +> We recommend that you fork our repository and then +> put `gitpod.io/# to start up a browser-based dev environment of your own. + +## About FreeSewing 💀 + +Where the world of makers and developers collide, that's where you'll find FreeSewing. + +If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate +sewing patterns adapted to your measurements. + +If you're a developer, the FreeSewing documentation lives at [freesewing.dev](https://freesewing.dev/). +The FreeSewing [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox +for parametric design of sewing patterns. But FreeSewing also provides a range +of [plugins](https://freesewing.dev/reference/plugins/) that further extend the +functionality of the platform. + +If you have NodeJS installed, you can try it right now by running: + +```bash +npx create-freesewing-pattern +``` + +Getting started guides are available for: +- [Linux](https://freesewing.dev/tutorials/getting-started-linux/) +- [MacOS](https://freesewing.dev/tutorials/getting-started-mac/) +- [Windows](https://freesewing.dev/tutorials/getting-started-windows/) + +The [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) will +show you how to create your first parametric design. + +## Support FreeSewing: Become a patron 🥰 + +FreeSewing is an open source project maintained by Joost De Cock and financially supported by the FreeSewing patrons. + +If you feel FreeSewing is worthwhile, and you can spend a few coins without +hardship, then you should [join us and become a patron](https://freesewing.org/community/join). + +## Links 👩‍💻 + +**Official channels** + + - 💻 Makers website: [FreeSewing.org](https://freesewing.org) + - 💻 Developers website: [FreeSewing.dev](https://freesewing.dev) + - ✅ [Support](https://github.com/freesewing/freesewing/issues/new/choose), + [Issues](https://github.com/freesewing/freesewing/issues) & + [Discussions](https://github.com/freesewing/freesewing/discussions) on + [GitHub](https://github.com/freesewing/freesewing) + +**Social media** + + - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) + - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) + +**Places the FreeSewing community hangs out** + + - 💬 [Discord](https://discord.freesewing.org/) + - 💬 [Facebook](https://www.facebook.com/groups/627769821272714/) + - 💬 [Reddit](https://www.reddit.com/r/freesewing/) + +## License: MIT 🤓 + +© [Joost De Cock](https://github.com/joostdecock). +See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. + +## Where to get help 🤯 + +For [Support](https://github.com/freesewing/freesewing/issues/new/choose), +please use the [Issues](https://github.com/freesewing/freesewing/issues) & +[Discussions](https://github.com/freesewing/freesewing/discussions) on +[GitHub](https://github.com/freesewing/freesewing). + diff --git a/designs/lumina/build.mjs b/designs/lumina/build.mjs new file mode 100644 index 00000000000..99ace216bc8 --- /dev/null +++ b/designs/lumina/build.mjs @@ -0,0 +1,35 @@ +/* This script will build the package with esbuild */ +import esbuild from 'esbuild' +import pkg from './package.json' assert { type: 'json' } + +// Create banner based on package info +const banner = `/** + * ${pkg.name} | v${pkg.version} + * ${pkg.description} + * (c) ${new Date().getFullYear()} ${pkg.author} + * @license ${pkg.license} + */` + +// Shared esbuild options +const options = { + banner: { js: banner }, + bundle: true, + entryPoints: ['src/index.mjs'], + format: 'esm', + outfile: 'dist/index.mjs', + external: ['@freesewing'], + metafile: process.env.VERBOSE ? true : false, + minify: process.env.NO_MINIFY ? false : true, + sourcemap: true, +} + +// Let esbuild generate the build +const build = async () => { + const result = await esbuild.build(options).catch(() => process.exit(1)) + + if (process.env.VERBOSE) { + const info = await esbuild.analyzeMetafile(result.metafile) + console.log(info) + } +} +build() diff --git a/designs/lumina/data.mjs b/designs/lumina/data.mjs new file mode 100644 index 00000000000..07613cf0741 --- /dev/null +++ b/designs/lumina/data.mjs @@ -0,0 +1,4 @@ +// This file is auto-generated | All changes you make will be overwritten. +export const name = '@freesewing/lumina' +export const version = '3.0.0' +export const data = { name, version } diff --git a/designs/lumina/i18n/de.json b/designs/lumina/i18n/de.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/de.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/i18n/en.json b/designs/lumina/i18n/en.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/en.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/i18n/es.json b/designs/lumina/i18n/es.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/es.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/i18n/fr.json b/designs/lumina/i18n/fr.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/fr.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/i18n/index.mjs b/designs/lumina/i18n/index.mjs new file mode 100644 index 00000000000..36aac928b67 --- /dev/null +++ b/designs/lumina/i18n/index.mjs @@ -0,0 +1,8 @@ +import en from './en.json' assert { type: 'json' } +import de from './de.json' assert { type: 'json' } +import es from './es.json' assert { type: 'json' } +import fr from './fr.json' assert { type: 'json' } +import nl from './nl.json' assert { type: 'json' } +import uk from './uk.json' assert { type: 'json' } + +export const i18n = { en, de, es, fr, nl, uk } diff --git a/designs/lumina/i18n/nl.json b/designs/lumina/i18n/nl.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/nl.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/i18n/uk.json b/designs/lumina/i18n/uk.json new file mode 100644 index 00000000000..8cf0182cebd --- /dev/null +++ b/designs/lumina/i18n/uk.json @@ -0,0 +1,7 @@ +{ + "t": "Lumina", + "d": "A FreeSewing pattern that needs a description", + "p": { }, + "s": { }, + "o": { } +} diff --git a/designs/lumina/package.json b/designs/lumina/package.json new file mode 100644 index 00000000000..a9bbafb3063 --- /dev/null +++ b/designs/lumina/package.json @@ -0,0 +1,73 @@ +{ + "name": "@freesewing/lumina", + "version": "3.0.0", + "description": "A FreeSewing pattern that needs a description", + "author": "Joost De Cock (https://github.com/joostdecock)", + "homepage": "https://freesewing.org/", + "repository": "github:freesewing/freesewing", + "license": "MIT", + "bugs": { + "url": "https://github.com/freesewing/freesewing/issues" + }, + "funding": { + "type": "individual", + "url": "https://freesewing.org/patrons/join" + }, + "keywords": [ + "freesewing", + "design", + "diy", + "fashion", + "made to measure", + "parametric design", + "pattern", + "sewing", + "sewing pattern" + ], + "type": "module", + "module": "dist/index.mjs", + "exports": { + ".": { + "internal": "./src/index.mjs", + "default": "./dist/index.mjs" + } + }, + "scripts": { + "build": "node build.mjs", + "build:all": "yarn build", + "clean": "rimraf dist", + "mbuild": "NO_MINIFY=1 node build.mjs", + "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", + "test": "npx mocha tests/*.test.mjs", + "vbuild": "VERBOSE=1 node build.mjs", + "lab": "cd ../../sites/lab && yarn start", + "tips": "node ../../scripts/help.mjs", + "lint": "npx eslint 'src/**' 'tests/*.mjs'", + "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", + "testci": "NODE_OPTIONS=\"--conditions=internal\" npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", + "wbuild": "node build.mjs", + "wbuild:all": "yarn wbuild" + }, + "peerDependencies": { + "@freesewing/core": "3.0.0" + }, + "dependencies": {}, + "devDependencies": { + "mocha": "10.2.0", + "chai": "4.3.10", + "@freesewing/models": "3.0.0", + "@freesewing/plugin-timing": "3.0.0" + }, + "files": [ + "dist/*", + "README.md" + ], + "publishConfig": { + "access": "public", + "tag": "latest" + }, + "engines": { + "node": "18", + "npm": "9" + } +} diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs new file mode 100644 index 00000000000..84cff6d4ddf --- /dev/null +++ b/designs/lumina/src/index.mjs @@ -0,0 +1,22 @@ +// + +import { Design } from '@freesewing/core' +import { i18n } from '../i18n/index.mjs' +import { data } from '../data.mjs' +// Parts +import { points } from './points.mjs' +import { ipoints } from './ipoints.mjs' +import { zpoints } from './zpoints.mjs' +import { panel } from './panel.mjs' +import { leg } from './leg.mjs' + +// Create new design +const Lumina = new Design({ + data, + parts: [/*zpoints, ipoints,*/ points, panel, leg], +}) + +// Named exports +export { /*zpoints, ipoints,*/ points, panel, leg, i18n, Lumina } + +// http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D diff --git a/designs/lumina/src/ipoints.mjs b/designs/lumina/src/ipoints.mjs new file mode 100644 index 00000000000..68e13f61532 --- /dev/null +++ b/designs/lumina/src/ipoints.mjs @@ -0,0 +1,495 @@ +export const ipoints = { + name: 'lumina.ipoints', + measurements: [ + 'waist', + 'waistBack', + 'hips', + 'seat', + 'seatBack', + 'inseam', + 'waistToSeat', + 'waistToUpperLeg', + 'waistToKnee', + 'waistToHips', + 'waistToFloor', + 'knee', + 'ankle', + 'crossSeam', + 'crossSeamFront', + 'heel', + 'upperLeg', + ], + options: { + ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, + crossSeamAngle: 35, + crotchToKnee: 0.4, + waistToKneeCP: 0.4, + kneeToWaistLength: 400, + crotchPointsCP: 2, + }, + draft: ({ + measurements, + options, + Point, + Path, + points, + paths, + Snippet, + snippets, + utils, + log, + complete, + sa, + paperless, + macro, + part, + }) => { + return part.hide() + + const ControlPoints = (p1, p2, p3, t) => { + let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 + console.log({ t: t, ap2_1: p2.angle(p1), ap2_3: p2.angle(p3), a: a }) + const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) + const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) + console.log({ t: t, ap2_t1: p2.angle(t1), ap2_t3: p2.angle(t3), a: a }) + return { + cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), + cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), + } + } + const CreateControlPoints = (names) => { + for (var i = 1; i < names.length - 1; i++) { + var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) + points[names[i] + 'Cp1'] = cp.cp1 + points[names[i] + 'Cp2'] = cp.cp3 + } + } + const CreatePath = (pathName, names) => { + console.log({ i: 1, n: names[1], p2: points[names[1] + 'Cp2'], p3: points[names[1]] }) + paths[pathName] = new Path() + .move(points[names[0]]) + ._curve(points[names[1] + 'Cp1'], points[names[1]]) + console.log({ s: 0, l: paths[pathName].length() }) + for (var i = 2; i < names.length - 1; i++) { + console.log({ + i: i, + n: names[i], + p1: points[names[i - 1] + 'Cp1'], + p2: points[names[i] + 'Cp2'], + p3: points[names[i]], + }) + paths[pathName].curve( + points[names[i - 1] + 'Cp2'], + points[names[i] + 'Cp1'], + points[names[i]] + ) + console.log({ + s: i - 1, + l: new Path() + .move(points[names[i - 1]]) + .curve(points[names[i - 1] + 'Cp2'], points[names[i] + 'Cp1'], points[names[i]]) + .length(), + }) + } + console.log({ i: i, n: names[i], p2: points[names[i] + 'Cp2'], p3: points[names[i]] }) + paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) + } + + const CreateWaistPoint = (m, options, points, utils, front) => { + const kneeTemp = points.upperleg.shiftFractionTowards(points.knee, options.crotchToKnee) + const angle = + 90 + + (front + ? options.crossSeamAngle * (m.waistBack / m.waist) + : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) + const crossSeam = front ? m.crossSeamFront : m.crossSeam - m.crossSeamFront + var kneeToWaist = m.waistToKnee + var ratio = 1 + var waist = kneeTemp.shift(angle, kneeToWaist * ratio) + const crossSeamCp = points.upperleg.shiftFractionTowards( + utils.beamIntersectsY(kneeTemp, waist, 0), + options.crotchPointsCP + ) + + console.log({ f: front, a: angle }) + var waistCp + var diff, + iter = 0 + do { + waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) + // waistCp = waist.shiftFractionTowards(kneeTemp, options.waistToKneeCP) + waistCp = waist.shiftFractionTowards(points.knee, options.waistToKneeCP) + + const crossSeamPath = new Path().move(points.upperleg).curve(crossSeamCp, waistCp, waist) + + diff = crossSeam - crossSeamPath.length() + ratio = crossSeam / crossSeamPath.length() + // console.log({ i: iter, d: diff, r: ratio }) + } while (++iter < 100 && (diff > 1 || diff < -1)) + if (iter >= 100) { + console.log('Too many iterations trying to make it fit!') + // log.error('Too many iterations trying to make it fit!') + } + + if (front) { + points.waistFront = waist.clone() + points.waistFrontCp = waistCp.clone() + points.crossSeamFrontCp = crossSeamCp.clone() + } else { + points.waistBack = waist.clone() + points.waistBackCp = waistCp.clone() + points.crossSeamBackCp = crossSeamCp.clone() + } + } + + const m = measurements + const crotchOffset = m.waistToFloor - m.inseam + + const waistFrontBackRatio = m.waistBack / m.waist + const sideRatio = 3 / 5 + const ease = options.ease + 1 + + m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI + + console.log({ m: JSON.parse(JSON.stringify(m)) }) + console.log({ wfr: waistFrontBackRatio }) + // points.origin = new Point(0, 0) + // points.knee = points.origin.shift(270, m.inseam - (m.waistToFloor - m.waistToKnee)) + // points.ankle = points.origin.shift(270, m.inseam - (m.ankle / Math.PI)) + // points.waist = points.origin.shift(90, m.waistToFloor - m.inseam) + + points.upperlegFront = points.upperlegBack = points.upperleg = new Point(0, 0) + points.kneeFront = + points.kneeBack = + points.knee = + points.upperleg.shift(270, m.waistToKnee - crotchOffset) + points.ankleFront = + points.ankleBack = + points.ankle = + points.upperleg.shift(270, m.inseam - m.heel / Math.PI) + points.floorFront = points.floorBack = points.floor = points.upperleg.shift(270, m.inseam) + + // points.waistTemp = points.upperleg.shiftFractionTowards(points.knee,options.crotchToKnee).shift(90 + options.crossSeamAngle*(m.waistBack/m.waist), options.kneeToWaistLength) + // paths.waistTemp = new Path() + // .move(points.upperleg.shiftFractionTowards(points.knee,options.crotchToKnee)) + // .line(points.waistTemp) + // points.upperlegFrontCp = utils.beamIntersectsY(points.kneeTemp,points.waistTempFront,0) + // points.upperlegBackCp = utils.beamIntersectsY(points.kneeTemp,points.waistTempBack,0) + + CreateWaistPoint(m, options, points, utils, true) + CreateWaistPoint(m, options, points, utils, false) + + // paths.waistTempCp = new Path() + // .move(points.upperleg) + // .line(points.crossSeamFrontCp) + + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + + paths.middle = new Path().move(points.upperleg).line(points.floor) + + paths.crossSeamFront = new Path() + .move(points.upperleg) + .curve(points.crossSeamFrontCp, points.waistFrontCp, points.waistFront) + paths.crossSeamBack = new Path() + .move(points.upperleg) + .curve(points.crossSeamBackCp, points.waistBackCp, points.waistBack) + + let csFront = paths.crossSeamFront.length() + let csBack = paths.crossSeamBack.length() + + console.log({ csf: m.crossSeamFront, csFront: csFront }) + + const waistAngle = utils.rad2deg( + Math.asin((points.waistBack.y - points.waistFront.y) / (m.waist / 2)) + ) + + console.log({ + r: m.crossSeamFront / m.waistToUpperLeg, + S: m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg), + H: m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg), + }) + points.seatFront = paths.crossSeamFront + .reverse() + .shiftAlong(m.waistToSeat /* * (m.crossSeamFront / m.waistToUpperLeg) */) + .addCircle(6) + points.hipsFront = paths.crossSeamFront + .reverse() + .shiftAlong(m.waistToHips /* * (m.crossSeamFront / m.waistToUpperLeg) */) + .addCircle(10) + points.seatBack = paths.crossSeamBack + .reverse() + .shiftAlong(m.waistToSeat /* * (m.waistToSeat / m.waistToUpperLeg) */) + .addCircle(6) + points.hipsBack = paths.crossSeamBack + .reverse() + .shiftAlong(m.waistToHips /* * (m.waistToSeat / m.waistToUpperLeg) */) + .addCircle(10) + + points.waistFrontSeam = points.waistFront.shift( + 180 + waistAngle, + ((m.waist - m.waistBack) * ease) / 2 + ) + points.waistBackSeam = points.waistBack.shift(waistAngle, (m.waistBack * ease) / 2) + points.seatFrontSeam = points.seatFront.shift( + 180 + waistAngle, + ((m.seat - m.seatBack) * ease) / 2 + ) + points.seatBackSeam = points.seatBack.shift(waistAngle, (m.seatBack * ease) / 2) + points.upperlegFrontSeam = points.upperleg.shift(180 + waistAngle, (m.upperLeg * ease) / 2) + points.upperlegBackSeam = points.upperleg.shift(waistAngle, (m.upperLeg * ease) / 2) + points.kneeFrontSeam = points.knee.shift(180, (m.knee * ease) / 2) + points.kneeBackSeam = points.knee.shift(0, (m.knee * ease) / 2) + points.ankleFrontSeam = points.ankle.shift(180, (m.ankle * ease) / 2) + points.ankleBackSeam = points.ankle.shift(0, (m.ankle * ease) / 2) + + const sideFixed = points.waistFrontSeam.dist( + points.waistFront.shiftFractionTowards(points.waistFrontSeam, sideRatio) + ) + + paths.front = new Path() + .move(points.ankleFrontSeam) + .line(points.kneeFrontSeam) + .line(points.upperlegFrontSeam) + .line(points.seatFrontSeam) + .line(points.waistFrontSeam) + paths.back = new Path() + .move(points.ankleBackSeam) + .line(points.kneeBackSeam) + .line(points.upperlegBackSeam) + .line(points.seatBackSeam) + .line(points.waistBackSeam) + + const ShiftPathPoints = (path, ratio, names) => { + if (names.length < 2) return + for (var i = names.length - 2; i >= 0; i--) { + console.log({ n1: names[i].toLowerCase() + path, n2: names[i + 1].toLowerCase() + path }) + console.log({ + p1: points[names[i].toLowerCase() + path], + p2: points[names[i + 1].toLowerCase() + path], + }) + console.log({ + lb: points[names[i].toLowerCase() + path].dist(points[names[i + 1].toLowerCase() + path]), + }) + points[names[i].toLowerCase() + path] = points[ + names[i].toLowerCase() + path + ].shiftFractionTowards(points[names[i + 1].toLowerCase() + path], ratio) + console.log({ + la: points[names[i].toLowerCase() + path].dist(points[names[i + 1].toLowerCase() + path]), + }) + } + } + const shiftRatio = + 1 - (m.waistToFloor - points.floorFront.dist(points.ankleFront)) / paths.front.length() + console.log({ shiftRatio: shiftRatio }) + ShiftPathPoints('FrontSeam', shiftRatio, [ + 'Waist', + /*'Hips',*/ 'Seat', + 'UpperLeg', + 'Knee', + 'Ankle', + ]) + + // points.waistFrontSplit = points.waistFront.shiftFractionTowards(points.waistFrontSeam, sideRatio) + points.waistFrontSplit = points.waistFrontSeam.shiftTowards(points.waistFront, sideFixed) + // points.waistBackSplit = points.waistBack.shiftFractionTowards(points.waistBackSeam, sideRatio) + points.waistBackSplit = points.waistBackSeam.shiftTowards(points.waistBack, sideFixed) + points.seatFrontSplit = points.seatFrontSeam.shiftTowards(points.seatFront, sideFixed) + points.seatBackSplit = points.seatBackSeam.shiftTowards(points.seatBack, sideFixed) + // points.upperlegFrontSplit = points.upperleg.shiftFractionTowards(points.upperlegFront, sideRatio) + points.upperlegFrontSplit = points.upperlegFrontSeam.shiftTowards(points.upperleg, sideFixed) + // points.upperlegBackSplit = points.upperleg.shiftFractionTowards(points.upperlegBack, sideRatio) + points.upperlegBackSplit = points.upperlegBackSeam.shiftTowards(points.upperleg, sideFixed) + points.kneeFrontSplit = points.knee.shiftFractionTowards(points.kneeFrontSeam, sideRatio) + // points.kneeFrontSplit = points.kneeFront.shiftTowards(points.knee, sideFixed) + points.kneeBackSplit = points.knee.shiftFractionTowards(points.kneeBackSeam, sideRatio) + // points.kneeBackSplit = points.kneeBack.shiftTowards(points.knee, sideFixed) + points.ankleFrontSplit = points.ankle.shiftFractionTowards(points.ankleFrontSeam, sideRatio) + // points.ankleFrontSplit = points.ankleFront.shiftTowards(points.ankle, sideFixed) + points.ankleBackSplit = points.ankle.shiftFractionTowards(points.ankleBackSeam, sideRatio) + // points.ankleBackSplit = points.ankleBack.shiftTowards(points.ankle, sideFixed) + + points.seatFrontSplit = utils + .beamsIntersect( + points.seatFront, + points.seatFrontSeam, + points.waistFrontSplit, + points.upperlegFrontSplit + ) + .addCircle(8) + + CreateControlPoints([ + 'waistFrontSplit', + 'seatFrontSplit', + 'upperlegFrontSplit', + 'kneeFrontSplit', + 'ankleFrontSplit', + ]) + + CreatePath('frontSplit', [ + 'waistFrontSplit', + 'seatFrontSplit', + 'upperlegFrontSplit', + 'kneeFrontSplit', + 'ankleFrontSplit', + ]) + + CreateControlPoints([ + 'waistBackSplit', + // 'seatBackSplit', + 'upperlegBackSplit', + 'kneeBackSplit', + 'ankleBackSplit', + ]) + + CreatePath('BackSplit', [ + 'waistBackSplit', + // 'seatBackSplit', + 'upperlegBackSplit', + 'kneeBackSplit', + 'ankleBackSplit', + ]) + + points.seatBackSplit = utils + .beamIntersectsCurve( + points.seatBack, + points.seatBackSeam, + points.waistBackSplit, + points.waistBackSplit, + points.upperlegBackSplitCp1, + points.upperlegBackSplit + ) + .addCircle(8) + + var cp = ControlPoints(points.waistFrontSplit, points.upperlegFrontSplit, points.kneeFrontSplit) + points.upperlegFrontCp1 = cp.cp1 + points.upperlegFrontCp2 = cp.cp3 + cp = ControlPoints(points.waistBackSplit, points.upperlegBackSplit, points.kneeBackSplit) + points.upperlegBackCp1 = cp.cp1 + points.upperlegBackCp2 = cp.cp3 + cp = ControlPoints(points.upperlegFrontSplit, points.kneeFrontSplit, points.ankleFrontSplit) + points.kneeFrontCp1 = cp.cp1 + points.kneeFrontCp2 = cp.cp3 + cp = ControlPoints(points.upperlegBackSplit, points.kneeBackSplit, points.ankleBackSplit) + points.kneeBackCp1 = cp.cp1 + points.kneeBackCp2 = cp.cp3 + + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + paths.frontZ = paths.front.reverse() + points.seatZ = paths.frontZ.shiftAlong(m.waistToSeat).addCircle(4) + points.hipsZ = paths.frontZ.shiftAlong(m.waistToHips).addCircle(4) + points.upperlegZ = paths.frontZ.shiftAlong(m.waistToUpperLeg).addCircle(4) + points.kneeZ = paths.frontZ.shiftAlong(m.waistToKnee).addCircle(4) + points.ankleZ = paths.frontZ + .shiftAlong(m.waistToFloor - points.floor.dist(points.ankle)) + .addCircle(4) + + paths.backZ = paths.back.reverse() + points.seatZback = paths.backZ.shiftAlong(m.waistToSeat).addCircle(4) + points.hipsZback = paths.backZ.shiftAlong(m.waistToHips).addCircle(4) + points.upperlegZback = paths.backZ.shiftAlong(m.waistToUpperLeg).addCircle(4) + points.kneeZback = paths.backZ.shiftAlong(m.waistToKnee).addCircle(4) + points.ankleZback = paths.backZ + .shiftAlong(m.waistToFloor - points.floor.dist(points.ankle)) + .addCircle(4) + + console.log({ + pf: paths.frontZ.length(), + pb: paths.backZ.length(), + m: m.waistToFloor - points.floor.dist(points.ankle), + }) + + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + points.kneeFrontSplit.addCircle(2).addCircle(4).addCircle(6).addCircle(8) + // console.log({kfs:paths.frontSplit.split(points.seatFrontSplit)}) + // console.log({kfs:paths.frontSplit.split(points.upperlegFrontSplit)}) + console.log('--------------------------------') + console.log({ kfs: paths.frontSplit.split(points.kneeFrontSplit) }) + // console.log({kfs:paths.frontSplit.split(points.upperlegFrontSplit)}) + + points.sideWaist = new Point(200, 0) + console.log({ p: points.sideWaist }) + points.sideWaistFront = points.sideWaist + .shift(180 - waistAngle, points.waistFrontSplit.dist(points.waistFrontSeam)) + .addCircle(10) + points.sideWaistBack = points.sideWaist.shift( + -1 * waistAngle, + points.waistBackSplit.dist(points.waistBackSeam) + ) + const mp = ['Waist', /*'Hips',*/ 'Seat', 'UpperLeg', 'Knee', 'Ankle'] + // var pathLength = [0] + for (var i = 1; i < mp.length; i++) { + // console.log({ n: 'waistTo' + mp[i], m: m['waistTo' + mp[i]], pl: pathLength[i-1] }) + // console.log({T:paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])[0].length()}) + points['side' + mp[i]] = points.sideWaist.shift(270, m['waistTo' + mp[i]]).addCircle(3) + console.log({ + n1: 'side' + mp[i], + n2: mp[i].toLowerCase() + 'FrontSplit', + n3: mp[i].toLowerCase() + 'FrontSeam', + n4: mp[i - 1].toLowerCase() + 'Front', + n5: 'side' + mp[i - 1] + 'Front', + }) + console.log({ + p1: points['side' + mp[i]], + p2: points[mp[i].toLowerCase() + 'FrontSplit'], + p3: points[mp[i].toLowerCase() + 'FrontSeam'], + p4: points[mp[i - 1].toLowerCase() + 'Front'], + p5: points['side' + mp[i - 1] + 'Front'], + }) + // console.log({split:paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])}) + // pathLength.push(paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])[0].length()) + points['side' + mp[i]].addCircle( + points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']) + ) + points['side' + mp[i]].addCircle(10) + points['side' + mp[i]].addCircle(12) + points['side' + mp[i]].addCircle(14) + points['side' + mp[i - 1] + 'Front'].addCircle( + points[mp[i].toLowerCase() + 'FrontSplit'].dist( + points[mp[i - 1].toLowerCase() + 'FrontSplit'] + ) + ) + points['side' + mp[i - 1] + 'Front'].addCircle(2) + points['side' + mp[i - 1] + 'Front'].addCircle(4) + points['side' + mp[i - 1] + 'Front'].addCircle(6) + points['side' + mp[i - 1] + 'Front'].addCircle(8) + // console.log({l1:points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']),l2:pathLength[i]-pathLength[i-1],pl:pathLength}) + var ci = utils.circlesIntersect( + points['side' + mp[i]], + points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']), + points['side' + mp[i - 1] + 'Front'], + points[mp[i].toLowerCase() + 'FrontSplit'].dist( + points[mp[i - 1].toLowerCase() + 'FrontSplit'] + ) + // pathLength[i]-pathLength[i-1] + ) + console.log({ ci: ci }) + if (false !== ci) { + points['side' + mp[i] + 'Front'] = ci[0].addCircle(7) + // points['ci' +mp[i] + '1' ] = ci[1].addCircle(7) + // points['side' + mp[i] +'Front'].addCircle(pathLength) + } + } + + paths.splitFront = new Path() + .move(points.waistFrontSplit) + ._curve(points.upperlegFrontCp1, points.upperlegFrontSplit) + .curve(points.upperlegFrontCp2, points.kneeFrontCp1, points.kneeFrontSplit) + .curve_(points.kneeFrontCp2, points.ankleFrontSplit) + + paths.splitBack = new Path() + .move(points.waistBackSplit) + ._curve(points.upperlegBackCp1, points.upperlegBackSplit) + .curve(points.upperlegBackCp2, points.kneeBackCp1, points.kneeBackSplit) + .curve_(points.kneeBackCp2, points.ankleBackSplit) + + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + console.log({ + Split: paths.frontSplit.length(), + M: m.waistToFloor - points.floorFront.dist(points.ankleFront), + }) + return part + }, +} diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs new file mode 100644 index 00000000000..a10b36d37af --- /dev/null +++ b/designs/lumina/src/leg.mjs @@ -0,0 +1,19 @@ +import { points } from './points.mjs' + +export const leg = { + name: 'lumina.leg', + from: points, + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + paths.seam = new Path() + .move(points.frontSplitHem) + .join(paths.backSplit.reverse()) + .join(paths.crossSeamBack.reverse()) + .join(paths.crossSeamFront) + .join(paths.frontSplit) + .close() + + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + + return part + }, +} diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs new file mode 100644 index 00000000000..6a5b8be422c --- /dev/null +++ b/designs/lumina/src/panel.mjs @@ -0,0 +1,17 @@ +import { points } from './points.mjs' + +export const panel = { + name: 'lumina.panel', + from: points, + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + paths.seam = new Path() + .move(points.frontPanelHem) + .join(paths.backPanel.reverse()) + .join(paths.frontPanel) + .close() + + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + + return part + }, +} diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs new file mode 100644 index 00000000000..8f7d0229eaa --- /dev/null +++ b/designs/lumina/src/points.mjs @@ -0,0 +1,498 @@ +export const points = { + name: 'lumina.points', + measurements: [ + 'waist', + 'waistBack', + 'hips', + 'seat', + 'seatBack', + 'inseam', + 'waistToSeat', + 'waistToUpperLeg', + 'waistToKnee', + 'waistToHips', + 'waistToFloor', + 'knee', + 'ankle', + 'crossSeam', + 'crossSeamFront', + 'heel', + 'upperLeg', + ], + options: { + ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, + length: { pct: 35, min: 10, max: 100, menu: 'fit' }, + waistReduction: { pct: 35, min: 0, max: 60, menu: 'fit' }, + sidePanel: { pct: 25, min: 10, max: 40, menu: 'style' }, + smoothing: { pct: 85, min: 50, max: 100, menu: 'advanced' }, + crossSeamAngle: 35, + crotchToKnee: 0.4, + waistToKneeCP: 0.4, + kneeToWaistLength: 400, + crotchPointsCP: 2, + }, + draft: ({ measurements, options, Point, Path, points, paths, utils, part }) => { + const ControlPoints = (p1, p2, p3, t) => { + let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 + const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) + const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) + return { + cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), + cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), + } + } + const CreateControlPoints = (names) => { + for (var i = 1; i < names.length - 1; i++) { + var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) + points[names[i] + 'Cp1'] = cp.cp1 + points[names[i] + 'Cp2'] = cp.cp3 + } + } + const CreatePath = (pathName, names) => { + paths[pathName] = new Path() + .move(points[names[0]]) + ._curve(points[names[1] + 'Cp1'], points[names[1]]) + for (var i = 2; i < names.length - 1; i++) { + paths[pathName].curve( + points[names[i - 1] + 'Cp2'], + points[names[i] + 'Cp1'], + points[names[i]] + ) + } + paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) + + return paths[pathName] + } + + const ReduceWaist = (pathName) => { + const newWaist = paths[pathName].shiftAlong(waistReduction) + if (newWaist.sitsRoughlyOn(points[pathName + 'Waist'])) { + return + } + points[pathName + 'Waist'] = newWaist + const pTemp = paths[pathName].split(points[pathName + 'Waist']) + if (pTemp.length != 2) { + log.info('couldNotReduceWaist') + console.log('couldNotReduceWaist') + } + paths[pathName] = pTemp[1] + } + + const CreateWaistPoint = (front) => { + const kneeTemp = points.middleCrossSeam.shiftFractionTowards( + points.middleKnee, + options.crotchToKnee + ) + const angle = + 90 + + (front + ? options.crossSeamAngle * (m.waistBack / m.waist) + : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) + const crossSeam = front ? m.crossSeamFront : m.crossSeamBack + var kneeToWaist = m.waistToKnee + var ratio = 1 + var waist = kneeTemp.shift(angle, kneeToWaist * ratio) + const crossSeamCp = points.middleCrossSeam.shiftFractionTowards( + utils.beamIntersectsY(kneeTemp, waist, points.middleCrossSeam.y), + options.crotchPointsCP + ) + + var waistCp + var diff, + iter = 0 + do { + waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) + waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) + + const crossSeamPath = new Path() + .move(points.middleCrossSeam) + .curve(crossSeamCp, waistCp, waist) + + diff = crossSeam - crossSeamPath.length() + ratio = crossSeam / crossSeamPath.length() + } while (++iter < 100 && (diff > 1 || diff < -1)) + if (iter >= 100) { + log.error('Too many iterations trying to make it fit!') + } + + if (front) { + points.frontWaist = waist.clone() + points.frontWaistCp = waistCp.clone() + points.frontCrossSeamCp = crossSeamCp.clone() + } else { + points.backWaist = waist.clone() + points.backWaistCp = waistCp.clone() + points.backCrossSeamCp = crossSeamCp.clone() + } + } + + const CreateSidePoints = ( + prefix, + postfix, + names, + ratio, + ratioFixed, + ease, + distanceCompensation + ) => { + var measurement, + width, + lastGood = 0 + for (var i = 0; i < names.length; i++) { + var distance = + m['waistTo' + names[lastGood]] - + (m['waistTo' + names[i]] === undefined ? 0 : m['waistTo' + names[i]]) + switch (names[i]) { + case 'UpperLeg': + measurement = m['upperLeg'] + const intersect = utils.beamIntersectsCurve( + points[prefix + names[i]], + points[prefix + names[i]].shift(prefix == 'front' ? 180 : 0, ratioFixed * 100), + points.middleCrossSeam, + points[prefix + 'CrossSeamCp'], + points[prefix + 'WaistCp'], + points[prefix + 'Waist'] + ) + console.log({ prefix: prefix, name: names[i] }) + console.log({ intersect: intersect }) + console.log({ intersect: typeof intersect }) + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + if (false !== intersect) { + if (intersect.constructor === Array) { + measurement += intersect[0].dist(points[prefix + names[i]]) + } else { + measurement += intersect.dist(points[prefix + names[i]]) + } + } + break + case 'Waist': + measurement = prefix == 'front' ? m.waistFront : m.waistBack + case 'Seat': + measurement = prefix == 'front' ? m.seatFront : m.seatBack + distance *= distanceCompensation + break + default: + measurement = m[names[i].toLowerCase()] + } + measurement /= 2 + measurement *= ease + + width = measurement * ratio + + if (i == 0) { + points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( + prefix == 'front' ? 180 : 0, + measurement - width < ratioFixed ? width : measurement - ratioFixed + ) //.addCircle(3).addCircle(6).addCircle(9) + points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) + } else { + var ci = utils.circlesIntersect( + points[prefix + names[i]], + measurement - width < ratioFixed ? width : measurement - ratioFixed, + points[prefix + postfix + names[lastGood]], + distance + ) + + if (false !== ci) { + points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] //.addCircle(2).addCircle(4).addCircle(6) + lastGood = i + } else { + points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() //.addCircle(2).addCircle(4).addCircle(6) + + points[prefix + postfix + names[lastGood]] //.addCircle(distance) + points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) + // points[prefix + names[i]].addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) + } + } + } + } + + const SmoothPoints = (prefix, postfix, names, smoothness) => { + var adjust + for (var i = 0; i < names.length - 2; i++) { + adjust = false + if (prefix == 'front') { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) > + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } else { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) < + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } + if (adjust) { + console.log({ prefix: prefix, postfix: postfix, smooth: names[i + 1] }) + const angleDiff = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) + + points[prefix + postfix + names[i + 1]] = points[prefix + postfix + names[i]].shift( + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) + + smoothness * angleDiff, + points[prefix + postfix + names[i]].dist(points[prefix + postfix + names[i + 1]]) + ) + } + } + } + + const hideThis = false + + const m = measurements + const inseam = + m.inseam > m.waistToFloor - m.waistToUpperLeg ? m.waistToFloor - m.waistToUpperLeg : m.inseam + const crotchOffset = m.waistToFloor - inseam + const waistReduction = m.waistToHips * options.waistReduction + const waistFrontBackRatio = m.waistBack / m.waist + const sideRatio = 1 - options.sidePanel + // const sideRatio = 3 / 5 + const ease = options.ease + 1 + const waistToAnkle = m.waistToFloor - m.heel / Math.PI + + m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI + const sideFixed = (((m.waist - m.waistBack) * ease) / 2) * sideRatio + + points.middleWaist = new Point(0, 0) + points.middleHips = points.middleWaist.shift(270, m.waistToHips) + points.middleSeat = points.middleWaist.shift(270, m.waistToSeat) + points.frontCrossSeam = + points.backCrossSeam = + points.middleCrossSeam = + points.middleWaist.shift(270, crotchOffset) + points.frontUpperLeg = + points.backUpperLeg = + points.middleUpperLeg = + points.middleWaist.shift(270, m.waistToUpperLeg) + points.frontKnee = + points.backKnee = + points.middleKnee = + points.middleWaist.shift(270, m.waistToKnee) + points.frontAnkle = + points.backAnkle = + points.middleAnkle = + points.middleWaist.shift(270, waistToAnkle) + points.frontFloor = + points.backFloor = + points.middleFloor = + points.middleWaist.shift(270, m.waistToFloor) + + CreateWaistPoint(true) + CreateWaistPoint(false) + + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + + const frontCrossSeam = new Path() + .move(points.frontWaist) + .curve(points.frontWaistCp, points.frontCrossSeamCp, points.middleCrossSeam) + const backCrossSeam = new Path() + .move(points.backWaist) + .curve(points.backWaistCp, points.backCrossSeamCp, points.middleCrossSeam) + + points.frontSeat = frontCrossSeam.shiftAlong( + m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg) * 0.8 + ) + points.frontHips = frontCrossSeam.shiftAlong( + m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg) + ) + + points.backSeat = backCrossSeam.shiftAlong(m.waistToSeat * (m.waistToSeat / m.waistToUpperLeg)) + points.backHips = backCrossSeam.shiftAlong(m.waistToHips * (m.waistToSeat / m.waistToUpperLeg)) + ;['front', 'back'].forEach((prefix) => { + CreateSidePoints( + prefix, + 'Side', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + 0, + 0.1, + ease, + 1 + ) + }) + ;['front', 'back'].forEach((prefix) => { + CreateSidePoints( + prefix, + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + sideRatio, + sideFixed, + ease, + (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / + (m.waistToFloor - m.heel / Math.PI) + ) + }) + + points.backHipsCp1 = points.backWaistCp.clone() + points.backWaistCp = points.backWaist.shift( + points.backWaist.angle(points.backSplitWaist) - 90, + points.backWaist.dist(points.backHips) / 3 + ) + points.backHipsCp2 = points.backSeat.shiftOutwards( + points.backHips, + points.backWaist.dist(points.backHips) / 4 + ) + points.frontHipsCp1 = points.frontWaistCp.clone() + points.frontWaistCp = points.frontWaist.shift( + points.frontWaist.angle(points.frontSplitWaist) + 90, + points.frontWaist.dist(points.frontHips) / 3 + ) + points.frontHipsCp2 = points.frontSeat.shiftOutwards( + points.frontHips, + points.frontWaist.dist(points.frontHips) / 4 + ) + + paths.front = new Path() + .move(points.frontWaist) + .curve(points.frontWaistCp, points.frontHipsCp2, points.frontHips) + .curve(points.frontHipsCp1, points.frontCrossSeamCp, points.middleCrossSeam) + .setHidden(hideThis) + paths.back = new Path() + .move(points.backWaist) + .curve(points.backWaistCp, points.backHipsCp2, points.backHips) + .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) + .setHidden(hideThis) + + SmoothPoints('front', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) + SmoothPoints( + 'front', + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + options.smoothing + ) + SmoothPoints('back', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) + SmoothPoints('back', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) + + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split'].forEach((type) => { + CreateControlPoints([ + prefix + type + 'Waist', + prefix + type + 'Seat', + prefix + type + 'UpperLeg', + prefix + type + 'Knee', + prefix + type + 'Ankle', + ]) + }) + }) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split'].forEach((type) => { + CreatePath(prefix + type, [ + prefix + type + 'Waist', + prefix + type + 'Seat', + prefix + type + 'UpperLeg', + prefix + type + 'Knee', + prefix + type + 'Ankle', + ]).setHidden(hideThis) + }) + }) + console.log({ phats: JSON.parse(JSON.stringify(paths)) }) + ;['front', 'back'].forEach((prefix) => { + ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + points[prefix + 'Panel' + name] = points['middle' + name].shift( + prefix == 'front' ? 180 : 0, + points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) + ) //.addCircle(4) + }) + }) + ;['front', 'back'].forEach((prefix) => { + CreateControlPoints([ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]) + }) + ;['front', 'back'].forEach((prefix) => { + CreatePath(prefix + 'Panel', [ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]).setHidden(hideThis) + }) + + while (Math.abs(paths.frontSplit.length() - paths.frontPanel.length()) > 1) { + ;['front', 'back'].forEach((prefix) => { + const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() + const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] + for (var i = 0; i < names.length - 1; i++) { + points[prefix + 'Panel' + names[i]] = points[ + prefix + 'Panel' + names[i + 1] + ].shiftFractionTowards(points[prefix + 'Panel' + names[i]], diff) + } + }) + ;['front', 'back'].forEach((prefix) => { + CreateControlPoints([ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]) + }) + ;['front', 'back'].forEach((prefix) => { + CreatePath(prefix + 'Panel', [ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]).setHidden(hideThis) + }) + } + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + + if (options.length < 1) { + const length = (1 - options.length) * (inseam - (m.waistToFloor - waistToAnkle)) + // console.log({i:inseam,wa:waistToAnkle,iw:(inseam/waistToAnkle),r:lengthRatio}) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + console.log({ + prefix: prefix, + type: type, + path: paths[prefix + type], + r: paths[prefix + type].reverse(), + l: length, + pl: paths[prefix + type].reverse().length(), + }) + points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) + paths[prefix + type] = paths[prefix + type] + .split(points[prefix + type + 'Hem'])[0] + .setHidden(hideThis) + }) + }) + } else { + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + points[prefix + type + 'Hem'] = points[prefix + type + 'Ankle'] + }) + }) + } + + ;['back'].forEach((prefix) => { + ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + points[prefix + 'Split' + name] //.addCircle(3).addCircle(6) + }) + }) + + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + + ReduceWaist('middle') + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + ReduceWaist(prefix + type) + }) + ReduceWaist(prefix) + }) + + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + console.log({ pihts: JSON.parse(JSON.stringify(points)) }) + + return part.setHidden(hideThis) + }, +} + +//http://localhost:8000/new/luminous#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D diff --git a/designs/lumina/src/side.mjs b/designs/lumina/src/side.mjs new file mode 100644 index 00000000000..dddaa5595ac --- /dev/null +++ b/designs/lumina/src/side.mjs @@ -0,0 +1,52 @@ +import { ipoints } from './ipoints.mjs' + +export const side = { + name: 'lumina.ipoints', + after: ipoints, + measurements: [ + 'waist', + 'waistBack', + 'hips', + 'seat', + 'seatBack', + 'inseam', + 'waistToSeat', + 'waistToUpperLeg', + 'waistToKnee', + 'waistToHips', + 'waistToFloor', + 'knee', + 'ankle', + 'crossSeam', + 'crossSeamFront', + 'heel', + 'upperLeg', + ], + options: { + size: { pct: 50, min: 10, max: 100, menu: 'fit' }, + crossSeamAngle: 25, + crotchToKnee: 0.5, + waistToKneeCP: 0.4, + kneeToWaistLength: 400, + }, + draft: ({ + measurements, + options, + Point, + Path, + points, + paths, + Snippet, + snippets, + utils, + log, + complete, + sa, + paperless, + macro, + part, + }) => { + points.sideWaist = new Point(0, 0) + points.sideWaistFront = points.sideWaist.shift() + }, +} diff --git a/designs/lumina/src/zpoints.mjs b/designs/lumina/src/zpoints.mjs new file mode 100644 index 00000000000..4403db74c31 --- /dev/null +++ b/designs/lumina/src/zpoints.mjs @@ -0,0 +1,565 @@ +export const zpoints = { + name: 'lumina.zpoints', + measurements: [ + 'waist', + 'waistBack', + 'hips', + 'seat', + 'seatBack', + 'inseam', + 'waistToSeat', + 'waistToUpperLeg', + 'waistToKnee', + 'waistToHips', + 'waistToFloor', + 'knee', + 'ankle', + 'crossSeam', + 'crossSeamFront', + 'heel', + 'upperLeg', + ], + options: { + ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, + length: { pct: 100, min: 10, max: 100, menu: 'fit' }, + crossSeamAngle: 35, + crotchToKnee: 0.4, + waistToKneeCP: 0.4, + kneeToWaistLength: 400, + crotchPointsCP: 2, + }, + draft: ({ + measurements, + options, + Point, + Path, + points, + paths, + Snippet, + snippets, + utils, + log, + complete, + sa, + paperless, + macro, + part, + }) => { + const ControlPoints = (p1, p2, p3, t) => { + let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 + const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) + const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) + return { + cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), + cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), + } + } + const CreateControlPoints = (names) => { + for (var i = 1; i < names.length - 1; i++) { + var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) + points[names[i] + 'Cp1'] = cp.cp1 + points[names[i] + 'Cp2'] = cp.cp3 + } + } + const CreatePath = (pathName, names) => { + paths[pathName] = new Path() + .move(points[names[0]]) + ._curve(points[names[1] + 'Cp1'], points[names[1]]) + for (var i = 2; i < names.length - 1; i++) { + paths[pathName].curve( + points[names[i - 1] + 'Cp2'], + points[names[i] + 'Cp1'], + points[names[i]] + ) + } + paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) + + return paths[pathName] + } + + const CreateWaistPoint = (front) => { + // console.log({ + // crossSeamAngle: options.crossSeamAngle, + // crotchPointsCP: options.crotchPointsCP, + // }) + const kneeTemp = points.insideCrossSeam.shiftFractionTowards( + points.insideKnee, + options.crotchToKnee + ) + const angle = + 90 + + (front + ? options.crossSeamAngle * (m.waistBack / m.waist) + : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) + const crossSeam = front ? m.crossSeamFront : m.crossSeam - m.crossSeamFront + var kneeToWaist = m.waistToKnee + var ratio = 1 + var waist = kneeTemp.shift(angle, kneeToWaist * ratio) + const crossSeamCp = points.insideCrossSeam.shiftFractionTowards( + utils.beamIntersectsY(kneeTemp, waist, points.insideCrossSeam.y), + options.crotchPointsCP + ) + + // console.log({ f: front, a: angle }) + var waistCp + var diff, + iter = 0 + do { + waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) + // waistCp = waist.shiftFractionTowards(kneeTemp, options.waistToKneeCP) + waistCp = waist.shiftFractionTowards(points.insideKnee, options.waistToKneeCP) + + const crossSeamPath = new Path() + .move(points.insideCrossSeam) + .curve(crossSeamCp, waistCp, waist) + + diff = crossSeam - crossSeamPath.length() + ratio = crossSeam / crossSeamPath.length() + // console.log({ i: iter, d: diff, r: ratio }) + } while (++iter < 100 && (diff > 1 || diff < -1)) + if (iter >= 100) { + console.log('Too many iterations trying to make it fit!') + // log.error('Too many iterations trying to make it fit!') + } + + if (front) { + points.frontWaist = waist.clone() + points.frontWaistCp = waistCp.clone() + points.frontCrossSeamCp = crossSeamCp.clone() + } else { + points.backWaist = waist.clone() + points.backWaistCp = waistCp.clone() + points.backCrossSeamCp = crossSeamCp.clone() + } + } + + const CreateSidePoints = ( + prefix, + postfix, + names, + ratio, + ratioFixed, + ease, + distanceCompentation + ) => { + // console.log('-----' + prefix + postfix + '----') + var measurement, + width, + lastGood = 0 + for (var i = 0; i < names.length; i++) { + var distance = + m['waistTo' + names[i - 1]] - + (m['waistTo' + names[i]] === undefined ? 0 : m['waistTo' + names[i]]) + switch (names[i]) { + case 'UpperLeg': + measurement = m['upperLeg'] + const intersect = utils.beamIntersectsCurve( + points[prefix + names[i]], + points[prefix + names[i]].shift(prefix == 'front' ? 180 : 0, ratioFixed * 3), + points.insideCrossSeam, + points[prefix + 'CrossSeamCp'], + points[prefix + 'WaistCp'], + points[prefix + 'Waist'] + ) + // console.log({ intersect: intersect }) + measurement += intersect.dist(points[prefix + names[i]]) + break + case 'Waist': + measurement = prefix == 'front' ? m.waist - m.waistBack : m.waistBack + case 'Seat': + measurement = prefix == 'front' ? m.seat - m.seatBack : m.seatBack + distance *= distanceCompentation + break + default: + measurement = m[names[i].toLowerCase()] + } + measurement /= 2 + measurement *= ease + + width = measurement * ratio + + if (i == 0) { + points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( + prefix == 'front' ? 180 : 0, + measurement - width < ratioFixed ? width : measurement - ratioFixed + ) //.addCircle(3).addCircle(6).addCircle(9) + points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) + } else { + var ci = utils.circlesIntersect( + points[prefix + names[i]], + measurement - width < ratioFixed ? width : measurement - ratioFixed, + points[prefix + postfix + names[lastGood]], + distance + ) + + if (false !== ci) { + points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] //.addCircle(2).addCircle(4).addCircle(6) + lastGood = i + } else { + // break + points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() + + points[prefix + postfix + names[lastGood]] //.addCircle(distance) + // points[prefix +names[i]].addCircle(width < ratioFixed ? width : ratioFixed) + points[prefix + names[i]] //.addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) + } + } + } + } + + const SmoothPoints = (prefix, postfix, names) => { + var adjust + for (var i = 0; i < names.length - 2; i++) { + adjust = false + if (prefix == 'front') { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) > + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } else { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) < + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } + if (adjust) { + points[prefix + postfix + names[i + 1]] = points[ + prefix + postfix + names[i] + ].shiftTowards( + points[prefix + postfix + names[i + 2]], + points[prefix + postfix + names[i]].dist(points[prefix + postfix + names[i + 1]]) + ) + } + } + } + + const m = measurements + const crotchOffset = m.waistToFloor - m.inseam + + const waistFrontBackRatio = m.waistBack / m.waist + const sideRatio = 3 / 5 + const ease = options.ease + 1 + const waistToAnkle = m.waistToFloor - m.heel / Math.PI + + m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI + const sideFixed = (((m.waist - m.waistBack) * ease) / 2) * sideRatio + + points.insideWaist = new Point(0, 0) + points.insideHips = points.insideWaist.shift(270, m.waistToHips) + points.insideSeat = points.insideWaist.shift(270, m.waistToSeat) + points.frontCrossSeam = + points.backCrossSeam = + points.insideCrossSeam = + points.insideWaist.shift(270, crotchOffset) + points.frontUpperLeg = + points.backUpperLeg = + points.insideUpperLeg = + points.insideWaist.shift(270, m.waistToUpperLeg) + points.frontKnee = + points.backKnee = + points.insideKnee = + points.insideWaist.shift(270, m.waistToKnee) + points.frontAnkle = + points.backAnkle = + points.insideAnkle = + points.insideWaist.shift(270, waistToAnkle) + points.frontFloor = + points.backFloor = + points.insideFloor = + points.insideWaist.shift(270, m.waistToFloor) + + CreateWaistPoint(true) + CreateWaistPoint(false) + + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + + const crossSeamFront = new Path() + .move(points.frontWaist) + .curve(points.frontWaistCp, points.frontCrossSeamCp, points.insideCrossSeam) + const crossSeamBack = new Path() + .move(points.backWaist) + .curve(points.backWaistCp, points.backCrossSeamCp, points.insideCrossSeam) + + points.frontSeat = crossSeamFront.shiftAlong( + m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg) * 0.8 + ) + // .addCircle(6) + points.frontHips = crossSeamFront.shiftAlong( + m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg) + ) + // .addCircle(10) + points.backSeat = crossSeamBack.shiftAlong(m.waistToSeat * (m.waistToSeat / m.waistToUpperLeg)) + // .addCircle(6) + points.backHips = crossSeamBack.shiftAlong(m.waistToHips * (m.waistToSeat / m.waistToUpperLeg)) + // .addCircle(10) + + CreateSidePoints( + 'front', + 'Side', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + 0, + 0.1, + ease, + 1 + ) + CreateSidePoints( + 'back', + 'Side', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + 0, + 0.1, + ease, + 1 + ) + + CreateSidePoints( + 'front', + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + sideRatio, + sideFixed, + ease, + (points.frontAnkle.dist(points.frontCrossSeam) + crossSeamFront.length()) / + (m.waistToFloor - m.heel / Math.PI) + ) + CreateSidePoints( + 'back', + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + sideRatio, + sideFixed, + ease, + (points.frontAnkle.dist(points.frontCrossSeam) + crossSeamFront.length()) / + (m.waistToFloor - m.heel / Math.PI) + ) + + points.backHipsCp1 = points.backWaistCp.clone() + points.backWaistCp = points.backWaist.shift( + points.backWaist.angle(points.backSplitWaist) - 90, + points.backWaist.dist(points.backHips) / 3 + ) + points.backHipsCp2 = points.backSeat.shiftOutwards( + points.backHips, + points.backWaist.dist(points.backHips) / 4 + ) + points.frontHipsCp1 = points.frontWaistCp.clone() + points.frontWaistCp = points.frontWaist.shift( + points.frontWaist.angle(points.frontSplitWaist) + 90, + points.frontWaist.dist(points.frontHips) / 3 + ) + points.frontHipsCp2 = points.frontSeat.shiftOutwards( + points.frontHips, + points.frontWaist.dist(points.frontHips) / 4 + ) + + paths.crossSeamFront = new Path() + .move(points.insideCrossSeam) + .curve(points.frontCrossSeamCp, points.frontHipsCp1, points.frontHips) + .curve(points.frontHipsCp2, points.frontWaistCp, points.frontWaist) + .hide() + paths.crossSeamBack = new Path() + .move(points.insideCrossSeam) + .curve(points.backCrossSeamCp, points.backHipsCp1, points.backHips) + .curve(points.backHipsCp2, points.backWaistCp, points.backWaist) + .hide() + + SmoothPoints('front', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + SmoothPoints('front', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + SmoothPoints('back', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + SmoothPoints('back', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + paths.middle = new Path().move(points.insideUpperLeg).line(points.insideFloor).hide() + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split'].forEach((type) => { + CreateControlPoints([ + prefix + type + 'Waist', + prefix + type + 'Seat', + prefix + type + 'UpperLeg', + prefix + type + 'Knee', + prefix + type + 'Ankle', + ]) + }) + }) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split'].forEach((type) => { + CreatePath(prefix + type, [ + prefix + type + 'Waist', + prefix + type + 'Seat', + prefix + type + 'UpperLeg', + prefix + type + 'Knee', + prefix + type + 'Ankle', + ]).hide() + }) + }) + + if (1 == 2) { + ;['front', 'back'].forEach((prefix) => { + ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + var measurement + switch (name) { + case 'UpperLeg': + measurement = m.upperLeg + case 'Waist': + measurement = prefix == 'front' ? m.waist - m.waistBack : m.waistBack + break + case 'Seat': + measurement = prefix == 'front' ? m.seat - m.seatBack : m.seatBack + break + default: + measurement = m[name.toLowerCase()] + } + + points[prefix + 'Panel' + name] = points['inside' + name].shift( + prefix == 'front' ? 180 : 0, + measurement / 2 - points[prefix + name].dist(points[prefix + 'Split' + name]) + ) //.addCircle(4) + }) + }) + + SmoothPoints('front', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + SmoothPoints('back', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + paths.frontPanel = new Path() + .move(points.frontPanelAnkle) + .line(points.frontPanelKnee) + .line(points.frontPanelUpperLeg) + .line(points.frontPanelSeat) + .line(points.frontPanelWaist) + paths.backPanel = new Path() + .move(points.backPanelAnkle) + .line(points.backPanelKnee) + .line(points.backPanelUpperLeg) + .line(points.backPanelSeat) + .line(points.backPanelWaist) + } + if (1 == 1) { + ;['front', 'back'].forEach((prefix) => { + ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + points[prefix + 'Panel' + name] = points['inside' + name].shift( + prefix == 'front' ? 180 : 0, + points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) + ) //.addCircle(4) + }) + }) + + // SmoothPoints('front', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + // SmoothPoints('back', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) + ;['front', 'back'].forEach((prefix) => { + CreateControlPoints([ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]) + }) + ;['front', 'back'].forEach((prefix) => { + CreatePath(prefix + 'Panel', [ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]).hide() + }) + + console.log({ + fsl: paths.frontSplit.length(), + fpl: paths.frontPanel.length(), + bsl: paths.backSplit.length(), + bpl: paths.backPanel.length(), + }) + ;['front', 'back'].forEach((prefix) => { + const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() + const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] + for (var i = 0; i < names.length - 1; i++) { + points[prefix + 'Panel' + names[i]] = points[ + prefix + 'Panel' + names[i + 1] + ].shiftFractionTowards(points[prefix + 'Panel' + names[i]], diff) + } + }) + ;['front', 'back'].forEach((prefix) => { + CreateControlPoints([ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]) + }) + ;['front', 'back'].forEach((prefix) => { + CreatePath(prefix + 'Panel', [ + prefix + 'Panel' + 'Waist', + prefix + 'Panel' + 'Seat', + prefix + 'Panel' + 'UpperLeg', + prefix + 'Panel' + 'Knee', + prefix + 'Panel' + 'Ankle', + ]).hide() + }) + } + + console.log({ + fsl: paths.frontSplit.length(), + fpl: paths.frontPanel.length(), + bsl: paths.backSplit.length(), + bpl: paths.backPanel.length(), + }) + + if (options.length < 1) { + const length = (1 - options.length) * (m.inseam - (m.waistToFloor - waistToAnkle)) + console.log({ wtf: m.waistToFloor, i: m.inseam, l: length }) + // console.log({i:m.inseam,wa:waistToAnkle,iw:(m.inseam/waistToAnkle),r:lengthRatio}) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + console.log({ n: prefix + type, l: paths[prefix + type].length() }) + points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) + paths[prefix + type] = paths[prefix + type].split(points[prefix + type + 'Hem'])[0] //.hide() + }) + }) + } else { + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + points[prefix + type + 'Hem'] = points[prefix + type + 'Ankle'] + }) + }) + } + // ;['front', 'back'].forEach((prefix) => { + // ;['Side'].forEach((type) => { + // paths[prefix + type] = new Path() + // .move(points[prefix + type + 'Ankle']) + // .line(points[prefix + type + 'Knee']) + // .line(points[prefix + type + 'UpperLeg']) + // .line(points[prefix + type + 'Seat']) + // .line(points[prefix + type + 'Waist']) + // }) + // }) + // ;['front', 'back'].forEach((prefix) => { + // ;['Split'].forEach((type) => { + // paths[prefix + type +'2'] = new Path() + // .move(points[prefix + type + 'Ankle']) + // .line(points[prefix + type + 'Knee']) + // .line(points[prefix + type + 'UpperLeg']) + // .line(points[prefix + type + 'Waist']) + // }) + // }) + + // paths.frontSplit.addClass('dotted note') + // paths.backSplit.addClass('dotted note') + // paths.frontSplit2.addClass('dashed lining') + // paths.backSplit2.addClass('dashed lining') + + // console.log({d1: points.frontKnee.dist(points.frontUpperLeg),d2: points.frontSplitKnee.dist(points.frontSplitUpperLeg)}) + + console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + console.log({ pihts: JSON.parse(JSON.stringify(points)) }) + + // paths.frontSide = new Path() + // .move(points.frontSideAnkle) + // .line(points.frontSideKnee) + // .line(points.frontSideUpperLeg) + // .line(points.frontSideSeat) + // .line(points.frontSideWaist) + return part //.hide() + }, +} + +//http://localhost:8000/new/luminous#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D diff --git a/designs/lumina/tests/shared.test.mjs b/designs/lumina/tests/shared.test.mjs new file mode 100644 index 00000000000..36dafb5c605 --- /dev/null +++ b/designs/lumina/tests/shared.test.mjs @@ -0,0 +1,20 @@ +// This file is auto-generated | Any changes you make will be overwritten. +import { Lumina, i18n } from '../src/index.mjs' + +// Shared tests +import { testPatternConfig } from '../../../tests/designs/config.mjs' +import { testPatternI18n } from '../../../tests/designs/i18n.mjs' +import { testPatternDrafting } from '../../../tests/designs/drafting.mjs' +import { testPatternSampling } from '../../../tests/designs/sampling.mjs' + +// Test config +testPatternConfig(Lumina) + +// Test translation +testPatternI18n(Lumina, i18n) + +// Test drafting - Change the second parameter to `true` to log errors +testPatternDrafting(Lumina, false) + +// Test sampling - Change the second parameter to `true` to log errors +testPatternSampling(Lumina, false) diff --git a/sites/lab/pages/new/lumina.mjs b/sites/lab/pages/new/lumina.mjs new file mode 100644 index 00000000000..879bea41040 --- /dev/null +++ b/sites/lab/pages/new/lumina.mjs @@ -0,0 +1,41 @@ +/* + * This page is auto-generated. Do not edit it by hand. + */ +import { Lumina } from 'designs/lumina/src/index.mjs' +// Dependencies +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { nsMerge } from 'shared/utils.mjs' +// Components +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { Workbench, ns as wbNs } from 'shared/components/workbench/new.mjs' +import { WorkbenchLayout } from 'site/components/layouts/workbench.mjs' + +// Translation namespaces used on this page +const ns = nsMerge('lumina', wbNs, pageNs) + +const NewLuminaPage = ({ page, docs }) => ( + + + +) + +export default NewLuminaPage + +export async function getStaticProps({ locale }) { + return { + props: { + ...(await serverSideTranslations(locale, ns)), + page: { + locale, + path: ['new', 'lumina'], + title: 'Lumina', + }, + }, + } +} diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs index 943e1c08097..90f998858e7 100644 --- a/sites/shared/i18n/designs.mjs +++ b/sites/shared/i18n/designs.mjs @@ -57,6 +57,7 @@ import { i18n as walburga } from '@freesewing/walburga' import { i18n as waralee } from '@freesewing/waralee' import { i18n as yuri } from '@freesewing/yuri' import { i18n as otis } from '@freesewing/otis' +import { i18n as lumina } from '@freesewing/lumina' export const designs = { aaron, @@ -114,4 +115,5 @@ export const designs = { waralee, yuri, otis, + lumina, } From 14fca05a6258f867842da23acbe017dc4644de2d Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 12 Nov 2023 23:46:33 +0000 Subject: [PATCH 0016/1313] Waistreduction2 --- designs/lumina/src/leg.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index a10b36d37af..ddb67c722e2 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -7,8 +7,8 @@ export const leg = { paths.seam = new Path() .move(points.frontSplitHem) .join(paths.backSplit.reverse()) - .join(paths.crossSeamBack.reverse()) - .join(paths.crossSeamFront) + .join(paths.back) + .join(paths.front.reverse()) .join(paths.frontSplit) .close() From 92a17886ed37f848600ae511bace599dbd5d75d5 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Sun, 26 Nov 2023 21:16:20 +0000 Subject: [PATCH 0017/1313] Working on Tristan docs --- config/software/designs.json | 2 +- designs/tristan/README.md | 2 +- designs/tristan/i18n/en.json | 2 +- designs/tristan/package.json | 2 +- .../org/docs/designs/tristan/cutting/en.md | 13 +++ markdown/org/docs/designs/tristan/en.md | 8 ++ .../org/docs/designs/tristan/fabric/en.md | 5 ++ .../docs/designs/tristan/instructions/en.md | 7 ++ .../docs/designs/tristan/measurements/en.md | 5 ++ markdown/org/docs/designs/tristan/needs/en.md | 9 ++ markdown/org/docs/designs/tristan/notes/en.md | 15 ++++ sites/lab/pages/new/tristan.mjs | 41 +++++++++ .../pages/account/patterns/tristan/edit.mjs | 86 +++++++++++++++++++ sites/org/pages/new/tristan.mjs | 41 +++++++++ 14 files changed, 234 insertions(+), 4 deletions(-) create mode 100644 markdown/org/docs/designs/tristan/cutting/en.md create mode 100644 markdown/org/docs/designs/tristan/en.md create mode 100644 markdown/org/docs/designs/tristan/fabric/en.md create mode 100644 markdown/org/docs/designs/tristan/instructions/en.md create mode 100644 markdown/org/docs/designs/tristan/measurements/en.md create mode 100644 markdown/org/docs/designs/tristan/needs/en.md create mode 100644 markdown/org/docs/designs/tristan/notes/en.md create mode 100644 sites/lab/pages/new/tristan.mjs create mode 100644 sites/org/pages/account/patterns/tristan/edit.mjs create mode 100644 sites/org/pages/new/tristan.mjs diff --git a/config/software/designs.json b/config/software/designs.json index 4d4d6befed9..4c6660f8645 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -801,7 +801,7 @@ }, "tristan": { "code": "Wouter van Wageningen", - "description": "A FreeSewing pattern for a top", + "description": "A FreeSewing pattern for a fitted top with prince(ss) seams", "design": "Natalia Sayang", "difficulty": 3, "lab": true, diff --git a/designs/tristan/README.md b/designs/tristan/README.md index cc27523f3a5..133db2d0023 100644 --- a/designs/tristan/README.md +++ b/designs/tristan/README.md @@ -48,7 +48,7 @@ # @freesewing/tristan -A FreeSewing pattern that needs a description +A FreeSewing pattern for a fitted top diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index 5b4a01303c1..fc2cb026668 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", diff --git a/designs/tristan/package.json b/designs/tristan/package.json index 4f5eb2b4eb9..90436d077ab 100644 --- a/designs/tristan/package.json +++ b/designs/tristan/package.json @@ -1,7 +1,7 @@ { "name": "@freesewing/tristan", "version": "3.0.0", - "description": "A FreeSewing pattern that needs a description", + "description": "A FreeSewing pattern for a fitted top", "author": "Joost De Cock (https://github.com/joostdecock)", "homepage": "https://freesewing.org/", "repository": "github:freesewing/freesewing", diff --git a/markdown/org/docs/designs/tristan/cutting/en.md b/markdown/org/docs/designs/tristan/cutting/en.md new file mode 100644 index 00000000000..59d2bcd24fa --- /dev/null +++ b/markdown/org/docs/designs/tristan/cutting/en.md @@ -0,0 +1,13 @@ +--- +title: "Tristan Top: Cutting Instructions" +--- + +- Cut **X** on the fold + + + +##### Notes + +- Notes here... + + \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/en.md b/markdown/org/docs/designs/tristan/en.md new file mode 100644 index 00000000000..25daf4612a4 --- /dev/null +++ b/markdown/org/docs/designs/tristan/en.md @@ -0,0 +1,8 @@ +--- +title: "Tristan top" +--- + + + + + diff --git a/markdown/org/docs/designs/tristan/fabric/en.md b/markdown/org/docs/designs/tristan/fabric/en.md new file mode 100644 index 00000000000..cc784f8f097 --- /dev/null +++ b/markdown/org/docs/designs/tristan/fabric/en.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Fabric Options" +--- + +## Top fabric diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md new file mode 100644 index 00000000000..5e424d1b685 --- /dev/null +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -0,0 +1,7 @@ +--- +title: "Tristan top: Sewing Instructions" +--- + +### Step 1: Cut your pieces + +This is the first step \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/measurements/en.md b/markdown/org/docs/designs/tristan/measurements/en.md new file mode 100644 index 00000000000..420db2e9640 --- /dev/null +++ b/markdown/org/docs/designs/tristan/measurements/en.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Required Measurements" +--- + + \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/needs/en.md b/markdown/org/docs/designs/tristan/needs/en.md new file mode 100644 index 00000000000..69f092165f0 --- /dev/null +++ b/markdown/org/docs/designs/tristan/needs/en.md @@ -0,0 +1,9 @@ +--- +title: "Tristan top: What You Need" +--- + +To make Tristan, you will need the following: + +- [Basic sewing supplies](/docs/sewing/basic-sewing-supplies) +- + diff --git a/markdown/org/docs/designs/tristan/notes/en.md b/markdown/org/docs/designs/tristan/notes/en.md new file mode 100644 index 00000000000..48b14a26169 --- /dev/null +++ b/markdown/org/docs/designs/tristan/notes/en.md @@ -0,0 +1,15 @@ +--- +title: "Tristan top: Designer Notes" +--- + +Tristan is a fitted top with corset-inspired design elements. + +It’s the result of a collaboration between Wouter and Natalia. This was a dream come true for me, Natalia, because I think Wouter is brilliant. + +The original version had a lace-up back and was made for the Renaissance fair. I made it by tracing a new neckline and armholes on Noble directly on the body. Wouter thought it looked nice and we decided to turn it into a published standalone top design, with Wouter doing the code. Many messages, sketches, and mock-ups later, the result is Tristan. + +Tristan allows the user a lot of control over the options. It’s a great introduction to prince(ss) seams, and since it doesn’t use a lot of fabric, could be a good project to use up scraps. Although Tristan has options for corset-inspired lacing, it is not intended to be historically accurate. + +I chose the name “Tristan top” because I wanted something that sounded romantic and pretty and followed the traditional FreeSewing convention of a first name that starts with the same letter as the type of design. + +Natalia diff --git a/sites/lab/pages/new/tristan.mjs b/sites/lab/pages/new/tristan.mjs new file mode 100644 index 00000000000..cc78e03c87c --- /dev/null +++ b/sites/lab/pages/new/tristan.mjs @@ -0,0 +1,41 @@ +/* + * This page is auto-generated. Do not edit it by hand. + */ +import { Tristan } from 'designs/tristan/src/index.mjs' +// Dependencies +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { nsMerge } from 'shared/utils.mjs' +// Components +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { Workbench, ns as wbNs } from 'shared/components/workbench/new.mjs' +import { WorkbenchLayout } from 'site/components/layouts/workbench.mjs' + +// Translation namespaces used on this page +const ns = nsMerge('tristan', wbNs, pageNs) + +const NewTristanPage = ({ page, docs }) => ( + + + +) + +export default NewTristanPage + +export async function getStaticProps({ locale }) { + return { + props: { + ...(await serverSideTranslations(locale, ns)), + page: { + locale, + path: ['new', 'tristan'], + title: 'Tristan', + }, + }, + } +} diff --git a/sites/org/pages/account/patterns/tristan/edit.mjs b/sites/org/pages/account/patterns/tristan/edit.mjs new file mode 100644 index 00000000000..a9566759f85 --- /dev/null +++ b/sites/org/pages/account/patterns/tristan/edit.mjs @@ -0,0 +1,86 @@ +/* + * This page is auto-generated. Do not edit it by hand. + */ +import { Tristan } from 'designs/tristan/src/index.mjs' +// Dependencies +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { nsMerge, getSearchParam } from 'shared/utils.mjs' +// Hooks +import { useState, useEffect, useContext } from 'react' +import { useTranslation } from 'next-i18next' +import { useBackend } from 'shared/hooks/use-backend.mjs' +// Context +import { LoadingStatusContext } from 'shared/context/loading-status-context.mjs' +// Components +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { Workbench, ns as wbNs } from 'shared/components/workbench/new.mjs' +import { WorkbenchLayout } from 'site/components/layouts/workbench.mjs' +import { Loading } from 'shared/components/spinner.mjs' + +// Translation namespaces used on this page +const ns = nsMerge('tristan', wbNs, pageNs) + +const EditDesignComponent = ({ id, design, Design, settings }) => ( + +) + +const EditTristanPage = ({ page }) => { + const { setLoadingStatus } = useContext(LoadingStatusContext) + const backend = useBackend() + const { t } = useTranslation(ns) + + const [pattern, setPattern] = useState(false) + + useEffect(() => { + const getPattern = async () => { + setLoadingStatus([true, t('backendLoadingStarted')]) + let result + try { + result = await backend.getPattern(id) + if (result.success) { + setPattern(result.data.pattern) + setLoadingStatus([true, 'backendLoadingCompleted', true, true]) + } else setLoadingStatus([true, 'backendError', true, false]) + } catch (err) { + console.log(err) + setLoadingStatus([true, 'backendError', true, false]) + } + } + const id = getSearchParam('id') + if (id) getPattern() + }, [backend, setLoadingStatus, t]) + + return ( + // prettier-ignore + + {pattern ? ( + + ) : ( +
+

{t('account:oneMomentPLease')}

+ +
+ )} +
+ ) +} + +export default EditTristanPage + +export async function getStaticProps({ locale }) { + return { + props: { + ...(await serverSideTranslations(locale, ns)), + page: { + locale, + path: ['account', 'patterns', 'tristan'], + title: 'Tristan', + }, + }, + } +} diff --git a/sites/org/pages/new/tristan.mjs b/sites/org/pages/new/tristan.mjs new file mode 100644 index 00000000000..cc78e03c87c --- /dev/null +++ b/sites/org/pages/new/tristan.mjs @@ -0,0 +1,41 @@ +/* + * This page is auto-generated. Do not edit it by hand. + */ +import { Tristan } from 'designs/tristan/src/index.mjs' +// Dependencies +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { nsMerge } from 'shared/utils.mjs' +// Components +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { Workbench, ns as wbNs } from 'shared/components/workbench/new.mjs' +import { WorkbenchLayout } from 'site/components/layouts/workbench.mjs' + +// Translation namespaces used on this page +const ns = nsMerge('tristan', wbNs, pageNs) + +const NewTristanPage = ({ page, docs }) => ( + + + +) + +export default NewTristanPage + +export async function getStaticProps({ locale }) { + return { + props: { + ...(await serverSideTranslations(locale, ns)), + page: { + locale, + path: ['new', 'tristan'], + title: 'Tristan', + }, + }, + } +} From 1cc89e17820364d1784c40504a9779b424ab86ac Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Tue, 28 Nov 2023 02:46:07 +0000 Subject: [PATCH 0018/1313] Tristan cutting instructions --- .../org/docs/designs/tristan/cutting/en.md | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/tristan/cutting/en.md b/markdown/org/docs/designs/tristan/cutting/en.md index 59d2bcd24fa..2021d91059c 100644 --- a/markdown/org/docs/designs/tristan/cutting/en.md +++ b/markdown/org/docs/designs/tristan/cutting/en.md @@ -2,12 +2,33 @@ title: "Tristan Top: Cutting Instructions" --- -- Cut **X** on the fold +In **all versions**: + +- Cut 2 **Front Outside** parts with _good sides together_. +- Cut 2 **Back Outside** parts with _good sides together_. +- Cut 2 **Back Inside** parts with _good sides together_. + +Depending on your choice of closure, also cut the following parts. + +With a **back zip**, **side zip**, or **lace-up back (with or without side zip)** closure: + +- Cut 1 **Front Inside** part on the fold. + +With a **lace-up front** closure: + +- Cut 2 **Front Inside** parts with _good sides together_. + +If you choose to add a peplum: + +- Cut 1 **Peplum**. + +In **all versions**, if you want to line your top, cut the same parts out of your lining fabric. + -##### Notes +##### Finishing methods affect the seam allowance -- Notes here... +If using bias binding, you should trim away the seam allowance at the neckline and armholes before cutting. \ No newline at end of file From 103ee175eccdfaf69b72073de82f99f1d08bdd4d Mon Sep 17 00:00:00 2001 From: Zee Date: Sat, 9 Dec 2023 19:37:02 +0000 Subject: [PATCH 0019/1313] Add Bee Line Drawing --- sites/shared/components/designs/design.mjs | 2 +- .../components/designs/linedrawings/bee.mjs | 57 +++++++++++++++++++ .../components/designs/linedrawings/index.mjs | 3 + 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 sites/shared/components/designs/linedrawings/bee.mjs diff --git a/sites/shared/components/designs/design.mjs b/sites/shared/components/designs/design.mjs index 8f397b16918..97a3de3aa20 100644 --- a/sites/shared/components/designs/design.mjs +++ b/sites/shared/components/designs/design.mjs @@ -100,7 +100,7 @@ export const DesignCard = ({ name, lineDrawing = false }) => { > {t(`designs:${name}.t`)} -
+
{ + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + + + + ) +} + +/* + * React component for the front + */ +export const BeeFront = ({ + className = 'h-full max-w-full m-auto text-base-content linedrawing', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + + + + ) +} + +/* + * SVG elements for the front + */ +export const Front = ({ stroke }) => ( + <> + + + + +) diff --git a/sites/shared/components/designs/linedrawings/index.mjs b/sites/shared/components/designs/linedrawings/index.mjs index bae13aefb11..cc77bff9da5 100644 --- a/sites/shared/components/designs/linedrawings/index.mjs +++ b/sites/shared/components/designs/linedrawings/index.mjs @@ -14,6 +14,7 @@ import { Bruce, BruceFront, BruceBack } from 'shared/components/designs/linedraw import { Hortensia, HortensiaFront } from 'shared/components/designs/linedrawings/hortensia.mjs' import { Simon, SimonFront, SimonBack } from 'shared/components/designs/linedrawings/simon.mjs' import { Wahid, WahidFront, WahidBack } from 'shared/components/designs/linedrawings/wahid.mjs' +import { Bee, BeeFront } from 'shared/components/designs/linedrawings/bee.mjs' export const lineDrawingsFront = { aaron: AaronFront, @@ -28,6 +29,7 @@ export const lineDrawingsFront = { hortensia: HortensiaFront, simon: SimonFront, wahid: WahidFront, + bee: BeeFront, } export const lineDrawingsBack = { @@ -40,6 +42,7 @@ export const lineDrawingsBack = { bruce: BruceBack, simon: SimonBack, wahid: WahidBack, + bee: Bee, } export const lineDrawings = { From 64068745b6d07aa0a091e3eff2be9a5eb10dff3e Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 10 Dec 2023 02:04:07 +0000 Subject: [PATCH 0020/1313] Bug fix --- designs/tristan/src/backoutside.mjs | 1 + designs/tristan/src/backpoints.mjs | 3 +++ designs/tristan/src/frontoutside.mjs | 6 +++--- designs/tristan/src/frontpoints.mjs | 9 +++++---- designs/tristan/src/index.mjs | 2 ++ designs/tristan/src/peplumBack.mjs | 2 -- designs/tristan/src/peplumFront.mjs | 4 +--- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 5d3928db272..94ec6557ea9 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -56,6 +56,7 @@ export const backOutside = { to: points.grainlineTo, }) + store.cutlist.removeCut('fabric') store.cutlist.addCut({ cut: 2, from: 'fabric' }) if (sa) { diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index 61deb6bb943..ecf73c332bc 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -18,6 +18,7 @@ export const backPoints = { delete points.bustDartLeftCp const strapWidth = store.get('strapWidth') + const sideSeamLength = store.get('sideSeamLength') points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2) @@ -152,6 +153,8 @@ export const backPoints = { }) } + // console.log({sideSeamLength:sideSeamLength,side:(new Path().move(points.waistSide).curve_(points.waistSideCp2, points.armhole)).length()}) + store.set('backOutsideWaistLength', points.dartBottomRight.dist(points.waistSide)) store.set('backInsideWaistLength', points.dartBottomLeft.dist(points.waistCenter)) diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 6f6f0590700..85816ee7c79 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -14,10 +14,10 @@ export const frontOutside = { delete points.bustB delete points.bustDartEdge - console.log({ points: JSON.parse(JSON.stringify(points)) }) + // console.log({ points: JSON.parse(JSON.stringify(points)) }) - macro('rmcutonfold') - store.cutlist.removeCut() + // macro('rmcutonfold') + // store.cutlist.removeCut() paths.cut = new Path() .move(points.armhole) diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index f41bfb77f2b..daf025f08bd 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -84,7 +84,7 @@ export const frontPoints = { menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), }, }, - draft: ({ points, Path, paths, snippets, options, macro, store, utils, units, sa, part }) => { + draft: ({ points, Path, paths, snippets, options, macro, store, utils, units, part }) => { const lacing = true == options.lacing && 'front' == options.lacingLocation // Hide Noble paths @@ -178,9 +178,9 @@ export const frontPoints = { } // armhole adjustment - if (points.sideWaist.y < points.waistDartRight.y) { - points.sideWaist.y = points.waistDartRight.y - } + // if (points.sideWaist.y < points.waistDartRight.y) { + // points.sideWaist.y = points.waistDartRight.y + // } if (lacing) { points.lacingCut = points.cfCut.shift( @@ -250,6 +250,7 @@ export const frontPoints = { points.waistDartLeft.dist(lacing ? points.lacingWaist : points.cfWaist) ) store.set('frontLength', points.cfNeck.dist(points.cfWaist)) + store.set('sideSeamLength', points.armhole.dist(points.sideWaist)) return part }, diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index 92111b4bbf6..2a8ae4785ab 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -43,3 +43,5 @@ export { } // http://localhost:8000/new/tristan#view=%22draft%22&settings=%7B%22measurements%22%3A%7B%22highBust%22%3A790%2C%22chest%22%3A840%2C%22underbust%22%3A735%2C%22waist%22%3A711%2C%22waistBack%22%3A358%2C%22bustSpan%22%3A190%2C%22neck%22%3A311%2C%22hpsToBust%22%3A245%2C%22hpsToWaistFront%22%3A415%2C%22hpsToWaistBack%22%3A410%2C%22shoulderToShoulder%22%3A390%2C%22shoulderSlope%22%3A15%7D%7D + +// lasermonkey12: http://localhost:8000/new/tristan#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22highBust%22%3A889%2C%22chest%22%3A940%2C%22underbust%22%3A797%2C%22waist%22%3A787%2C%22waistBack%22%3A362%2C%22bustSpan%22%3A203%2C%22neck%22%3A381%2C%22hpsToBust%22%3A292%2C%22hpsToWaistFront%22%3A457%2C%22hpsToWaistBack%22%3A438%2C%22shoulderToShoulder%22%3A406%2C%22shoulderSlope%22%3A26%7D%2C%22options%22%3A%7B%22cutRoundnessFront%22%3A0.829%2C%22cutDepthFront%22%3A0.668%2C%22cutDepthBack%22%3A0.166%2C%22cutRoundnessBack%22%3A0.248%2C%22strapWidth%22%3A0.6%7D%7D diff --git a/designs/tristan/src/peplumBack.mjs b/designs/tristan/src/peplumBack.mjs index dc9355d97a3..90e50cca4f3 100644 --- a/designs/tristan/src/peplumBack.mjs +++ b/designs/tristan/src/peplumBack.mjs @@ -15,7 +15,6 @@ export const peplumBack = { const ratio = store.get('peblumratio') CreateShape({ - Point: Point, points: points, paths: paths, options: options, @@ -25,7 +24,6 @@ export const peplumBack = { type: 'back', radius: radius, width: width, - offset: 0, ratio: 1 - ratio, }) diff --git a/designs/tristan/src/peplumFront.mjs b/designs/tristan/src/peplumFront.mjs index 341052b650f..e44a41ad3cb 100644 --- a/designs/tristan/src/peplumFront.mjs +++ b/designs/tristan/src/peplumFront.mjs @@ -2,17 +2,15 @@ import { backPoints } from './backpoints.mjs' import { plugin as ringsectorPlugin } from '@freesewing/plugin-ringsector' export const CreateShape = ({ - Point, points, paths, options, macro, + store, sa, type, - store, radius, width, - offset, ratio, }) => { const double = From 45ba7ec14a5f2385a29e3a4d7667f4d8224713b0 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 20 Dec 2023 16:30:31 +0000 Subject: [PATCH 0021/1313] designs --- config/software/designs.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/config/software/designs.json b/config/software/designs.json index 4075baf7eb1..e1881667bad 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -918,6 +918,23 @@ "tags": [], "techniques": [] }, + "lumira": { + "code": "Wouter Van Wageningen", + "description": "A FreeSewing pattern for leggings", + "design": "Wouter Van Wageningen", + "difficulty": 3, + "lab": true, + "org": false, + "tags": [ + "bottoms", + "trousers" + ], + "techniques": [ + "stretch", + "curvedSeam", + "elastic" + ] + }, "lumina": { "code": "Coder name", "description": "A FreeSewing pattern that needs a description", From ce014ecf8ba143151dc9d6d2685f9a890b65e7ab Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 20 Dec 2023 16:34:24 +0000 Subject: [PATCH 0022/1313] design --- config/software/designs.json | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/config/software/designs.json b/config/software/designs.json index e1881667bad..fac30373859 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -934,19 +934,5 @@ "curvedSeam", "elastic" ] - }, - "lumina": { - "code": "Coder name", - "description": "A FreeSewing pattern that needs a description", - "design": "Designer name", - "difficulty": 1, - "lab": true, - "org": false, - "tags": [ - "tagname" - ], - "techniques": [ - "techname" - ] } } \ No newline at end of file From 2707a8ac1c3b033225635c4bd6fae90d8568126b Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 24 Dec 2023 23:36:17 +0000 Subject: [PATCH 0023/1313] commit! --- designs/lumina/i18n/en.json | 4 +- designs/lumina/src/index.mjs | 7 +- designs/lumina/src/points.mjs | 765 ++++++++++++++++++++----------- designs/lumina/src/waistband.mjs | 146 ++++++ designs/lumira/src/shape.mjs | 19 +- 5 files changed, 666 insertions(+), 275 deletions(-) create mode 100644 designs/lumina/src/waistband.mjs diff --git a/designs/lumina/i18n/en.json b/designs/lumina/i18n/en.json index 8cf0182cebd..9642fb245dc 100644 --- a/designs/lumina/i18n/en.json +++ b/designs/lumina/i18n/en.json @@ -2,6 +2,8 @@ "t": "Lumina", "d": "A FreeSewing pattern that needs a description", "p": { }, - "s": { }, + "s": { + "couldNoFitWaistband": "Could not fit the waistband" + }, "o": { } } diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 84cff6d4ddf..222f564d730 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -9,14 +9,17 @@ import { ipoints } from './ipoints.mjs' import { zpoints } from './zpoints.mjs' import { panel } from './panel.mjs' import { leg } from './leg.mjs' +import { waistband } from './waistband.mjs' // Create new design const Lumina = new Design({ data, - parts: [/*zpoints, ipoints,*/ points, panel, leg], + parts: [/*zpoints, ipoints,*/ points, panel, leg, waistband], }) // Named exports -export { /*zpoints, ipoints,*/ points, panel, leg, i18n, Lumina } +export { i18n, Lumina, /*zpoints, ipoints,*/ points, panel, leg, waistband } // http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D + +// http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22length%22%3A1%2C%22waistreduction%22%3A0.1%2C%22waistLowering%22%3A0.012%2C%22waistlowering%22%3A0.181%7D%2C%22units%22%3A%22metric%22%7D diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index 8f7d0229eaa..fd027aa9ab8 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -1,3 +1,251 @@ +import { pctBasedOn } from '@freesewing/core' +import { extendPath, createControlPoints } from '@freesewing/lumira' + +const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { + console.log({ pins: JSON.parse(JSON.stringify(points)) }) + console.log({ pats: JSON.parse(JSON.stringify(paths)) }) + console.log({ + pn: pointName, + pan: pathName, + par: { path: paths[pathName], len: paths[pathName].length(), wr: waistLowering }, + }) + const newPath = extendPath(Path, paths[pathName], 100, 0) + const newWaist = newPath.shiftAlong(waistLowering + 100) + // console.log({newWaist:newWaist}) + // console.log({p:points[pathName + pointName]}) + // console.log({s:newWaist.sitsRoughlyOn(points[pathName + pointName])}) + if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { + return + } + points[pathName + pointName] = newWaist + const pTemp = newPath.split(points[pathName + pointName]) + if (pTemp.length != 2) { + log.info('lumina:couldNotLowerWaist') + // console.log('couldNotLowerWaist') + } + paths[pathName] = pTemp[1].hide() +} + +const createPath = (paths, Path, points, pathName, names) => { + let i + paths[pathName] = new Path() + .move(points[names[0]]) + ._curve(points[names[1] + 'Cp2'], points[names[1]]) + for (i = 2; i < names.length - 1; i++) { + paths[pathName].curve(points[names[i - 1] + 'Cp1'], points[names[i] + 'Cp2'], points[names[i]]) + } + paths[pathName].curve_(points[names[i - 1] + 'Cp1'], points[names[i]]) + + return paths[pathName] +} + +const createWaistPoint = (options, measurements, Path, points, utils, front) => { + const kneeTemp = points.middleCrossSeam.shiftFractionTowards( + points.middleKnee, + options.crotchToKnee + ) + const angle = + 90 + + (front + ? options.crossSeamAngle * (measurements.waistBack / measurements.waist) + : -1 * options.crossSeamAngle * (1 - measurements.waistBack / measurements.waist)) + const crossSeam = front ? measurements.crossSeamFront : measurements.crossSeamBack + let kneeToWaist = measurements.waistToKnee + let ratio = 1 + let waist = kneeTemp.shift(angle, kneeToWaist * ratio) + const crossSeamCp = points.middleCrossSeam.shiftFractionTowards( + utils.beamIntersectsY(kneeTemp, waist, points.middleCrossSeam.y), + options.crotchPointsCP + ) + + let waistCp + let diff + let iter = 0 + do { + waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) + waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) + + const crossSeamPath = new Path().move(points.middleCrossSeam).curve(crossSeamCp, waistCp, waist) + + diff = crossSeam - crossSeamPath.length() + ratio = crossSeam / crossSeamPath.length() + } while (++iter < 100 && (diff > 1 || diff < -1)) + if (iter >= 100) { + log.error('lumina:cantFitTheWaistPoint') + } + + if (front) { + points.frontWaist = waist.clone() + points.frontWaistband = waist.clone() + points.frontWaistCp = waistCp.clone() + points.frontCrossSeamCp = crossSeamCp.clone() + } else { + points.backWaist = waist.clone() + points.backWaistband = waist.clone() + points.backWaistCp = waistCp.clone() + points.backCrossSeamCp = crossSeamCp.clone() + } +} + +const createSidePoints = ( + measurements, + points, + utils, + prefix, + postfix, + names, + ratio, + ratioFixed, + ease, + waistReduction, + distanceCompensation +) => { + let measurement + let width + let lastGood = 0 + for (let i = 0; i < names.length; i++) { + let distance = + measurements['waistTo' + names[lastGood]] - + (measurements['waistTo' + names[i]] === undefined ? 0 : measurements['waistTo' + names[i]]) + switch (names[i]) { + case 'UpperLeg': + measurement = measurements['upperLeg'] + const intersect = utils.beamIntersectsCurve( + points[prefix + names[i]], + points[prefix + names[i]].shift(prefix == 'front' ? 180 : 0, ratioFixed * 100), + points.middleCrossSeam, + points[prefix + 'CrossSeamCp'], + points[prefix + 'WaistCp'], + points[prefix + 'Waist'] + ) + // console.log({ prefix: prefix, name: names[i] }) + // console.log({ intersect: intersect }) + // console.log({ intersect: typeof intersect }) + // console.log({ pins: JSON.parse(JSON.stringify(points)) }) + + if (false !== intersect) { + if (intersect.constructor === Array) { + measurement += intersect[0].dist(points[prefix + names[i]]) + } else { + measurement += intersect.dist(points[prefix + names[i]]) + } + } + break + case 'Waist': + measurement = + (prefix == 'front' ? measurements.waistFront : measurements.waistBack) - + waistReduction * 0.5 + break + case 'Seat': + measurement = prefix == 'front' ? measurements.seatFront : measurements.seatBack + distance *= distanceCompensation + break + default: + measurement = measurements[names[i].toLowerCase()] + } + measurement /= 2 + measurement *= ease + + width = measurement * ratio + + // const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] + console.log({ + p: prefix + postfix, + n: names[i], + m: measurement, + w: waistReduction, + lg: lastGood, + }) + if (i == 0) { + points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( + prefix == 'front' ? 180 : 0, + measurement - width < ratioFixed ? width : measurement - ratioFixed + ) + console.log({ + pr: points[prefix + names[i]].shift( + prefix == 'front' ? 180 : 0, + measurement - width < ratioFixed ? width : measurement - ratioFixed + ), + a: prefix == 'front' ? 180 : 0, + d: measurement - width < ratioFixed ? width : measurement - ratioFixed, + }) + } else { + const radius = measurement - width < ratioFixed ? width : measurement - ratioFixed + // if( (radius > points[prefix + names[i]].dist(points[prefix + postfix + names[lastGood]]) +distance) || (radius < points[prefix + names[i]].dist(points[prefix + postfix + names[lastGood]]) -distance)){ + // points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]] + // lastGood = i + + // } else + { + // if(prefix == 'back') { + // points[prefix + names[i] +'Temp' +i] = points[prefix + names[i]].clone().addCircle(radius, classes[i]) + // points[prefix + postfix +names[i] +'Temp' +i] = points[prefix + postfix + names[lastGood]].clone().addCircle(distance, classes[i]) + // } + let ci = utils.circlesIntersect( + points[prefix + names[i]], + radius, + points[prefix + postfix + names[lastGood]], + distance + ) + // console.log({n1:prefix + names[i],n2:prefix + postfix + names[lastGood]}) + // console.log({p1:points[prefix + names[i]],r1:radius,p2:points[prefix + postfix + names[lastGood]],r2:distance}) + console.log({ ci: ci }) + if (false !== ci) { + points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] + console.log({ pp: points[prefix + postfix + names[i]], ppn: prefix + postfix + names[i] }) + lastGood = i + } else { + points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() + console.log({ + ppp: points[prefix + postfix + names[i]], + ppn: prefix + postfix + names[i], + }) + + // points[prefix + postfix + names[lastGood]] + // points[prefix + names[i]] + // points[prefix + names[i]].addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) + } + } + } + console.log({ + p: points[prefix + names[i]], + m: measurement, + w: width, + rf: ratioFixed, + pr: points[prefix + postfix + names[i]], + }) + } + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) +} + +const smoothPoints = (points, prefix, postfix, names, smoothness) => { + let adjust + for (let i = 0; i < names.length - 2; i++) { + adjust = false + if (prefix == 'front') { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) > + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } else { + adjust = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) < + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) + } + if (adjust) { + // console.log({ prefix: prefix, postfix: postfix, smooth: names[i + 1] }) + const angleDiff = + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) + + points[prefix + postfix + names[i + 1]] = points[prefix + postfix + names[i]].shift( + points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) + + smoothness * angleDiff, + points[prefix + postfix + names[i]].dist(points[prefix + postfix + names[i + 1]]) + ) + } + } +} + export const points = { name: 'lumina.points', measurements: [ @@ -20,241 +268,117 @@ export const points = { 'upperLeg', ], options: { - ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, + waistband: { bool: true, menu: 'style' }, + ease: { pct: -8, min: -25, max: 10, menu: 'fit' }, length: { pct: 35, min: 10, max: 100, menu: 'fit' }, - waistReduction: { pct: 35, min: 0, max: 60, menu: 'fit' }, + waistbandsize: { + pct: 90, + min: 0, + max: 150, + ...pctBasedOn('waistToHips'), + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), + }, + waistlowering: { pct: 10, min: -10, max: 60, ...pctBasedOn('waistToHips'), menu: 'style' }, + waistreduction: { + pct: 4, + min: 0, + max: 10, + ...pctBasedOn('waist'), + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), + }, + sidePanel: { pct: 25, min: 10, max: 40, menu: 'style' }, smoothing: { pct: 85, min: 50, max: 100, menu: 'advanced' }, + fixedsidepanel: { bool: false, menu: 'style' }, crossSeamAngle: 35, crotchToKnee: 0.4, waistToKneeCP: 0.4, kneeToWaistLength: 400, crotchPointsCP: 2, }, - draft: ({ measurements, options, Point, Path, points, paths, utils, part }) => { - const ControlPoints = (p1, p2, p3, t) => { - let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 - const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) - const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) - return { - cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), - cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), - } - } - const CreateControlPoints = (names) => { - for (var i = 1; i < names.length - 1; i++) { - var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) - points[names[i] + 'Cp1'] = cp.cp1 - points[names[i] + 'Cp2'] = cp.cp3 - } - } - const CreatePath = (pathName, names) => { - paths[pathName] = new Path() - .move(points[names[0]]) - ._curve(points[names[1] + 'Cp1'], points[names[1]]) - for (var i = 2; i < names.length - 1; i++) { - paths[pathName].curve( - points[names[i - 1] + 'Cp2'], - points[names[i] + 'Cp1'], - points[names[i]] - ) - } - paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) + draft: ({ measurements, options, Point, Path, points, paths, utils, store, part }) => { + /*const c1 = new Point(87.62444870107574, 154.32805978682666) + const c2 = new Point(260.759500228999, 267.90025949932897) + const r1 = 230, r2 = 20 + const ci = utils.circlesIntersect(c1,r1,c2,r2) - return paths[pathName] - } - const ReduceWaist = (pathName) => { - const newWaist = paths[pathName].shiftAlong(waistReduction) - if (newWaist.sitsRoughlyOn(points[pathName + 'Waist'])) { - return - } - points[pathName + 'Waist'] = newWaist - const pTemp = paths[pathName].split(points[pathName + 'Waist']) - if (pTemp.length != 2) { - log.info('couldNotReduceWaist') - console.log('couldNotReduceWaist') - } - paths[pathName] = pTemp[1] - } + console.log(ci) - const CreateWaistPoint = (front) => { - const kneeTemp = points.middleCrossSeam.shiftFractionTowards( - points.middleKnee, - options.crotchToKnee - ) - const angle = - 90 + - (front - ? options.crossSeamAngle * (m.waistBack / m.waist) - : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) - const crossSeam = front ? m.crossSeamFront : m.crossSeamBack - var kneeToWaist = m.waistToKnee - var ratio = 1 - var waist = kneeTemp.shift(angle, kneeToWaist * ratio) - const crossSeamCp = points.middleCrossSeam.shiftFractionTowards( - utils.beamIntersectsY(kneeTemp, waist, points.middleCrossSeam.y), - options.crotchPointsCP - ) + let dx = c1.dx(c2) + console.log({dx:dx}) + let dy = c1.dy(c2) + console.log({dy:dy}) + let dist = c1.dist(c2) + console.log({dist:dist}) + // Check for edge cases + console.log({pf1:parseFloat(r1),pf2:parseFloat(r2)}) + console.log({pfa:parseFloat(r1)+parseFloat(r2),pfb:parseFloat(r1)-parseFloat(r2)}) + console.log({g:dist > parseFloat(r1)+parseFloat(r2)}) + console.log({l:dist < parseFloat(r1)-parseFloat(r2)}) + if (dist > parseFloat(r1) + parseFloat(r2)) return false // Circles do not intersect + console.log({x:(dist < parseFloat(r2) - parseFloat(r1))}) + if (dist < Math.abs(parseFloat(r2) - parseFloat(r1))) return false // One circle is contained in the other + if (dist === 0 && r1 === r2) return false // Two circles are identical + let chorddistance = (Math.pow(r1, 2) - Math.pow(r2, 2) + Math.pow(dist, 2)) / (2 * dist) + console.log({chorddistance:chorddistance}) + + console.log({m1:Math.pow(r1, 2),m2:Math.pow(chorddistance, 2)}) + let halfchordlength = Math.sqrt(Math.abs(Math.pow(r1, 2) - Math.pow(chorddistance, 2))) + console.log({halfchordlength:halfchordlength}) + let chordmidpointx = c1.x + (chorddistance * dx) / dist + let chordmidpointy = c1.y + (chorddistance * dy) / dist + let i1 = new Point( + chordmidpointx + (halfchordlength * dy) / dist, + chordmidpointy - (halfchordlength * dx) / dist + ) + let i2 = new Point( + chordmidpointx - (halfchordlength * dy) / dist, + chordmidpointy + (halfchordlength * dx) / dist + ) + console.log({i1:i1,i2:i2}) - var waistCp - var diff, - iter = 0 - do { - waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) - waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) + points.c1 = c1.clone().addCircle(r1) + points.c2 = c2.clone().addCircle(r2) - const crossSeamPath = new Path() - .move(points.middleCrossSeam) - .curve(crossSeamCp, waistCp, waist) + if(ci[0].x !== NaN ) {points.i0 = i1.clone()} + if(ci[1].x !== NaN ) {points.i1 = i2.clone()} - diff = crossSeam - crossSeamPath.length() - ratio = crossSeam / crossSeamPath.length() - } while (++iter < 100 && (diff > 1 || diff < -1)) - if (iter >= 100) { - log.error('Too many iterations trying to make it fit!') - } - - if (front) { - points.frontWaist = waist.clone() - points.frontWaistCp = waistCp.clone() - points.frontCrossSeamCp = crossSeamCp.clone() - } else { - points.backWaist = waist.clone() - points.backWaistCp = waistCp.clone() - points.backCrossSeamCp = crossSeamCp.clone() - } - } - - const CreateSidePoints = ( - prefix, - postfix, - names, - ratio, - ratioFixed, - ease, - distanceCompensation - ) => { - var measurement, - width, - lastGood = 0 - for (var i = 0; i < names.length; i++) { - var distance = - m['waistTo' + names[lastGood]] - - (m['waistTo' + names[i]] === undefined ? 0 : m['waistTo' + names[i]]) - switch (names[i]) { - case 'UpperLeg': - measurement = m['upperLeg'] - const intersect = utils.beamIntersectsCurve( - points[prefix + names[i]], - points[prefix + names[i]].shift(prefix == 'front' ? 180 : 0, ratioFixed * 100), - points.middleCrossSeam, - points[prefix + 'CrossSeamCp'], - points[prefix + 'WaistCp'], - points[prefix + 'Waist'] - ) - console.log({ prefix: prefix, name: names[i] }) - console.log({ intersect: intersect }) - console.log({ intersect: typeof intersect }) - console.log({ pins: JSON.parse(JSON.stringify(points)) }) - - if (false !== intersect) { - if (intersect.constructor === Array) { - measurement += intersect[0].dist(points[prefix + names[i]]) - } else { - measurement += intersect.dist(points[prefix + names[i]]) - } - } - break - case 'Waist': - measurement = prefix == 'front' ? m.waistFront : m.waistBack - case 'Seat': - measurement = prefix == 'front' ? m.seatFront : m.seatBack - distance *= distanceCompensation - break - default: - measurement = m[names[i].toLowerCase()] - } - measurement /= 2 - measurement *= ease - - width = measurement * ratio - - if (i == 0) { - points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( - prefix == 'front' ? 180 : 0, - measurement - width < ratioFixed ? width : measurement - ratioFixed - ) //.addCircle(3).addCircle(6).addCircle(9) - points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) - } else { - var ci = utils.circlesIntersect( - points[prefix + names[i]], - measurement - width < ratioFixed ? width : measurement - ratioFixed, - points[prefix + postfix + names[lastGood]], - distance - ) - - if (false !== ci) { - points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] //.addCircle(2).addCircle(4).addCircle(6) - lastGood = i - } else { - points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() //.addCircle(2).addCircle(4).addCircle(6) - - points[prefix + postfix + names[lastGood]] //.addCircle(distance) - points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) - // points[prefix + names[i]].addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) - } - } - } - } - - const SmoothPoints = (prefix, postfix, names, smoothness) => { - var adjust - for (var i = 0; i < names.length - 2; i++) { - adjust = false - if (prefix == 'front') { - adjust = - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) > - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - } else { - adjust = - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) < - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - } - if (adjust) { - console.log({ prefix: prefix, postfix: postfix, smooth: names[i + 1] }) - const angleDiff = - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) - - points[prefix + postfix + names[i + 1]] = points[prefix + postfix + names[i]].shift( - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) + - smoothness * angleDiff, - points[prefix + postfix + names[i]].dist(points[prefix + postfix + names[i + 1]]) - ) - } - } - } + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + return part +*/ const hideThis = false - const m = measurements const inseam = - m.inseam > m.waistToFloor - m.waistToUpperLeg ? m.waistToFloor - m.waistToUpperLeg : m.inseam - const crotchOffset = m.waistToFloor - inseam - const waistReduction = m.waistToHips * options.waistReduction - const waistFrontBackRatio = m.waistBack / m.waist + measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg + ? measurements.waistToFloor - measurements.waistToUpperLeg + : measurements.inseam + const crotchOffset = measurements.waistToFloor - inseam + const waistLowering = measurements.waistToHips * options.waistlowering + const waistReduction = options.waistband ? measurements.waist * options.waistreduction : 0 + const waistbandSize = options.waistband + ? measurements.waistToHips * + (options.waistlowering + options.waistbandsize > 1.5 + ? 1.5 - options.waistlowering + : options.waistbandsize) + : 0 + const waistFrontBackRatio = measurements.waistBack / measurements.waist const sideRatio = 1 - options.sidePanel // const sideRatio = 3 / 5 const ease = options.ease + 1 - const waistToAnkle = m.waistToFloor - m.heel / Math.PI + const waistToAnkle = measurements.waistToFloor - measurements.heel / Math.PI - m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI - const sideFixed = (((m.waist - m.waistBack) * ease) / 2) * sideRatio + store.set('waistbandSize', waistbandSize) + + measurements['waistToAnkle'] = measurements.waistToFloor - measurements.heel / Math.PI + const sideFixed = (((measurements.waist - measurements.waistBack) * ease) / 2) * sideRatio points.middleWaist = new Point(0, 0) - points.middleHips = points.middleWaist.shift(270, m.waistToHips) - points.middleSeat = points.middleWaist.shift(270, m.waistToSeat) + points.middleHips = points.middleWaist.shift(270, measurements.waistToHips) + points.middleSeat = points.middleWaist.shift(270, measurements.waistToSeat) points.frontCrossSeam = points.backCrossSeam = points.middleCrossSeam = @@ -262,11 +386,11 @@ export const points = { points.frontUpperLeg = points.backUpperLeg = points.middleUpperLeg = - points.middleWaist.shift(270, m.waistToUpperLeg) + points.middleWaist.shift(270, measurements.waistToUpperLeg) points.frontKnee = points.backKnee = points.middleKnee = - points.middleWaist.shift(270, m.waistToKnee) + points.middleWaist.shift(270, measurements.waistToKnee) points.frontAnkle = points.backAnkle = points.middleAnkle = @@ -274,12 +398,12 @@ export const points = { points.frontFloor = points.backFloor = points.middleFloor = - points.middleWaist.shift(270, m.waistToFloor) + points.middleWaist.shift(270, measurements.waistToFloor) - CreateWaistPoint(true) - CreateWaistPoint(false) + createWaistPoint(options, measurements, Path, points, utils, true) + createWaistPoint(options, measurements, Path, points, utils, false) - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + // console.log({ pionts: JSON.parse(JSON.stringify(points)) }) const frontCrossSeam = new Path() .move(points.frontWaist) @@ -289,36 +413,78 @@ export const points = { .curve(points.backWaistCp, points.backCrossSeamCp, points.middleCrossSeam) points.frontSeat = frontCrossSeam.shiftAlong( - m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg) * 0.8 + measurements.waistToSeat * (measurements.crossSeamFront / measurements.waistToUpperLeg) * 0.8 ) points.frontHips = frontCrossSeam.shiftAlong( - m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg) + measurements.waistToHips * (measurements.crossSeamFront / measurements.waistToUpperLeg) ) - points.backSeat = backCrossSeam.shiftAlong(m.waistToSeat * (m.waistToSeat / m.waistToUpperLeg)) - points.backHips = backCrossSeam.shiftAlong(m.waistToHips * (m.waistToSeat / m.waistToUpperLeg)) + points.backSeat = backCrossSeam.shiftAlong( + measurements.waistToSeat * (measurements.waistToSeat / measurements.waistToUpperLeg) + ) + points.backHips = backCrossSeam.shiftAlong( + measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) + ) ;['front', 'back'].forEach((prefix) => { - CreateSidePoints( + createSidePoints( + measurements, + points, + utils, prefix, 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], 0, 0.1, ease, + waistReduction, 1 ) + points[prefix + 'SideWaistband'] = points[prefix + 'SideWaist'].clone() }) + console.log({ pionts: JSON.parse(JSON.stringify(points)) }) + + // return part + console.log({ wb1: points.backSideWaist }) ;['front', 'back'].forEach((prefix) => { - CreateSidePoints( - prefix, - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - sideRatio, - sideFixed, - ease, - (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / - (m.waistToFloor - m.heel / Math.PI) - ) + ;['Ankle', 'Knee', 'UpperLeg', 'Seat'].forEach((point) => { + const n = point == 'UpperLeg' ? 'upperLeg' : point.toLowerCase() + const m = measurements[n] * ease * (point == 'Seat' ? 0.25 : 0.5) + // console.log({n:prefix+point,m:m,d:points[prefix+'Side' +point].dist(points[prefix+point])-m}) + }) + }) + points.middleWaistband = points.middleWaist.clone() + ;['front', 'back'].forEach((prefix) => { + if (options.fixedsidepanel) { + createSidePoints( + measurements, + points, + utils, + prefix, + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + sideFixed, + ease, + waistReduction, + (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / + (measurements.waistToFloor - measurements.heel / Math.PI) + ) + } else { + createSidePoints( + measurements, + points, + utils, + prefix, + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + sideRatio, + sideFixed, + ease, + waistReduction, + (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / + (measurements.waistToFloor - measurements.heel / Math.PI) + ) + } + points[prefix + 'SplitWaistband'] = points[prefix + 'SplitWaist'].clone() }) points.backHipsCp1 = points.backWaistCp.clone() @@ -351,22 +517,42 @@ export const points = { .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) .setHidden(hideThis) - SmoothPoints('front', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) - SmoothPoints( + smoothPoints( + points, + 'front', + 'Side', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + options.smoothing + ) + smoothPoints( + points, 'front', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing ) - SmoothPoints('back', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) - SmoothPoints('back', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing) + smoothPoints( + points, + 'back', + 'Side', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + options.smoothing + ) + smoothPoints( + points, + 'back', + 'Split', + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + options.smoothing + ) + console.log({ wb2: points.backSideWaist }) - console.log({ pins: JSON.parse(JSON.stringify(points)) }) + // console.log({ pins: JSON.parse(JSON.stringify(points)) }) paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split'].forEach((type) => { - CreateControlPoints([ + createControlPoints(points, 3, [ prefix + type + 'Waist', prefix + type + 'Seat', prefix + type + 'UpperLeg', @@ -377,7 +563,7 @@ export const points = { }) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split'].forEach((type) => { - CreatePath(prefix + type, [ + createPath(paths, Path, points, prefix + type, [ prefix + type + 'Waist', prefix + type + 'Seat', prefix + type + 'UpperLeg', @@ -386,17 +572,21 @@ export const points = { ]).setHidden(hideThis) }) }) - console.log({ phats: JSON.parse(JSON.stringify(paths)) }) + console.log({ wb3: points.backSideWaist }) + + // console.log({ phats: JSON.parse(JSON.stringify(paths)) }) + console.log({ points: JSON.parse(JSON.stringify(points)) }) ;['front', 'back'].forEach((prefix) => { - ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + console.log({ n: prefix + 'Side' + name }) points[prefix + 'Panel' + name] = points['middle' + name].shift( prefix == 'front' ? 180 : 0, points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) - ) //.addCircle(4) + ) }) }) ;['front', 'back'].forEach((prefix) => { - CreateControlPoints([ + createControlPoints(points, 3, [ prefix + 'Panel' + 'Waist', prefix + 'Panel' + 'Seat', prefix + 'Panel' + 'UpperLeg', @@ -405,7 +595,7 @@ export const points = { ]) }) ;['front', 'back'].forEach((prefix) => { - CreatePath(prefix + 'Panel', [ + createPath(paths, Path, points, prefix + 'Panel', [ prefix + 'Panel' + 'Waist', prefix + 'Panel' + 'Seat', prefix + 'Panel' + 'UpperLeg', @@ -413,19 +603,20 @@ export const points = { prefix + 'Panel' + 'Ankle', ]).setHidden(hideThis) }) + console.log({ wb4: points.backSideWaist }) while (Math.abs(paths.frontSplit.length() - paths.frontPanel.length()) > 1) { ;['front', 'back'].forEach((prefix) => { const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] - for (var i = 0; i < names.length - 1; i++) { + for (let i = 0; i < names.length - 1; i++) { points[prefix + 'Panel' + names[i]] = points[ prefix + 'Panel' + names[i + 1] ].shiftFractionTowards(points[prefix + 'Panel' + names[i]], diff) } }) ;['front', 'back'].forEach((prefix) => { - CreateControlPoints([ + createControlPoints(points, 3, [ prefix + 'Panel' + 'Waist', prefix + 'Panel' + 'Seat', prefix + 'Panel' + 'UpperLeg', @@ -434,7 +625,7 @@ export const points = { ]) }) ;['front', 'back'].forEach((prefix) => { - CreatePath(prefix + 'Panel', [ + createPath(paths, Path, points, prefix + 'Panel', [ prefix + 'Panel' + 'Waist', prefix + 'Panel' + 'Seat', prefix + 'Panel' + 'UpperLeg', @@ -443,21 +634,24 @@ export const points = { ]).setHidden(hideThis) }) } - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + console.log({ wb5: points.backSideWaist }) + // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) if (options.length < 1) { - const length = (1 - options.length) * (inseam - (m.waistToFloor - waistToAnkle)) + const length = (1 - options.length) * (inseam - (measurements.waistToFloor - waistToAnkle)) // console.log({i:inseam,wa:waistToAnkle,iw:(inseam/waistToAnkle),r:lengthRatio}) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { - console.log({ - prefix: prefix, - type: type, - path: paths[prefix + type], - r: paths[prefix + type].reverse(), - l: length, - pl: paths[prefix + type].reverse().length(), - }) + // console.log({ + // prefix: prefix, + // type: type, + // path: paths[prefix + type], + // r: paths[prefix + type].reverse(), + // l: length, + // pl: paths[prefix + type].reverse().length(), + // }) + // console.log({ points: JSON.parse(JSON.stringify(points)) }) + // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) paths[prefix + type] = paths[prefix + type] .split(points[prefix + type + 'Hem'])[0] @@ -471,26 +665,71 @@ export const points = { }) }) } - + console.log({ wb6: points.backSideWaist }) ;['back'].forEach((prefix) => { ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - points[prefix + 'Split' + name] //.addCircle(3).addCircle(6) + points[prefix + 'Split' + name] }) }) - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) - - ReduceWaist('middle') + // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) + lowerWaist(paths, Path, points, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { - ReduceWaist(prefix + type) + lowerWaist(paths, Path, points, waistLowering, prefix + type, 'Waist') }) - ReduceWaist(prefix) + lowerWaist(paths, Path, points, waistLowering, prefix, 'Waist') }) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + lowerWaist(paths, Path, points, waistbandSize, prefix + type, 'Waistband') + }) + lowerWaist(paths, Path, points, waistbandSize, prefix, 'Waistband') + }) + + console.log({ wb7: points.backSideWaist }) + // Lower the back a little more to get a V-shape in the back + lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') + console.log({ wb8: points.backSideWaist }) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + points[prefix + type + name] + }) + points[prefix + type + 'Waistband'] + }) + points[prefix + 'Waist'] + points[prefix + 'Waistband'] + }) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split', 'Panel'].forEach((type) => { + ;['Seat', 'UpperLeg', 'Knee'].forEach((name) => { + points[prefix + type + name + 'Cp1'] + points[prefix + type + name + 'Cp2'] + }) + }) + }) + console.log({ wb9: points.backSideWaist }) + + points.middleWaistband + points.middleWaist console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) console.log({ pihts: JSON.parse(JSON.stringify(points)) }) + store.set( + 'waistLength', + points.backWaist.dist(points.backSideWaist) + points.frontWaist.dist(points.frontSideWaist) + ) + store.set( + 'waistbandLength', + points.backWaistband.dist(points.backSideWaistband) + + points.frontWaistband.dist(points.frontSideWaistband) + ) + + // paths.back.unhide() + // paths.middle.unhide() + return part.setHidden(hideThis) }, } diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs new file mode 100644 index 00000000000..b454d238db6 --- /dev/null +++ b/designs/lumina/src/waistband.mjs @@ -0,0 +1,146 @@ +import { cbqc } from '@freesewing/core' +import { points } from './points.mjs' + +export const waistband = { + name: 'lumina.waistband', + after: points, + draft: ({ + store, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + options, + measurements, + macro, + log, + utils, + part, + }) => { + if (false === options.waistband) { + return part.hide() + } + + const waistLength = store.get('waistLength') + const waistbandLength = store.get('waistbandLength') + const waistbandSize = store.get('waistbandSize') + if (waistbandSize <= 0) { + return part.hide() + } + + console.log({ store: JSON.parse(JSON.stringify(store)) }) + + points.origin = new Point(0, 0) //.addCircle(3) + + const angleRad = Math.asin((Math.abs(waistbandLength - waistLength) * 0.5) / waistbandSize) + const radius = (waistLength * 0.5) / Math.sin(angleRad) + const baseAngle = waistLength < waistbandLength ? 270 : 90 + console.log({ baseAngle: baseAngle }) + let angle = utils.rad2deg(angleRad) + + let diff = 0 + let iter = 0 + let segments, cpDistance + do { + angle += diff * 0.025 + segments = 360 / angle + + cpDistance = (4 / 3) * Math.tan(Math.PI / (segments * 2)) * radius + + points.waistFront = points.origin.shift(baseAngle + angle, radius).addCircle(2) + points.waistBack = points.origin.shift(baseAngle - angle, radius).addCircle(2) + points.waistFrontCP = points.waistFront.shift(baseAngle - 90 + angle, cpDistance).addCircle(5) + points.waistBackCP = points.waistBack.shift(baseAngle + 90 - angle, cpDistance).addCircle(5) + + paths.waist = new Path() + .move(points.waistBack) + .curve(points.waistBackCP, points.waistFrontCP, points.waistFront) + + diff = waistLength - paths.waist.length() + console.log({ i: iter, d: diff, a: angle }) + } while (iter++ < 100 && (diff < -0.5 || diff > 0.5)) + if (iter >= 100) { + log.info('lumina:couldNoFitWaistband') + return part.hide() + } + + points.waistbandFront = points.waistFront.shift(270 + angle, waistbandSize) + points.waistbandBack = points.waistBack.shift(270 - angle, waistbandSize) + + cpDistance = + (4 / 3) * + Math.tan(Math.PI / (segments * 2)) * + (radius + waistbandSize * (waistLength < waistbandLength ? 1 : -1)) + points.waistbandFrontCP = points.waistbandFront + .shift(baseAngle - 90 + angle, cpDistance) + .addCircle(5) + points.waistbandBackCP = points.waistbandBack + .shift(baseAngle + 90 - angle, cpDistance) + .addCircle(5) + + paths.waistband = new Path() + .move(points.waistbandBack) + .curve(points.waistbandBackCP, points.waistbandFrontCP, points.waistbandFront) + + diff = waistbandLength - paths.waistband.length() + console.log({ d: diff, a: angle }) + console.log({ + wl: waistLength, + wpl: paths.waist.length(), + wbl: waistbandLength, + wbpl: paths.waistband.length(), + }) + + return part + + points.frontTop = new Point(0, 0).addCircle(3) + points.frontBottom = points.frontTop.shift(270, waistbandSize).addCircle(5) + + let rotateAngle = 180 * 5 + do { + points.backTop = points.frontTop.shift(rotateAngle * 0.2, waistLength).addCircle(7) + points.backBottom = points.frontBottom.shift(rotateAngle * 0.2, waistbandLength).addCircle(9) + rotateAngle++ + + const angle = points.backTop.angle(points.backBottom) + points.backTopCp = points.backTop.shift(angle + 90, waistLength * cbqc).addCircle(10) + points.backBottomCp = points.backBottom.shift(angle + 90, waistbandLength * cbqc) + } while (points.backTopCp.y < 0) + + diff = 0 + iter = 0 + const direction = waistLength > waistbandLength ? -1 : 1 + + console.log({ wl: waistLength, wbl: waistbandLength }) + do { + points.frontTopCp = points.frontTop.shift(180, waistLength * cbqc) + points.frontBottomCp = points.frontBottom.shift(180, waistbandLength * cbqc) + + const angle = points.backTop.angle(points.backBottom) + + points.backTop = points.backTop.shift(angle, diff) + points.backBottom = points.backBottom.shift(angle, diff) + + points.backTopCp = points.backTop.shift(angle + 90, waistLength * cbqc).addCircle(10) + points.backBottomCp = points.backBottom.shift(angle + 90, waistbandLength * cbqc) + + paths.top = new Path() + .move(points.frontTop) + .curve(points.frontTopCp, points.backTopCp, points.backTop) + paths.bottom = new Path() + .move(points.frontBottom) + .curve(points.frontBottomCp, points.backBottomCp, points.backBottom) + + diff = paths.top.length() - waistLength + if (diff > -1 && diff < 1) { + diff = paths.bottom.length() - waistbandLength + } + + console.log({ i: iter, d: diff, t: paths.top.length(), b: paths.bottom.length() }) + } while (iter++ < 1 && (diff < -1 || diff > 1)) + return part + }, +} diff --git a/designs/lumira/src/shape.mjs b/designs/lumira/src/shape.mjs index a3ff366da28..15aa0c06812 100644 --- a/designs/lumira/src/shape.mjs +++ b/designs/lumira/src/shape.mjs @@ -20,16 +20,17 @@ export const controlPoints = (p1, p2, p3, cpDistanceDivider) => { } else { angle = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 } - return { - cp1: - p3 !== undefined - ? p2.shift(p2.angle(p3) - angle + 90, p2.dist(p3) / cpDistanceDivider) - : null, - cp2: - p1 !== undefined - ? p2.shift(p2.angle(p1) + angle - 90, p2.dist(p1) / cpDistanceDivider) - : null, + let cp1 = + p3 !== undefined ? p2.shift(p2.angle(p3) - angle + 90, p2.dist(p3) / cpDistanceDivider) : null + let cp2 = + p1 !== undefined ? p2.shift(p2.angle(p1) + angle - 90, p2.dist(p1) / cpDistanceDivider) : null + if (p1 !== undefined && p2.sitsRoughlyOn(p1)) { + return { cp1: p1.clone(), cp2: cp2 } } + if (p3 !== undefined && p2.sitsRoughlyOn(p3)) { + return { cp1: cp1.clone(), cp2: p3.clone() } + } + return { cp1: cp1, cp2: cp2 } } export const createControlPoints = (points, cpDistanceDivider, names) => { for (let i = 0; i < names.length; i++) { From 6748a765ecc325f218a8d35594521779f4585d24 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 26 Dec 2023 02:08:29 +0000 Subject: [PATCH 0024/1313] fix for waistband --- designs/lumina/src/leg.mjs | 6 ++++ designs/lumina/src/points.mjs | 54 +++++++++++++++++++++++++++++------ 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index ddb67c722e2..4fd059c4c69 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -7,11 +7,17 @@ export const leg = { paths.seam = new Path() .move(points.frontSplitHem) .join(paths.backSplit.reverse()) + .join(paths.backWaistband.reverse()) .join(paths.back) .join(paths.front.reverse()) + .join(paths.frontWaistband) .join(paths.frontSplit) .close() + // paths.backSplit.addClass('lining').unhide() + // paths.back.addClass('note').unhide() + // paths.front.addClass('mark').unhide() + // paths.frontSplit.addClass('contrast').unhide() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') return part diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index fd027aa9ab8..30a1e5eeeb8 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -269,6 +269,7 @@ export const points = { ], options: { waistband: { bool: true, menu: 'style' }, + Lowerwaistbandback: { bool: true, menu: 'style' }, ease: { pct: -8, min: -25, max: 10, menu: 'fit' }, length: { pct: 35, min: 10, max: 100, menu: 'fit' }, waistbandsize: { @@ -688,9 +689,6 @@ export const points = { }) console.log({ wb7: points.backSideWaist }) - // Lower the back a little more to get a V-shape in the back - lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') - console.log({ wb8: points.backSideWaist }) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { @@ -721,14 +719,54 @@ export const points = { 'waistLength', points.backWaist.dist(points.backSideWaist) + points.frontWaist.dist(points.frontSideWaist) ) - store.set( - 'waistbandLength', - points.backWaistband.dist(points.backSideWaistband) + - points.frontWaistband.dist(points.frontSideWaistband) - ) // paths.back.unhide() // paths.middle.unhide() + ;['front', 'back'].forEach((prefix) => { + const waistbandLength = points[prefix + 'Waistband'].dist(points[prefix + 'SplitWaistband']) + const direction = prefix == 'front' ? 90 : -90 + let angle = paths[prefix].shiftAlong(1).angle(points[prefix + 'Waistband']) + points[prefix + 'WaistbandCp'] = points[prefix + 'Waistband'].shift( + angle + direction, + waistbandLength * 0.35 + ) + angle = paths[prefix + 'Split'].shiftAlong(1).angle(points[prefix + 'SplitWaistband']) + points[prefix + 'SplitWaistbandCp'] = points[prefix + 'SplitWaistband'].shift( + angle + direction * -1, + waistbandLength * 0.35 + ) + paths[prefix + 'Waistband'] = new Path() + .move(points[prefix + 'Waistband']) + .curve( + points[prefix + 'WaistbandCp'], + points[prefix + 'SplitWaistbandCp'], + points[prefix + 'SplitWaistband'] + ) + .hide() + }) + + if (options.Lowerwaistbandback) { + // Lower the back a little more to get a V-shape in the back + lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') + console.log({ wb8: points.backSideWaist }) + paths.backWaistband = new Path() + .move(points.backWaistband) + ._curve(points.backSplitWaistbandCp, points.backSplitWaistband) + .hide() + } + + store.set( + 'waistbandLength', + paths.backWaistband.length() + + paths.frontWaistband.length() + + points.frontPanelWaistband.dist(points.backPanelWaistband) + ) + console.log({ + waistbandLengthBack: paths.backWaistband.length(), + waistbandLengthFront: paths.frontWaistband.length(), + }) + + console.log({ back: paths.back, front: paths.front }) return part.setHidden(hideThis) }, From b2ee0e23fc5c36f83e27dab036044f3f99526b06 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 26 Dec 2023 17:36:18 +0000 Subject: [PATCH 0025/1313] More waistband --- designs/lumina/src/points.mjs | 28 +++++++---- designs/lumina/src/waistband.mjs | 82 ++++++++++++++++---------------- 2 files changed, 58 insertions(+), 52 deletions(-) diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index 30a1e5eeeb8..439df0b6114 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -373,6 +373,7 @@ export const points = { const waistToAnkle = measurements.waistToFloor - measurements.heel / Math.PI store.set('waistbandSize', waistbandSize) + store.set('waistLowering', waistLowering) measurements['waistToAnkle'] = measurements.waistToFloor - measurements.heel / Math.PI const sideFixed = (((measurements.waist - measurements.waistBack) * ease) / 2) * sideRatio @@ -423,9 +424,11 @@ export const points = { points.backSeat = backCrossSeam.shiftAlong( measurements.waistToSeat * (measurements.waistToSeat / measurements.waistToUpperLeg) ) - points.backHips = backCrossSeam.shiftAlong( - measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) - ) + points.backHips = backCrossSeam + .shiftAlong( + measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) + ) + .addCircle(4) ;['front', 'back'].forEach((prefix) => { createSidePoints( measurements, @@ -745,9 +748,17 @@ export const points = { .hide() }) + store.set( + 'waistbandLength', + paths.backWaistband.length() + + paths.frontWaistband.length() + + points.frontPanelWaistband.dist(points.backPanelWaistband) + ) + if (options.Lowerwaistbandback) { // Lower the back a little more to get a V-shape in the back - lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') + // lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') + lowerWaist(paths, Path, points, (waistLowering + waistbandSize) * 0.5, 'back', 'Waistband') console.log({ wb8: points.backSideWaist }) paths.backWaistband = new Path() .move(points.backWaistband) @@ -755,12 +766,9 @@ export const points = { .hide() } - store.set( - 'waistbandLength', - paths.backWaistband.length() + - paths.frontWaistband.length() + - points.frontPanelWaistband.dist(points.backPanelWaistband) - ) + store.set('waistbandBackLength', paths.backWaistband.length()) + store.set('waistbandFrontLength', paths.frontWaistband.length()) + store.set('waistbandPanelLength', points.frontPanelWaistband.dist(points.backPanelWaistband)) console.log({ waistbandLengthBack: paths.backWaistband.length(), waistbandLengthFront: paths.frontWaistband.length(), diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index b454d238db6..6fd81f1d972 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -25,8 +25,12 @@ export const waistband = { } const waistLength = store.get('waistLength') + const waistbandBackLength = store.get('waistbandBackLength') + const waistbandFrontLength = store.get('waistbandFrontLength') + const waistbandPanelLength = store.get('waistbandPanelLength') const waistbandLength = store.get('waistbandLength') const waistbandSize = store.get('waistbandSize') + const waistLowering = store.get('waistLowering') if (waistbandSize <= 0) { return part.hide() } @@ -94,53 +98,47 @@ export const waistband = { wbpl: paths.waistband.length(), }) - return part + const rWaistband = paths.waistband.reverse() + points.snippetPanelBack = rWaistband.shiftAlong(waistbandFrontLength + waistbandPanelLength) + snippets.panelBack = new Snippet('notch', points.snippetPanelBack) + points.snippetPanelFront = rWaistband.shiftAlong(waistbandFrontLength) + snippets.panelFront = new Snippet('notch', points.snippetPanelFront) - points.frontTop = new Point(0, 0).addCircle(3) - points.frontBottom = points.frontTop.shift(270, waistbandSize).addCircle(5) + if (options.Lowerwaistbandback) { + paths.waistband = rWaistband.split(points.snippetPanelBack)[0] + points.waistbandBackPanel = points.snippetPanelBack.copy() + points.waistbandBackPanelCP = points.snippetPanelFront.shiftFractionTowards( + points.waistbandBackPanel, + 1.3 + ) + points.waistbandBack = points.waistBack + .shiftOutwards(points.waistbandBack, (waistLowering + waistbandSize) * 0.5) + .addCircle(3) + paths.waistband = new Path() + .move(points.waistbandBack) + ._curve(points.waistbandBackPanelCP, points.waistbandBackPanel) + .join(paths.waistband.reverse()) + } - let rotateAngle = 180 * 5 - do { - points.backTop = points.frontTop.shift(rotateAngle * 0.2, waistLength).addCircle(7) - points.backBottom = points.frontBottom.shift(rotateAngle * 0.2, waistbandLength).addCircle(9) - rotateAngle++ + paths.seamSA = new Path() + .move(points.waistFront) + .join(paths.waist.reverse()) + .line(points.waistbandBack) + .join(paths.waistband) + .hide() - const angle = points.backTop.angle(points.backBottom) - points.backTopCp = points.backTop.shift(angle + 90, waistLength * cbqc).addCircle(10) - points.backBottomCp = points.backBottom.shift(angle + 90, waistbandLength * cbqc) - } while (points.backTopCp.y < 0) + paths.seam = new Path().move(points.waistbandFront).line(points.waistFront).join(paths.seamSA) - diff = 0 - iter = 0 - const direction = waistLength > waistbandLength ? -1 : 1 + if (sa) { + const seamSA = paths.seamSA.offset(sa) + paths.sa = new Path() + .move(points.waistFront) + .line(seamSA.start()) + .join(seamSA) + .line(points.waistbandFront) + .attr('class', 'fabric sa') + } - console.log({ wl: waistLength, wbl: waistbandLength }) - do { - points.frontTopCp = points.frontTop.shift(180, waistLength * cbqc) - points.frontBottomCp = points.frontBottom.shift(180, waistbandLength * cbqc) - - const angle = points.backTop.angle(points.backBottom) - - points.backTop = points.backTop.shift(angle, diff) - points.backBottom = points.backBottom.shift(angle, diff) - - points.backTopCp = points.backTop.shift(angle + 90, waistLength * cbqc).addCircle(10) - points.backBottomCp = points.backBottom.shift(angle + 90, waistbandLength * cbqc) - - paths.top = new Path() - .move(points.frontTop) - .curve(points.frontTopCp, points.backTopCp, points.backTop) - paths.bottom = new Path() - .move(points.frontBottom) - .curve(points.frontBottomCp, points.backBottomCp, points.backBottom) - - diff = paths.top.length() - waistLength - if (diff > -1 && diff < 1) { - diff = paths.bottom.length() - waistbandLength - } - - console.log({ i: iter, d: diff, t: paths.top.length(), b: paths.bottom.length() }) - } while (iter++ < 1 && (diff < -1 || diff > 1)) return part }, } From 54dd8185f12cc859c0b12598e993c3b415e3ba9c Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sat, 30 Dec 2023 18:19:31 +0000 Subject: [PATCH 0026/1313] remove debug --- designs/lumina/src/index.mjs | 2 + designs/lumina/src/points.mjs | 257 ++++++------------------------- designs/lumina/src/waistband.mjs | 2 +- 3 files changed, 49 insertions(+), 212 deletions(-) diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 222f564d730..1077513304f 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -20,6 +20,8 @@ const Lumina = new Design({ // Named exports export { i18n, Lumina, /*zpoints, ipoints,*/ points, panel, leg, waistband } +// const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] + // http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D // http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22length%22%3A1%2C%22waistreduction%22%3A0.1%2C%22waistLowering%22%3A0.012%2C%22waistlowering%22%3A0.181%7D%2C%22units%22%3A%22metric%22%7D diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index 439df0b6114..bb558781c85 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -1,32 +1,7 @@ import { pctBasedOn } from '@freesewing/core' import { extendPath, createControlPoints } from '@freesewing/lumira' -const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { - console.log({ pins: JSON.parse(JSON.stringify(points)) }) - console.log({ pats: JSON.parse(JSON.stringify(paths)) }) - console.log({ - pn: pointName, - pan: pathName, - par: { path: paths[pathName], len: paths[pathName].length(), wr: waistLowering }, - }) - const newPath = extendPath(Path, paths[pathName], 100, 0) - const newWaist = newPath.shiftAlong(waistLowering + 100) - // console.log({newWaist:newWaist}) - // console.log({p:points[pathName + pointName]}) - // console.log({s:newWaist.sitsRoughlyOn(points[pathName + pointName])}) - if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { - return - } - points[pathName + pointName] = newWaist - const pTemp = newPath.split(points[pathName + pointName]) - if (pTemp.length != 2) { - log.info('lumina:couldNotLowerWaist') - // console.log('couldNotLowerWaist') - } - paths[pathName] = pTemp[1].hide() -} - -const createPath = (paths, Path, points, pathName, names) => { +export const createPath = (paths, Path, points, pathName, names) => { let i paths[pathName] = new Path() .move(points[names[0]]) @@ -39,6 +14,20 @@ const createPath = (paths, Path, points, pathName, names) => { return paths[pathName] } +const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { + const newPath = extendPath(Path, paths[pathName], 100, 0) + const newWaist = newPath.shiftAlong(waistLowering + 100) + if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { + return + } + points[pathName + pointName] = newWaist + const pTemp = newPath.split(points[pathName + pointName]) + if (pTemp.length != 2) { + log.info('lumina:couldNotLowerWaist') + } + paths[pathName] = pTemp[1].hide() +} + const createWaistPoint = (options, measurements, Path, points, utils, front) => { const kneeTemp = points.middleCrossSeam.shiftFractionTowards( points.middleKnee, @@ -118,10 +107,6 @@ const createSidePoints = ( points[prefix + 'WaistCp'], points[prefix + 'Waist'] ) - // console.log({ prefix: prefix, name: names[i] }) - // console.log({ intersect: intersect }) - // console.log({ intersect: typeof intersect }) - // console.log({ pins: JSON.parse(JSON.stringify(points)) }) if (false !== intersect) { if (intersect.constructor === Array) { @@ -148,74 +133,27 @@ const createSidePoints = ( width = measurement * ratio - // const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] - console.log({ - p: prefix + postfix, - n: names[i], - m: measurement, - w: waistReduction, - lg: lastGood, - }) if (i == 0) { points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( prefix == 'front' ? 180 : 0, measurement - width < ratioFixed ? width : measurement - ratioFixed ) - console.log({ - pr: points[prefix + names[i]].shift( - prefix == 'front' ? 180 : 0, - measurement - width < ratioFixed ? width : measurement - ratioFixed - ), - a: prefix == 'front' ? 180 : 0, - d: measurement - width < ratioFixed ? width : measurement - ratioFixed, - }) } else { const radius = measurement - width < ratioFixed ? width : measurement - ratioFixed - // if( (radius > points[prefix + names[i]].dist(points[prefix + postfix + names[lastGood]]) +distance) || (radius < points[prefix + names[i]].dist(points[prefix + postfix + names[lastGood]]) -distance)){ - // points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]] - // lastGood = i - - // } else - { - // if(prefix == 'back') { - // points[prefix + names[i] +'Temp' +i] = points[prefix + names[i]].clone().addCircle(radius, classes[i]) - // points[prefix + postfix +names[i] +'Temp' +i] = points[prefix + postfix + names[lastGood]].clone().addCircle(distance, classes[i]) - // } - let ci = utils.circlesIntersect( - points[prefix + names[i]], - radius, - points[prefix + postfix + names[lastGood]], - distance - ) - // console.log({n1:prefix + names[i],n2:prefix + postfix + names[lastGood]}) - // console.log({p1:points[prefix + names[i]],r1:radius,p2:points[prefix + postfix + names[lastGood]],r2:distance}) - console.log({ ci: ci }) - if (false !== ci) { - points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] - console.log({ pp: points[prefix + postfix + names[i]], ppn: prefix + postfix + names[i] }) - lastGood = i - } else { - points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() - console.log({ - ppp: points[prefix + postfix + names[i]], - ppn: prefix + postfix + names[i], - }) - - // points[prefix + postfix + names[lastGood]] - // points[prefix + names[i]] - // points[prefix + names[i]].addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) - } + let ci = utils.circlesIntersect( + points[prefix + names[i]], + radius, + points[prefix + postfix + names[lastGood]], + distance + ) + if (false !== ci) { + points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] + lastGood = i + } else { + points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() } } - console.log({ - p: points[prefix + names[i]], - m: measurement, - w: width, - rf: ratioFixed, - pr: points[prefix + postfix + names[i]], - }) } - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) } const smoothPoints = (points, prefix, postfix, names, smoothness) => { @@ -232,7 +170,6 @@ const smoothPoints = (points, prefix, postfix, names, smoothness) => { points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) } if (adjust) { - // console.log({ prefix: prefix, postfix: postfix, smooth: names[i + 1] }) const angleDiff = points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) @@ -300,59 +237,6 @@ export const points = { crotchPointsCP: 2, }, draft: ({ measurements, options, Point, Path, points, paths, utils, store, part }) => { - /*const c1 = new Point(87.62444870107574, 154.32805978682666) - const c2 = new Point(260.759500228999, 267.90025949932897) - const r1 = 230, r2 = 20 - const ci = utils.circlesIntersect(c1,r1,c2,r2) - - - console.log(ci) - - let dx = c1.dx(c2) - console.log({dx:dx}) - let dy = c1.dy(c2) - console.log({dy:dy}) - let dist = c1.dist(c2) - console.log({dist:dist}) - // Check for edge cases - console.log({pf1:parseFloat(r1),pf2:parseFloat(r2)}) - console.log({pfa:parseFloat(r1)+parseFloat(r2),pfb:parseFloat(r1)-parseFloat(r2)}) - console.log({g:dist > parseFloat(r1)+parseFloat(r2)}) - console.log({l:dist < parseFloat(r1)-parseFloat(r2)}) - if (dist > parseFloat(r1) + parseFloat(r2)) return false // Circles do not intersect - console.log({x:(dist < parseFloat(r2) - parseFloat(r1))}) - if (dist < Math.abs(parseFloat(r2) - parseFloat(r1))) return false // One circle is contained in the other - if (dist === 0 && r1 === r2) return false // Two circles are identical - let chorddistance = (Math.pow(r1, 2) - Math.pow(r2, 2) + Math.pow(dist, 2)) / (2 * dist) - console.log({chorddistance:chorddistance}) - - console.log({m1:Math.pow(r1, 2),m2:Math.pow(chorddistance, 2)}) - let halfchordlength = Math.sqrt(Math.abs(Math.pow(r1, 2) - Math.pow(chorddistance, 2))) - console.log({halfchordlength:halfchordlength}) - let chordmidpointx = c1.x + (chorddistance * dx) / dist - let chordmidpointy = c1.y + (chorddistance * dy) / dist - let i1 = new Point( - chordmidpointx + (halfchordlength * dy) / dist, - chordmidpointy - (halfchordlength * dx) / dist - ) - let i2 = new Point( - chordmidpointx - (halfchordlength * dy) / dist, - chordmidpointy + (halfchordlength * dx) / dist - ) - console.log({i1:i1,i2:i2}) - - points.c1 = c1.clone().addCircle(r1) - points.c2 = c2.clone().addCircle(r2) - - if(ci[0].x !== NaN ) {points.i0 = i1.clone()} - if(ci[1].x !== NaN ) {points.i1 = i2.clone()} - - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) - - return part -*/ - const hideThis = false - const inseam = measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg ? measurements.waistToFloor - measurements.waistToUpperLeg @@ -405,8 +289,6 @@ export const points = { createWaistPoint(options, measurements, Path, points, utils, true) createWaistPoint(options, measurements, Path, points, utils, false) - // console.log({ pionts: JSON.parse(JSON.stringify(points)) }) - const frontCrossSeam = new Path() .move(points.frontWaist) .curve(points.frontWaistCp, points.frontCrossSeamCp, points.middleCrossSeam) @@ -424,11 +306,9 @@ export const points = { points.backSeat = backCrossSeam.shiftAlong( measurements.waistToSeat * (measurements.waistToSeat / measurements.waistToUpperLeg) ) - points.backHips = backCrossSeam - .shiftAlong( - measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) - ) - .addCircle(4) + points.backHips = backCrossSeam.shiftAlong( + measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) + ) ;['front', 'back'].forEach((prefix) => { createSidePoints( measurements, @@ -445,17 +325,15 @@ export const points = { ) points[prefix + 'SideWaistband'] = points[prefix + 'SideWaist'].clone() }) - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) - // return part - console.log({ wb1: points.backSideWaist }) - ;['front', 'back'].forEach((prefix) => { - ;['Ankle', 'Knee', 'UpperLeg', 'Seat'].forEach((point) => { - const n = point == 'UpperLeg' ? 'upperLeg' : point.toLowerCase() - const m = measurements[n] * ease * (point == 'Seat' ? 0.25 : 0.5) - // console.log({n:prefix+point,m:m,d:points[prefix+'Side' +point].dist(points[prefix+point])-m}) - }) - }) + // ;['front', 'back'].forEach((prefix) => { + // ;['Ankle', 'Knee', 'UpperLeg', 'Seat'].forEach((point) => { + // const n = point == 'UpperLeg' ? 'upperLeg' : point.toLowerCase() + // const m = measurements[n] * ease * (point == 'Seat' ? 0.25 : 0.5) + // // console.log({n:prefix+point,m:m,d:points[prefix+'Side' +point].dist(points[prefix+point])-m}) + // }) + // }) + points.middleWaistband = points.middleWaist.clone() ;['front', 'back'].forEach((prefix) => { if (options.fixedsidepanel) { @@ -514,12 +392,10 @@ export const points = { .move(points.frontWaist) .curve(points.frontWaistCp, points.frontHipsCp2, points.frontHips) .curve(points.frontHipsCp1, points.frontCrossSeamCp, points.middleCrossSeam) - .setHidden(hideThis) paths.back = new Path() .move(points.backWaist) .curve(points.backWaistCp, points.backHipsCp2, points.backHips) .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) - .setHidden(hideThis) smoothPoints( points, @@ -549,9 +425,6 @@ export const points = { ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], options.smoothing ) - console.log({ wb2: points.backSideWaist }) - - // console.log({ pins: JSON.parse(JSON.stringify(points)) }) paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() ;['front', 'back'].forEach((prefix) => { @@ -573,16 +446,14 @@ export const points = { prefix + type + 'UpperLeg', prefix + type + 'Knee', prefix + type + 'Ankle', - ]).setHidden(hideThis) + ]) }) }) - console.log({ wb3: points.backSideWaist }) - // console.log({ phats: JSON.parse(JSON.stringify(paths)) }) - console.log({ points: JSON.parse(JSON.stringify(points)) }) + // store.set('frontSplitLength',paths.frontSplit.length()) + // store.set('backSplitLength',paths.backSplit.length()) ;['front', 'back'].forEach((prefix) => { ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - console.log({ n: prefix + 'Side' + name }) points[prefix + 'Panel' + name] = points['middle' + name].shift( prefix == 'front' ? 180 : 0, points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) @@ -605,11 +476,11 @@ export const points = { prefix + 'Panel' + 'UpperLeg', prefix + 'Panel' + 'Knee', prefix + 'Panel' + 'Ankle', - ]).setHidden(hideThis) + ]) }) - console.log({ wb4: points.backSideWaist }) - while (Math.abs(paths.frontSplit.length() - paths.frontPanel.length()) > 1) { + const frontSplitlength = paths.frontSplit.length() + while (Math.abs(frontSplitlength - paths.frontPanel.length()) > 1) { ;['front', 'back'].forEach((prefix) => { const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] @@ -635,31 +506,16 @@ export const points = { prefix + 'Panel' + 'UpperLeg', prefix + 'Panel' + 'Knee', prefix + 'Panel' + 'Ankle', - ]).setHidden(hideThis) + ]) }) } - console.log({ wb5: points.backSideWaist }) - // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) if (options.length < 1) { const length = (1 - options.length) * (inseam - (measurements.waistToFloor - waistToAnkle)) - // console.log({i:inseam,wa:waistToAnkle,iw:(inseam/waistToAnkle),r:lengthRatio}) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { - // console.log({ - // prefix: prefix, - // type: type, - // path: paths[prefix + type], - // r: paths[prefix + type].reverse(), - // l: length, - // pl: paths[prefix + type].reverse().length(), - // }) - // console.log({ points: JSON.parse(JSON.stringify(points)) }) - // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) - paths[prefix + type] = paths[prefix + type] - .split(points[prefix + type + 'Hem'])[0] - .setHidden(hideThis) + paths[prefix + type] = paths[prefix + type].split(points[prefix + type + 'Hem'])[0] }) }) } else { @@ -669,14 +525,12 @@ export const points = { }) }) } - console.log({ wb6: points.backSideWaist }) ;['back'].forEach((prefix) => { ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { points[prefix + 'Split' + name] }) }) - // console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) lowerWaist(paths, Path, points, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { @@ -690,8 +544,6 @@ export const points = { }) lowerWaist(paths, Path, points, waistbandSize, prefix, 'Waistband') }) - - console.log({ wb7: points.backSideWaist }) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { @@ -710,21 +562,11 @@ export const points = { }) }) }) - console.log({ wb9: points.backSideWaist }) - - points.middleWaistband - points.middleWaist - - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) - console.log({ pihts: JSON.parse(JSON.stringify(points)) }) store.set( 'waistLength', points.backWaist.dist(points.backSideWaist) + points.frontWaist.dist(points.frontSideWaist) ) - - // paths.back.unhide() - // paths.middle.unhide() ;['front', 'back'].forEach((prefix) => { const waistbandLength = points[prefix + 'Waistband'].dist(points[prefix + 'SplitWaistband']) const direction = prefix == 'front' ? 90 : -90 @@ -759,7 +601,6 @@ export const points = { // Lower the back a little more to get a V-shape in the back // lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') lowerWaist(paths, Path, points, (waistLowering + waistbandSize) * 0.5, 'back', 'Waistband') - console.log({ wb8: points.backSideWaist }) paths.backWaistband = new Path() .move(points.backWaistband) ._curve(points.backSplitWaistbandCp, points.backSplitWaistband) @@ -769,14 +610,8 @@ export const points = { store.set('waistbandBackLength', paths.backWaistband.length()) store.set('waistbandFrontLength', paths.frontWaistband.length()) store.set('waistbandPanelLength', points.frontPanelWaistband.dist(points.backPanelWaistband)) - console.log({ - waistbandLengthBack: paths.backWaistband.length(), - waistbandLengthFront: paths.frontWaistband.length(), - }) - console.log({ back: paths.back, front: paths.front }) - - return part.setHidden(hideThis) + return part.hide() }, } diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 6fd81f1d972..e63c052c5cd 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -109,7 +109,7 @@ export const waistband = { points.waistbandBackPanel = points.snippetPanelBack.copy() points.waistbandBackPanelCP = points.snippetPanelFront.shiftFractionTowards( points.waistbandBackPanel, - 1.3 + 1.4 ) points.waistbandBack = points.waistBack .shiftOutwards(points.waistbandBack, (waistLowering + waistbandSize) * 0.5) From 0bdd604401a0eca232c870f8cac2e505f6120384 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 31 Dec 2023 00:49:36 +0000 Subject: [PATCH 0027/1313] Fixed panel width --- designs/lumina/src/points.mjs | 127 +++++++++++++++++-------------- designs/lumina/src/waistband.mjs | 9 --- 2 files changed, 70 insertions(+), 66 deletions(-) diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index bb558781c85..613c40ae8bd 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -15,6 +15,7 @@ export const createPath = (paths, Path, points, pathName, names) => { } const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { + console.log({ pn: pathName, p: paths[pathName] }) const newPath = extendPath(Path, paths[pathName], 100, 0) const newWaist = newPath.shiftAlong(waistLowering + 100) if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { @@ -76,7 +77,7 @@ const createWaistPoint = (options, measurements, Path, points, utils, front) => } } -const createSidePoints = ( +const createSidePoints = ({ measurements, points, utils, @@ -87,11 +88,22 @@ const createSidePoints = ( ratioFixed, ease, waistReduction, - distanceCompensation -) => { + distanceCompensation, + fixedSidePanel, +}) => { let measurement - let width + // let width let lastGood = 0 + console.log({ + prefix: prefix, + postfix: postfix, + ratio: ratio, + ratioFixed: ratioFixed, + ease: ease, + waistReduction: waistReduction, + distanceCompensation: distanceCompensation, + fixedSidePanel: fixedSidePanel, + }) for (let i = 0; i < names.length; i++) { let distance = measurements['waistTo' + names[lastGood]] - @@ -131,18 +143,28 @@ const createSidePoints = ( measurement /= 2 measurement *= ease - width = measurement * ratio - + const width = measurement * ratio + // const reduction = (measurement - width) < ratioFixed ? width : measurement - ratioFixed + const reduction = + ratio == 0 + ? measurement + : fixedSidePanel > 0 + ? width < measurement - fixedSidePanel + ? measurement - fixedSidePanel + : width + : width + // const reduction = ratio == 0 ? measurement : width + console.log({ i: i, p: prefix + postfix + names[i], f: fixedSidePanel }) + console.log({ m: measurement, w: width, mw: measurement - width, rf: ratioFixed }) if (i == 0) { points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( prefix == 'front' ? 180 : 0, - measurement - width < ratioFixed ? width : measurement - ratioFixed + reduction ) } else { - const radius = measurement - width < ratioFixed ? width : measurement - ratioFixed let ci = utils.circlesIntersect( points[prefix + names[i]], - radius, + reduction, points[prefix + postfix + names[lastGood]], distance ) @@ -210,7 +232,7 @@ export const points = { ease: { pct: -8, min: -25, max: 10, menu: 'fit' }, length: { pct: 35, min: 10, max: 100, menu: 'fit' }, waistbandsize: { - pct: 90, + pct: 50, min: 0, max: 150, ...pctBasedOn('waistToHips'), @@ -261,6 +283,9 @@ export const points = { measurements['waistToAnkle'] = measurements.waistToFloor - measurements.heel / Math.PI const sideFixed = (((measurements.waist - measurements.waistBack) * ease) / 2) * sideRatio + const fixedSidePanel = + (((measurements.waist - measurements.waistBack - waistReduction) * ease) / 2) * + options.sidePanel points.middleWaist = new Point(0, 0) points.middleHips = points.middleWaist.shift(270, measurements.waistToHips) @@ -310,19 +335,20 @@ export const points = { measurements.waistToHips * (measurements.waistToSeat / measurements.waistToUpperLeg) ) ;['front', 'back'].forEach((prefix) => { - createSidePoints( - measurements, - points, - utils, - prefix, - 'Side', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - 0, - 0.1, - ease, - waistReduction, - 1 - ) + createSidePoints({ + measurements: measurements, + points: points, + utils: utils, + prefix: prefix, + postfix: 'Side', + names: ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + ratio: 0, + ratioFixed: 0.1, + ease: ease, + waistReduction: waistReduction, + distanceCompensation: 1, + fixedSidePanel: 0, + }) points[prefix + 'SideWaistband'] = points[prefix + 'SideWaist'].clone() }) @@ -336,36 +362,23 @@ export const points = { points.middleWaistband = points.middleWaist.clone() ;['front', 'back'].forEach((prefix) => { - if (options.fixedsidepanel) { - createSidePoints( - measurements, - points, - utils, - prefix, - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - sideFixed, - ease, - waistReduction, + createSidePoints({ + measurements: measurements, + points: points, + utils: utils, + prefix: prefix, + postfix: 'Split', + names: ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + ratio: sideRatio, + // ratio: 0.1, + ratioFixed: sideFixed, + ease: ease, + waistReduction: waistReduction, + distanceCompensation: (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / - (measurements.waistToFloor - measurements.heel / Math.PI) - ) - } else { - createSidePoints( - measurements, - points, - utils, - prefix, - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - sideRatio, - sideFixed, - ease, - waistReduction, - (points.frontAnkle.dist(points.frontCrossSeam) + frontCrossSeam.length()) / - (measurements.waistToFloor - measurements.heel / Math.PI) - ) - } + (measurements.waistToFloor - measurements.heel / Math.PI), + fixedSidePanel: options.fixedsidepanel ? fixedSidePanel : 0, + }) points[prefix + 'SplitWaistband'] = points[prefix + 'SplitWaist'].clone() }) @@ -525,11 +538,11 @@ export const points = { }) }) } - ;['back'].forEach((prefix) => { - ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - points[prefix + 'Split' + name] - }) - }) + // ;['back'].forEach((prefix) => { + // ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { + // points[prefix + 'Split' + name] + // }) + // }) lowerWaist(paths, Path, points, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index e63c052c5cd..f06e85f0c83 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -64,7 +64,6 @@ export const waistband = { .curve(points.waistBackCP, points.waistFrontCP, points.waistFront) diff = waistLength - paths.waist.length() - console.log({ i: iter, d: diff, a: angle }) } while (iter++ < 100 && (diff < -0.5 || diff > 0.5)) if (iter >= 100) { log.info('lumina:couldNoFitWaistband') @@ -90,14 +89,6 @@ export const waistband = { .curve(points.waistbandBackCP, points.waistbandFrontCP, points.waistbandFront) diff = waistbandLength - paths.waistband.length() - console.log({ d: diff, a: angle }) - console.log({ - wl: waistLength, - wpl: paths.waist.length(), - wbl: waistbandLength, - wbpl: paths.waistband.length(), - }) - const rWaistband = paths.waistband.reverse() points.snippetPanelBack = rWaistband.shiftAlong(waistbandFrontLength + waistbandPanelLength) snippets.panelBack = new Snippet('notch', points.snippetPanelBack) From 9a170982c851dfdb723124b122158f8ffe3c6a9f Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 31 Dec 2023 23:56:24 +0000 Subject: [PATCH 0028/1313] Snippets and annotations. --- designs/lumina/src/leg.mjs | 25 +++++++++++++++++++++++-- designs/lumina/src/panel.mjs | 30 +++++++++++++++++++++++++++++- designs/lumina/src/points.mjs | 4 ++-- designs/lumina/src/waistband.mjs | 27 +++++++++++---------------- 4 files changed, 65 insertions(+), 21 deletions(-) diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index 4fd059c4c69..23446ddc11c 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -4,12 +4,21 @@ export const leg = { name: 'lumina.leg', from: points, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + paths.front = paths.front.reverse().unhide().addText('front', 'note center').setClass('hidden') + paths.frontSplit.unhide().addText('front', 'note center').setClass('hidden') + paths.back.unhide().addText('back', 'note center').setClass('hidden') + paths.backSplit = paths.backSplit + .reverse() + .unhide() + .addText('back', 'note center') + .setClass('hidden') + paths.seam = new Path() .move(points.frontSplitHem) - .join(paths.backSplit.reverse()) + .join(paths.backSplit) .join(paths.backWaistband.reverse()) .join(paths.back) - .join(paths.front.reverse()) + .join(paths.front) .join(paths.frontWaistband) .join(paths.frontSplit) .close() @@ -20,6 +29,18 @@ export const leg = { // paths.frontSplit.addClass('contrast').unhide() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + snippets.middle = new Snippet('notch', points.frontUpperLeg) + snippets.front0 = new Snippet('notch', paths.front.shiftFractionAlong(0.5)) + snippets.front1 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.2)) + snippets.front2 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.4)) + snippets.front3 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.6)) + snippets.front4 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.8)) + snippets.back0 = new Snippet('notch', paths.back.shiftFractionAlong(0.5)) + snippets.back1 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.2)) + snippets.back2 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.4)) + snippets.back3 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.6)) + snippets.back4 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.8)) + return part }, } diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs index 6a5b8be422c..12b7a57074e 100644 --- a/designs/lumina/src/panel.mjs +++ b/designs/lumina/src/panel.mjs @@ -4,14 +4,42 @@ export const panel = { name: 'lumina.panel', from: points, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + paths.panelWaistband = new Path() + .move(points.backPanelWaistband) + .line(points.frontPanelWaistband) + .addText('top', 'note center') + .setClass('hidden') + paths.panelHem = new Path() + .move(points.frontPanelHem) + .line(points.backPanelHem) + .addText('bottom', 'note center') + .setClass('hidden') + paths.frontPanel.unhide().addText('front', 'note center').setClass('hidden') + paths.backPanel = paths.backPanel + .reverse() + .unhide() + .addText('back', 'note center') + .setClass('hidden') + paths.seam = new Path() .move(points.frontPanelHem) - .join(paths.backPanel.reverse()) + .join(paths.panelHem) + .join(paths.backPanel) + .join(paths.panelWaistband) .join(paths.frontPanel) .close() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + snippets.front1 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.2)) + snippets.front2 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.4)) + snippets.front3 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.6)) + snippets.front4 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.8)) + snippets.back1 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.2)) + snippets.back2 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.4)) + snippets.back3 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.6)) + snippets.back4 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.8)) + return part }, } diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index 613c40ae8bd..613a2a5b54e 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -230,14 +230,14 @@ export const points = { waistband: { bool: true, menu: 'style' }, Lowerwaistbandback: { bool: true, menu: 'style' }, ease: { pct: -8, min: -25, max: 10, menu: 'fit' }, - length: { pct: 35, min: 10, max: 100, menu: 'fit' }, + length: { pct: 35, min: 10, max: 100, menu: 'style' }, waistbandsize: { pct: 50, min: 0, max: 150, ...pctBasedOn('waistToHips'), // eslint-disable-next-line no-unused-vars - menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'fit' : false), }, waistlowering: { pct: 10, min: -10, max: 60, ...pctBasedOn('waistToHips'), menu: 'style' }, waistreduction: { diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index f06e85f0c83..9a0942c98bf 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -35,14 +35,11 @@ export const waistband = { return part.hide() } - console.log({ store: JSON.parse(JSON.stringify(store)) }) - points.origin = new Point(0, 0) //.addCircle(3) const angleRad = Math.asin((Math.abs(waistbandLength - waistLength) * 0.5) / waistbandSize) const radius = (waistLength * 0.5) / Math.sin(angleRad) const baseAngle = waistLength < waistbandLength ? 270 : 90 - console.log({ baseAngle: baseAngle }) let angle = utils.rad2deg(angleRad) let diff = 0 @@ -54,10 +51,10 @@ export const waistband = { cpDistance = (4 / 3) * Math.tan(Math.PI / (segments * 2)) * radius - points.waistFront = points.origin.shift(baseAngle + angle, radius).addCircle(2) - points.waistBack = points.origin.shift(baseAngle - angle, radius).addCircle(2) - points.waistFrontCP = points.waistFront.shift(baseAngle - 90 + angle, cpDistance).addCircle(5) - points.waistBackCP = points.waistBack.shift(baseAngle + 90 - angle, cpDistance).addCircle(5) + points.waistFront = points.origin.shift(baseAngle + angle, radius) + points.waistBack = points.origin.shift(baseAngle - angle, radius) + points.waistFrontCP = points.waistFront.shift(baseAngle - 90 + angle, cpDistance) + points.waistBackCP = points.waistBack.shift(baseAngle + 90 - angle, cpDistance) paths.waist = new Path() .move(points.waistBack) @@ -77,12 +74,8 @@ export const waistband = { (4 / 3) * Math.tan(Math.PI / (segments * 2)) * (radius + waistbandSize * (waistLength < waistbandLength ? 1 : -1)) - points.waistbandFrontCP = points.waistbandFront - .shift(baseAngle - 90 + angle, cpDistance) - .addCircle(5) - points.waistbandBackCP = points.waistbandBack - .shift(baseAngle + 90 - angle, cpDistance) - .addCircle(5) + points.waistbandFrontCP = points.waistbandFront.shift(baseAngle - 90 + angle, cpDistance) + points.waistbandBackCP = points.waistbandBack.shift(baseAngle + 90 - angle, cpDistance) paths.waistband = new Path() .move(points.waistbandBack) @@ -102,9 +95,10 @@ export const waistband = { points.waistbandBackPanel, 1.4 ) - points.waistbandBack = points.waistBack - .shiftOutwards(points.waistbandBack, (waistLowering + waistbandSize) * 0.5) - .addCircle(3) + points.waistbandBack = points.waistBack.shiftOutwards( + points.waistbandBack, + (waistLowering + waistbandSize) * 0.5 + ) paths.waistband = new Path() .move(points.waistbandBack) ._curve(points.waistbandBackPanelCP, points.waistbandBackPanel) @@ -116,6 +110,7 @@ export const waistband = { .join(paths.waist.reverse()) .line(points.waistbandBack) .join(paths.waistband) + .reverse() .hide() paths.seam = new Path().move(points.waistbandFront).line(points.waistFront).join(paths.seamSA) From d9158efb29add071dd64a237c4895283d57748e8 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 4 Jan 2024 03:41:41 +0000 Subject: [PATCH 0029/1313] pocket --- designs/lumina/src/index.mjs | 5 +- designs/lumina/src/leg.mjs | 2 +- designs/lumina/src/panel.mjs | 7 ++- designs/lumina/src/pocket.mjs | 88 ++++++++++++++++++++++++++++++++ designs/lumina/src/points.mjs | 10 ++-- designs/lumina/src/waistband.mjs | 2 +- 6 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 designs/lumina/src/pocket.mjs diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 1077513304f..703d7037cd3 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -9,16 +9,17 @@ import { ipoints } from './ipoints.mjs' import { zpoints } from './zpoints.mjs' import { panel } from './panel.mjs' import { leg } from './leg.mjs' +import { pocket } from './pocket.mjs' import { waistband } from './waistband.mjs' // Create new design const Lumina = new Design({ data, - parts: [/*zpoints, ipoints,*/ points, panel, leg, waistband], + parts: [/*zpoints, ipoints,*/ points, panel, leg, waistband, pocket], }) // Named exports -export { i18n, Lumina, /*zpoints, ipoints,*/ points, panel, leg, waistband } +export { i18n, Lumina, /*zpoints, ipoints,*/ points, panel, leg, waistband, pocket } // const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index 23446ddc11c..ee92065fb83 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -3,7 +3,7 @@ import { points } from './points.mjs' export const leg = { name: 'lumina.leg', from: points, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { paths.front = paths.front.reverse().unhide().addText('front', 'note center').setClass('hidden') paths.frontSplit.unhide().addText('front', 'note center').setClass('hidden') paths.back.unhide().addText('back', 'note center').setClass('hidden') diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs index 12b7a57074e..710c292ff7f 100644 --- a/designs/lumina/src/panel.mjs +++ b/designs/lumina/src/panel.mjs @@ -3,7 +3,7 @@ import { points } from './points.mjs' export const panel = { name: 'lumina.panel', from: points, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, part }) => { + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { paths.panelWaistband = new Path() .move(points.backPanelWaistband) .line(points.frontPanelWaistband) @@ -40,6 +40,11 @@ export const panel = { snippets.back3 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.6)) snippets.back4 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.8)) + store.set('pocket', { + paths: paths, + points: points, + }) + return part }, } diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs new file mode 100644 index 00000000000..1cc4df1ab67 --- /dev/null +++ b/designs/lumina/src/pocket.mjs @@ -0,0 +1,88 @@ +import { pctBasedOn } from '@freesewing/core' +import { panel } from './panel.mjs' +import { points } from './points.mjs' + +export const pocket = { + name: 'lumina.pocket', + // from: panel, + // after: panel, + // hide: hidePresets.HIDE_TREE, + from: points, + options: { + pocket: { bool: true, menu: 'style' }, + pocketdepth: { + pct: 80, + min: 0, + max: 100, + ...pctBasedOn('waistToSeat'), + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions?.pocket ? 'style' : false), + }, + }, + draft: ({ + measurements, + sa, + Point, + points, + Path, + paths, + Snippet, + snippets, + options, + macro, + store, + part, + }) => { + // const p = store.get('pocket') + // paths = p.paths + // points = p.points + + if (!options.pocket) { + return part.hide() + } + + console.log({ s: JSON.parse(JSON.stringify(store)) }) + console.log({ + points: JSON.parse(JSON.stringify(points)), + paths: JSON.parse(JSON.stringify(paths)), + }) + + const pocketDepth = measurements.waistToSeat * options.pocketdepth + + paths.pocketWaistband = new Path() + .move(points.backPanelWaistband) + .line(points.frontPanelWaistband) + .addText('top', 'note center') + .setClass('hidden') + points.frontPocketHem = paths.frontPanel.shiftAlong(pocketDepth) + points.backPocketHem = paths.backPanel.shiftAlong(pocketDepth) + paths.pocketHem = new Path() + .move(points.frontPocketHem) + .line(points.backPocketHem) + .addText('bottom', 'note center') + .setClass('hidden') + paths.frontPocket = paths.frontPanel + .split(points.frontPocketHem)[0] + .unhide() + .addText('front', 'note center') + .setClass('hidden') + paths.backPocket = paths.backPanel + .split(points.backPocketHem)[0] + .unhide() + .reverse() + .addText('back', 'note center') + .setClass('hidden') + + paths.seam = new Path() + .move(points.frontPocketHem) + .join(paths.pocketHem) + .join(paths.backPocket) + .join(paths.pocketWaistband) + .join(paths.frontPocket) + .close() + + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + + return part + }, +} diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/points.mjs index 613a2a5b54e..4086f00a188 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/points.mjs @@ -228,7 +228,11 @@ export const points = { ], options: { waistband: { bool: true, menu: 'style' }, - Lowerwaistbandback: { bool: true, menu: 'style' }, + lowerwaistbandback: { + bool: true, + // eslint-disable-next-line no-unused-vars + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), + }, ease: { pct: -8, min: -25, max: 10, menu: 'fit' }, length: { pct: 35, min: 10, max: 100, menu: 'style' }, waistbandsize: { @@ -239,7 +243,7 @@ export const points = { // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'fit' : false), }, - waistlowering: { pct: 10, min: -10, max: 60, ...pctBasedOn('waistToHips'), menu: 'style' }, + waistlowering: { pct: 35, min: -10, max: 60, ...pctBasedOn('waistToHips'), menu: 'style' }, waistreduction: { pct: 4, min: 0, @@ -610,7 +614,7 @@ export const points = { points.frontPanelWaistband.dist(points.backPanelWaistband) ) - if (options.Lowerwaistbandback) { + if (options.waistband && options.lowerwaistbandback) { // Lower the back a little more to get a V-shape in the back // lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') lowerWaist(paths, Path, points, (waistLowering + waistbandSize) * 0.5, 'back', 'Waistband') diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 9a0942c98bf..9fbc3196948 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -88,7 +88,7 @@ export const waistband = { points.snippetPanelFront = rWaistband.shiftAlong(waistbandFrontLength) snippets.panelFront = new Snippet('notch', points.snippetPanelFront) - if (options.Lowerwaistbandback) { + if (options.lowerwaistbandback) { paths.waistband = rWaistband.split(points.snippetPanelBack)[0] points.waistbandBackPanel = points.snippetPanelBack.copy() points.waistbandBackPanelCP = points.snippetPanelFront.shiftFractionTowards( From ad37fed4fed9e1caf6d0ee636f73aa8364597f97 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 4 Jan 2024 05:15:54 +0000 Subject: [PATCH 0030/1313] cleanup 1 --- designs/lumina/src/index.mjs | 8 +- designs/lumina/src/ipoints.mjs | 495 ---------------- designs/lumina/src/leg.mjs | 15 +- designs/lumina/src/panel.mjs | 16 +- designs/lumina/src/pocket.mjs | 62 +- designs/lumina/src/{points.mjs => shape.mjs} | 76 +-- designs/lumina/src/waistband.mjs | 6 +- designs/lumina/src/zpoints.mjs | 565 ------------------- 8 files changed, 66 insertions(+), 1177 deletions(-) delete mode 100644 designs/lumina/src/ipoints.mjs rename designs/lumina/src/{points.mjs => shape.mjs} (90%) delete mode 100644 designs/lumina/src/zpoints.mjs diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 703d7037cd3..6a8ec4c0016 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -4,9 +4,7 @@ import { Design } from '@freesewing/core' import { i18n } from '../i18n/index.mjs' import { data } from '../data.mjs' // Parts -import { points } from './points.mjs' -import { ipoints } from './ipoints.mjs' -import { zpoints } from './zpoints.mjs' +import { shape } from './shape.mjs' import { panel } from './panel.mjs' import { leg } from './leg.mjs' import { pocket } from './pocket.mjs' @@ -15,11 +13,11 @@ import { waistband } from './waistband.mjs' // Create new design const Lumina = new Design({ data, - parts: [/*zpoints, ipoints,*/ points, panel, leg, waistband, pocket], + parts: [shape, panel, leg, waistband, pocket], }) // Named exports -export { i18n, Lumina, /*zpoints, ipoints,*/ points, panel, leg, waistband, pocket } +export { i18n, Lumina, shape, panel, leg, waistband, pocket } // const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] diff --git a/designs/lumina/src/ipoints.mjs b/designs/lumina/src/ipoints.mjs deleted file mode 100644 index 68e13f61532..00000000000 --- a/designs/lumina/src/ipoints.mjs +++ /dev/null @@ -1,495 +0,0 @@ -export const ipoints = { - name: 'lumina.ipoints', - measurements: [ - 'waist', - 'waistBack', - 'hips', - 'seat', - 'seatBack', - 'inseam', - 'waistToSeat', - 'waistToUpperLeg', - 'waistToKnee', - 'waistToHips', - 'waistToFloor', - 'knee', - 'ankle', - 'crossSeam', - 'crossSeamFront', - 'heel', - 'upperLeg', - ], - options: { - ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, - crossSeamAngle: 35, - crotchToKnee: 0.4, - waistToKneeCP: 0.4, - kneeToWaistLength: 400, - crotchPointsCP: 2, - }, - draft: ({ - measurements, - options, - Point, - Path, - points, - paths, - Snippet, - snippets, - utils, - log, - complete, - sa, - paperless, - macro, - part, - }) => { - return part.hide() - - const ControlPoints = (p1, p2, p3, t) => { - let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 - console.log({ t: t, ap2_1: p2.angle(p1), ap2_3: p2.angle(p3), a: a }) - const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) - const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) - console.log({ t: t, ap2_t1: p2.angle(t1), ap2_t3: p2.angle(t3), a: a }) - return { - cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), - cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), - } - } - const CreateControlPoints = (names) => { - for (var i = 1; i < names.length - 1; i++) { - var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) - points[names[i] + 'Cp1'] = cp.cp1 - points[names[i] + 'Cp2'] = cp.cp3 - } - } - const CreatePath = (pathName, names) => { - console.log({ i: 1, n: names[1], p2: points[names[1] + 'Cp2'], p3: points[names[1]] }) - paths[pathName] = new Path() - .move(points[names[0]]) - ._curve(points[names[1] + 'Cp1'], points[names[1]]) - console.log({ s: 0, l: paths[pathName].length() }) - for (var i = 2; i < names.length - 1; i++) { - console.log({ - i: i, - n: names[i], - p1: points[names[i - 1] + 'Cp1'], - p2: points[names[i] + 'Cp2'], - p3: points[names[i]], - }) - paths[pathName].curve( - points[names[i - 1] + 'Cp2'], - points[names[i] + 'Cp1'], - points[names[i]] - ) - console.log({ - s: i - 1, - l: new Path() - .move(points[names[i - 1]]) - .curve(points[names[i - 1] + 'Cp2'], points[names[i] + 'Cp1'], points[names[i]]) - .length(), - }) - } - console.log({ i: i, n: names[i], p2: points[names[i] + 'Cp2'], p3: points[names[i]] }) - paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) - } - - const CreateWaistPoint = (m, options, points, utils, front) => { - const kneeTemp = points.upperleg.shiftFractionTowards(points.knee, options.crotchToKnee) - const angle = - 90 + - (front - ? options.crossSeamAngle * (m.waistBack / m.waist) - : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) - const crossSeam = front ? m.crossSeamFront : m.crossSeam - m.crossSeamFront - var kneeToWaist = m.waistToKnee - var ratio = 1 - var waist = kneeTemp.shift(angle, kneeToWaist * ratio) - const crossSeamCp = points.upperleg.shiftFractionTowards( - utils.beamIntersectsY(kneeTemp, waist, 0), - options.crotchPointsCP - ) - - console.log({ f: front, a: angle }) - var waistCp - var diff, - iter = 0 - do { - waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) - // waistCp = waist.shiftFractionTowards(kneeTemp, options.waistToKneeCP) - waistCp = waist.shiftFractionTowards(points.knee, options.waistToKneeCP) - - const crossSeamPath = new Path().move(points.upperleg).curve(crossSeamCp, waistCp, waist) - - diff = crossSeam - crossSeamPath.length() - ratio = crossSeam / crossSeamPath.length() - // console.log({ i: iter, d: diff, r: ratio }) - } while (++iter < 100 && (diff > 1 || diff < -1)) - if (iter >= 100) { - console.log('Too many iterations trying to make it fit!') - // log.error('Too many iterations trying to make it fit!') - } - - if (front) { - points.waistFront = waist.clone() - points.waistFrontCp = waistCp.clone() - points.crossSeamFrontCp = crossSeamCp.clone() - } else { - points.waistBack = waist.clone() - points.waistBackCp = waistCp.clone() - points.crossSeamBackCp = crossSeamCp.clone() - } - } - - const m = measurements - const crotchOffset = m.waistToFloor - m.inseam - - const waistFrontBackRatio = m.waistBack / m.waist - const sideRatio = 3 / 5 - const ease = options.ease + 1 - - m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI - - console.log({ m: JSON.parse(JSON.stringify(m)) }) - console.log({ wfr: waistFrontBackRatio }) - // points.origin = new Point(0, 0) - // points.knee = points.origin.shift(270, m.inseam - (m.waistToFloor - m.waistToKnee)) - // points.ankle = points.origin.shift(270, m.inseam - (m.ankle / Math.PI)) - // points.waist = points.origin.shift(90, m.waistToFloor - m.inseam) - - points.upperlegFront = points.upperlegBack = points.upperleg = new Point(0, 0) - points.kneeFront = - points.kneeBack = - points.knee = - points.upperleg.shift(270, m.waistToKnee - crotchOffset) - points.ankleFront = - points.ankleBack = - points.ankle = - points.upperleg.shift(270, m.inseam - m.heel / Math.PI) - points.floorFront = points.floorBack = points.floor = points.upperleg.shift(270, m.inseam) - - // points.waistTemp = points.upperleg.shiftFractionTowards(points.knee,options.crotchToKnee).shift(90 + options.crossSeamAngle*(m.waistBack/m.waist), options.kneeToWaistLength) - // paths.waistTemp = new Path() - // .move(points.upperleg.shiftFractionTowards(points.knee,options.crotchToKnee)) - // .line(points.waistTemp) - // points.upperlegFrontCp = utils.beamIntersectsY(points.kneeTemp,points.waistTempFront,0) - // points.upperlegBackCp = utils.beamIntersectsY(points.kneeTemp,points.waistTempBack,0) - - CreateWaistPoint(m, options, points, utils, true) - CreateWaistPoint(m, options, points, utils, false) - - // paths.waistTempCp = new Path() - // .move(points.upperleg) - // .line(points.crossSeamFrontCp) - - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) - - paths.middle = new Path().move(points.upperleg).line(points.floor) - - paths.crossSeamFront = new Path() - .move(points.upperleg) - .curve(points.crossSeamFrontCp, points.waistFrontCp, points.waistFront) - paths.crossSeamBack = new Path() - .move(points.upperleg) - .curve(points.crossSeamBackCp, points.waistBackCp, points.waistBack) - - let csFront = paths.crossSeamFront.length() - let csBack = paths.crossSeamBack.length() - - console.log({ csf: m.crossSeamFront, csFront: csFront }) - - const waistAngle = utils.rad2deg( - Math.asin((points.waistBack.y - points.waistFront.y) / (m.waist / 2)) - ) - - console.log({ - r: m.crossSeamFront / m.waistToUpperLeg, - S: m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg), - H: m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg), - }) - points.seatFront = paths.crossSeamFront - .reverse() - .shiftAlong(m.waistToSeat /* * (m.crossSeamFront / m.waistToUpperLeg) */) - .addCircle(6) - points.hipsFront = paths.crossSeamFront - .reverse() - .shiftAlong(m.waistToHips /* * (m.crossSeamFront / m.waistToUpperLeg) */) - .addCircle(10) - points.seatBack = paths.crossSeamBack - .reverse() - .shiftAlong(m.waistToSeat /* * (m.waistToSeat / m.waistToUpperLeg) */) - .addCircle(6) - points.hipsBack = paths.crossSeamBack - .reverse() - .shiftAlong(m.waistToHips /* * (m.waistToSeat / m.waistToUpperLeg) */) - .addCircle(10) - - points.waistFrontSeam = points.waistFront.shift( - 180 + waistAngle, - ((m.waist - m.waistBack) * ease) / 2 - ) - points.waistBackSeam = points.waistBack.shift(waistAngle, (m.waistBack * ease) / 2) - points.seatFrontSeam = points.seatFront.shift( - 180 + waistAngle, - ((m.seat - m.seatBack) * ease) / 2 - ) - points.seatBackSeam = points.seatBack.shift(waistAngle, (m.seatBack * ease) / 2) - points.upperlegFrontSeam = points.upperleg.shift(180 + waistAngle, (m.upperLeg * ease) / 2) - points.upperlegBackSeam = points.upperleg.shift(waistAngle, (m.upperLeg * ease) / 2) - points.kneeFrontSeam = points.knee.shift(180, (m.knee * ease) / 2) - points.kneeBackSeam = points.knee.shift(0, (m.knee * ease) / 2) - points.ankleFrontSeam = points.ankle.shift(180, (m.ankle * ease) / 2) - points.ankleBackSeam = points.ankle.shift(0, (m.ankle * ease) / 2) - - const sideFixed = points.waistFrontSeam.dist( - points.waistFront.shiftFractionTowards(points.waistFrontSeam, sideRatio) - ) - - paths.front = new Path() - .move(points.ankleFrontSeam) - .line(points.kneeFrontSeam) - .line(points.upperlegFrontSeam) - .line(points.seatFrontSeam) - .line(points.waistFrontSeam) - paths.back = new Path() - .move(points.ankleBackSeam) - .line(points.kneeBackSeam) - .line(points.upperlegBackSeam) - .line(points.seatBackSeam) - .line(points.waistBackSeam) - - const ShiftPathPoints = (path, ratio, names) => { - if (names.length < 2) return - for (var i = names.length - 2; i >= 0; i--) { - console.log({ n1: names[i].toLowerCase() + path, n2: names[i + 1].toLowerCase() + path }) - console.log({ - p1: points[names[i].toLowerCase() + path], - p2: points[names[i + 1].toLowerCase() + path], - }) - console.log({ - lb: points[names[i].toLowerCase() + path].dist(points[names[i + 1].toLowerCase() + path]), - }) - points[names[i].toLowerCase() + path] = points[ - names[i].toLowerCase() + path - ].shiftFractionTowards(points[names[i + 1].toLowerCase() + path], ratio) - console.log({ - la: points[names[i].toLowerCase() + path].dist(points[names[i + 1].toLowerCase() + path]), - }) - } - } - const shiftRatio = - 1 - (m.waistToFloor - points.floorFront.dist(points.ankleFront)) / paths.front.length() - console.log({ shiftRatio: shiftRatio }) - ShiftPathPoints('FrontSeam', shiftRatio, [ - 'Waist', - /*'Hips',*/ 'Seat', - 'UpperLeg', - 'Knee', - 'Ankle', - ]) - - // points.waistFrontSplit = points.waistFront.shiftFractionTowards(points.waistFrontSeam, sideRatio) - points.waistFrontSplit = points.waistFrontSeam.shiftTowards(points.waistFront, sideFixed) - // points.waistBackSplit = points.waistBack.shiftFractionTowards(points.waistBackSeam, sideRatio) - points.waistBackSplit = points.waistBackSeam.shiftTowards(points.waistBack, sideFixed) - points.seatFrontSplit = points.seatFrontSeam.shiftTowards(points.seatFront, sideFixed) - points.seatBackSplit = points.seatBackSeam.shiftTowards(points.seatBack, sideFixed) - // points.upperlegFrontSplit = points.upperleg.shiftFractionTowards(points.upperlegFront, sideRatio) - points.upperlegFrontSplit = points.upperlegFrontSeam.shiftTowards(points.upperleg, sideFixed) - // points.upperlegBackSplit = points.upperleg.shiftFractionTowards(points.upperlegBack, sideRatio) - points.upperlegBackSplit = points.upperlegBackSeam.shiftTowards(points.upperleg, sideFixed) - points.kneeFrontSplit = points.knee.shiftFractionTowards(points.kneeFrontSeam, sideRatio) - // points.kneeFrontSplit = points.kneeFront.shiftTowards(points.knee, sideFixed) - points.kneeBackSplit = points.knee.shiftFractionTowards(points.kneeBackSeam, sideRatio) - // points.kneeBackSplit = points.kneeBack.shiftTowards(points.knee, sideFixed) - points.ankleFrontSplit = points.ankle.shiftFractionTowards(points.ankleFrontSeam, sideRatio) - // points.ankleFrontSplit = points.ankleFront.shiftTowards(points.ankle, sideFixed) - points.ankleBackSplit = points.ankle.shiftFractionTowards(points.ankleBackSeam, sideRatio) - // points.ankleBackSplit = points.ankleBack.shiftTowards(points.ankle, sideFixed) - - points.seatFrontSplit = utils - .beamsIntersect( - points.seatFront, - points.seatFrontSeam, - points.waistFrontSplit, - points.upperlegFrontSplit - ) - .addCircle(8) - - CreateControlPoints([ - 'waistFrontSplit', - 'seatFrontSplit', - 'upperlegFrontSplit', - 'kneeFrontSplit', - 'ankleFrontSplit', - ]) - - CreatePath('frontSplit', [ - 'waistFrontSplit', - 'seatFrontSplit', - 'upperlegFrontSplit', - 'kneeFrontSplit', - 'ankleFrontSplit', - ]) - - CreateControlPoints([ - 'waistBackSplit', - // 'seatBackSplit', - 'upperlegBackSplit', - 'kneeBackSplit', - 'ankleBackSplit', - ]) - - CreatePath('BackSplit', [ - 'waistBackSplit', - // 'seatBackSplit', - 'upperlegBackSplit', - 'kneeBackSplit', - 'ankleBackSplit', - ]) - - points.seatBackSplit = utils - .beamIntersectsCurve( - points.seatBack, - points.seatBackSeam, - points.waistBackSplit, - points.waistBackSplit, - points.upperlegBackSplitCp1, - points.upperlegBackSplit - ) - .addCircle(8) - - var cp = ControlPoints(points.waistFrontSplit, points.upperlegFrontSplit, points.kneeFrontSplit) - points.upperlegFrontCp1 = cp.cp1 - points.upperlegFrontCp2 = cp.cp3 - cp = ControlPoints(points.waistBackSplit, points.upperlegBackSplit, points.kneeBackSplit) - points.upperlegBackCp1 = cp.cp1 - points.upperlegBackCp2 = cp.cp3 - cp = ControlPoints(points.upperlegFrontSplit, points.kneeFrontSplit, points.ankleFrontSplit) - points.kneeFrontCp1 = cp.cp1 - points.kneeFrontCp2 = cp.cp3 - cp = ControlPoints(points.upperlegBackSplit, points.kneeBackSplit, points.ankleBackSplit) - points.kneeBackCp1 = cp.cp1 - points.kneeBackCp2 = cp.cp3 - - console.log({ pins: JSON.parse(JSON.stringify(points)) }) - - paths.frontZ = paths.front.reverse() - points.seatZ = paths.frontZ.shiftAlong(m.waistToSeat).addCircle(4) - points.hipsZ = paths.frontZ.shiftAlong(m.waistToHips).addCircle(4) - points.upperlegZ = paths.frontZ.shiftAlong(m.waistToUpperLeg).addCircle(4) - points.kneeZ = paths.frontZ.shiftAlong(m.waistToKnee).addCircle(4) - points.ankleZ = paths.frontZ - .shiftAlong(m.waistToFloor - points.floor.dist(points.ankle)) - .addCircle(4) - - paths.backZ = paths.back.reverse() - points.seatZback = paths.backZ.shiftAlong(m.waistToSeat).addCircle(4) - points.hipsZback = paths.backZ.shiftAlong(m.waistToHips).addCircle(4) - points.upperlegZback = paths.backZ.shiftAlong(m.waistToUpperLeg).addCircle(4) - points.kneeZback = paths.backZ.shiftAlong(m.waistToKnee).addCircle(4) - points.ankleZback = paths.backZ - .shiftAlong(m.waistToFloor - points.floor.dist(points.ankle)) - .addCircle(4) - - console.log({ - pf: paths.frontZ.length(), - pb: paths.backZ.length(), - m: m.waistToFloor - points.floor.dist(points.ankle), - }) - - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) - points.kneeFrontSplit.addCircle(2).addCircle(4).addCircle(6).addCircle(8) - // console.log({kfs:paths.frontSplit.split(points.seatFrontSplit)}) - // console.log({kfs:paths.frontSplit.split(points.upperlegFrontSplit)}) - console.log('--------------------------------') - console.log({ kfs: paths.frontSplit.split(points.kneeFrontSplit) }) - // console.log({kfs:paths.frontSplit.split(points.upperlegFrontSplit)}) - - points.sideWaist = new Point(200, 0) - console.log({ p: points.sideWaist }) - points.sideWaistFront = points.sideWaist - .shift(180 - waistAngle, points.waistFrontSplit.dist(points.waistFrontSeam)) - .addCircle(10) - points.sideWaistBack = points.sideWaist.shift( - -1 * waistAngle, - points.waistBackSplit.dist(points.waistBackSeam) - ) - const mp = ['Waist', /*'Hips',*/ 'Seat', 'UpperLeg', 'Knee', 'Ankle'] - // var pathLength = [0] - for (var i = 1; i < mp.length; i++) { - // console.log({ n: 'waistTo' + mp[i], m: m['waistTo' + mp[i]], pl: pathLength[i-1] }) - // console.log({T:paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])[0].length()}) - points['side' + mp[i]] = points.sideWaist.shift(270, m['waistTo' + mp[i]]).addCircle(3) - console.log({ - n1: 'side' + mp[i], - n2: mp[i].toLowerCase() + 'FrontSplit', - n3: mp[i].toLowerCase() + 'FrontSeam', - n4: mp[i - 1].toLowerCase() + 'Front', - n5: 'side' + mp[i - 1] + 'Front', - }) - console.log({ - p1: points['side' + mp[i]], - p2: points[mp[i].toLowerCase() + 'FrontSplit'], - p3: points[mp[i].toLowerCase() + 'FrontSeam'], - p4: points[mp[i - 1].toLowerCase() + 'Front'], - p5: points['side' + mp[i - 1] + 'Front'], - }) - // console.log({split:paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])}) - // pathLength.push(paths.frontSplit.split(points[mp[i].toLowerCase() + 'FrontSplit'])[0].length()) - points['side' + mp[i]].addCircle( - points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']) - ) - points['side' + mp[i]].addCircle(10) - points['side' + mp[i]].addCircle(12) - points['side' + mp[i]].addCircle(14) - points['side' + mp[i - 1] + 'Front'].addCircle( - points[mp[i].toLowerCase() + 'FrontSplit'].dist( - points[mp[i - 1].toLowerCase() + 'FrontSplit'] - ) - ) - points['side' + mp[i - 1] + 'Front'].addCircle(2) - points['side' + mp[i - 1] + 'Front'].addCircle(4) - points['side' + mp[i - 1] + 'Front'].addCircle(6) - points['side' + mp[i - 1] + 'Front'].addCircle(8) - // console.log({l1:points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']),l2:pathLength[i]-pathLength[i-1],pl:pathLength}) - var ci = utils.circlesIntersect( - points['side' + mp[i]], - points[mp[i].toLowerCase() + 'FrontSplit'].dist(points[mp[i].toLowerCase() + 'FrontSeam']), - points['side' + mp[i - 1] + 'Front'], - points[mp[i].toLowerCase() + 'FrontSplit'].dist( - points[mp[i - 1].toLowerCase() + 'FrontSplit'] - ) - // pathLength[i]-pathLength[i-1] - ) - console.log({ ci: ci }) - if (false !== ci) { - points['side' + mp[i] + 'Front'] = ci[0].addCircle(7) - // points['ci' +mp[i] + '1' ] = ci[1].addCircle(7) - // points['side' + mp[i] +'Front'].addCircle(pathLength) - } - } - - paths.splitFront = new Path() - .move(points.waistFrontSplit) - ._curve(points.upperlegFrontCp1, points.upperlegFrontSplit) - .curve(points.upperlegFrontCp2, points.kneeFrontCp1, points.kneeFrontSplit) - .curve_(points.kneeFrontCp2, points.ankleFrontSplit) - - paths.splitBack = new Path() - .move(points.waistBackSplit) - ._curve(points.upperlegBackCp1, points.upperlegBackSplit) - .curve(points.upperlegBackCp2, points.kneeBackCp1, points.kneeBackSplit) - .curve_(points.kneeBackCp2, points.ankleBackSplit) - - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) - console.log({ pins: JSON.parse(JSON.stringify(points)) }) - - console.log({ - Split: paths.frontSplit.length(), - M: m.waistToFloor - points.floorFront.dist(points.ankleFront), - }) - return part - }, -} diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index ee92065fb83..ff4ff6d7492 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -1,8 +1,8 @@ -import { points } from './points.mjs' +import { shape } from './shape.mjs' export const leg = { name: 'lumina.leg', - from: points, + from: shape, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { paths.front = paths.front.reverse().unhide().addText('front', 'note center').setClass('hidden') paths.frontSplit.unhide().addText('front', 'note center').setClass('hidden') @@ -23,10 +23,6 @@ export const leg = { .join(paths.frontSplit) .close() - // paths.backSplit.addClass('lining').unhide() - // paths.back.addClass('note').unhide() - // paths.front.addClass('mark').unhide() - // paths.frontSplit.addClass('contrast').unhide() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') snippets.middle = new Snippet('notch', points.frontUpperLeg) @@ -36,10 +32,9 @@ export const leg = { snippets.front3 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.6)) snippets.front4 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.8)) snippets.back0 = new Snippet('notch', paths.back.shiftFractionAlong(0.5)) - snippets.back1 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.2)) - snippets.back2 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.4)) - snippets.back3 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.6)) - snippets.back4 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.8)) + snippets.back1 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.25)) + snippets.back2 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.5)) + snippets.back3 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.75)) return part }, diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs index 710c292ff7f..5652724b4f5 100644 --- a/designs/lumina/src/panel.mjs +++ b/designs/lumina/src/panel.mjs @@ -1,8 +1,8 @@ -import { points } from './points.mjs' +import { shape } from './shape.mjs' export const panel = { name: 'lumina.panel', - from: points, + from: shape, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { paths.panelWaistband = new Path() .move(points.backPanelWaistband) @@ -35,15 +35,9 @@ export const panel = { snippets.front2 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.4)) snippets.front3 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.6)) snippets.front4 = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.8)) - snippets.back1 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.2)) - snippets.back2 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.4)) - snippets.back3 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.6)) - snippets.back4 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.8)) - - store.set('pocket', { - paths: paths, - points: points, - }) + snippets.back1 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.25)) + snippets.back2 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.5)) + snippets.back3 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.75)) return part }, diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs index 1cc4df1ab67..225ba6d1700 100644 --- a/designs/lumina/src/pocket.mjs +++ b/designs/lumina/src/pocket.mjs @@ -1,19 +1,17 @@ import { pctBasedOn } from '@freesewing/core' import { panel } from './panel.mjs' -import { points } from './points.mjs' +import { shape } from './shape.mjs' export const pocket = { name: 'lumina.pocket', - // from: panel, - // after: panel, - // hide: hidePresets.HIDE_TREE, - from: points, + after: panel, + from: shape, options: { pocket: { bool: true, menu: 'style' }, pocketdepth: { - pct: 80, - min: 0, - max: 100, + pct: 90, + min: 20, + max: 120, ...pctBasedOn('waistToSeat'), // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions?.pocket ? 'style' : false), @@ -41,12 +39,6 @@ export const pocket = { return part.hide() } - console.log({ s: JSON.parse(JSON.stringify(store)) }) - console.log({ - points: JSON.parse(JSON.stringify(points)), - paths: JSON.parse(JSON.stringify(paths)), - }) - const pocketDepth = measurements.waistToSeat * options.pocketdepth paths.pocketWaistband = new Path() @@ -61,17 +53,27 @@ export const pocket = { .line(points.backPocketHem) .addText('bottom', 'note center') .setClass('hidden') - paths.frontPocket = paths.frontPanel - .split(points.frontPocketHem)[0] - .unhide() - .addText('front', 'note center') - .setClass('hidden') - paths.backPocket = paths.backPanel - .split(points.backPocketHem)[0] - .unhide() - .reverse() - .addText('back', 'note center') - .setClass('hidden') + const frontPocketSplit = paths.frontPanel.split(points.frontPocketHem) + if (frontPocketSplit) { + paths.frontPocket = frontPocketSplit[0] + .unhide() + .addText('front', 'note center') + .setClass('hidden') + } else { + log.info('lumina:couldNotCreatePocket') + return part.hide() + } + const backPocketSplit = paths.backPanel.split(points.backPocketHem) + if (backPocketSplit) { + paths.backPocket = backPocketSplit[0] + .unhide() + .reverse() + .addText('back', 'note center') + .setClass('hidden') + } else { + log.info('lumina:couldNotCreatePocket') + return part.hide() + } paths.seam = new Path() .move(points.frontPocketHem) @@ -83,6 +85,16 @@ export const pocket = { if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + for (var i = 1; i < 4; i++) { + if (paths.frontPanel.length() * (0.2 * i) < pocketDepth) { + snippets['front' + i] = new Snippet('notch', paths.frontPanel.shiftFractionAlong(0.2 * i)) + } + + if (paths.backPanel.length() * (0.25 * i) < pocketDepth) { + snippets['back' + i] = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.25 * i)) + } + } + return part }, } diff --git a/designs/lumina/src/points.mjs b/designs/lumina/src/shape.mjs similarity index 90% rename from designs/lumina/src/points.mjs rename to designs/lumina/src/shape.mjs index 4086f00a188..01081437d13 100644 --- a/designs/lumina/src/points.mjs +++ b/designs/lumina/src/shape.mjs @@ -153,9 +153,6 @@ const createSidePoints = ({ ? measurement - fixedSidePanel : width : width - // const reduction = ratio == 0 ? measurement : width - console.log({ i: i, p: prefix + postfix + names[i], f: fixedSidePanel }) - console.log({ m: measurement, w: width, mw: measurement - width, rf: ratioFixed }) if (i == 0) { points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( prefix == 'front' ? 180 : 0, @@ -205,8 +202,8 @@ const smoothPoints = (points, prefix, postfix, names, smoothness) => { } } -export const points = { - name: 'lumina.points', +export const shape = { + name: 'lumina.shape', measurements: [ 'waist', 'waistBack', @@ -413,35 +410,17 @@ export const points = { .move(points.backWaist) .curve(points.backWaistCp, points.backHipsCp2, points.backHips) .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) - - smoothPoints( - points, - 'front', - 'Side', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - options.smoothing - ) - smoothPoints( - points, - 'front', - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - options.smoothing - ) - smoothPoints( - points, - 'back', - 'Side', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - options.smoothing - ) - smoothPoints( - points, - 'back', - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - options.smoothing - ) + ;['front', 'back'].forEach((prefix) => { + ;['Side', 'Split'].forEach((type) => { + smoothPoints( + points, + prefix, + type, + ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], + options.smoothing + ) + }) + }) paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() ;['front', 'back'].forEach((prefix) => { @@ -466,9 +445,6 @@ export const points = { ]) }) }) - - // store.set('frontSplitLength',paths.frontSplit.length()) - // store.set('backSplitLength',paths.backSplit.length()) ;['front', 'back'].forEach((prefix) => { ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { points[prefix + 'Panel' + name] = points['middle' + name].shift( @@ -497,6 +473,7 @@ export const points = { }) const frontSplitlength = paths.frontSplit.length() + while (Math.abs(frontSplitlength - paths.frontPanel.length()) > 1) { ;['front', 'back'].forEach((prefix) => { const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() @@ -542,11 +519,6 @@ export const points = { }) }) } - // ;['back'].forEach((prefix) => { - // ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - // points[prefix + 'Split' + name] - // }) - // }) lowerWaist(paths, Path, points, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { @@ -561,24 +533,6 @@ export const points = { }) lowerWaist(paths, Path, points, waistbandSize, prefix, 'Waistband') }) - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split', 'Panel'].forEach((type) => { - ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - points[prefix + type + name] - }) - points[prefix + type + 'Waistband'] - }) - points[prefix + 'Waist'] - points[prefix + 'Waistband'] - }) - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split', 'Panel'].forEach((type) => { - ;['Seat', 'UpperLeg', 'Knee'].forEach((name) => { - points[prefix + type + name + 'Cp1'] - points[prefix + type + name + 'Cp2'] - }) - }) - }) store.set( 'waistLength', @@ -631,5 +585,3 @@ export const points = { return part.hide() }, } - -//http://localhost:8000/new/luminous#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 9fbc3196948..8e6c5808c22 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -1,9 +1,8 @@ -import { cbqc } from '@freesewing/core' -import { points } from './points.mjs' +import { shape } from './shape.mjs' export const waistband = { name: 'lumina.waistband', - after: points, + after: shape, draft: ({ store, sa, @@ -110,7 +109,6 @@ export const waistband = { .join(paths.waist.reverse()) .line(points.waistbandBack) .join(paths.waistband) - .reverse() .hide() paths.seam = new Path().move(points.waistbandFront).line(points.waistFront).join(paths.seamSA) diff --git a/designs/lumina/src/zpoints.mjs b/designs/lumina/src/zpoints.mjs deleted file mode 100644 index 4403db74c31..00000000000 --- a/designs/lumina/src/zpoints.mjs +++ /dev/null @@ -1,565 +0,0 @@ -export const zpoints = { - name: 'lumina.zpoints', - measurements: [ - 'waist', - 'waistBack', - 'hips', - 'seat', - 'seatBack', - 'inseam', - 'waistToSeat', - 'waistToUpperLeg', - 'waistToKnee', - 'waistToHips', - 'waistToFloor', - 'knee', - 'ankle', - 'crossSeam', - 'crossSeamFront', - 'heel', - 'upperLeg', - ], - options: { - ease: { pct: -20, min: -35, max: 10, menu: 'fit' }, - length: { pct: 100, min: 10, max: 100, menu: 'fit' }, - crossSeamAngle: 35, - crotchToKnee: 0.4, - waistToKneeCP: 0.4, - kneeToWaistLength: 400, - crotchPointsCP: 2, - }, - draft: ({ - measurements, - options, - Point, - Path, - points, - paths, - Snippet, - snippets, - utils, - log, - complete, - sa, - paperless, - macro, - part, - }) => { - const ControlPoints = (p1, p2, p3, t) => { - let a = Math.abs(p2.angle(p1) - p2.angle(p3)) / 2 - const t1 = p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3) - const t3 = p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3) - return { - cp1: p2.shift(p2.angle(p1) + a - 90, p2.dist(p1) / 3), - cp3: p2.shift(p2.angle(p3) - a + 90, p2.dist(p3) / 3), - } - } - const CreateControlPoints = (names) => { - for (var i = 1; i < names.length - 1; i++) { - var cp = ControlPoints(points[names[i - 1]], points[names[i]], points[names[i + 1]]) - points[names[i] + 'Cp1'] = cp.cp1 - points[names[i] + 'Cp2'] = cp.cp3 - } - } - const CreatePath = (pathName, names) => { - paths[pathName] = new Path() - .move(points[names[0]]) - ._curve(points[names[1] + 'Cp1'], points[names[1]]) - for (var i = 2; i < names.length - 1; i++) { - paths[pathName].curve( - points[names[i - 1] + 'Cp2'], - points[names[i] + 'Cp1'], - points[names[i]] - ) - } - paths[pathName].curve_(points[names[i - 1] + 'Cp2'], points[names[i]]) - - return paths[pathName] - } - - const CreateWaistPoint = (front) => { - // console.log({ - // crossSeamAngle: options.crossSeamAngle, - // crotchPointsCP: options.crotchPointsCP, - // }) - const kneeTemp = points.insideCrossSeam.shiftFractionTowards( - points.insideKnee, - options.crotchToKnee - ) - const angle = - 90 + - (front - ? options.crossSeamAngle * (m.waistBack / m.waist) - : -1 * options.crossSeamAngle * (1 - m.waistBack / m.waist)) - const crossSeam = front ? m.crossSeamFront : m.crossSeam - m.crossSeamFront - var kneeToWaist = m.waistToKnee - var ratio = 1 - var waist = kneeTemp.shift(angle, kneeToWaist * ratio) - const crossSeamCp = points.insideCrossSeam.shiftFractionTowards( - utils.beamIntersectsY(kneeTemp, waist, points.insideCrossSeam.y), - options.crotchPointsCP - ) - - // console.log({ f: front, a: angle }) - var waistCp - var diff, - iter = 0 - do { - waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) - // waistCp = waist.shiftFractionTowards(kneeTemp, options.waistToKneeCP) - waistCp = waist.shiftFractionTowards(points.insideKnee, options.waistToKneeCP) - - const crossSeamPath = new Path() - .move(points.insideCrossSeam) - .curve(crossSeamCp, waistCp, waist) - - diff = crossSeam - crossSeamPath.length() - ratio = crossSeam / crossSeamPath.length() - // console.log({ i: iter, d: diff, r: ratio }) - } while (++iter < 100 && (diff > 1 || diff < -1)) - if (iter >= 100) { - console.log('Too many iterations trying to make it fit!') - // log.error('Too many iterations trying to make it fit!') - } - - if (front) { - points.frontWaist = waist.clone() - points.frontWaistCp = waistCp.clone() - points.frontCrossSeamCp = crossSeamCp.clone() - } else { - points.backWaist = waist.clone() - points.backWaistCp = waistCp.clone() - points.backCrossSeamCp = crossSeamCp.clone() - } - } - - const CreateSidePoints = ( - prefix, - postfix, - names, - ratio, - ratioFixed, - ease, - distanceCompentation - ) => { - // console.log('-----' + prefix + postfix + '----') - var measurement, - width, - lastGood = 0 - for (var i = 0; i < names.length; i++) { - var distance = - m['waistTo' + names[i - 1]] - - (m['waistTo' + names[i]] === undefined ? 0 : m['waistTo' + names[i]]) - switch (names[i]) { - case 'UpperLeg': - measurement = m['upperLeg'] - const intersect = utils.beamIntersectsCurve( - points[prefix + names[i]], - points[prefix + names[i]].shift(prefix == 'front' ? 180 : 0, ratioFixed * 3), - points.insideCrossSeam, - points[prefix + 'CrossSeamCp'], - points[prefix + 'WaistCp'], - points[prefix + 'Waist'] - ) - // console.log({ intersect: intersect }) - measurement += intersect.dist(points[prefix + names[i]]) - break - case 'Waist': - measurement = prefix == 'front' ? m.waist - m.waistBack : m.waistBack - case 'Seat': - measurement = prefix == 'front' ? m.seat - m.seatBack : m.seatBack - distance *= distanceCompentation - break - default: - measurement = m[names[i].toLowerCase()] - } - measurement /= 2 - measurement *= ease - - width = measurement * ratio - - if (i == 0) { - points[prefix + postfix + names[i]] = points[prefix + names[i]].shift( - prefix == 'front' ? 180 : 0, - measurement - width < ratioFixed ? width : measurement - ratioFixed - ) //.addCircle(3).addCircle(6).addCircle(9) - points[prefix + names[i]] //.addCircle(width < ratioFixed ? width : ratioFixed) - } else { - var ci = utils.circlesIntersect( - points[prefix + names[i]], - measurement - width < ratioFixed ? width : measurement - ratioFixed, - points[prefix + postfix + names[lastGood]], - distance - ) - - if (false !== ci) { - points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] //.addCircle(2).addCircle(4).addCircle(6) - lastGood = i - } else { - // break - points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() - - points[prefix + postfix + names[lastGood]] //.addCircle(distance) - // points[prefix +names[i]].addCircle(width < ratioFixed ? width : ratioFixed) - points[prefix + names[i]] //.addCircle(measurement - width < ratioFixed ? width : measurement - ratioFixed) - } - } - } - } - - const SmoothPoints = (prefix, postfix, names) => { - var adjust - for (var i = 0; i < names.length - 2; i++) { - adjust = false - if (prefix == 'front') { - adjust = - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) > - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - } else { - adjust = - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 1]]) < - points[prefix + postfix + names[i]].angle(points[prefix + postfix + names[i + 2]]) - } - if (adjust) { - points[prefix + postfix + names[i + 1]] = points[ - prefix + postfix + names[i] - ].shiftTowards( - points[prefix + postfix + names[i + 2]], - points[prefix + postfix + names[i]].dist(points[prefix + postfix + names[i + 1]]) - ) - } - } - } - - const m = measurements - const crotchOffset = m.waistToFloor - m.inseam - - const waistFrontBackRatio = m.waistBack / m.waist - const sideRatio = 3 / 5 - const ease = options.ease + 1 - const waistToAnkle = m.waistToFloor - m.heel / Math.PI - - m['waistToAnkle'] = m.waistToFloor - m.heel / Math.PI - const sideFixed = (((m.waist - m.waistBack) * ease) / 2) * sideRatio - - points.insideWaist = new Point(0, 0) - points.insideHips = points.insideWaist.shift(270, m.waistToHips) - points.insideSeat = points.insideWaist.shift(270, m.waistToSeat) - points.frontCrossSeam = - points.backCrossSeam = - points.insideCrossSeam = - points.insideWaist.shift(270, crotchOffset) - points.frontUpperLeg = - points.backUpperLeg = - points.insideUpperLeg = - points.insideWaist.shift(270, m.waistToUpperLeg) - points.frontKnee = - points.backKnee = - points.insideKnee = - points.insideWaist.shift(270, m.waistToKnee) - points.frontAnkle = - points.backAnkle = - points.insideAnkle = - points.insideWaist.shift(270, waistToAnkle) - points.frontFloor = - points.backFloor = - points.insideFloor = - points.insideWaist.shift(270, m.waistToFloor) - - CreateWaistPoint(true) - CreateWaistPoint(false) - - console.log({ pionts: JSON.parse(JSON.stringify(points)) }) - - const crossSeamFront = new Path() - .move(points.frontWaist) - .curve(points.frontWaistCp, points.frontCrossSeamCp, points.insideCrossSeam) - const crossSeamBack = new Path() - .move(points.backWaist) - .curve(points.backWaistCp, points.backCrossSeamCp, points.insideCrossSeam) - - points.frontSeat = crossSeamFront.shiftAlong( - m.waistToSeat * (m.crossSeamFront / m.waistToUpperLeg) * 0.8 - ) - // .addCircle(6) - points.frontHips = crossSeamFront.shiftAlong( - m.waistToHips * (m.crossSeamFront / m.waistToUpperLeg) - ) - // .addCircle(10) - points.backSeat = crossSeamBack.shiftAlong(m.waistToSeat * (m.waistToSeat / m.waistToUpperLeg)) - // .addCircle(6) - points.backHips = crossSeamBack.shiftAlong(m.waistToHips * (m.waistToSeat / m.waistToUpperLeg)) - // .addCircle(10) - - CreateSidePoints( - 'front', - 'Side', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - 0, - 0.1, - ease, - 1 - ) - CreateSidePoints( - 'back', - 'Side', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - 0, - 0.1, - ease, - 1 - ) - - CreateSidePoints( - 'front', - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - sideRatio, - sideFixed, - ease, - (points.frontAnkle.dist(points.frontCrossSeam) + crossSeamFront.length()) / - (m.waistToFloor - m.heel / Math.PI) - ) - CreateSidePoints( - 'back', - 'Split', - ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], - sideRatio, - sideFixed, - ease, - (points.frontAnkle.dist(points.frontCrossSeam) + crossSeamFront.length()) / - (m.waistToFloor - m.heel / Math.PI) - ) - - points.backHipsCp1 = points.backWaistCp.clone() - points.backWaistCp = points.backWaist.shift( - points.backWaist.angle(points.backSplitWaist) - 90, - points.backWaist.dist(points.backHips) / 3 - ) - points.backHipsCp2 = points.backSeat.shiftOutwards( - points.backHips, - points.backWaist.dist(points.backHips) / 4 - ) - points.frontHipsCp1 = points.frontWaistCp.clone() - points.frontWaistCp = points.frontWaist.shift( - points.frontWaist.angle(points.frontSplitWaist) + 90, - points.frontWaist.dist(points.frontHips) / 3 - ) - points.frontHipsCp2 = points.frontSeat.shiftOutwards( - points.frontHips, - points.frontWaist.dist(points.frontHips) / 4 - ) - - paths.crossSeamFront = new Path() - .move(points.insideCrossSeam) - .curve(points.frontCrossSeamCp, points.frontHipsCp1, points.frontHips) - .curve(points.frontHipsCp2, points.frontWaistCp, points.frontWaist) - .hide() - paths.crossSeamBack = new Path() - .move(points.insideCrossSeam) - .curve(points.backCrossSeamCp, points.backHipsCp1, points.backHips) - .curve(points.backHipsCp2, points.backWaistCp, points.backWaist) - .hide() - - SmoothPoints('front', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - SmoothPoints('front', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - SmoothPoints('back', 'Side', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - SmoothPoints('back', 'Split', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - - console.log({ pins: JSON.parse(JSON.stringify(points)) }) - - paths.middle = new Path().move(points.insideUpperLeg).line(points.insideFloor).hide() - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split'].forEach((type) => { - CreateControlPoints([ - prefix + type + 'Waist', - prefix + type + 'Seat', - prefix + type + 'UpperLeg', - prefix + type + 'Knee', - prefix + type + 'Ankle', - ]) - }) - }) - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split'].forEach((type) => { - CreatePath(prefix + type, [ - prefix + type + 'Waist', - prefix + type + 'Seat', - prefix + type + 'UpperLeg', - prefix + type + 'Knee', - prefix + type + 'Ankle', - ]).hide() - }) - }) - - if (1 == 2) { - ;['front', 'back'].forEach((prefix) => { - ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - var measurement - switch (name) { - case 'UpperLeg': - measurement = m.upperLeg - case 'Waist': - measurement = prefix == 'front' ? m.waist - m.waistBack : m.waistBack - break - case 'Seat': - measurement = prefix == 'front' ? m.seat - m.seatBack : m.seatBack - break - default: - measurement = m[name.toLowerCase()] - } - - points[prefix + 'Panel' + name] = points['inside' + name].shift( - prefix == 'front' ? 180 : 0, - measurement / 2 - points[prefix + name].dist(points[prefix + 'Split' + name]) - ) //.addCircle(4) - }) - }) - - SmoothPoints('front', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - SmoothPoints('back', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - paths.frontPanel = new Path() - .move(points.frontPanelAnkle) - .line(points.frontPanelKnee) - .line(points.frontPanelUpperLeg) - .line(points.frontPanelSeat) - .line(points.frontPanelWaist) - paths.backPanel = new Path() - .move(points.backPanelAnkle) - .line(points.backPanelKnee) - .line(points.backPanelUpperLeg) - .line(points.backPanelSeat) - .line(points.backPanelWaist) - } - if (1 == 1) { - ;['front', 'back'].forEach((prefix) => { - ;['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { - points[prefix + 'Panel' + name] = points['inside' + name].shift( - prefix == 'front' ? 180 : 0, - points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) - ) //.addCircle(4) - }) - }) - - // SmoothPoints('front', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - // SmoothPoints('back', 'Panel', ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist']) - ;['front', 'back'].forEach((prefix) => { - CreateControlPoints([ - prefix + 'Panel' + 'Waist', - prefix + 'Panel' + 'Seat', - prefix + 'Panel' + 'UpperLeg', - prefix + 'Panel' + 'Knee', - prefix + 'Panel' + 'Ankle', - ]) - }) - ;['front', 'back'].forEach((prefix) => { - CreatePath(prefix + 'Panel', [ - prefix + 'Panel' + 'Waist', - prefix + 'Panel' + 'Seat', - prefix + 'Panel' + 'UpperLeg', - prefix + 'Panel' + 'Knee', - prefix + 'Panel' + 'Ankle', - ]).hide() - }) - - console.log({ - fsl: paths.frontSplit.length(), - fpl: paths.frontPanel.length(), - bsl: paths.backSplit.length(), - bpl: paths.backPanel.length(), - }) - ;['front', 'back'].forEach((prefix) => { - const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() - const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] - for (var i = 0; i < names.length - 1; i++) { - points[prefix + 'Panel' + names[i]] = points[ - prefix + 'Panel' + names[i + 1] - ].shiftFractionTowards(points[prefix + 'Panel' + names[i]], diff) - } - }) - ;['front', 'back'].forEach((prefix) => { - CreateControlPoints([ - prefix + 'Panel' + 'Waist', - prefix + 'Panel' + 'Seat', - prefix + 'Panel' + 'UpperLeg', - prefix + 'Panel' + 'Knee', - prefix + 'Panel' + 'Ankle', - ]) - }) - ;['front', 'back'].forEach((prefix) => { - CreatePath(prefix + 'Panel', [ - prefix + 'Panel' + 'Waist', - prefix + 'Panel' + 'Seat', - prefix + 'Panel' + 'UpperLeg', - prefix + 'Panel' + 'Knee', - prefix + 'Panel' + 'Ankle', - ]).hide() - }) - } - - console.log({ - fsl: paths.frontSplit.length(), - fpl: paths.frontPanel.length(), - bsl: paths.backSplit.length(), - bpl: paths.backPanel.length(), - }) - - if (options.length < 1) { - const length = (1 - options.length) * (m.inseam - (m.waistToFloor - waistToAnkle)) - console.log({ wtf: m.waistToFloor, i: m.inseam, l: length }) - // console.log({i:m.inseam,wa:waistToAnkle,iw:(m.inseam/waistToAnkle),r:lengthRatio}) - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split', 'Panel'].forEach((type) => { - console.log({ n: prefix + type, l: paths[prefix + type].length() }) - points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) - paths[prefix + type] = paths[prefix + type].split(points[prefix + type + 'Hem'])[0] //.hide() - }) - }) - } else { - ;['front', 'back'].forEach((prefix) => { - ;['Side', 'Split', 'Panel'].forEach((type) => { - points[prefix + type + 'Hem'] = points[prefix + type + 'Ankle'] - }) - }) - } - // ;['front', 'back'].forEach((prefix) => { - // ;['Side'].forEach((type) => { - // paths[prefix + type] = new Path() - // .move(points[prefix + type + 'Ankle']) - // .line(points[prefix + type + 'Knee']) - // .line(points[prefix + type + 'UpperLeg']) - // .line(points[prefix + type + 'Seat']) - // .line(points[prefix + type + 'Waist']) - // }) - // }) - // ;['front', 'back'].forEach((prefix) => { - // ;['Split'].forEach((type) => { - // paths[prefix + type +'2'] = new Path() - // .move(points[prefix + type + 'Ankle']) - // .line(points[prefix + type + 'Knee']) - // .line(points[prefix + type + 'UpperLeg']) - // .line(points[prefix + type + 'Waist']) - // }) - // }) - - // paths.frontSplit.addClass('dotted note') - // paths.backSplit.addClass('dotted note') - // paths.frontSplit2.addClass('dashed lining') - // paths.backSplit2.addClass('dashed lining') - - // console.log({d1: points.frontKnee.dist(points.frontUpperLeg),d2: points.frontSplitKnee.dist(points.frontSplitUpperLeg)}) - - console.log({ pahts: JSON.parse(JSON.stringify(paths)) }) - console.log({ pihts: JSON.parse(JSON.stringify(points)) }) - - // paths.frontSide = new Path() - // .move(points.frontSideAnkle) - // .line(points.frontSideKnee) - // .line(points.frontSideUpperLeg) - // .line(points.frontSideSeat) - // .line(points.frontSideWaist) - return part //.hide() - }, -} - -//http://localhost:8000/new/luminous#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D From 2efcf914f5dc58534ffb5c2d225e25b9dab9f5e2 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sat, 6 Jan 2024 18:07:53 +0000 Subject: [PATCH 0031/1313] start with dimensions --- designs/lumina/src/index.mjs | 2 + designs/lumina/src/leg.mjs | 5 +++ designs/lumina/src/panel.mjs | 29 +++++++------- designs/lumina/src/pocket.mjs | 23 +++++------ designs/lumina/src/shape.mjs | 42 +++++++++++++------- designs/lumina/src/side.mjs | 52 ------------------------- designs/lumina/src/waistband.mjs | 66 +++++++++++++++++++++++++++++++- 7 files changed, 124 insertions(+), 95 deletions(-) delete mode 100644 designs/lumina/src/side.mjs diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index 6a8ec4c0016..e1082e1bb3d 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -24,3 +24,5 @@ export { i18n, Lumina, shape, panel, leg, waistband, pocket } // http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D // http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22length%22%3A1%2C%22waistreduction%22%3A0.1%2C%22waistLowering%22%3A0.012%2C%22waistlowering%22%3A0.181%7D%2C%22units%22%3A%22metric%22%7D + +// Climbing pants http://localhost:8000/new/lumina#view=%22draft%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22waistreduction%22%3A0%2C%22ease%22%3A0.1%2C%22length%22%3A0.945%2C%22waistband%22%3Afalse%2C%22pocket%22%3Afalse%2C%22waistlowering%22%3A0.2%7D%2C%22sabool%22%3A1%2C%22sa%22%3A10%2C%22samm%22%3A10%7D diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index ff4ff6d7492..cf7c10b82bc 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -36,6 +36,11 @@ export const leg = { snippets.back2 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.5)) snippets.back3 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.75)) + console.log({ + front: paths.front.length(), + back: paths.back.length(), + total: paths.front.length() + paths.back.length(), + }) return part }, } diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs index 5652724b4f5..c9cf9d880c9 100644 --- a/designs/lumina/src/panel.mjs +++ b/designs/lumina/src/panel.mjs @@ -5,28 +5,25 @@ export const panel = { from: shape, draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { paths.panelWaistband = new Path() - .move(points.backPanelWaistband) - .line(points.frontPanelWaistband) - .addText('top', 'note center') + .move(points.frontPanelWaistband) + .line(points.backPanelWaistband) + .setText('top', 'note center') .setClass('hidden') paths.panelHem = new Path() - .move(points.frontPanelHem) - .line(points.backPanelHem) - .addText('bottom', 'note center') - .setClass('hidden') - paths.frontPanel.unhide().addText('front', 'note center').setClass('hidden') - paths.backPanel = paths.backPanel - .reverse() - .unhide() - .addText('back', 'note center') + .move(points.backPanelHem) + .line(points.frontPanelHem) + .setText('bottom', 'note center') .setClass('hidden') + paths.frontPanel.reverse().setText('front', 'note center').setClass('hidden') + paths.backPanel = paths.backPanel.unhide().setText('back', 'note center').setClass('hidden') paths.seam = new Path() - .move(points.frontPanelHem) - .join(paths.panelHem) - .join(paths.backPanel) - .join(paths.panelWaistband) + .move(points.backPanelHem) + .join(paths.backPanel.reverse()) + .join(paths.panelWaistband.reverse()) .join(paths.frontPanel) + .join(paths.panelHem.reverse()) + .reverse() .close() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs index 225ba6d1700..d0b9413deb7 100644 --- a/designs/lumina/src/pocket.mjs +++ b/designs/lumina/src/pocket.mjs @@ -31,10 +31,6 @@ export const pocket = { store, part, }) => { - // const p = store.get('pocket') - // paths = p.paths - // points = p.points - if (!options.pocket) { return part.hide() } @@ -42,20 +38,21 @@ export const pocket = { const pocketDepth = measurements.waistToSeat * options.pocketdepth paths.pocketWaistband = new Path() - .move(points.backPanelWaistband) - .line(points.frontPanelWaistband) + .move(points.frontPanelWaistband) + .line(points.backPanelWaistband) .addText('top', 'note center') .setClass('hidden') points.frontPocketHem = paths.frontPanel.shiftAlong(pocketDepth) points.backPocketHem = paths.backPanel.shiftAlong(pocketDepth) paths.pocketHem = new Path() - .move(points.frontPocketHem) - .line(points.backPocketHem) + .move(points.backPocketHem) + .line(points.frontPocketHem) .addText('bottom', 'note center') .setClass('hidden') const frontPocketSplit = paths.frontPanel.split(points.frontPocketHem) if (frontPocketSplit) { paths.frontPocket = frontPocketSplit[0] + .reverse() .unhide() .addText('front', 'note center') .setClass('hidden') @@ -67,7 +64,6 @@ export const pocket = { if (backPocketSplit) { paths.backPocket = backPocketSplit[0] .unhide() - .reverse() .addText('back', 'note center') .setClass('hidden') } else { @@ -77,11 +73,12 @@ export const pocket = { paths.seam = new Path() .move(points.frontPocketHem) - .join(paths.pocketHem) - .join(paths.backPocket) - .join(paths.pocketWaistband) - .join(paths.frontPocket) + .join(paths.pocketHem.reverse()) + .join(paths.backPocket.reverse()) + .join(paths.pocketWaistband.reverse()) + .join(paths.frontPocket.reverse()) .close() + .reverse() if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index 01081437d13..a132d21cd82 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -15,7 +15,7 @@ export const createPath = (paths, Path, points, pathName, names) => { } const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { - console.log({ pn: pathName, p: paths[pathName] }) + // console.log({ pn: pathName, p: paths[pathName] }) const newPath = extendPath(Path, paths[pathName], 100, 0) const newWaist = newPath.shiftAlong(waistLowering + 100) if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { @@ -94,16 +94,16 @@ const createSidePoints = ({ let measurement // let width let lastGood = 0 - console.log({ - prefix: prefix, - postfix: postfix, - ratio: ratio, - ratioFixed: ratioFixed, - ease: ease, - waistReduction: waistReduction, - distanceCompensation: distanceCompensation, - fixedSidePanel: fixedSidePanel, - }) + // console.log({ + // prefix: prefix, + // postfix: postfix, + // ratio: ratio, + // ratioFixed: ratioFixed, + // ease: ease, + // waistReduction: waistReduction, + // distanceCompensation: distanceCompensation, + // fixedSidePanel: fixedSidePanel, + // }) for (let i = 0; i < names.length; i++) { let distance = measurements['waistTo' + names[lastGood]] - @@ -259,7 +259,8 @@ export const shape = { kneeToWaistLength: 400, crotchPointsCP: 2, }, - draft: ({ measurements, options, Point, Path, points, paths, utils, store, part }) => { + draft: ({ measurements, options, Point, Path, points, paths, utils, store, units, part }) => { + console.log('Shape') const inseam = measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg ? measurements.waistToFloor - measurements.waistToUpperLeg @@ -448,7 +449,7 @@ export const shape = { ;['front', 'back'].forEach((prefix) => { ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { points[prefix + 'Panel' + name] = points['middle' + name].shift( - prefix == 'front' ? 180 : 0, + prefix == 'front' ? 0 : 180, points[prefix + 'Side' + name].dist(points[prefix + 'Split' + name]) ) }) @@ -582,6 +583,21 @@ export const shape = { store.set('waistbandFrontLength', paths.frontWaistband.length()) store.set('waistbandPanelLength', points.frontPanelWaistband.dist(points.backPanelWaistband)) + store.flag.note({ + msg: `lumina:dimensions`, + replace: { + waistbandlength: units( + (store.get('waistbandBackLength') + + store.get('waistbandFrontLength') + + store.get('waistbandPanelLength')) * + 2 + ), + length: units( + store.get('waistbandSize') + points.frontPanelWaistband.dist(points.frontPanelHem) + ), + }, + }) + return part.hide() }, } diff --git a/designs/lumina/src/side.mjs b/designs/lumina/src/side.mjs deleted file mode 100644 index dddaa5595ac..00000000000 --- a/designs/lumina/src/side.mjs +++ /dev/null @@ -1,52 +0,0 @@ -import { ipoints } from './ipoints.mjs' - -export const side = { - name: 'lumina.ipoints', - after: ipoints, - measurements: [ - 'waist', - 'waistBack', - 'hips', - 'seat', - 'seatBack', - 'inseam', - 'waistToSeat', - 'waistToUpperLeg', - 'waistToKnee', - 'waistToHips', - 'waistToFloor', - 'knee', - 'ankle', - 'crossSeam', - 'crossSeamFront', - 'heel', - 'upperLeg', - ], - options: { - size: { pct: 50, min: 10, max: 100, menu: 'fit' }, - crossSeamAngle: 25, - crotchToKnee: 0.5, - waistToKneeCP: 0.4, - kneeToWaistLength: 400, - }, - draft: ({ - measurements, - options, - Point, - Path, - points, - paths, - Snippet, - snippets, - utils, - log, - complete, - sa, - paperless, - macro, - part, - }) => { - points.sideWaist = new Point(0, 0) - points.sideWaistFront = points.sideWaist.shift() - }, -} diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 8e6c5808c22..f38b623da32 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -22,7 +22,6 @@ export const waistband = { if (false === options.waistband) { return part.hide() } - const waistLength = store.get('waistLength') const waistbandBackLength = store.get('waistbandBackLength') const waistbandFrontLength = store.get('waistbandFrontLength') @@ -104,6 +103,23 @@ export const waistband = { .join(paths.waistband.reverse()) } + paths.front = new Path() + .move(points.waistbandFront) + .line(points.waistFront) + .setText('front', 'note center') + .setClass('hidden') + paths.back = new Path() + .move(points.waistBack) + .line(points.waistbandBack) + .setText('back', 'note center') + .setClass('hidden') + + macro('cutonfold', { + from: points.waistbandFront, + to: points.waistFront, + }) + store.cutlist.addCut({ cut: 2, from: 'fabric', onFold: true }) + paths.seamSA = new Path() .move(points.waistFront) .join(paths.waist.reverse()) @@ -123,6 +139,54 @@ export const waistband = { .attr('class', 'fabric sa') } + let top = paths.waist.edge('top') + if (top.y == points.waistFront.y) { + top = paths.waist.edge('bottom') + } + let bottom = paths.waistband.edge('bottom') + if (bottom.y == points.waistbandFront.y) { + bottom = paths.waistband.edge('top') + } + + macro('hd', { + id: 'top', + from: points.waistBack, + to: points.waistFront, + y: Math.min(points.waistFront.y, top.y) - sa - 15, + }) + macro('hd', { + id: 'bottom', + from: points.waistbandBack, + to: points.waistbandFront, + y: Math.max(points.waistbandFront.y, bottom.y) + sa + 15, + }) + macro('vd', { + id: 'top', + from: points.waistBack, + to: top, + x: top.x - 15, + noStartMarker: true, + noEndMarker: true, + }) + macro('vd', { + id: 'bottom', + from: points.waistFront, + to: bottom, + x: top.x + 15, + }) + macro('ld', { + id: 'front', + from: points.waistFront, + to: points.waistbandFront, + d: 15, + }) + macro('ld', { + id: 'back', + from: points.waistBack, + to: points.waistbandBack, + d: -15, + }) + return part }, } From 1ff26f5a6bad28d003c1a7ea94b376c3927d102a Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 7 Jan 2024 19:40:43 +0000 Subject: [PATCH 0032/1313] Annotations and i18n --- designs/lumina/i18n/en.json | 103 +++++++++++++++++++++++++-- designs/lumina/src/leg.mjs | 115 +++++++++++++++++++++++++++++-- designs/lumina/src/panel.mjs | 70 ++++++++++++++++++- designs/lumina/src/pocket.mjs | 56 +++++++++++++++ designs/lumina/src/shape.mjs | 38 +++------- designs/lumina/src/waistband.mjs | 32 +++++---- 6 files changed, 362 insertions(+), 52 deletions(-) diff --git a/designs/lumina/i18n/en.json b/designs/lumina/i18n/en.json index 9642fb245dc..9b3b9f4a214 100644 --- a/designs/lumina/i18n/en.json +++ b/designs/lumina/i18n/en.json @@ -1,9 +1,102 @@ { - "t": "Lumina", - "d": "A FreeSewing pattern that needs a description", - "p": { }, + "t": "Lumina leggings", + "d": "A FreeSewing pattern for a pair of leggings", + "p": { + "shape": "Shape", + "leg": "Leg", + "panel": "Side Pannel", + "pocket": "Pocket", + "waistband": "Waistband" + }, "s": { - "couldNoFitWaistband": "Could not fit the waistband" + "couldNotLowerWaist": "Could not lower the waist", + "cantFitTheWaistPoint": "Cannot fit the waist point", + "couldNoFitWaistband": "Could not fit the waistband", + "couldNotCreatePocket": "Could not create the pocket", + "dimensions.d": "Dimensions", + "dimensions.t": "Waistband will be {{{ waistbandlength }}} long total.\nThe length of the garment along the side will be {{{ length }}}." }, - "o": { } + "o": { + "ease": { + "t": "Ease", + "d": "This controls the amount of ease. Since this is a pattern for leggings that is normally made of stretch fabric, the ease is negative, meaning the fabric is stretched around the body." + }, + "length": { + "t": "Leg length", + "d": "The length of the legs. Look in the Messages from the designer for the exact length." + }, + "waistlowering": { + "t": "Waist lowering", + "d": "Lowering of the waist. This is a percentage of the Waist-To-Hips measurement." + }, + "waistband": { + "t": "Waistband", + "d": "Add a separate waistband to the design." + }, + "waistbandYes": { + "t": "With a Waistband", + "d": "Add a separate waistband." + }, + "waistbandNo": { + "t": "Without a Waistband", + "d": "Do not add a separate waistband." + }, + "lowerwaistbandback": { + "t": "Waistband Lowering", + "d": "Lower the waistband in the back." + }, + "lowerwaistbandbackYes": { + "t": "Lower the Waistband", + "d": "Lower the waistband in the back, creating a 'V' shape." + }, + "lowerwaistbandbackNo": { + "t": "Straight waistband", + "d": "Do not lower the waistband in the back." + }, + "waistbandsize": { + "t": "Waistband size", + "d": "Size (height) of the waistband. This is a percentage of the Waist-To-Hips measurement." + }, + "waistreduction": { + "t": "Waist circumference reduction", + "d": "The amount by which the waist should be reduced. This is a percentage of the waist circumference. Only available when the waistband option is selected. Look in the Messages from the designer for the exact size." + }, + "pocket": { + "t": "Pocket", + "d": "Add pockets" + }, + "pocketYes": { + "t": "Add pockets", + "d": "Add pockets in the side panel" + }, + "pocketNo": { + "t": "No pockets", + "d": "Pockets are not added" + }, + "pocketdepth": { + "t": "Pocket depth", + "d": "Depth (height) of the pocket. This is a percentage of the Waist-To-Seat measurement." + }, + "fixedsidepanel": { + "t": "Side panel", + "d": "Fixed-width, or shaped side panel" + }, + "fixedsidepanelYes": { + "t": "Fixed side panel", + "d": "Create a fixed-width side panel" + }, + "fixedsidepanelNo": { + "t": "Shaped side panel", + "d": "Create a shaped side panel, consisting of a percentage of the leg circumference" + }, + "sidepanel": { + "t": "Side Panel size", + "d": "Size (width) of the side panel. This is a percentage of the waist circumference." + }, + "smoothing": { + "t": "Smoothing", + "d": "This setting controls the amount of smoothing that is done to create the side seams (and overall shape of the leggings)." + } + + } } diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index cf7c10b82bc..1d5704f5492 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -3,7 +3,7 @@ import { shape } from './shape.mjs' export const leg = { name: 'lumina.leg', from: shape, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { + draft: ({ sa, points, Path, paths, Snippet, snippets, macro, store, part }) => { paths.front = paths.front.reverse().unhide().addText('front', 'note center').setClass('hidden') paths.frontSplit.unhide().addText('front', 'note center').setClass('hidden') paths.back.unhide().addText('back', 'note center').setClass('hidden') @@ -25,6 +25,25 @@ export const leg = { if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + store.cutlist.addCut({ cut: 2, from: 'fabric' }) + points.gridAnchor = points.middleUpperLeg.clone() + + points.logo = points.middleUpperLeg.shiftFractionTowards(points.frontSplitUpperLeg, 0.5) + snippets.logo = new Snippet('logo', points.logo) + + points.title = points.middleUpperLeg.shiftFractionTowards(points.backSplitUpperLeg, 0.6) + macro('title', { + at: points.title, + nr: 1, + title: 'leg', + align: 'center', + }) + + points.scalebox = points.middleUpperLeg.shift(270, 50) + macro('scalebox', { + at: points.scalebox, + }) + snippets.middle = new Snippet('notch', points.frontUpperLeg) snippets.front0 = new Snippet('notch', paths.front.shiftFractionAlong(0.5)) snippets.front1 = new Snippet('notch', paths.frontSplit.shiftFractionAlong(0.2)) @@ -36,11 +55,97 @@ export const leg = { snippets.back2 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.5)) snippets.back3 = new Snippet('notch', paths.backSplit.shiftFractionAlong(0.75)) - console.log({ - front: paths.front.length(), - back: paths.back.length(), - total: paths.front.length() + paths.back.length(), + const middleBottom = points.frontSplitHem.shiftFractionTowards(points.backSplitHem, 0.5) + middleBottom.x = 0 + const top = paths.seam.edge('top') + top.x = 0 + const back = paths.seam.edge('right') + const front = paths.seam.edge('left') + + if (!points.frontSplitWaistband.sitsRoughlyOn(front)) { + macro('hd', { + id: 'middleToFront', + from: points.middleUpperLeg, + to: front, + y: top.y - sa - 35, + }) + } + if (!points.backSplitWaistband.sitsRoughlyOn(back)) { + macro('hd', { + id: 'middleToBack', + from: back, + to: points.middleUpperLeg, + y: top.y - sa - 35, + }) + } + macro('hd', { + id: 'middleToFrontSplitWaistband', + from: points.frontSplitWaistband, + to: points.middleUpperLeg, + y: top.y - sa - 25, }) + macro('hd', { + id: 'middleToBackSplitWaistband', + from: points.middleUpperLeg, + to: points.backSplitWaistband, + y: top.y - sa - 25, + }) + macro('hd', { + id: 'middleToFrontWaistband', + from: points.frontWaistband, + to: points.middleUpperLeg, + y: top.y - sa - 15, + }) + macro('hd', { + id: 'middleToBackWaistband', + from: points.middleUpperLeg, + to: points.backWaistband, + y: top.y - sa - 15, + }) + macro('hd', { + id: 'bottomFront', + from: points.frontSplitHem, + to: middleBottom, + y: middleBottom.y + sa + 15, + }) + macro('hd', { + id: 'bottomBack', + from: middleBottom, + to: points.backSplitHem, + y: middleBottom.y + sa + 15, + }) + + macro('vd', { + id: 'middle', + from: points.middleUpperLeg, + to: middleBottom, + x: 0, + }) + macro('vd', { + id: 'front', + from: points.frontWaistband, + to: points.middleUpperLeg, + x: -15, + }) + macro('vd', { + id: 'back', + from: points.backWaistband, + to: points.middleUpperLeg, + x: 15, + }) + macro('vd', { + id: 'frontSplit', + from: points.frontSplitWaistband, + to: points.frontSplitHem, + x: front.x - sa - 15, + }) + macro('vd', { + id: 'backSplit', + from: points.backSplitWaistband, + to: points.backSplitHem, + x: back.x + sa + 15, + }) + return part }, } diff --git a/designs/lumina/src/panel.mjs b/designs/lumina/src/panel.mjs index c9cf9d880c9..684322006e0 100644 --- a/designs/lumina/src/panel.mjs +++ b/designs/lumina/src/panel.mjs @@ -3,7 +3,7 @@ import { shape } from './shape.mjs' export const panel = { name: 'lumina.panel', from: shape, - draft: ({ sa, Point, points, Path, paths, Snippet, snippets, options, macro, store, part }) => { + draft: ({ sa, Point, points, Path, paths, Snippet, snippets, macro, store, part }) => { paths.panelWaistband = new Path() .move(points.frontPanelWaistband) .line(points.backPanelWaistband) @@ -36,6 +36,74 @@ export const panel = { snippets.back2 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.5)) snippets.back3 = new Snippet('notch', paths.backPanel.shiftFractionAlong(0.75)) + store.cutlist.addCut({ cut: 2, from: 'fabric' }) + points.gridAnchor = points.middleSeat.clone() + + points.title = points.middleSeat.clone() + macro('title', { + at: points.title, + nr: 2, + title: 'panel', + align: 'center', + }) + + const middleTop = points.frontPanelWaistband.shiftFractionTowards( + points.backPanelWaistband, + 0.5 + ) + const middleBottom = new Point(middleTop.x, points.frontPanelHem.y) + const back = paths.backPanel.edge('left') + const front = paths.frontPanel.edge('right') + + macro('hd', { + id: 'topFront', + from: middleTop, + to: points.frontPanelWaistband, + y: middleTop.y - sa - 15, + }) + macro('hd', { + id: 'topBack', + from: points.backPanelWaistband, + to: middleTop, + y: middleTop.y - sa - 15, + }) + macro('hd', { + id: 'middleFront', + from: middleBottom, + to: front, + y: middleBottom.y + sa + 25, + }) + macro('hd', { + id: 'middleBack', + from: back, + to: middleBottom, + y: middleBottom.y + sa + 25, + }) + macro('hd', { + id: 'bottomFront', + from: middleBottom, + to: points.frontPanelHem, + y: middleBottom.y + sa + 15, + }) + macro('hd', { + id: 'bottomBack', + from: points.backPanelHem, + to: middleBottom, + y: middleBottom.y + sa + 15, + }) + macro('vd', { + id: 'front', + from: points.frontPanelWaistband, + to: points.frontPanelHem, + x: front.x + sa + 15, + }) + macro('vd', { + id: 'back', + from: points.backPanelWaistband, + to: points.backPanelHem, + x: back.x - sa - 15, + }) + return part }, } diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs index d0b9413deb7..7eb23605cfd 100644 --- a/designs/lumina/src/pocket.mjs +++ b/designs/lumina/src/pocket.mjs @@ -92,6 +92,62 @@ export const pocket = { } } + store.cutlist.addCut({ cut: 2, from: 'fabric' }) + points.gridAnchor = points.middleSeat.clone() + + points.title = points.middleSeat.clone() + macro('title', { + at: points.title, + nr: 4, + title: 'pocket', + align: 'center', + }) + + const middleTop = points.frontPanelWaistband.shiftFractionTowards( + points.backPanelWaistband, + 0.5 + ) + const middleBottom = new Point(middleTop.x, points.frontPocketHem.y) + const back = paths.backPocket.edge('left') + const front = paths.frontPocket.edge('right') + + macro('hd', { + id: 'topFront', + from: middleTop, + to: points.frontPanelWaistband, + y: middleTop.y - sa - 15, + }) + macro('hd', { + id: 'topBack', + from: points.backPanelWaistband, + to: middleTop, + y: middleTop.y - sa - 15, + }) + macro('hd', { + id: 'bottomFront', + from: middleBottom, + to: front, + y: middleBottom.y + sa + 15, + }) + macro('hd', { + id: 'bottomBack', + from: back, + to: middleBottom, + y: middleBottom.y + sa + 15, + }) + macro('vd', { + id: 'front', + from: points.frontPanelWaistband, + to: points.frontPocketHem, + x: points.frontPocketHem.x + sa + 15, + }) + macro('vd', { + id: 'back', + from: points.backPanelWaistband, + to: points.backPocketHem, + x: points.backPocketHem.x - sa - 15, + }) + return part }, } diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index a132d21cd82..d512dd2843c 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -15,7 +15,6 @@ export const createPath = (paths, Path, points, pathName, names) => { } const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { - // console.log({ pn: pathName, p: paths[pathName] }) const newPath = extendPath(Path, paths[pathName], 100, 0) const newWaist = newPath.shiftAlong(waistLowering + 100) if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { @@ -92,18 +91,7 @@ const createSidePoints = ({ fixedSidePanel, }) => { let measurement - // let width let lastGood = 0 - // console.log({ - // prefix: prefix, - // postfix: postfix, - // ratio: ratio, - // ratioFixed: ratioFixed, - // ease: ease, - // waistReduction: waistReduction, - // distanceCompensation: distanceCompensation, - // fixedSidePanel: fixedSidePanel, - // }) for (let i = 0; i < names.length; i++) { let distance = measurements['waistTo' + names[lastGood]] - @@ -139,12 +127,15 @@ const createSidePoints = ({ break default: measurement = measurements[names[i].toLowerCase()] + // Adjust for thigh size when using positive ease + if (ease > 1 && (names[i] == 'Ankle' || names[i] == 'Knee')) { + measurement *= 1.2 + } } measurement /= 2 measurement *= ease const width = measurement * ratio - // const reduction = (measurement - width) < ratioFixed ? width : measurement - ratioFixed const reduction = ratio == 0 ? measurement @@ -238,7 +229,7 @@ export const shape = { max: 150, ...pctBasedOn('waistToHips'), // eslint-disable-next-line no-unused-vars - menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'fit' : false), + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), }, waistlowering: { pct: 35, min: -10, max: 60, ...pctBasedOn('waistToHips'), menu: 'style' }, waistreduction: { @@ -247,10 +238,10 @@ export const shape = { max: 10, ...pctBasedOn('waist'), // eslint-disable-next-line no-unused-vars - menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'style' : false), + menu: (settings, mergedOptions) => (mergedOptions?.waistband ? 'fit' : false), }, - sidePanel: { pct: 25, min: 10, max: 40, menu: 'style' }, + sidepanel: { pct: 25, min: 10, max: 40, menu: 'style' }, smoothing: { pct: 85, min: 50, max: 100, menu: 'advanced' }, fixedsidepanel: { bool: false, menu: 'style' }, crossSeamAngle: 35, @@ -260,7 +251,6 @@ export const shape = { crotchPointsCP: 2, }, draft: ({ measurements, options, Point, Path, points, paths, utils, store, units, part }) => { - console.log('Shape') const inseam = measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg ? measurements.waistToFloor - measurements.waistToUpperLeg @@ -274,8 +264,7 @@ export const shape = { ? 1.5 - options.waistlowering : options.waistbandsize) : 0 - const waistFrontBackRatio = measurements.waistBack / measurements.waist - const sideRatio = 1 - options.sidePanel + const sideRatio = 1 - options.sidepanel // const sideRatio = 3 / 5 const ease = options.ease + 1 const waistToAnkle = measurements.waistToFloor - measurements.heel / Math.PI @@ -287,7 +276,7 @@ export const shape = { const sideFixed = (((measurements.waist - measurements.waistBack) * ease) / 2) * sideRatio const fixedSidePanel = (((measurements.waist - measurements.waistBack - waistReduction) * ease) / 2) * - options.sidePanel + options.sidepanel points.middleWaist = new Point(0, 0) points.middleHips = points.middleWaist.shift(270, measurements.waistToHips) @@ -354,14 +343,6 @@ export const shape = { points[prefix + 'SideWaistband'] = points[prefix + 'SideWaist'].clone() }) - // ;['front', 'back'].forEach((prefix) => { - // ;['Ankle', 'Knee', 'UpperLeg', 'Seat'].forEach((point) => { - // const n = point == 'UpperLeg' ? 'upperLeg' : point.toLowerCase() - // const m = measurements[n] * ease * (point == 'Seat' ? 0.25 : 0.5) - // // console.log({n:prefix+point,m:m,d:points[prefix+'Side' +point].dist(points[prefix+point])-m}) - // }) - // }) - points.middleWaistband = points.middleWaist.clone() ;['front', 'back'].forEach((prefix) => { createSidePoints({ @@ -372,7 +353,6 @@ export const shape = { postfix: 'Split', names: ['Ankle', 'Knee', 'UpperLeg', 'Seat', 'Waist'], ratio: sideRatio, - // ratio: 0.1, ratioFixed: sideFixed, ease: ease, waistReduction: waistReduction, diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index f38b623da32..751b9e135da 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -13,7 +13,6 @@ export const waistband = { Snippet, snippets, options, - measurements, macro, log, utils, @@ -23,7 +22,6 @@ export const waistband = { return part.hide() } const waistLength = store.get('waistLength') - const waistbandBackLength = store.get('waistbandBackLength') const waistbandFrontLength = store.get('waistbandFrontLength') const waistbandPanelLength = store.get('waistbandPanelLength') const waistbandLength = store.get('waistbandLength') @@ -33,7 +31,7 @@ export const waistband = { return part.hide() } - points.origin = new Point(0, 0) //.addCircle(3) + points.origin = new Point(0, 0) const angleRad = Math.asin((Math.abs(waistbandLength - waistLength) * 0.5) / waistbandSize) const radius = (waistLength * 0.5) / Math.sin(angleRad) @@ -114,12 +112,31 @@ export const waistband = { .setText('back', 'note center') .setClass('hidden') + let top = paths.waist.edge('top') + if (top.y == points.waistFront.y) { + top = paths.waist.edge('bottom') + } + let bottom = paths.waistband.edge('bottom') + if (bottom.y == points.waistbandFront.y) { + bottom = paths.waistband.edge('top') + } + macro('cutonfold', { from: points.waistbandFront, to: points.waistFront, }) store.cutlist.addCut({ cut: 2, from: 'fabric', onFold: true }) + points.title = points.snippetPanelFront.shiftFractionTowards(points.snippetPanelBack, 0.5) + points.title.y = top.y + 20 + macro('title', { + at: points.title, + nr: 3, + title: 'waistband', + align: 'center', + scale: 0.35, + }) + paths.seamSA = new Path() .move(points.waistFront) .join(paths.waist.reverse()) @@ -139,15 +156,6 @@ export const waistband = { .attr('class', 'fabric sa') } - let top = paths.waist.edge('top') - if (top.y == points.waistFront.y) { - top = paths.waist.edge('bottom') - } - let bottom = paths.waistband.edge('bottom') - if (bottom.y == points.waistbandFront.y) { - bottom = paths.waistband.edge('top') - } - macro('hd', { id: 'top', from: points.waistBack, From 48e9bdce43d7656f1c988eeaccf8f4570c64235e Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Sun, 7 Jan 2024 22:20:49 +0000 Subject: [PATCH 0033/1313] Working on Tristan instructions --- .../docs/designs/tristan/instructions/en.md | 96 ++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index 5e424d1b685..32ecf66378f 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -2,6 +2,100 @@ title: "Tristan top: Sewing Instructions" --- + +##### There are many ways to sew a Tristan +These instructions are for a lined Tristan top with a center-front lacing closure and bias binding at the neckline, armhole, and hem. + + ### Step 1: Cut your pieces -This is the first step \ No newline at end of file +Cut your pattern pieces. If you would like to add embroidery or other decoration, now is a good time to do so. + +### Step 2: Sew the back inside (Part 3) parts together at center back + +Align the back inside (Part 3) parts at center back. Sew them together with _good sides together_. + +### Step 3: Attach back outside (Part 4) parts + +Attach one back outside (Part 4) part to its matching back inside (Part 3) part, _good sides together_, making sure to match any notches. + +Do the same for the other back outside (Part 4) part. + +### Step 4: Attach front outside (Part 2) parts at the side seams + +Attach one front outside (Part 2) part to its matching back outside (Part 3) part, _good sides together_. + +Do the same for the other front outside (Part 2) part. + +### Step 5: Attach front inside (Part 1) parts + +Finally, attach one front inside (Part 1) part to its matching front inside (Part 2) part, _good sides together_. + +Do the same for the other front inside (Part 1) part. + +Press all the seam allowances flat. + +### Step 6: Stitch at the shoulders + +Stitch at the shoulders. Press. + + +##### Check the fit +This is a good time to try on your garment and make any small adjustments. For example, if your shoulders have a different slope, you could make one shoulder strap a little shorter. + + +### Step 7: Repeat with lining fabric + +Repeat Steps 1 through 6 with your lining fabric. + +You will now have two identical pieces, one with your main fabric and one with your lining. + +### Step 8: Begin the closure by stitching down center front + +Place the center insides of the main and lining together, _good sides together_. + +Stitch down center front. + +Turn right side out and press. + +### Step 9: Topstitch the center front + +Stitch 2 mm (0.1 inch) in from center edge. + +Repeat on the other side. + + +##### Switching sides for each step is optional +These instructions suggest doing each step on each side to keep the stitching lines even and symmetrical, but it’s fine to do all the closure steps on one side then move on the other if you prefer. + + +### Step 10: Stitch your first boning channel + +Allow enough space for your boning, then stitch again. + +Repeat on the other side. + + +##### Leave enough room for your boning +Leave enough wiggle room to allow you to insert your boning. You want the channel to be snug, but not too tight. + + +### Step 11: Stitch your eyelet channel + +Mark the locations of your eyelets/grommets. Allow enough space to install these later, then stitch again. + +Repeat on the other side. + +### Step 12: Stitch your second boning channel + +Allow enough space for another row of boning, then stitch again. + +Repeat on the other side. + +### Step 13: Insert your boning + +Cap your boning if appropriate for the type of boning used. + +### Step 14: Bind your top + +Apply bias binding to the neck hole, armholes, and hem. \ No newline at end of file From 71a8ff380065c05087bc161ba840d93c756b8a18 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 05:32:14 +0000 Subject: [PATCH 0034/1313] Tests completed --- designs/lumina/i18n/en.json | 1 - designs/lumina/src/pocket.mjs | 2 +- designs/lumina/src/shape.mjs | 98 ++++++++++++++++++++++---------- designs/lumina/src/waistband.mjs | 1 + 4 files changed, 69 insertions(+), 33 deletions(-) diff --git a/designs/lumina/i18n/en.json b/designs/lumina/i18n/en.json index 9b3b9f4a214..18e6ad9d0ca 100644 --- a/designs/lumina/i18n/en.json +++ b/designs/lumina/i18n/en.json @@ -97,6 +97,5 @@ "t": "Smoothing", "d": "This setting controls the amount of smoothing that is done to create the side seams (and overall shape of the leggings)." } - } } diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs index 7eb23605cfd..774a4277e84 100644 --- a/designs/lumina/src/pocket.mjs +++ b/designs/lumina/src/pocket.mjs @@ -95,7 +95,7 @@ export const pocket = { store.cutlist.addCut({ cut: 2, from: 'fabric' }) points.gridAnchor = points.middleSeat.clone() - points.title = points.middleSeat.clone() + points.title = points.frontPocketHem.shiftFractionTowards(points.backPanelWaistband, 0.5) macro('title', { at: points.title, nr: 4, diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index d512dd2843c..4869be66bd8 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -1,6 +1,9 @@ +import { adult, doll, giant } from '@freesewing/models' import { pctBasedOn } from '@freesewing/core' import { extendPath, createControlPoints } from '@freesewing/lumira' +const classes = ['lining', 'canvas', 'mark', 'contrast', 'note', 'interfacing', 'various'] + export const createPath = (paths, Path, points, pathName, names) => { let i paths[pathName] = new Path() @@ -28,7 +31,9 @@ const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => paths[pathName] = pTemp[1].hide() } -const createWaistPoint = (options, measurements, Path, points, utils, front) => { +const createWaistPoint = (options, measurements, Path, points, utils, log, front) => { + // console.log({front:front}) + const kneeTemp = points.middleCrossSeam.shiftFractionTowards( points.middleKnee, options.crotchToKnee @@ -38,26 +43,29 @@ const createWaistPoint = (options, measurements, Path, points, utils, front) => (front ? options.crossSeamAngle * (measurements.waistBack / measurements.waist) : -1 * options.crossSeamAngle * (1 - measurements.waistBack / measurements.waist)) - const crossSeam = front ? measurements.crossSeamFront : measurements.crossSeamBack - let kneeToWaist = measurements.waistToKnee - let ratio = 1 - let waist = kneeTemp.shift(angle, kneeToWaist * ratio) + const crossSeam = front + ? measurements.crossSeamFront + : measurements.crossSeam - measurements.crossSeamFront + let waist = kneeTemp.shift(angle, measurements.waistToKnee) const crossSeamCp = points.middleCrossSeam.shiftFractionTowards( utils.beamIntersectsY(kneeTemp, waist, points.middleCrossSeam.y), options.crotchPointsCP ) + let waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) + const kneeToWaist = measurements.waistToKnee * 0.75 - let waistCp - let diff + let diff = 0 let iter = 0 do { - waist = kneeTemp.shift(angle, kneeToWaist * ratio * (ratio < 1 ? 1.05 : 0.95)) + // waist = kneeTemp.shift(angle, kneeToWaist +((diff > 0 ? 1 : -1) *iter)) + waist = kneeTemp.shift(angle, kneeToWaist + diff * 1.03) //* (diff < 0 ? 1.01 : 0.97))) + // waist = kneeTemp.shift(angle, kneeToWaist *ratio) waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) const crossSeamPath = new Path().move(points.middleCrossSeam).curve(crossSeamCp, waistCp, waist) diff = crossSeam - crossSeamPath.length() - ratio = crossSeam / crossSeamPath.length() + // console.log({i:iter,d:diff,cs:crossSeam,csl:crossSeamPath.length()}) } while (++iter < 100 && (diff > 1 || diff < -1)) if (iter >= 100) { log.error('lumina:cantFitTheWaistPoint') @@ -93,9 +101,15 @@ const createSidePoints = ({ let measurement let lastGood = 0 for (let i = 0; i < names.length; i++) { - let distance = - measurements['waistTo' + names[lastGood]] - - (measurements['waistTo' + names[i]] === undefined ? 0 : measurements['waistTo' + names[i]]) + let m1 = 0, + m2 = 0 + if (names[i] != 'Waist') { + m1 = measurements['waistTo' + names[i]] + } + if (names[lastGood] != 'Waist') { + m2 = measurements['waistTo' + names[lastGood]] + } + let distance = m2 - m1 switch (names[i]) { case 'UpperLeg': measurement = measurements['upperLeg'] @@ -118,11 +132,14 @@ const createSidePoints = ({ break case 'Waist': measurement = - (prefix == 'front' ? measurements.waistFront : measurements.waistBack) - + (prefix == 'front' + ? measurements.waist - measurements.waistBack + : measurements.waistBack) - waistReduction * 0.5 break case 'Seat': - measurement = prefix == 'front' ? measurements.seatFront : measurements.seatBack + measurement = + prefix == 'front' ? measurements.seat - measurements.seatBack : measurements.seatBack distance *= distanceCompensation break default: @@ -134,7 +151,7 @@ const createSidePoints = ({ } measurement /= 2 measurement *= ease - + let ci const width = measurement * ratio const reduction = ratio == 0 @@ -150,18 +167,22 @@ const createSidePoints = ({ reduction ) } else { - let ci = utils.circlesIntersect( - points[prefix + names[i]], - reduction, - points[prefix + postfix + names[lastGood]], - distance - ) - if (false !== ci) { - points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] - lastGood = i - } else { - points[prefix + postfix + names[i]] = points[prefix + postfix + names[lastGood]].clone() - } + let iter = 0 + do { + ci = utils.circlesIntersect( + points[prefix + names[i]], + reduction * (1 + iter * 0.02), + points[prefix + postfix + names[lastGood]], + distance + ) + if (false !== ci) { + points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] + } + if (prefix == 'front' && postfix == 'Side') { + } + } while (iter++ < 100 && (false == ci || isNaN(ci[prefix == 'front' ? 0 : 1].x))) + + lastGood = i } } } @@ -250,7 +271,22 @@ export const shape = { kneeToWaistLength: 400, crotchPointsCP: 2, }, - draft: ({ measurements, options, Point, Path, points, paths, utils, store, units, part }) => { + draft: ({ + measurements, + options, + Point, + Path, + points, + paths, + utils, + store, + units, + log, + part, + }) => { + // measurements = adult['cisFemale'][36] + measurements = giant['cisFemale'][200] + const inseam = measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg ? measurements.waistToFloor - measurements.waistToUpperLeg @@ -302,8 +338,8 @@ export const shape = { points.middleFloor = points.middleWaist.shift(270, measurements.waistToFloor) - createWaistPoint(options, measurements, Path, points, utils, true) - createWaistPoint(options, measurements, Path, points, utils, false) + createWaistPoint(options, measurements, Path, points, utils, log, true) + createWaistPoint(options, measurements, Path, points, utils, log, false) const frontCrossSeam = new Path() .move(points.frontWaist) @@ -578,6 +614,6 @@ export const shape = { }, }) - return part.hide() + return part //.hide() }, } diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 751b9e135da..54d7f63e133 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -79,6 +79,7 @@ export const waistband = { diff = waistbandLength - paths.waistband.length() const rWaistband = paths.waistband.reverse() + points.snippetPanelBack = rWaistband.shiftAlong(waistbandFrontLength + waistbandPanelLength) snippets.panelBack = new Snippet('notch', points.snippetPanelBack) points.snippetPanelFront = rWaistband.shiftAlong(waistbandFrontLength) From 4523d9b7b75c01da87e2b3be3a686d0cf814d3e7 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 05:34:08 +0000 Subject: [PATCH 0035/1313] remove test --- designs/lumina/src/shape.mjs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index 4869be66bd8..f9516ae6ff9 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -1,9 +1,6 @@ -import { adult, doll, giant } from '@freesewing/models' import { pctBasedOn } from '@freesewing/core' import { extendPath, createControlPoints } from '@freesewing/lumira' -const classes = ['lining', 'canvas', 'mark', 'contrast', 'note', 'interfacing', 'various'] - export const createPath = (paths, Path, points, pathName, names) => { let i paths[pathName] = new Path() @@ -284,9 +281,6 @@ export const shape = { log, part, }) => { - // measurements = adult['cisFemale'][36] - measurements = giant['cisFemale'][200] - const inseam = measurements.inseam > measurements.waistToFloor - measurements.waistToUpperLeg ? measurements.waistToFloor - measurements.waistToUpperLeg From 854095bd1a4890c614a1db41f8e9ea1046ff8e03 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 06:23:14 +0000 Subject: [PATCH 0036/1313] Docs --- .../org/docs/designs/lumina/cutting/de.md | 14 ++++ .../org/docs/designs/lumina/cutting/en.md | 14 ++++ .../org/docs/designs/lumina/cutting/es.md | 14 ++++ .../org/docs/designs/lumina/cutting/fr.md | 14 ++++ .../org/docs/designs/lumina/cutting/nl.md | 14 ++++ .../org/docs/designs/lumina/cutting/uk.md | 14 ++++ markdown/org/docs/designs/lumina/de.md | 8 +++ markdown/org/docs/designs/lumina/en.md | 8 +++ markdown/org/docs/designs/lumina/es.md | 8 +++ markdown/org/docs/designs/lumina/fabric/de.md | 30 +++++++++ markdown/org/docs/designs/lumina/fabric/en.md | 30 +++++++++ markdown/org/docs/designs/lumina/fabric/es.md | 30 +++++++++ markdown/org/docs/designs/lumina/fabric/fr.md | 30 +++++++++ markdown/org/docs/designs/lumina/fabric/nl.md | 30 +++++++++ markdown/org/docs/designs/lumina/fabric/uk.md | 30 +++++++++ markdown/org/docs/designs/lumina/fr.md | 8 +++ .../docs/designs/lumina/instructions/de.md | 67 +++++++++++++++++++ .../docs/designs/lumina/instructions/en.md | 67 +++++++++++++++++++ .../docs/designs/lumina/instructions/es.md | 67 +++++++++++++++++++ .../docs/designs/lumina/instructions/fr.md | 67 +++++++++++++++++++ .../docs/designs/lumina/instructions/nl.md | 67 +++++++++++++++++++ .../docs/designs/lumina/instructions/uk.md | 67 +++++++++++++++++++ .../docs/designs/lumina/measurements/de.md | 5 ++ .../docs/designs/lumina/measurements/en.md | 5 ++ .../docs/designs/lumina/measurements/es.md | 5 ++ .../docs/designs/lumina/measurements/fr.md | 5 ++ .../docs/designs/lumina/measurements/nl.md | 5 ++ .../docs/designs/lumina/measurements/uk.md | 5 ++ markdown/org/docs/designs/lumina/needs/de.md | 10 +++ markdown/org/docs/designs/lumina/needs/en.md | 10 +++ markdown/org/docs/designs/lumina/needs/es.md | 10 +++ markdown/org/docs/designs/lumina/needs/fr.md | 10 +++ markdown/org/docs/designs/lumina/needs/nl.md | 10 +++ markdown/org/docs/designs/lumina/needs/uk.md | 10 +++ markdown/org/docs/designs/lumina/nl.md | 8 +++ markdown/org/docs/designs/lumina/notes/de.md | 21 ++++++ markdown/org/docs/designs/lumina/notes/en.md | 21 ++++++ markdown/org/docs/designs/lumina/notes/es.md | 21 ++++++ markdown/org/docs/designs/lumina/notes/fr.md | 21 ++++++ markdown/org/docs/designs/lumina/notes/nl.md | 21 ++++++ markdown/org/docs/designs/lumina/notes/uk.md | 21 ++++++ .../org/docs/designs/lumina/options/de.md | 5 ++ .../docs/designs/lumina/options/ease/de.md | 19 ++++++ .../docs/designs/lumina/options/ease/en.md | 1 + .../docs/designs/lumina/options/ease/es.md | 19 ++++++ .../docs/designs/lumina/options/ease/fr.md | 19 ++++++ .../docs/designs/lumina/options/ease/nl.md | 9 +++ .../docs/designs/lumina/options/ease/uk.md | 19 ++++++ .../org/docs/designs/lumina/options/en.md | 5 ++ .../org/docs/designs/lumina/options/es.md | 5 ++ .../org/docs/designs/lumina/options/fr.md | 5 ++ .../docs/designs/lumina/options/length/de.md | 19 ++++++ .../docs/designs/lumina/options/length/en.md | 19 ++++++ .../docs/designs/lumina/options/length/es.md | 19 ++++++ .../docs/designs/lumina/options/length/fr.md | 19 ++++++ .../docs/designs/lumina/options/length/nl.md | 19 ++++++ .../docs/designs/lumina/options/length/uk.md | 19 ++++++ .../org/docs/designs/lumina/options/nl.md | 5 ++ .../docs/designs/lumina/options/pocket/de.md | 10 +++ .../docs/designs/lumina/options/pocket/en.md | 10 +++ .../docs/designs/lumina/options/pocket/es.md | 10 +++ .../docs/designs/lumina/options/pocket/fr.md | 10 +++ .../docs/designs/lumina/options/pocket/nl.md | 10 +++ .../docs/designs/lumina/options/pocket/uk.md | 10 +++ .../designs/lumina/options/pocketdepth/de.md | 11 +++ .../designs/lumina/options/pocketdepth/en.md | 10 +++ .../designs/lumina/options/pocketdepth/es.md | 11 +++ .../designs/lumina/options/pocketdepth/fr.md | 11 +++ .../designs/lumina/options/pocketdepth/nl.md | 11 +++ .../designs/lumina/options/pocketdepth/uk.md | 11 +++ .../designs/lumina/options/sidepanel/de.md | 15 +++++ .../designs/lumina/options/sidepanel/en.md | 15 +++++ .../designs/lumina/options/sidepanel/es.md | 15 +++++ .../designs/lumina/options/sidepanel/fr.md | 15 +++++ .../designs/lumina/options/sidepanel/nl.md | 15 +++++ .../designs/lumina/options/sidepanel/uk.md | 15 +++++ .../lumina/options/sidepanelsize/de.md | 11 +++ .../lumina/options/sidepanelsize/en.md | 1 + .../lumina/options/sidepanelsize/es.md | 11 +++ .../lumina/options/sidepanelsize/fr.md | 11 +++ .../lumina/options/sidepanelsize/nl.md | 11 +++ .../lumina/options/sidepanelsize/uk.md | 11 +++ .../designs/lumina/options/smoothing/de.md | 11 +++ .../designs/lumina/options/smoothing/en.md | 11 +++ .../designs/lumina/options/smoothing/es.md | 11 +++ .../designs/lumina/options/smoothing/fr.md | 11 +++ .../designs/lumina/options/smoothing/nl.md | 11 +++ .../designs/lumina/options/smoothing/uk.md | 11 +++ .../org/docs/designs/lumina/options/uk.md | 5 ++ .../designs/lumina/options/waistband/de.md | 11 +++ .../designs/lumina/options/waistband/en.md | 11 +++ .../designs/lumina/options/waistband/es.md | 11 +++ .../designs/lumina/options/waistband/fr.md | 11 +++ .../designs/lumina/options/waistband/nl.md | 11 +++ .../designs/lumina/options/waistband/uk.md | 11 +++ .../lumina/options/waistbandsize/de.md | 11 +++ .../lumina/options/waistbandsize/en.md | 11 +++ .../lumina/options/waistbandsize/es.md | 11 +++ .../lumina/options/waistbandsize/fr.md | 11 +++ .../lumina/options/waistbandsize/nl.md | 11 +++ .../lumina/options/waistbandsize/uk.md | 11 +++ .../lumina/options/waistlowering/de.md | 11 +++ .../lumina/options/waistlowering/en.md | 11 +++ .../lumina/options/waistlowering/es.md | 11 +++ .../lumina/options/waistlowering/fr.md | 11 +++ .../lumina/options/waistlowering/nl.md | 11 +++ .../lumina/options/waistlowering/uk.md | 11 +++ .../lumina/options/waistreduction/de.md | 11 +++ .../lumina/options/waistreduction/en.md | 11 +++ .../lumina/options/waistreduction/es.md | 11 +++ .../lumina/options/waistreduction/fr.md | 11 +++ .../lumina/options/waistreduction/nl.md | 11 +++ .../lumina/options/waistreduction/uk.md | 11 +++ markdown/org/docs/designs/lumina/uk.md | 8 +++ 114 files changed, 1761 insertions(+) create mode 100644 markdown/org/docs/designs/lumina/cutting/de.md create mode 100644 markdown/org/docs/designs/lumina/cutting/en.md create mode 100644 markdown/org/docs/designs/lumina/cutting/es.md create mode 100644 markdown/org/docs/designs/lumina/cutting/fr.md create mode 100644 markdown/org/docs/designs/lumina/cutting/nl.md create mode 100644 markdown/org/docs/designs/lumina/cutting/uk.md create mode 100644 markdown/org/docs/designs/lumina/de.md create mode 100644 markdown/org/docs/designs/lumina/en.md create mode 100644 markdown/org/docs/designs/lumina/es.md create mode 100644 markdown/org/docs/designs/lumina/fabric/de.md create mode 100644 markdown/org/docs/designs/lumina/fabric/en.md create mode 100644 markdown/org/docs/designs/lumina/fabric/es.md create mode 100644 markdown/org/docs/designs/lumina/fabric/fr.md create mode 100644 markdown/org/docs/designs/lumina/fabric/nl.md create mode 100644 markdown/org/docs/designs/lumina/fabric/uk.md create mode 100644 markdown/org/docs/designs/lumina/fr.md create mode 100644 markdown/org/docs/designs/lumina/instructions/de.md create mode 100644 markdown/org/docs/designs/lumina/instructions/en.md create mode 100644 markdown/org/docs/designs/lumina/instructions/es.md create mode 100644 markdown/org/docs/designs/lumina/instructions/fr.md create mode 100644 markdown/org/docs/designs/lumina/instructions/nl.md create mode 100644 markdown/org/docs/designs/lumina/instructions/uk.md create mode 100644 markdown/org/docs/designs/lumina/measurements/de.md create mode 100644 markdown/org/docs/designs/lumina/measurements/en.md create mode 100644 markdown/org/docs/designs/lumina/measurements/es.md create mode 100644 markdown/org/docs/designs/lumina/measurements/fr.md create mode 100644 markdown/org/docs/designs/lumina/measurements/nl.md create mode 100644 markdown/org/docs/designs/lumina/measurements/uk.md create mode 100644 markdown/org/docs/designs/lumina/needs/de.md create mode 100644 markdown/org/docs/designs/lumina/needs/en.md create mode 100644 markdown/org/docs/designs/lumina/needs/es.md create mode 100644 markdown/org/docs/designs/lumina/needs/fr.md create mode 100644 markdown/org/docs/designs/lumina/needs/nl.md create mode 100644 markdown/org/docs/designs/lumina/needs/uk.md create mode 100644 markdown/org/docs/designs/lumina/nl.md create mode 100644 markdown/org/docs/designs/lumina/notes/de.md create mode 100644 markdown/org/docs/designs/lumina/notes/en.md create mode 100644 markdown/org/docs/designs/lumina/notes/es.md create mode 100644 markdown/org/docs/designs/lumina/notes/fr.md create mode 100644 markdown/org/docs/designs/lumina/notes/nl.md create mode 100644 markdown/org/docs/designs/lumina/notes/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/de.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/de.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/en.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/es.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/ease/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/en.md create mode 100644 markdown/org/docs/designs/lumina/options/es.md create mode 100644 markdown/org/docs/designs/lumina/options/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/length/de.md create mode 100644 markdown/org/docs/designs/lumina/options/length/en.md create mode 100644 markdown/org/docs/designs/lumina/options/length/es.md create mode 100644 markdown/org/docs/designs/lumina/options/length/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/length/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/length/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/de.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/en.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/es.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/pocket/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/de.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/en.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/es.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/pocketdepth/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/de.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/en.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/es.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanel/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/de.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/en.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/es.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/sidepanelsize/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/de.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/en.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/es.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/smoothing/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/de.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/en.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/es.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/waistband/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/de.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/en.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/es.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/waistbandsize/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/de.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/en.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/es.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/waistlowering/uk.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/de.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/en.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/es.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/fr.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/nl.md create mode 100644 markdown/org/docs/designs/lumina/options/waistreduction/uk.md create mode 100644 markdown/org/docs/designs/lumina/uk.md diff --git a/markdown/org/docs/designs/lumina/cutting/de.md b/markdown/org/docs/designs/lumina/cutting/de.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/de.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/cutting/en.md b/markdown/org/docs/designs/lumina/cutting/en.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/en.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/cutting/es.md b/markdown/org/docs/designs/lumina/cutting/es.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/es.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/cutting/fr.md b/markdown/org/docs/designs/lumina/cutting/fr.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/fr.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/cutting/nl.md b/markdown/org/docs/designs/lumina/cutting/nl.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/nl.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/cutting/uk.md b/markdown/org/docs/designs/lumina/cutting/uk.md new file mode 100644 index 00000000000..c43389eed9a --- /dev/null +++ b/markdown/org/docs/designs/lumina/cutting/uk.md @@ -0,0 +1,14 @@ +--- +title: "Lumina leggings: Cutting Instructions" +--- + +### Materials + +- **Main fabric** + - Cut **2 leg** parts + - Cut **2 panel** parts + +Optionally + - Cut **2 waistband** parts on the fold + - Cut **2 pocket** parts + diff --git a/markdown/org/docs/designs/lumina/de.md b/markdown/org/docs/designs/lumina/de.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/de.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + diff --git a/markdown/org/docs/designs/lumina/en.md b/markdown/org/docs/designs/lumina/en.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/en.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + diff --git a/markdown/org/docs/designs/lumina/es.md b/markdown/org/docs/designs/lumina/es.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/es.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + diff --git a/markdown/org/docs/designs/lumina/fabric/de.md b/markdown/org/docs/designs/lumina/fabric/de.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/de.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fabric/en.md b/markdown/org/docs/designs/lumina/fabric/en.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/en.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fabric/es.md b/markdown/org/docs/designs/lumina/fabric/es.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/es.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fabric/fr.md b/markdown/org/docs/designs/lumina/fabric/fr.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/fr.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fabric/nl.md b/markdown/org/docs/designs/lumina/fabric/nl.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/nl.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fabric/uk.md b/markdown/org/docs/designs/lumina/fabric/uk.md new file mode 100644 index 00000000000..a5d75a18050 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fabric/uk.md @@ -0,0 +1,30 @@ +--- +title: "Lumina leggings: Fabric Options" +--- + +### Main Fabric + +This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default +ease value of -5% works well for fabrics that have 60% stretch. If your fabric has a different amount of stretch, you may want to +adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is *very* important for +getting a good fit. + + + +If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). + + + +These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +and warmth. + +For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For +other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. + + + +Since this pattern has an outside panel, you can use contrasting fabrics to make interesting effects. + + diff --git a/markdown/org/docs/designs/lumina/fr.md b/markdown/org/docs/designs/lumina/fr.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/fr.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + diff --git a/markdown/org/docs/designs/lumina/instructions/de.md b/markdown/org/docs/designs/lumina/instructions/de.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/de.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/instructions/en.md b/markdown/org/docs/designs/lumina/instructions/en.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/en.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/instructions/es.md b/markdown/org/docs/designs/lumina/instructions/es.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/es.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/instructions/fr.md b/markdown/org/docs/designs/lumina/instructions/fr.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/fr.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/instructions/nl.md b/markdown/org/docs/designs/lumina/instructions/nl.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/nl.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/instructions/uk.md b/markdown/org/docs/designs/lumina/instructions/uk.md new file mode 100644 index 00000000000..734587b5b3c --- /dev/null +++ b/markdown/org/docs/designs/lumina/instructions/uk.md @@ -0,0 +1,67 @@ +--- +title: "Lumina leggings: Sewing Instructions" +--- + + + +This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as +are specific stitches that certain sewing machines provide. A zigzag stitch will do if that's all you have. + +Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or +provide a zigzag in addition to serging the seam. + + + +### Step 1: The waistband (optional) + +- Sew the two pieces to each other, right sides together, along the top seam. +- Press the seam open +- Sew the back seam, right sides together. This creates a loop. + + +If you want to include elastic into the waistband, now is a good time to do so. You should +add it to the seam you just sewed. + + +### Step 2: The cross seam + +- Sew both leg pieces together along the cross seam. + +### Step 3: Pockets + +- Serge the top of the two panels. +- Fold this top over onto itself, and stitch in place. Using a double needle is a good way to do this. +Zigzag works too. Make sure that you fold it slightly more than the seam allowance. +- Lay the panel down with the right side down. +- Lay the pocket part on top, right side down, aligning the notches. Pin in place +- Stitch the bottom of the pocket to the panel. Again, a double needle or zigzag works well. + +### Step 4: Panels + +- Align all the front notches of the panel to the front of the leg panel, right sides together. +If you included the pocket option, make sure you treat the pocket and panel pieces as one piece. +- Seam this seam on both legs. +- Repeat for the back side of the panel and leg parts + + +The number and distance of the notches on the front and back seams are different. + + +### Step 5: Attaching the waistband + +- Align the waistband seam with the seam in the back. Align the notches with the panel seams. +- Sew all the way around, attaching the waistband to the legs. Make sure you sew both pieces of the waistband +into this seam. This seam will combine three layers, both layers of the waistband, and one layer of the leg +pieces. + + +If you have included the pocket option, take extra care not to sew the folded over part of the panel into +the waistband seam. + + +### Step 6: Finish up + +Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. + + +You're all done! Enjoy your Lumina leggings! diff --git a/markdown/org/docs/designs/lumina/measurements/de.md b/markdown/org/docs/designs/lumina/measurements/de.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/de.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/measurements/en.md b/markdown/org/docs/designs/lumina/measurements/en.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/en.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/measurements/es.md b/markdown/org/docs/designs/lumina/measurements/es.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/es.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/measurements/fr.md b/markdown/org/docs/designs/lumina/measurements/fr.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/fr.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/measurements/nl.md b/markdown/org/docs/designs/lumina/measurements/nl.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/nl.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/measurements/uk.md b/markdown/org/docs/designs/lumina/measurements/uk.md new file mode 100644 index 00000000000..063e941c890 --- /dev/null +++ b/markdown/org/docs/designs/lumina/measurements/uk.md @@ -0,0 +1,5 @@ +--- +title: "Lumina leggings: Required Measurements" +--- + + diff --git a/markdown/org/docs/designs/lumina/needs/de.md b/markdown/org/docs/designs/lumina/needs/de.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/de.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/needs/en.md b/markdown/org/docs/designs/lumina/needs/en.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/en.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/needs/es.md b/markdown/org/docs/designs/lumina/needs/es.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/es.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/needs/fr.md b/markdown/org/docs/designs/lumina/needs/fr.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/fr.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/needs/nl.md b/markdown/org/docs/designs/lumina/needs/nl.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/nl.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/needs/uk.md b/markdown/org/docs/designs/lumina/needs/uk.md new file mode 100644 index 00000000000..f7c5cb0c474 --- /dev/null +++ b/markdown/org/docs/designs/lumina/needs/uk.md @@ -0,0 +1,10 @@ +--- +title: "Lumina leggings: What You Need" +--- + +To make Lumina, you will need the following: + +- Basic sewing supplies +- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumina Fabric options](/docs/designs/lumina/fabric/)) +- Elastic for the leg openings and waist. + diff --git a/markdown/org/docs/designs/lumina/nl.md b/markdown/org/docs/designs/lumina/nl.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/nl.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + diff --git a/markdown/org/docs/designs/lumina/notes/de.md b/markdown/org/docs/designs/lumina/notes/de.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/de.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/notes/en.md b/markdown/org/docs/designs/lumina/notes/en.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/en.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/notes/es.md b/markdown/org/docs/designs/lumina/notes/es.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/es.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/notes/fr.md b/markdown/org/docs/designs/lumina/notes/fr.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/fr.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/notes/nl.md b/markdown/org/docs/designs/lumina/notes/nl.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/nl.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/notes/uk.md b/markdown/org/docs/designs/lumina/notes/uk.md new file mode 100644 index 00000000000..621e3ea7633 --- /dev/null +++ b/markdown/org/docs/designs/lumina/notes/uk.md @@ -0,0 +1,21 @@ +--- +title: "Lumina leggings: Designer Notes" +--- + +I started working on this design when I wanted to make a pair of cycling shorts. I had made a pair in the past, +using a commercial pattern. And since you can buy the chamois separately, this is a great garment to make. + +After starting this, I realized that there would be people who would want a more traditional leggings pattern. +So I decided to make two patterns, one with a seam on the inside of the leg (traditional), and one without a +seam on the inside (this one). I played with the idea to keep both patterns under one name, but it became +obvious that it would be better to have two different patterns instead. Since this one was called `lumina`, I +named the other `lumira`. As it may be, I quickly got distracted by the other version, and that one was +published first. + +Since this pattern has a panel on the side, it seemed easy to add a pocket option. So if you want to keep +your mobile phone on you while working out, this is the pattern to use. + +I was also in need of a pair of gym climbing pants. So this pattern has the option to have a positive ease +setting, allowing you to use a non-stretch knit fabric. This makes for loose-fitting workout pants. + +Wouter diff --git a/markdown/org/docs/designs/lumina/options/de.md b/markdown/org/docs/designs/lumina/options/de.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/de.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/ease/de.md b/markdown/org/docs/designs/lumina/options/ease/de.md new file mode 100644 index 00000000000..1cf4921212d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/de.md @@ -0,0 +1,19 @@ +--- +title: "Ease" +--- + +*** + +Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narower than the measurements would dictate. + + +Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will tuirn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/ease/en.md b/markdown/org/docs/designs/lumina/options/ease/en.md new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/en.md @@ -0,0 +1 @@ + diff --git a/markdown/org/docs/designs/lumina/options/ease/es.md b/markdown/org/docs/designs/lumina/options/ease/es.md new file mode 100644 index 00000000000..1cf4921212d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/es.md @@ -0,0 +1,19 @@ +--- +title: "Ease" +--- + +*** + +Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narower than the measurements would dictate. + + +Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will tuirn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/ease/fr.md b/markdown/org/docs/designs/lumina/options/ease/fr.md new file mode 100644 index 00000000000..1cf4921212d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/fr.md @@ -0,0 +1,19 @@ +--- +title: "Ease" +--- + +*** + +Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narower than the measurements would dictate. + + +Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will tuirn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/ease/nl.md b/markdown/org/docs/designs/lumina/options/ease/nl.md new file mode 100644 index 00000000000..4ae9e35b387 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/nl.md @@ -0,0 +1,9 @@ +--- +title: "Ease" +--- + +*** + +Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. + diff --git a/markdown/org/docs/designs/lumina/options/ease/uk.md b/markdown/org/docs/designs/lumina/options/ease/uk.md new file mode 100644 index 00000000000..1cf4921212d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/ease/uk.md @@ -0,0 +1,19 @@ +--- +title: "Ease" +--- + +*** + +Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narower than the measurements would dictate. + + +Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will tuirn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/en.md b/markdown/org/docs/designs/lumina/options/en.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/en.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/es.md b/markdown/org/docs/designs/lumina/options/es.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/es.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/fr.md b/markdown/org/docs/designs/lumina/options/fr.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/fr.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/length/de.md b/markdown/org/docs/designs/lumina/options/length/de.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/de.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/length/en.md b/markdown/org/docs/designs/lumina/options/length/en.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/en.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/length/es.md b/markdown/org/docs/designs/lumina/options/length/es.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/es.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/length/fr.md b/markdown/org/docs/designs/lumina/options/length/fr.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/fr.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/length/nl.md b/markdown/org/docs/designs/lumina/options/length/nl.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/nl.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/length/uk.md b/markdown/org/docs/designs/lumina/options/length/uk.md new file mode 100644 index 00000000000..8033f405444 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/length/uk.md @@ -0,0 +1,19 @@ +--- +title: "Leg length" +--- + +*** + +Controls the length of the legs. This is a percentage of the inseam. + + + +Since the inseam is measured to the floor, and these leggings max out at the ankle, +The maximum is beyond the ankle, and is ignored. The slider will not do anything +for the top 10% or so. + + + + + + diff --git a/markdown/org/docs/designs/lumina/options/nl.md b/markdown/org/docs/designs/lumina/options/nl.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/nl.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/de.md b/markdown/org/docs/designs/lumina/options/pocket/de.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/de.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/en.md b/markdown/org/docs/designs/lumina/options/pocket/en.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/en.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/es.md b/markdown/org/docs/designs/lumina/options/pocket/es.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/es.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/fr.md b/markdown/org/docs/designs/lumina/options/pocket/fr.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/fr.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/nl.md b/markdown/org/docs/designs/lumina/options/pocket/nl.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/nl.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocket/uk.md b/markdown/org/docs/designs/lumina/options/pocket/uk.md new file mode 100644 index 00000000000..cc77272532a --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocket/uk.md @@ -0,0 +1,10 @@ +--- +title: "Pocket" +--- + +*** + +The pattern allows for a pocket to be added in the side panel. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/de.md b/markdown/org/docs/designs/lumina/options/pocketdepth/de.md new file mode 100644 index 00000000000..eb2157b6391 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/de.md @@ -0,0 +1,11 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/en.md b/markdown/org/docs/designs/lumina/options/pocketdepth/en.md new file mode 100644 index 00000000000..2fa34028e67 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/en.md @@ -0,0 +1,10 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/es.md b/markdown/org/docs/designs/lumina/options/pocketdepth/es.md new file mode 100644 index 00000000000..eb2157b6391 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/es.md @@ -0,0 +1,11 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/fr.md b/markdown/org/docs/designs/lumina/options/pocketdepth/fr.md new file mode 100644 index 00000000000..eb2157b6391 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/nl.md b/markdown/org/docs/designs/lumina/options/pocketdepth/nl.md new file mode 100644 index 00000000000..eb2157b6391 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + + diff --git a/markdown/org/docs/designs/lumina/options/pocketdepth/uk.md b/markdown/org/docs/designs/lumina/options/pocketdepth/uk.md new file mode 100644 index 00000000000..eb2157b6391 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/pocketdepth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Pocket depth" +--- + +*** + +Controls the depth of the pocket. + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/de.md b/markdown/org/docs/designs/lumina/options/sidepanel/de.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/de.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/en.md b/markdown/org/docs/designs/lumina/options/sidepanel/en.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/en.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/es.md b/markdown/org/docs/designs/lumina/options/sidepanel/es.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/es.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/fr.md b/markdown/org/docs/designs/lumina/options/sidepanel/fr.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/fr.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/nl.md b/markdown/org/docs/designs/lumina/options/sidepanel/nl.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/nl.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanel/uk.md b/markdown/org/docs/designs/lumina/options/sidepanel/uk.md new file mode 100644 index 00000000000..e5f01fa1451 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanel/uk.md @@ -0,0 +1,15 @@ +--- +title: "Side panel" +--- + +*** + +Have either a fixed width side panel, or one that follows the contours of the legs. + + +Even a fixed width side panel will taper towards the ankle + + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/de.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/de.md new file mode 100644 index 00000000000..80e25f47b11 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/de.md @@ -0,0 +1,11 @@ +--- +title: "Side panel side" +--- + +*** + +Controls the width of the side panel. This is a percentage of the waist. + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md new file mode 100644 index 00000000000..8b137891791 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md @@ -0,0 +1 @@ + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/es.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/es.md new file mode 100644 index 00000000000..80e25f47b11 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/es.md @@ -0,0 +1,11 @@ +--- +title: "Side panel side" +--- + +*** + +Controls the width of the side panel. This is a percentage of the waist. + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/fr.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/fr.md new file mode 100644 index 00000000000..80e25f47b11 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/fr.md @@ -0,0 +1,11 @@ +--- +title: "Side panel side" +--- + +*** + +Controls the width of the side panel. This is a percentage of the waist. + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/nl.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/nl.md new file mode 100644 index 00000000000..80e25f47b11 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/nl.md @@ -0,0 +1,11 @@ +--- +title: "Side panel side" +--- + +*** + +Controls the width of the side panel. This is a percentage of the waist. + + + + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/uk.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/uk.md new file mode 100644 index 00000000000..e671be76993 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/uk.md @@ -0,0 +1,11 @@ +--- +title: "Front gusset length" +--- + +*** + +Controls the length of the gusset in the front. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/de.md b/markdown/org/docs/designs/lumina/options/smoothing/de.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/de.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/en.md b/markdown/org/docs/designs/lumina/options/smoothing/en.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/en.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/es.md b/markdown/org/docs/designs/lumina/options/smoothing/es.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/es.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/fr.md b/markdown/org/docs/designs/lumina/options/smoothing/fr.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/fr.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/nl.md b/markdown/org/docs/designs/lumina/options/smoothing/nl.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/nl.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/smoothing/uk.md b/markdown/org/docs/designs/lumina/options/smoothing/uk.md new file mode 100644 index 00000000000..ffc36921dfa --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/smoothing/uk.md @@ -0,0 +1,11 @@ +--- +title: "Smoothing" +--- + +*** + +This option controls the amount of smoothing of the side seam the pattern employs. + + + + diff --git a/markdown/org/docs/designs/lumina/options/uk.md b/markdown/org/docs/designs/lumina/options/uk.md new file mode 100644 index 00000000000..28b2581450d --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/uk.md @@ -0,0 +1,5 @@ +--- +title: "Lumira leggings: Design Options" +--- + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/de.md b/markdown/org/docs/designs/lumina/options/waistband/de.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/de.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/en.md b/markdown/org/docs/designs/lumina/options/waistband/en.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/en.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/es.md b/markdown/org/docs/designs/lumina/options/waistband/es.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/es.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/fr.md b/markdown/org/docs/designs/lumina/options/waistband/fr.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/fr.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/nl.md b/markdown/org/docs/designs/lumina/options/waistband/nl.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/nl.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistband/uk.md b/markdown/org/docs/designs/lumina/options/waistband/uk.md new file mode 100644 index 00000000000..2c9aa3d1f6f --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistband/uk.md @@ -0,0 +1,11 @@ +--- +title: "Waistband" +--- + +*** + +Adds a waistband + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/de.md b/markdown/org/docs/designs/lumina/options/waistbandsize/de.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/de.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/en.md b/markdown/org/docs/designs/lumina/options/waistbandsize/en.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/en.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/es.md b/markdown/org/docs/designs/lumina/options/waistbandsize/es.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/es.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/fr.md b/markdown/org/docs/designs/lumina/options/waistbandsize/fr.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/fr.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/nl.md b/markdown/org/docs/designs/lumina/options/waistbandsize/nl.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/nl.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistbandsize/uk.md b/markdown/org/docs/designs/lumina/options/waistbandsize/uk.md new file mode 100644 index 00000000000..ae583903bc5 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistbandsize/uk.md @@ -0,0 +1,11 @@ +--- +title: "Waistband size" +--- + +*** + +Controls the size of the waistband. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/de.md b/markdown/org/docs/designs/lumina/options/waistlowering/de.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/de.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/en.md b/markdown/org/docs/designs/lumina/options/waistlowering/en.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/es.md b/markdown/org/docs/designs/lumina/options/waistlowering/es.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/es.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/fr.md b/markdown/org/docs/designs/lumina/options/waistlowering/fr.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/fr.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/nl.md b/markdown/org/docs/designs/lumina/options/waistlowering/nl.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/nl.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistlowering/uk.md b/markdown/org/docs/designs/lumina/options/waistlowering/uk.md new file mode 100644 index 00000000000..9b5ab3119ed --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistlowering/uk.md @@ -0,0 +1,11 @@ +--- +title: "Waist lowering" +--- + +*** + +This lowers where the top of the leggings stop. Can be anywhere between the true waist and the hips. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/de.md b/markdown/org/docs/designs/lumina/options/waistreduction/de.md new file mode 100644 index 00000000000..d1d96e2d838 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/de.md @@ -0,0 +1,11 @@ +--- +title: "Taillenreduzierung" +--- + +*** + +Reduziert die Taille für eine leichte Passform. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/en.md b/markdown/org/docs/designs/lumina/options/waistreduction/en.md new file mode 100644 index 00000000000..3ddc6afca62 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist reduction" +--- + +*** + +Reduces the waist for a more snug fit. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/es.md b/markdown/org/docs/designs/lumina/options/waistreduction/es.md new file mode 100644 index 00000000000..733c368906e --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/es.md @@ -0,0 +1,11 @@ +--- +title: "Reducción de cintura" +--- + +*** + +Reduce la cintura para un mejor encaje. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/fr.md b/markdown/org/docs/designs/lumina/options/waistreduction/fr.md new file mode 100644 index 00000000000..adb79fade75 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/fr.md @@ -0,0 +1,11 @@ +--- +title: "Réduction de la taille" +--- + +*** + +Réduit la taille de la ceinture pour un porté plus ajusté. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/nl.md b/markdown/org/docs/designs/lumina/options/waistreduction/nl.md new file mode 100644 index 00000000000..de91c0babc0 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/nl.md @@ -0,0 +1,11 @@ +--- +title: "Reductie taille" +--- + +*** + +Vermindert de taille voor een meer snug pas. + + + + diff --git a/markdown/org/docs/designs/lumina/options/waistreduction/uk.md b/markdown/org/docs/designs/lumina/options/waistreduction/uk.md new file mode 100644 index 00000000000..bed881dfcf2 --- /dev/null +++ b/markdown/org/docs/designs/lumina/options/waistreduction/uk.md @@ -0,0 +1,11 @@ +--- +title: "Зменшення талії" +--- + +*** + +Зменшує талію для більш щільного прилягання. + + + + diff --git a/markdown/org/docs/designs/lumina/uk.md b/markdown/org/docs/designs/lumina/uk.md new file mode 100644 index 00000000000..c3d49f4c903 --- /dev/null +++ b/markdown/org/docs/designs/lumina/uk.md @@ -0,0 +1,8 @@ +--- +title: "Lumina leggings" +--- + + + + + From 75770b0b02bcadb8cbade39623104bcde5dd25ff Mon Sep 17 00:00:00 2001 From: Wouter van Wageningen Date: Mon, 8 Jan 2024 22:58:49 -0800 Subject: [PATCH 0037/1313] Update designs.mjs --- sites/shared/i18n/designs.mjs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs index 90f998858e7..06cdac638c5 100644 --- a/sites/shared/i18n/designs.mjs +++ b/sites/shared/i18n/designs.mjs @@ -32,6 +32,7 @@ import { i18n as legend } from '@freesewing/legend' import { i18n as lucy } from '@freesewing/lucy' import { i18n as lunetius } from '@freesewing/lunetius' import { i18n as magde } from '@freesewing/magde' +import { i18n as naomiwu } from '@freesewing/naomiwu' import { i18n as noble } from '@freesewing/noble' import { i18n as octoplushy } from '@freesewing/octoplushy' import { i18n as onyx } from '@freesewing/onyx' @@ -57,6 +58,7 @@ import { i18n as walburga } from '@freesewing/walburga' import { i18n as waralee } from '@freesewing/waralee' import { i18n as yuri } from '@freesewing/yuri' import { i18n as otis } from '@freesewing/otis' +import { i18n as lumira } from '@freesewing/lumira' import { i18n as lumina } from '@freesewing/lumina' export const designs = { @@ -90,6 +92,7 @@ export const designs = { lucy, lunetius, magde, + naomiwu, noble, octoplushy, onyx, @@ -115,5 +118,6 @@ export const designs = { waralee, yuri, otis, + lumira, lumina, } From 58b2ec5ea9b1162bd9df58fcfd9824d290bca218 Mon Sep 17 00:00:00 2001 From: Wouter van Wageningen Date: Mon, 8 Jan 2024 23:04:34 -0800 Subject: [PATCH 0038/1313] Update designs.mjs --- sites/shared/i18n/designs.mjs | 2 -- 1 file changed, 2 deletions(-) diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs index 06cdac638c5..d6d0bdbc570 100644 --- a/sites/shared/i18n/designs.mjs +++ b/sites/shared/i18n/designs.mjs @@ -59,7 +59,6 @@ import { i18n as waralee } from '@freesewing/waralee' import { i18n as yuri } from '@freesewing/yuri' import { i18n as otis } from '@freesewing/otis' import { i18n as lumira } from '@freesewing/lumira' -import { i18n as lumina } from '@freesewing/lumina' export const designs = { aaron, @@ -119,5 +118,4 @@ export const designs = { yuri, otis, lumira, - lumina, } From 3a23ead4476d2b915f8dd9ec9ae46ad1fb39f108 Mon Sep 17 00:00:00 2001 From: Wouter van Wageningen Date: Mon, 8 Jan 2024 23:06:43 -0800 Subject: [PATCH 0039/1313] Update designs.mjs --- sites/shared/i18n/designs.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs index d6d0bdbc570..1af0bdb5900 100644 --- a/sites/shared/i18n/designs.mjs +++ b/sites/shared/i18n/designs.mjs @@ -59,6 +59,7 @@ import { i18n as waralee } from '@freesewing/waralee' import { i18n as yuri } from '@freesewing/yuri' import { i18n as otis } from '@freesewing/otis' import { i18n as lumira } from '@freesewing/lumira' +import { i18n as lumira } from '@freesewing/lumina' export const designs = { aaron, @@ -118,4 +119,5 @@ export const designs = { yuri, otis, lumira, + lumina, } From e78f488bf049c3974e3f1babee3f604cda6cda40 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 22:40:50 +0000 Subject: [PATCH 0040/1313] Lint, lint, lint --- designs/lumina/src/pocket.mjs | 1 + designs/lumina/src/shape.mjs | 36 ++++++++++++++++++++++------------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/designs/lumina/src/pocket.mjs b/designs/lumina/src/pocket.mjs index 774a4277e84..a8a4ebf44f8 100644 --- a/designs/lumina/src/pocket.mjs +++ b/designs/lumina/src/pocket.mjs @@ -29,6 +29,7 @@ export const pocket = { options, macro, store, + log, part, }) => { if (!options.pocket) { diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index f9516ae6ff9..58645f583e7 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -14,7 +14,7 @@ export const createPath = (paths, Path, points, pathName, names) => { return paths[pathName] } -const lowerWaist = (paths, Path, points, waistLowering, pathName, pointName) => { +const lowerWaist = (paths, Path, points, log, waistLowering, pathName, pointName) => { const newPath = extendPath(Path, paths[pathName], 100, 0) const newWaist = newPath.shiftAlong(waistLowering + 100) if (newWaist.sitsRoughlyOn(points[pathName + pointName])) { @@ -108,7 +108,7 @@ const createSidePoints = ({ } let distance = m2 - m1 switch (names[i]) { - case 'UpperLeg': + case 'UpperLeg': { measurement = measurements['upperLeg'] const intersect = utils.beamIntersectsCurve( points[prefix + names[i]], @@ -127,24 +127,28 @@ const createSidePoints = ({ } } break - case 'Waist': + } + case 'Waist': { measurement = (prefix == 'front' ? measurements.waist - measurements.waistBack : measurements.waistBack) - waistReduction * 0.5 break - case 'Seat': + } + case 'Seat': { measurement = prefix == 'front' ? measurements.seat - measurements.seatBack : measurements.seatBack distance *= distanceCompensation break - default: + } + default: { measurement = measurements[names[i].toLowerCase()] // Adjust for thigh size when using positive ease if (ease > 1 && (names[i] == 'Ankle' || names[i] == 'Knee')) { measurement *= 1.2 } + } } measurement /= 2 measurement *= ease @@ -175,8 +179,6 @@ const createSidePoints = ({ if (false !== ci) { points[prefix + postfix + names[i]] = ci[prefix == 'front' ? 0 : 1] } - if (prefix == 'front' && postfix == 'Side') { - } } while (iter++ < 100 && (false == ci || isNaN(ci[prefix == 'front' ? 0 : 1].x))) lastGood = i @@ -531,18 +533,18 @@ export const shape = { }) } - lowerWaist(paths, Path, points, waistLowering, 'middle', 'Waist') + lowerWaist(paths, Path, points, log, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { - lowerWaist(paths, Path, points, waistLowering, prefix + type, 'Waist') + lowerWaist(paths, Path, points, log, waistLowering, prefix + type, 'Waist') }) - lowerWaist(paths, Path, points, waistLowering, prefix, 'Waist') + lowerWaist(paths, Path, points, log, waistLowering, prefix, 'Waist') }) ;['front', 'back'].forEach((prefix) => { ;['Side', 'Split', 'Panel'].forEach((type) => { - lowerWaist(paths, Path, points, waistbandSize, prefix + type, 'Waistband') + lowerWaist(paths, Path, points, log, waistbandSize, prefix + type, 'Waistband') }) - lowerWaist(paths, Path, points, waistbandSize, prefix, 'Waistband') + lowerWaist(paths, Path, points, log, waistbandSize, prefix, 'Waistband') }) store.set( @@ -582,7 +584,15 @@ export const shape = { if (options.waistband && options.lowerwaistbandback) { // Lower the back a little more to get a V-shape in the back // lowerWaist(paths, Path, points, waistLowering * 0.5, 'back', 'Waistband') - lowerWaist(paths, Path, points, (waistLowering + waistbandSize) * 0.5, 'back', 'Waistband') + lowerWaist( + paths, + Path, + points, + log, + (waistLowering + waistbandSize) * 0.5, + 'back', + 'Waistband' + ) paths.backWaistband = new Path() .move(points.backWaistband) ._curve(points.backSplitWaistbandCp, points.backSplitWaistband) From 56bcb9761f862a8f5604a15ca7575d8b29454674 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 22:54:20 +0000 Subject: [PATCH 0041/1313] More lint! --- designs/lumina/src/shape.mjs | 2 -- 1 file changed, 2 deletions(-) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index 58645f583e7..2ab8aa85d6e 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -29,8 +29,6 @@ const lowerWaist = (paths, Path, points, log, waistLowering, pathName, pointName } const createWaistPoint = (options, measurements, Path, points, utils, log, front) => { - // console.log({front:front}) - const kneeTemp = points.middleCrossSeam.shiftFractionTowards( points.middleKnee, options.crotchToKnee From c153ad6118ebd270b44c85457b23831f80249836 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 9 Jan 2024 23:38:26 +0000 Subject: [PATCH 0042/1313] Always more lint --- designs/lumina/src/shape.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index 2ab8aa85d6e..bcefddea17a 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -53,7 +53,7 @@ const createWaistPoint = (options, measurements, Path, points, utils, log, front let iter = 0 do { // waist = kneeTemp.shift(angle, kneeToWaist +((diff > 0 ? 1 : -1) *iter)) - waist = kneeTemp.shift(angle, kneeToWaist + diff * 1.03) //* (diff < 0 ? 1.01 : 0.97))) + waist = kneeTemp.shift(angle, kneeToWaist + diff * 1.03) // waist = kneeTemp.shift(angle, kneeToWaist *ratio) waistCp = waist.shiftFractionTowards(points.middleKnee, options.waistToKneeCP) From 137e37ec5cbfa6a4ab23991246cee5a8205d31fa Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 10 Jan 2024 00:03:49 +0000 Subject: [PATCH 0043/1313] We all bow to the mighty Lint! --- designs/lumina/src/shape.mjs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index bcefddea17a..a775e810954 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -422,6 +422,7 @@ export const shape = { .curve(points.backWaistCp, points.backHipsCp2, points.backHips) .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split'].forEach((type) => { smoothPoints( points, @@ -435,6 +436,7 @@ export const shape = { paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split'].forEach((type) => { createControlPoints(points, 3, [ prefix + type + 'Waist', @@ -446,6 +448,7 @@ export const shape = { }) }) ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split'].forEach((type) => { createPath(paths, Path, points, prefix + type, [ prefix + type + 'Waist', @@ -457,6 +460,7 @@ export const shape = { }) }) ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { points[prefix + 'Panel' + name] = points['middle' + name].shift( prefix == 'front' ? 0 : 180, @@ -486,6 +490,7 @@ export const shape = { const frontSplitlength = paths.frontSplit.length() while (Math.abs(frontSplitlength - paths.frontPanel.length()) > 1) { + // Semicolon removed to please the Lint: ;['front', 'back'].forEach((prefix) => { const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] @@ -518,6 +523,7 @@ export const shape = { if (options.length < 1) { const length = (1 - options.length) * (inseam - (measurements.waistToFloor - waistToAnkle)) ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split', 'Panel'].forEach((type) => { points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) paths[prefix + type] = paths[prefix + type].split(points[prefix + type + 'Hem'])[0] @@ -525,6 +531,7 @@ export const shape = { }) } else { ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split', 'Panel'].forEach((type) => { points[prefix + type + 'Hem'] = points[prefix + type + 'Ankle'] }) @@ -533,12 +540,14 @@ export const shape = { lowerWaist(paths, Path, points, log, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split', 'Panel'].forEach((type) => { lowerWaist(paths, Path, points, log, waistLowering, prefix + type, 'Waist') }) lowerWaist(paths, Path, points, log, waistLowering, prefix, 'Waist') }) ;['front', 'back'].forEach((prefix) => { + // Semicolon removed to please the Lint: ;['Side', 'Split', 'Panel'].forEach((type) => { lowerWaist(paths, Path, points, log, waistbandSize, prefix + type, 'Waistband') }) From 898013c48688896ca9b4fe904f7f1f646d727b23 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 10 Jan 2024 00:11:41 +0000 Subject: [PATCH 0044/1313] Lint is killing me! --- designs/lumina/src/shape.mjs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index a775e810954..9e772df1e44 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -422,7 +422,7 @@ export const shape = { .curve(points.backWaistCp, points.backHipsCp2, points.backHips) .curve(points.backHipsCp1, points.backCrossSeamCp, points.middleCrossSeam) ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split'].forEach((type) => { smoothPoints( points, @@ -436,7 +436,7 @@ export const shape = { paths.middle = new Path().move(points.middleWaist).line(points.middleFloor).setHidden() ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split'].forEach((type) => { createControlPoints(points, 3, [ prefix + type + 'Waist', @@ -448,7 +448,7 @@ export const shape = { }) }) ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split'].forEach((type) => { createPath(paths, Path, points, prefix + type, [ prefix + type + 'Waist', @@ -460,7 +460,7 @@ export const shape = { }) }) ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Waist', 'Waistband', 'Seat', 'UpperLeg', 'Knee', 'Ankle'].forEach((name) => { points[prefix + 'Panel' + name] = points['middle' + name].shift( prefix == 'front' ? 0 : 180, @@ -490,7 +490,7 @@ export const shape = { const frontSplitlength = paths.frontSplit.length() while (Math.abs(frontSplitlength - paths.frontPanel.length()) > 1) { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['front', 'back'].forEach((prefix) => { const diff = paths[prefix + 'Split'].length() / paths[prefix + 'Panel'].length() const names = ['Waist', 'Seat', 'UpperLeg', 'Knee', 'Ankle'] @@ -523,7 +523,7 @@ export const shape = { if (options.length < 1) { const length = (1 - options.length) * (inseam - (measurements.waistToFloor - waistToAnkle)) ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split', 'Panel'].forEach((type) => { points[prefix + type + 'Hem'] = paths[prefix + type].reverse().shiftAlong(length) paths[prefix + type] = paths[prefix + type].split(points[prefix + type + 'Hem'])[0] @@ -531,7 +531,7 @@ export const shape = { }) } else { ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split', 'Panel'].forEach((type) => { points[prefix + type + 'Hem'] = points[prefix + type + 'Ankle'] }) @@ -540,14 +540,14 @@ export const shape = { lowerWaist(paths, Path, points, log, waistLowering, 'middle', 'Waist') ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split', 'Panel'].forEach((type) => { lowerWaist(paths, Path, points, log, waistLowering, prefix + type, 'Waist') }) lowerWaist(paths, Path, points, log, waistLowering, prefix, 'Waist') }) ;['front', 'back'].forEach((prefix) => { - // Semicolon removed to please the Lint: + // eslint-disable-next-line no-extra-semi ;['Side', 'Split', 'Panel'].forEach((type) => { lowerWaist(paths, Path, points, log, waistbandSize, prefix + type, 'Waistband') }) From 67af20da43f678bd2a0daadef026bcc9f7631f61 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 10 Jan 2024 00:17:57 +0000 Subject: [PATCH 0045/1313] There is always more lint. --- designs/lumina/src/shape.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/designs/lumina/src/shape.mjs b/designs/lumina/src/shape.mjs index 9e772df1e44..9d0d21a5fc0 100644 --- a/designs/lumina/src/shape.mjs +++ b/designs/lumina/src/shape.mjs @@ -530,6 +530,7 @@ export const shape = { }) }) } else { + // eslint-disable-next-line no-extra-semi ;['front', 'back'].forEach((prefix) => { // eslint-disable-next-line no-extra-semi ;['Side', 'Split', 'Panel'].forEach((type) => { From 0b28088374ca180802d4b224e3043e1747322d69 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 10 Jan 2024 00:22:25 +0000 Subject: [PATCH 0046/1313] Oopsies --- sites/shared/i18n/designs.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/designs.mjs b/sites/shared/i18n/designs.mjs index 1af0bdb5900..06cdac638c5 100644 --- a/sites/shared/i18n/designs.mjs +++ b/sites/shared/i18n/designs.mjs @@ -59,7 +59,7 @@ import { i18n as waralee } from '@freesewing/waralee' import { i18n as yuri } from '@freesewing/yuri' import { i18n as otis } from '@freesewing/otis' import { i18n as lumira } from '@freesewing/lumira' -import { i18n as lumira } from '@freesewing/lumina' +import { i18n as lumina } from '@freesewing/lumina' export const designs = { aaron, From 9c210fbf4b129c6696e1fcf125bed03bfdc6fe03 Mon Sep 17 00:00:00 2001 From: Zee <86711383+SeaZeeZee@users.noreply.github.com> Date: Wed, 10 Jan 2024 14:46:22 +0100 Subject: [PATCH 0047/1313] Update index.mjs Ensures linedrawing actually shows up --- sites/shared/components/designs/linedrawings/index.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sites/shared/components/designs/linedrawings/index.mjs b/sites/shared/components/designs/linedrawings/index.mjs index cc77bff9da5..ccba0687bd3 100644 --- a/sites/shared/components/designs/linedrawings/index.mjs +++ b/sites/shared/components/designs/linedrawings/index.mjs @@ -42,7 +42,7 @@ export const lineDrawingsBack = { bruce: BruceBack, simon: SimonBack, wahid: WahidBack, - bee: Bee, + } export const lineDrawings = { @@ -58,4 +58,5 @@ export const lineDrawings = { hortensia: Hortensia, simon: Simon, wahid: Wahid, + bee: Bee, } From 3798fde55e7e698e9e05c80c99de10f54fc4a370 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Fri, 12 Jan 2024 05:41:23 +0000 Subject: [PATCH 0048/1313] Update for `noble` (implements #5616) --- designs/noble/i18n/en.json | 4 ++++ designs/noble/src/frontinside.mjs | 2 ++ designs/noble/src/frontpoints.mjs | 7 +++++++ designs/noble/src/options.mjs | 1 + .../designs/noble/options/waistdartposition/de.md | 11 +++++++++++ .../designs/noble/options/waistdartposition/en.md | 11 +++++++++++ .../designs/noble/options/waistdartposition/es.md | 11 +++++++++++ .../designs/noble/options/waistdartposition/fr.md | 11 +++++++++++ .../designs/noble/options/waistdartposition/nl.md | 11 +++++++++++ .../designs/noble/options/waistdartposition/uk.md | 11 +++++++++++ 10 files changed, 80 insertions(+) create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/de.md create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/en.md create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/es.md create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/fr.md create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/nl.md create mode 100644 markdown/org/docs/designs/noble/options/waistdartposition/uk.md diff --git a/designs/noble/i18n/en.json b/designs/noble/i18n/en.json index 8ced1a99810..1226ebf3dcd 100644 --- a/designs/noble/i18n/en.json +++ b/designs/noble/i18n/en.json @@ -37,6 +37,10 @@ "t": "Bust span ease", "d": "Controls the amount of ease along the bust span" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "backDartHeight": { "t": "Controls the height of the back dart", "d": "Back dart height" diff --git a/designs/noble/src/frontinside.mjs b/designs/noble/src/frontinside.mjs index 149adfab83c..158a33cbe85 100644 --- a/designs/noble/src/frontinside.mjs +++ b/designs/noble/src/frontinside.mjs @@ -30,6 +30,8 @@ export const frontInside = { delete points.bustDartMiddle delete points.bustDartEdge + points.shoulderDartTipCpDownInside.addCircle(5) + if (options.dartPosition == 'shoulder') { paths.insideSeam = new Path() .move(points.cfHem) diff --git a/designs/noble/src/frontpoints.mjs b/designs/noble/src/frontpoints.mjs index d7cc8195f7c..e7f9e394bab 100644 --- a/designs/noble/src/frontpoints.mjs +++ b/designs/noble/src/frontpoints.mjs @@ -18,6 +18,13 @@ export const frontPoints = { macro('rmtitle') macro('rmscalebox') + const waistDartSize = points.waistDartLeft.dist(points.waistDartRight) + const waistDartMove = (waistDartSize / 2) * options.waistdartposition + + points.waistDartLeft = points.waistDartLeft.shiftTowards(points.cfHem, waistDartMove * -1) + points.waistDartLeftCp = points.waistDartLeftCp.shift(0, waistDartMove) + points.waistDartRight = points.waistDartRight.shiftTowards(points.sideHemInitial, waistDartMove) + points.shoulderDartInside = points.hps.shiftFractionTowards( points.shoulder, options.dartPosition == 'shoulder' ? options.shoulderDartPosition : 0.5 diff --git a/designs/noble/src/options.mjs b/designs/noble/src/options.mjs index 8e6357e87cb..012fea26ae8 100644 --- a/designs/noble/src/options.mjs +++ b/designs/noble/src/options.mjs @@ -9,6 +9,7 @@ export const bustSpanEase = { pct: 0, min: -5, max: 20, ...pctBasedOn('bustSpan' export const backHemSlope = { deg: 2.5, min: 0, max: 5, menu: 'advanced' } export const upperDartLength = { pct: 90, min: 80, max: 95, menu: 'darts' } export const dartPosition = { dflt: 'shoulder', list: ['shoulder', 'armhole'], menu: 'darts' } +export const waistdartposition = { pct: 0, min: -100, max: 100, menu: 'darts' } export const shoulderDartPosition = { pct: 50, min: 10, diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/de.md b/markdown/org/docs/designs/noble/options/waistdartposition/de.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/de.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/en.md b/markdown/org/docs/designs/noble/options/waistdartposition/en.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/es.md b/markdown/org/docs/designs/noble/options/waistdartposition/es.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/es.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/fr.md b/markdown/org/docs/designs/noble/options/waistdartposition/fr.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/fr.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/nl.md b/markdown/org/docs/designs/noble/options/waistdartposition/nl.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/nl.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/noble/options/waistdartposition/uk.md b/markdown/org/docs/designs/noble/options/waistdartposition/uk.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/noble/options/waistdartposition/uk.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + From ec2f7c07a161a8db8c3082883b87206f65314ab9 Mon Sep 17 00:00:00 2001 From: Natalia Sayang <48160791+nataliasayang@users.noreply.github.com> Date: Fri, 12 Jan 2024 16:13:28 -0500 Subject: [PATCH 0049/1313] Add step 2 illustration for instructions --- .../designs/tristan/instructions/step02.png | Bin 0 -> 52141 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 markdown/org/docs/designs/tristan/instructions/step02.png diff --git a/markdown/org/docs/designs/tristan/instructions/step02.png b/markdown/org/docs/designs/tristan/instructions/step02.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1360800754b2a379b1a7709d60278c13445ae2 GIT binary patch literal 52141 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
g>5~!mmub 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 z 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

rPp$QOthLQ_eS7xhte-CqdA?q@{NVjlZlCw8 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 literal 0 HcmV?d00001 From e93df8b72dc4ab9419428140186fa17ccc73c8d5 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Fri, 12 Jan 2024 21:48:43 +0000 Subject: [PATCH 0050/1313] Adding an image to Tristan instructions --- .../docs/designs/tristan/instructions/en.md | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index 32ecf66378f..74112e08b38 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -13,6 +13,8 @@ Cut your pattern pieces. If you would like to add embroidery or other decoration ### Step 2: Sew the back inside (Part 3) parts together at center back +![Sew the back inside parts together](step02.png) + Align the back inside (Part 3) parts at center back. Sew them together with _good sides together_. ### Step 3: Attach back outside (Part 4) parts @@ -56,21 +58,12 @@ Place the center insides of the main and lining together, _good sides together_. Stitch down center front. +### Step 9: Stitch your first boning channel + Turn right side out and press. -### Step 9: Topstitch the center front - Stitch 2 mm (0.1 inch) in from center edge. -Repeat on the other side. - - -##### Switching sides for each step is optional -These instructions suggest doing each step on each side to keep the stitching lines even and symmetrical, but it’s fine to do all the closure steps on one side then move on the other if you prefer. - - -### Step 10: Stitch your first boning channel - Allow enough space for your boning, then stitch again. Repeat on the other side. @@ -80,22 +73,26 @@ Repeat on the other side. Leave enough wiggle room to allow you to insert your boning. You want the channel to be snug, but not too tight. -### Step 11: Stitch your eyelet channel +### Step 10: Stitch your second boning channel Mark the locations of your eyelets/grommets. Allow enough space to install these later, then stitch again. -Repeat on the other side. - -### Step 12: Stitch your second boning channel - Allow enough space for another row of boning, then stitch again. Repeat on the other side. -### Step 13: Insert your boning +### Step 11: Insert your boning Cap your boning if appropriate for the type of boning used. -### Step 14: Bind your top +### Step 12: Install your eyelets/grommets -Apply bias binding to the neck hole, armholes, and hem. \ No newline at end of file +Install your eyelets or grommets between the two boning channels. + +### Step 13: Bind your top + +Apply bias binding to the neck hole, armholes, and hem. + +### Step 14: You're done! + +Enjoy your Tristan top! \ No newline at end of file From 621a63b7d34f35d882783fdb48b50fc5563e54f7 Mon Sep 17 00:00:00 2001 From: Natalia Sayang <48160791+nataliasayang@users.noreply.github.com> Date: Fri, 12 Jan 2024 16:52:10 -0500 Subject: [PATCH 0051/1313] Adding more Tristan illustrations --- .../designs/tristan/instructions/step03.png | Bin 0 -> 67389 bytes .../designs/tristan/instructions/step04.png | Bin 0 -> 65251 bytes .../designs/tristan/instructions/step05.png | Bin 0 -> 69170 bytes .../designs/tristan/instructions/step05b.png | Bin 0 -> 81075 bytes .../designs/tristan/instructions/step06.png | Bin 0 -> 51334 bytes .../designs/tristan/instructions/step08.png | Bin 0 -> 77847 bytes .../designs/tristan/instructions/step09.png | Bin 0 -> 61488 bytes .../designs/tristan/instructions/step10.png | Bin 0 -> 88083 bytes .../designs/tristan/instructions/step14.png | Bin 0 -> 88091 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 markdown/org/docs/designs/tristan/instructions/step03.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step04.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step05.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step05b.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step06.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step08.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step09.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step10.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step14.png diff --git a/markdown/org/docs/designs/tristan/instructions/step03.png b/markdown/org/docs/designs/tristan/instructions/step03.png new file mode 100644 index 0000000000000000000000000000000000000000..e359d0b3eb21847f5b2c5cf302720edfea5cf729 GIT binary patch literal 67389 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 Bs?Goa literal 0 HcmV?d00001 diff --git a/markdown/org/docs/designs/tristan/instructions/step04.png b/markdown/org/docs/designs/tristan/instructions/step04.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8e7490bc629b635729438ce875f75d3bfb3f09 GIT binary patch literal 65251 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

gJGcTZ^2*Yx4NY5^b4jLCN?b2%@OWBu67~n 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

jYZ(qAU`j*UUN5;yE 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

ldG$CysvJwP%M*p~w-V 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�)MUbh(A+O_g8Ap~()V`JEJ9jNZ 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 cZ2ZqJd`>L5utY_Ifq{X+)78&qol`;+0E=? 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Ḧ́PbEuK4a1O_iHar@=q3J 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%0ALLkMHE_2adN3=Knmjot=4wrlxyjVP~h+ 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 literal 0 HcmV?d00001 diff --git a/markdown/org/docs/designs/tristan/instructions/step14.png b/markdown/org/docs/designs/tristan/instructions/step14.png new file mode 100644 index 0000000000000000000000000000000000000000..4982f21d94bbfe5ac830298e2e5ee6ed0bc83138 GIT binary patch literal 88091 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 S)oKh33=E#GelF{r5}E+6W;z)F literal 0 HcmV?d00001 From 988196a9e340a42f55d970581533dd5b872809ea Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Fri, 12 Jan 2024 22:07:02 +0000 Subject: [PATCH 0052/1313] Adding more images and editing Tristan instructions --- .../docs/designs/tristan/instructions/en.md | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index 74112e08b38..2848a38072a 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -11,35 +11,47 @@ These instructions are for a lined Tristan top with a center-front lacing closur Cut your pattern pieces. If you would like to add embroidery or other decoration, now is a good time to do so. -### Step 2: Sew the back inside (Part 3) parts together at center back +### Step 2: Sew the back inside parts together at center back ![Sew the back inside parts together](step02.png) Align the back inside (Part 3) parts at center back. Sew them together with _good sides together_. -### Step 3: Attach back outside (Part 4) parts +### Step 3: Attach back outside parts + +![Attach the back outside parts](step03.png) Attach one back outside (Part 4) part to its matching back inside (Part 3) part, _good sides together_, making sure to match any notches. Do the same for the other back outside (Part 4) part. -### Step 4: Attach front outside (Part 2) parts at the side seams +### Step 4: Attach front outside parts at the side seams + +![Attach the front outside parts](step04.png) Attach one front outside (Part 2) part to its matching back outside (Part 3) part, _good sides together_. Do the same for the other front outside (Part 2) part. -### Step 5: Attach front inside (Part 1) parts +### Step 5: Attach front inside parts + +![Attach the front inside parts](step05.png) Finally, attach one front inside (Part 1) part to its matching front inside (Part 2) part, _good sides together_. Do the same for the other front inside (Part 1) part. +![Press](step05b.png) + Press all the seam allowances flat. -### Step 6: Stitch at the shoulders +### Step 6: Sew at the shoulders -Stitch at the shoulders. Press. +![Attach the front inside parts](step06.png) + +Sew at the shoulders to complete each armhole. Sew _good sides together_. + +Press the seam allowances open. ##### Check the fit @@ -52,19 +64,25 @@ Repeat Steps 1 through 6 with your lining fabric. You will now have two identical pieces, one with your main fabric and one with your lining. -### Step 8: Begin the closure by stitching down center front +### Step 8: Begin the closure by sewing down center front + +![Sew down center front](step08.png) Place the center insides of the main and lining together, _good sides together_. -Stitch down center front. +Sew down center front. -### Step 9: Stitch your first boning channel +Open flat. -Turn right side out and press. +### Step 9: Sew your first boning channel -Stitch 2 mm (0.1 inch) in from center edge. +![Sew your first boning channel](step09.png) -Allow enough space for your boning, then stitch again. +Turn right side out -- that is, put the two pieces together, _bad sides together_ -- and press. + +Sew 2 mm (0.1 inch) in from center edge. + +Allow enough space for your boning, then sew again. Repeat on the other side. @@ -73,26 +91,32 @@ Repeat on the other side. Leave enough wiggle room to allow you to insert your boning. You want the channel to be snug, but not too tight. -### Step 10: Stitch your second boning channel +### Step 10: Sew your second boning channel -Mark the locations of your eyelets/grommets. Allow enough space to install these later, then stitch again. +![Sew your second boning channel](step10.png) -Allow enough space for another row of boning, then stitch again. +Mark the locations of your eyelets/grommets. Allow enough space to install these later, then sew again. + +Allow enough space for another row of boning, then sew again. Repeat on the other side. ### Step 11: Insert your boning -Cap your boning if appropriate for the type of boning used. +Cap your boning if appropriate for the type of boning used. Then insert boning in the boning channels. ### Step 12: Install your eyelets/grommets Install your eyelets or grommets between the two boning channels. -### Step 13: Bind your top +### Step 13: Bind and lace up your top Apply bias binding to the neck hole, armholes, and hem. +Lace up your top. + ### Step 14: You're done! +![You're done!](step14.png) + Enjoy your Tristan top! \ No newline at end of file From 7d6634a608f510bae0853657746bbe8db2e7f870 Mon Sep 17 00:00:00 2001 From: Natalia Sayang <48160791+nataliasayang@users.noreply.github.com> Date: Fri, 12 Jan 2024 17:47:04 -0500 Subject: [PATCH 0053/1313] Adding more Tristan illustrations --- .../designs/tristan/instructions/step01.png | Bin 0 -> 97529 bytes .../designs/tristan/instructions/step07.png | Bin 0 -> 69091 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 markdown/org/docs/designs/tristan/instructions/step01.png create mode 100644 markdown/org/docs/designs/tristan/instructions/step07.png diff --git a/markdown/org/docs/designs/tristan/instructions/step01.png b/markdown/org/docs/designs/tristan/instructions/step01.png new file mode 100644 index 0000000000000000000000000000000000000000..8276dc12b4f61065197359ebee094347ad6486d7 GIT binary patch literal 97529 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 v=Q%9JGCTh@zsEeD2>rbH9tMe|qMN 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 V-=0)%V_;xl@O1TaS?83{1OQXUxkdm0 literal 0 HcmV?d00001 From 16f75994a543cefd26f307d5ca19585f1775b8fd Mon Sep 17 00:00:00 2001 From: Natalia Sayang <48160791+nataliasayang@users.noreply.github.com> Date: Fri, 12 Jan 2024 17:48:06 -0500 Subject: [PATCH 0054/1313] Adding more illustrations --- markdown/org/docs/designs/tristan/instructions/en.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index 2848a38072a..f5f97741140 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -9,6 +9,8 @@ These instructions are for a lined Tristan top with a center-front lacing closur ### Step 1: Cut your pieces +![Cut your pieces](step01.png) + Cut your pattern pieces. If you would like to add embroidery or other decoration, now is a good time to do so. ### Step 2: Sew the back inside parts together at center back @@ -60,10 +62,14 @@ This is a good time to try on your garment and make any small adjustments. For e ### Step 7: Repeat with lining fabric +![Repeat with lining fabric](step07.png) + Repeat Steps 1 through 6 with your lining fabric. You will now have two identical pieces, one with your main fabric and one with your lining. +Turn your lining piece inside out. + ### Step 8: Begin the closure by sewing down center front ![Sew down center front](step08.png) @@ -119,4 +125,4 @@ Lace up your top. ![You're done!](step14.png) -Enjoy your Tristan top! \ No newline at end of file +Enjoy your Tristan top! From 9854727d4f09a09ef29f0a87a3af6e5bc31899d3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 13 Jan 2024 20:02:05 +0100 Subject: [PATCH 0055/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/waralee/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/es.md b/markdown/org/docs/designs/waralee/notes/es.md index 5af9d3e9c3f..d870ec92d83 100644 --- a/markdown/org/docs/designs/waralee/notes/es.md +++ b/markdown/org/docs/designs/waralee/notes/es.md @@ -2,7 +2,7 @@ title: "Pantalón Waralee: Notas del diseñador" --- -Waralee is one of those designs that you just make because it's easy, and you feel like there must be tons of other people who would love to make wrap pants. And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? +Waralee is one of those designs that you just make because it's easy, and you feel like there must be tons of other people who would love to make wrap pants. And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And where can you find wrap pants with pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? And who wants pants without pockets? The construction is easy when you make it without pockets. And with them, it's still not that hard for a practiced sewist. From 58507ca7bb75a4dbfc0be1a6ee1862b0f9ac6bd1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 13 Jan 2024 20:02:26 +0100 Subject: [PATCH 0056/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/pledge/es.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/markdown/org/docs/about/pledge/es.md b/markdown/org/docs/about/pledge/es.md index 75b6f5f33c3..28711d4c368 100644 --- a/markdown/org/docs/about/pledge/es.md +++ b/markdown/org/docs/about/pledge/es.md @@ -10,17 +10,17 @@ La promesa es hecha y ejecutada por el mantenedor de FreeSewing (joost). Puedes ## Historial de ingresos -| Ingresos | Año | -| -----------------:|:----------------------------------------------------------------------- | -| `` `256,65` `` | 2015 | -| `` `473,50` `` | 2016 | -| `` `673,14` `` | 2017 | -| `` `3.162,14` `` | 2018 | -| `` `4.109,38` `` | 2019 | -| `` `10.736,82` `` | 2020 | -| `` `10.070,77` `` | 2021 | -| `€9.489,40` | 2022 | -| `€38.814,94` | ************************Euro donado a MSF************************ | +| Ingresos | Año | +| -----------------:|:--------------------------------------------------------------------------- | +| `` `256,65` `` | 2015 | +| `` `473,50` `` | 2016 | +| `` `673,14` `` | 2017 | +| `` `3.162,14` `` | 2018 | +| `` `4.109,38` `` | 2019 | +| `` `10.736,82` `` | 2020 | +| `` `10.070,77` `` | 2021 | +| `€9.489,40` | 2022 | +| `€38.814,94` | **************************Euro donado a MSF************************** | From f648328fcdbaf051eb951f303bf050ba7d6e0d64 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 13 Jan 2024 20:24:40 +0100 Subject: [PATCH 0057/1313] New translations en.md (German) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md index 4ed75f637b4..a5a9bff808f 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md @@ -2,7 +2,7 @@ title: Warum muss ich erneut klicken, um zu bestätigen, dass ich den Newsletter abbestellen möchte? --- -Wir könnten zwar dafür sorgen, dass du dich durch einen Klick auf den Link in deiner E-Mail sofort wieder abmeldest, aber das wäre ein Verstoß gegen die Internetstandards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: +While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: From 987e2ff1e8135a8fc4524d19ca4451ccf1d21cad Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 13 Jan 2024 20:47:03 +0100 Subject: [PATCH 0058/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/nl.md b/markdown/org/docs/about/site/nl.md index 1dd9c025400..a1181c89f88 100644 --- a/markdown/org/docs/about/site/nl.md +++ b/markdown/org/docs/about/site/nl.md @@ -61,7 +61,7 @@ Schakel [Two-Factor Authentication](/account/mfa/) in om je FreeSewing account t ## Maak het je eigen -Now that you have a FreeSewing account, there's more you can do on FreeSewing.org. Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: +Now that you have a FreeSewing account, there's more you can do on FreeSewing.org. Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Click through to learn more about the following features: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: Klik door voor meer informatie over de volgende functies: - [Account](/docs/about/site/account) - [Maten sets](/docs/about/site/sets) From e70c75365c1e5536637e3bcc755f69224fb3eb86 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 14 Jan 2024 13:47:02 +0000 Subject: [PATCH 0059/1313] docs: update CONTRIBUTORS.md [skip ci] --- CONTRIBUTORS.md | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b9f0738595d..efc60d595e1 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -60,108 +60,109 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Joebidido
Joebidido

🌍 Joost De Cock
Joost De Cock

🚧 Josh Essman
Josh Essman

📖 - Kake
Kake

📖 + Josh Munic
Josh Munic

🐛 + Kake
Kake

📖 Kapunahele Wong
Kapunahele Wong

📖 Karen
Karen

📖 📋 Katie McGinley
Katie McGinley

📖 Kieran Klaassen
Kieran Klaassen

💻 Kittycatou
Kittycatou

🌍 Kris
Kris

📖 - Kristin Ruben
Kristin Ruben

💻 + Kristin Ruben
Kristin Ruben

💻 Lin
Lin

💻 Loudepeuter
Loudepeuter

🌍 Lucian
Lucian

📋 Luiz Saggioro
Luiz Saggioro

💻 MA-TATAS
MA-TATAS

📖 Marcus
Marcus

🌍 - Martin Tribo
Martin Tribo

📖 + Martin Tribo
Martin Tribo

📖 Nadege Michel
Nadege Michel

⚠️ 📖 Natalia
Natalia

💻 🎨 📝 Nathan Yergler
Nathan Yergler

📖 Nick Dower
Nick Dower

📖 💻 🐛 Nikhil Chelliah
Nikhil Chelliah

📖 OysteinHoiby
OysteinHoiby

💻 - Patrick Forringer
Patrick Forringer

🔌 + Patrick Forringer
Patrick Forringer

🔌 Paul
Paul

📖 📝 🌍 Phillip Thelen
Phillip Thelen

💻 Pixieish
Pixieish

📖 Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖 Quentin FELIX
Quentin FELIX

💻 🎨 Rik Hekker
Rik Hekker

🐛 - Sam Livingston-Gray
Sam Livingston-Gray

📖 + Sam Livingston-Gray
Sam Livingston-Gray

📖 Sanne
Sanne

💻 📖 Sara Latorre
Sara Latorre

🌍 SeaZeeZee
SeaZeeZee

📖 💻 SimonbJohnson
SimonbJohnson

🐛 SirCharlotte
SirCharlotte

🌍 Slylele
Slylele

📖 🌍 - Soazillon
Soazillon

🌍 + Soazillon
Soazillon

🌍 Soham Tembhurne
Soham Tembhurne

💻 SoneaTheBest
SoneaTheBest

🌍 Sophia
Sophia

💻 Stefan Sydow
Stefan Sydow

🌍 📖 💻 Sushmita Biswas
Sushmita Biswas

💻 Tanay Toshniwal
Tanay Toshniwal

💻 - Trent Trama
Trent Trama

💻 + Trent Trama
Trent Trama

💻 Tríona
Tríona

📖 Unmutual
Unmutual

📖 Vili Sinervä
Vili Sinervä

💻 Vili Sinervä
Vili Sinervä

💻 Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧 Yash Anil Ambekar
Yash Anil Ambekar

📖 - amysews
amysews

📖 + amysews
amysews

📖 anna-puk
anna-puk

💻 beautifulsummermoon
beautifulsummermoon

🌍 berce
berce

📖 biou
biou

💻 bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨 brmlyklr
brmlyklr

📖 - chri5b
chri5b

💻 ⚠️ + chri5b
chri5b

💻 ⚠️ dingcycle
dingcycle

🌍 drowned-in-books
drowned-in-books

💬 econo202
econo202

📖 ericamattos
ericamattos

🌍 evilrobotfromouterspace
evilrobotfromouterspace

🐛 fightingrabbit
fightingrabbit

💻 - gaylyndie
gaylyndie

📖 + gaylyndie
gaylyndie

📖 grimlokason
grimlokason

💻 hellgy
hellgy

🎨 jackseye
jackseye

📖 marckiesel
marckiesel

🌍 marpants
marpants

💻 mergerg
mergerg

📖 - mesil
mesil

🐛 + mesil
mesil

🐛 starfetch
starfetch

💻 📖 🌍 🎨 timorl
timorl

💻 ttimearl
ttimearl

🖋 tuesgloomsday
tuesgloomsday

📖 valadaptive
valadaptive

💻 viocky
viocky

🌍 - woolishboy
woolishboy

💻 + woolishboy
woolishboy

💻 yc
yc

🌍 From d2a69b747d005185689fa3ead4077a26fc0f5bb5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sun, 14 Jan 2024 13:47:02 +0000 Subject: [PATCH 0060/1313] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 76175dc8686..7457c70f90f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1122,6 +1122,15 @@ "contributions": [ "code" ] + }, + { + "login": "jpmunic", + "name": "Josh Munic", + "avatar_url": "https://avatars.githubusercontent.com/u/13474972?v=4", + "profile": "https://github.com/jpmunic", + "contributions": [ + "bug" + ] } ], "skipCi": true, From b4e668a56d2df3a03142c69e8b462621094dc157 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 14 Jan 2024 19:20:33 +0000 Subject: [PATCH 0061/1313] Options documentation --- designs/tristan/i18n/en.json | 4 ++++ designs/tristan/src/peplumFront.mjs | 2 +- .../designs/tristan/options/armholedepth/de.md | 11 +++++++++++ .../designs/tristan/options/armholedepth/en.md | 11 +++++++++++ .../designs/tristan/options/armholedepth/es.md | 11 +++++++++++ .../designs/tristan/options/armholedepth/fr.md | 11 +++++++++++ .../designs/tristan/options/armholedepth/nl.md | 11 +++++++++++ .../designs/tristan/options/armholedepth/uk.md | 11 +++++++++++ .../designs/tristan/options/bustspanease/de.md | 13 +++++++++++++ .../designs/tristan/options/bustspanease/en.md | 13 +++++++++++++ .../designs/tristan/options/bustspanease/es.md | 13 +++++++++++++ .../designs/tristan/options/bustspanease/fr.md | 13 +++++++++++++ .../designs/tristan/options/bustspanease/nl.md | 13 +++++++++++++ .../designs/tristan/options/bustspanease/uk.md | 13 +++++++++++++ .../docs/designs/tristan/options/chestease/de.md | 11 +++++++++++ .../docs/designs/tristan/options/chestease/en.md | 11 +++++++++++ .../docs/designs/tristan/options/chestease/es.md | 11 +++++++++++ .../docs/designs/tristan/options/chestease/fr.md | 11 +++++++++++ .../docs/designs/tristan/options/chestease/nl.md | 11 +++++++++++ .../docs/designs/tristan/options/chestease/uk.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/de.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/en.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/es.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/fr.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/nl.md | 11 +++++++++++ .../designs/tristan/options/cutdepthback/uk.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/de.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/en.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/es.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/fr.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/nl.md | 11 +++++++++++ .../designs/tristan/options/cutdepthfront/uk.md | 11 +++++++++++ .../tristan/options/cutroundnessback/de.md | 12 ++++++++++++ .../tristan/options/cutroundnessback/en.md | 12 ++++++++++++ .../tristan/options/cutroundnessback/es.md | 12 ++++++++++++ .../tristan/options/cutroundnessback/fr.md | 12 ++++++++++++ .../tristan/options/cutroundnessback/nl.md | 12 ++++++++++++ .../tristan/options/cutroundnessback/uk.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/de.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/en.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/es.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/fr.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/nl.md | 12 ++++++++++++ .../tristan/options/cutroundnessfront/uk.md | 12 ++++++++++++ markdown/org/docs/designs/tristan/options/de.md | 5 +++++ markdown/org/docs/designs/tristan/options/en.md | 5 +++++ markdown/org/docs/designs/tristan/options/es.md | 5 +++++ markdown/org/docs/designs/tristan/options/fr.md | 5 +++++ .../tristan/options/frontshoulderwidth/de.md | 11 +++++++++++ .../tristan/options/frontshoulderwidth/en.md | 11 +++++++++++ .../tristan/options/frontshoulderwidth/es.md | 11 +++++++++++ .../tristan/options/frontshoulderwidth/fr.md | 11 +++++++++++ .../tristan/options/frontshoulderwidth/nl.md | 11 +++++++++++ .../tristan/options/frontshoulderwidth/uk.md | 11 +++++++++++ .../tristan/options/fullchesteasereduction/de.md | 7 +++++++ .../tristan/options/fullchesteasereduction/en.md | 7 +++++++ .../tristan/options/fullchesteasereduction/es.md | 7 +++++++ .../tristan/options/fullchesteasereduction/fr.md | 7 +++++++ .../tristan/options/fullchesteasereduction/nl.md | 7 +++++++ .../tristan/options/fullchesteasereduction/uk.md | 7 +++++++ .../org/docs/designs/tristan/options/hem/de.md | 12 ++++++++++++ .../org/docs/designs/tristan/options/hem/en.md | 12 ++++++++++++ .../org/docs/designs/tristan/options/hem/es.md | 12 ++++++++++++ .../org/docs/designs/tristan/options/hem/fr.md | 12 ++++++++++++ .../org/docs/designs/tristan/options/hem/nl.md | 12 ++++++++++++ .../org/docs/designs/tristan/options/hem/uk.md | 12 ++++++++++++ .../docs/designs/tristan/options/hemsize/de.md | 11 +++++++++++ .../docs/designs/tristan/options/hemsize/en.md | 11 +++++++++++ .../docs/designs/tristan/options/hemsize/es.md | 11 +++++++++++ .../docs/designs/tristan/options/hemsize/fr.md | 11 +++++++++++ .../docs/designs/tristan/options/hemsize/nl.md | 11 +++++++++++ .../docs/designs/tristan/options/hemsize/uk.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/de.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/en.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/es.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/fr.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/nl.md | 11 +++++++++++ .../designs/tristan/options/highbustwidth/uk.md | 11 +++++++++++ .../docs/designs/tristan/options/lacing/de.md | 12 ++++++++++++ .../docs/designs/tristan/options/lacing/en.md | 12 ++++++++++++ .../docs/designs/tristan/options/lacing/es.md | 12 ++++++++++++ .../docs/designs/tristan/options/lacing/fr.md | 12 ++++++++++++ .../docs/designs/tristan/options/lacing/nl.md | 12 ++++++++++++ .../docs/designs/tristan/options/lacing/uk.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/de.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/en.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/es.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/fr.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/nl.md | 12 ++++++++++++ .../designs/tristan/options/lacinglocation/uk.md | 12 ++++++++++++ .../designs/tristan/options/lacingwidth/de.md | 11 +++++++++++ .../designs/tristan/options/lacingwidth/en.md | 11 +++++++++++ .../designs/tristan/options/lacingwidth/es.md | 11 +++++++++++ .../designs/tristan/options/lacingwidth/fr.md | 11 +++++++++++ .../designs/tristan/options/lacingwidth/nl.md | 11 +++++++++++ .../designs/tristan/options/lacingwidth/uk.md | 11 +++++++++++ markdown/org/docs/designs/tristan/options/nl.md | 5 +++++ .../docs/designs/tristan/options/peplum/de.md | 15 +++++++++++++++ .../docs/designs/tristan/options/peplum/en.md | 15 +++++++++++++++ .../docs/designs/tristan/options/peplum/es.md | 15 +++++++++++++++ .../docs/designs/tristan/options/peplum/fr.md | 15 +++++++++++++++ .../docs/designs/tristan/options/peplum/nl.md | 15 +++++++++++++++ .../docs/designs/tristan/options/peplum/uk.md | 15 +++++++++++++++ .../designs/tristan/options/peplumfullness/de.md | 16 ++++++++++++++++ .../designs/tristan/options/peplumfullness/en.md | 12 ++++++++++++ .../designs/tristan/options/peplumfullness/es.md | 16 ++++++++++++++++ .../designs/tristan/options/peplumfullness/fr.md | 16 ++++++++++++++++ .../designs/tristan/options/peplumfullness/nl.md | 16 ++++++++++++++++ .../designs/tristan/options/peplumfullness/uk.md | 16 ++++++++++++++++ .../designs/tristan/options/peplumsize/de.md | 11 +++++++++++ .../designs/tristan/options/peplumsize/en.md | 11 +++++++++++ .../designs/tristan/options/peplumsize/es.md | 11 +++++++++++ .../designs/tristan/options/peplumsize/fr.md | 11 +++++++++++ .../designs/tristan/options/peplumsize/nl.md | 11 +++++++++++ .../designs/tristan/options/peplumsize/uk.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/de.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/en.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/es.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/fr.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/nl.md | 11 +++++++++++ .../tristan/options/shoulderdartposition/uk.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/de.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/en.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/es.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/fr.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/nl.md | 11 +++++++++++ .../tristan/options/shouldertoshoulderease/uk.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/de.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/en.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/es.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/fr.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/nl.md | 11 +++++++++++ .../designs/tristan/options/strapwidth/uk.md | 11 +++++++++++ markdown/org/docs/designs/tristan/options/uk.md | 5 +++++ .../tristan/options/upperdartlength/de.md | 11 +++++++++++ .../tristan/options/upperdartlength/en.md | 11 +++++++++++ .../tristan/options/upperdartlength/es.md | 11 +++++++++++ .../tristan/options/upperdartlength/fr.md | 11 +++++++++++ .../tristan/options/upperdartlength/nl.md | 11 +++++++++++ .../tristan/options/upperdartlength/uk.md | 11 +++++++++++ .../tristan/options/waistdartlength/de.md | 11 +++++++++++ .../tristan/options/waistdartlength/en.md | 11 +++++++++++ .../tristan/options/waistdartlength/es.md | 11 +++++++++++ .../tristan/options/waistdartlength/fr.md | 11 +++++++++++ .../tristan/options/waistdartlength/nl.md | 11 +++++++++++ .../tristan/options/waistdartlength/uk.md | 11 +++++++++++ .../tristan/options/waistdartposition/de.md | 11 +++++++++++ .../tristan/options/waistdartposition/en.md | 11 +++++++++++ .../tristan/options/waistdartposition/es.md | 11 +++++++++++ .../tristan/options/waistdartposition/fr.md | 11 +++++++++++ .../tristan/options/waistdartposition/nl.md | 11 +++++++++++ .../tristan/options/waistdartposition/uk.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/de.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/en.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/es.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/fr.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/nl.md | 11 +++++++++++ .../docs/designs/tristan/options/waistease/uk.md | 11 +++++++++++ .../designs/tristan/options/zipperlocation/de.md | 12 ++++++++++++ .../designs/tristan/options/zipperlocation/en.md | 12 ++++++++++++ .../designs/tristan/options/zipperlocation/es.md | 12 ++++++++++++ .../designs/tristan/options/zipperlocation/fr.md | 12 ++++++++++++ .../designs/tristan/options/zipperlocation/nl.md | 12 ++++++++++++ .../designs/tristan/options/zipperlocation/uk.md | 12 ++++++++++++ 164 files changed, 1825 insertions(+), 1 deletion(-) create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/de.md create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/en.md create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/es.md create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/armholedepth/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/de.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/en.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/es.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/bustspanease/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/de.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/en.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/es.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/chestease/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/de.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/en.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/es.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthback/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/de.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/en.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/es.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/cutdepthfront/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/de.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/en.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/es.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/de.md create mode 100644 markdown/org/docs/designs/tristan/options/en.md create mode 100644 markdown/org/docs/designs/tristan/options/es.md create mode 100644 markdown/org/docs/designs/tristan/options/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/de.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/en.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/es.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/frontshoulderwidth/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/de.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/en.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/es.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/fullchesteasereduction/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/de.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/en.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/es.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/hem/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/de.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/en.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/es.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/hemsize/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/de.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/en.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/es.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/highbustwidth/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/de.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/en.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/es.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/lacing/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/de.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/en.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/es.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/lacinglocation/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/de.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/en.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/es.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/lacingwidth/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/de.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/en.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/es.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/peplum/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/de.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/en.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/es.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumfullness/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/de.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/en.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/es.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/peplumsize/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/de.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/en.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/es.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/shoulderdartposition/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/de.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/en.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/es.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/shouldertoshoulderease/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/de.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/en.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/es.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/strapwidth/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/de.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/en.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/es.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/upperdartlength/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/de.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/en.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/es.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartlength/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/de.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/en.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/es.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/waistdartposition/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/de.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/en.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/es.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/waistease/uk.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/de.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/en.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/es.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/fr.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/nl.md create mode 100644 markdown/org/docs/designs/tristan/options/zipperlocation/uk.md diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index fc2cb026668..1da42ebe2fa 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -37,6 +37,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" diff --git a/designs/tristan/src/peplumFront.mjs b/designs/tristan/src/peplumFront.mjs index e44a41ad3cb..ad48c325e41 100644 --- a/designs/tristan/src/peplumFront.mjs +++ b/designs/tristan/src/peplumFront.mjs @@ -79,7 +79,7 @@ export const peplumFront = { peplumSize: { pct: 10, min: 5, - max: 50, + max: 100, // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions.peplum === false ? false : 'peplum'), }, diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/de.md b/markdown/org/docs/designs/tristan/options/armholedepth/de.md new file mode 100644 index 00000000000..d3a9a18e691 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/de.md @@ -0,0 +1,11 @@ +--- +title: "Armlochtiefe" +--- + +*** + +Die **Armlochtiefe** steuert die Tiefe des Armlochs. + + + + diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/en.md b/markdown/org/docs/designs/tristan/options/armholedepth/en.md new file mode 100644 index 00000000000..8a2d03c3831 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/en.md @@ -0,0 +1,11 @@ +--- +title: "Armhole depth" +--- + +*** + +The **armhole depth** option controls the depth of the armhole. + + + + diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/es.md b/markdown/org/docs/designs/tristan/options/armholedepth/es.md new file mode 100644 index 00000000000..7a33ec2c36e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/es.md @@ -0,0 +1,11 @@ +--- +title: "Profundidad del orificio" +--- + +*** + +La opción **de profundidad de armadura** controla la profundidad del orificio de armadura. + + + + diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/fr.md b/markdown/org/docs/designs/tristan/options/armholedepth/fr.md new file mode 100644 index 00000000000..56eaa99c431 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Profondeur d'emmanchure" +--- + +*** + +L'option **de profondeur de blindage** contrôle la profondeur de l'armure. + + + + diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/nl.md b/markdown/org/docs/designs/tristan/options/armholedepth/nl.md new file mode 100644 index 00000000000..cabe409240f --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Diepte armsgat" +--- + +*** + +De **armsgat** optie bepaalt de diepte van het armsgat. + + + + diff --git a/markdown/org/docs/designs/tristan/options/armholedepth/uk.md b/markdown/org/docs/designs/tristan/options/armholedepth/uk.md new file mode 100644 index 00000000000..5d34e1507e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/armholedepth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Глибина пройми" +--- + +*** + +Параметр **глибина пройми** регулює глибину пройми. + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/de.md b/markdown/org/docs/designs/tristan/options/bustspanease/de.md new file mode 100644 index 00000000000..4a7c3c32c75 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/de.md @@ -0,0 +1,13 @@ +--- +title: "Büstenumfang leicht" +--- + +*** + +Die **Bustumpfschlanke** Option bestimmt, wie viel Leichtigkeit auf den Bustumpfbereich angewendet wird. + +Dies wird das Kleidungsstück nicht leicht machen, sondern nur den Büstenpunkt beeinflussen + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/en.md b/markdown/org/docs/designs/tristan/options/bustspanease/en.md new file mode 100644 index 00000000000..072a5e40a5c --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/en.md @@ -0,0 +1,13 @@ +--- +title: "Bust span ease" +--- + +*** + +The **bust span ease** option controls how much ease is applied to the bust span. + +This will not add ease to the garment, but merely influence the bust point + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/es.md b/markdown/org/docs/designs/tristan/options/bustspanease/es.md new file mode 100644 index 00000000000..603f5c7e57b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/es.md @@ -0,0 +1,13 @@ +--- +title: "Facilidad de la expansión del polvo" +--- + +*** + +La opción **de reducción de polvo** controla la facilidad con la que se aplica a la gama de busto. + +Esto no añadirá facilidad a la ropa, sino que simplemente influirá en el punto de busto + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/fr.md b/markdown/org/docs/designs/tristan/options/bustspanease/fr.md new file mode 100644 index 00000000000..768cb018428 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/fr.md @@ -0,0 +1,13 @@ +--- +title: "Aisance de l'écart poitrine" +--- + +*** + +L'option **de facilité** de la boussole contrôle la quantité de facilité appliquée à la boussole. + +Cela ne facilitera pas le vêtement, mais seulement le point de buste + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/nl.md b/markdown/org/docs/designs/tristan/options/bustspanease/nl.md new file mode 100644 index 00000000000..1c7bbc8c1f0 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/nl.md @@ -0,0 +1,13 @@ +--- +title: "Overwijdte bustenwijdte" +--- + +*** + +De **bustewijdte overwijdte** optie bepaalt hoeveel overwijdte wordt toegepast op de bustewijdte. + +Dit maakt het kledingstuk niet gemakkelijker, maar beïnvloedt alleen het bustepunt + + + + diff --git a/markdown/org/docs/designs/tristan/options/bustspanease/uk.md b/markdown/org/docs/designs/tristan/options/bustspanease/uk.md new file mode 100644 index 00000000000..5c8bb89370c --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/bustspanease/uk.md @@ -0,0 +1,13 @@ +--- +title: "Легкість обхвату грудей" +--- + +*** + +Параметр **bust span ease** контролює, наскільки полегшено буде застосовано обхват бюста. + +Це не додасть одягу легкості, а лише вплине на точку обхвату грудей + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/de.md b/markdown/org/docs/designs/tristan/options/chestease/de.md new file mode 100644 index 00000000000..d8ed9e0e9a0 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/de.md @@ -0,0 +1,11 @@ +--- +title: "Brustumfangszugabe" +--- + +*** + +Mit der Option **chest ease** kannst du den Grad der Entspannung an der vollsten Stelle deiner Brust einstellen. + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/en.md b/markdown/org/docs/designs/tristan/options/chestease/en.md new file mode 100644 index 00000000000..ed8fef65d30 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/en.md @@ -0,0 +1,11 @@ +--- +title: "Chest ease" +--- + +*** + +The **chest ease** option controls the amount of ease at the fullest part of your chest. + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/es.md b/markdown/org/docs/designs/tristan/options/chestease/es.md new file mode 100644 index 00000000000..93c0f52f2bc --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/es.md @@ -0,0 +1,11 @@ +--- +title: "Holgura de pecho" +--- + +*** + +La opción de **facilidad de cofre** controla la cantidad de facilidad en la parte más completa del cofre. + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/fr.md b/markdown/org/docs/designs/tristan/options/chestease/fr.md new file mode 100644 index 00000000000..391552a9d03 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/fr.md @@ -0,0 +1,11 @@ +--- +title: "Aisance de poitrine" +--- + +*** + +L'option **facilité de poitrine** contrôle la quantité d'aisance à la partie la plus complète de votre poitrine. + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/nl.md b/markdown/org/docs/designs/tristan/options/chestease/nl.md new file mode 100644 index 00000000000..3795d57fd2a --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/nl.md @@ -0,0 +1,11 @@ +--- +title: "Overwijdte borst" +--- + +*** + +De optie **borst overwijdte** bepaalt de hoeveelheid overwijdte aan het grootste deel van je borst. + + + + diff --git a/markdown/org/docs/designs/tristan/options/chestease/uk.md b/markdown/org/docs/designs/tristan/options/chestease/uk.md new file mode 100644 index 00000000000..08c814a15e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/chestease/uk.md @@ -0,0 +1,11 @@ +--- +title: "Легкість у грудях" +--- + +*** + +Параметр **об'єму грудей** регулює об'єм грудей у найповнішій частині тіла. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/de.md b/markdown/org/docs/designs/tristan/options/cutdepthback/de.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/de.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/en.md b/markdown/org/docs/designs/tristan/options/cutdepthback/en.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/en.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/es.md b/markdown/org/docs/designs/tristan/options/cutdepthback/es.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/es.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/fr.md b/markdown/org/docs/designs/tristan/options/cutdepthback/fr.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/fr.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/nl.md b/markdown/org/docs/designs/tristan/options/cutdepthback/nl.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/nl.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthback/uk.md b/markdown/org/docs/designs/tristan/options/cutdepthback/uk.md new file mode 100644 index 00000000000..df7cf684865 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthback/uk.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the back" +--- + +*** + +The **Depth of the cut in the back** controls how deep the neckline will be in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/de.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/de.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/de.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/en.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/en.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/en.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/es.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/es.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/es.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/fr.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/fr.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/fr.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/nl.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/nl.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/nl.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutdepthfront/uk.md b/markdown/org/docs/designs/tristan/options/cutdepthfront/uk.md new file mode 100644 index 00000000000..7fa0a4002aa --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutdepthfront/uk.md @@ -0,0 +1,11 @@ +--- +title: "Depth of the cut in the front" +--- + +*** + +The **Depth of the cut in the front** controls how deep the neckline will be in the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md new file mode 100644 index 00000000000..97e47a84305 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the back" +--- + +*** + +The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md new file mode 100644 index 00000000000..f3204c59b65 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md @@ -0,0 +1,12 @@ +--- +title: "Roundness of the cut in the front" +--- + +*** + +The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. +This will go fron V-neck to U- shaped, with a round option between those extremes. + + + + diff --git a/markdown/org/docs/designs/tristan/options/de.md b/markdown/org/docs/designs/tristan/options/de.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/de.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/en.md b/markdown/org/docs/designs/tristan/options/en.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/en.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/es.md b/markdown/org/docs/designs/tristan/options/es.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/es.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/fr.md b/markdown/org/docs/designs/tristan/options/fr.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fr.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/de.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/de.md new file mode 100644 index 00000000000..414c2783f0e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/de.md @@ -0,0 +1,11 @@ +--- +title: "Vordere Schulterbreite" +--- + +*** + +Die Option **Vorderschulterbreite** steuert die Breite der Schultern an der Vorderseite, relativ zur Rückseite. + + + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/en.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/en.md new file mode 100644 index 00000000000..a891f275dcf --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/en.md @@ -0,0 +1,11 @@ +--- +title: "Front shoulder width" +--- + +*** + +The **front shoulder width** option controls the width of the shoulders at the front, relative to the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/es.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/es.md new file mode 100644 index 00000000000..9d47ee1a0db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/es.md @@ -0,0 +1,11 @@ +--- +title: "Ancho del hombro frontal" +--- + +*** + +La opción **de ancho del hombro frontal** controla el ancho de los hombros en el frente, relativo a la espalda. + + + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/fr.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/fr.md new file mode 100644 index 00000000000..e266cef2e45 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Largeur d'épaule devant" +--- + +*** + +L'option **de largeur d'épaule avant** contrôle la largeur des épaules à l'avant par rapport à l'arrière. + + + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/nl.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/nl.md new file mode 100644 index 00000000000..d448e072bb5 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Schouderbreedte vooraan" +--- + +*** + +De optie **breedte van de voorste schouder** bepaalt de breedte van de schouders vooraan ten opzichte van de achterkant. + + + + diff --git a/markdown/org/docs/designs/tristan/options/frontshoulderwidth/uk.md b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/uk.md new file mode 100644 index 00000000000..7cb33200e45 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/frontshoulderwidth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Ширина плечей спереду" +--- + +*** + +Параметр **ширина плечей спереду** регулює ширину плечей спереду відносно спинки. + + + + diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/de.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/de.md new file mode 100644 index 00000000000..8ffce74d660 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/de.md @@ -0,0 +1,7 @@ +--- +title: "Verringerung der Brustumfangszugabe" +--- + +*** + +Ermöglicht es dir den Spielraum an der Brust zu verringern, um dort einen engeren Sitz zu ermöglichen. diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/en.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/en.md new file mode 100644 index 00000000000..70696fe82de --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/en.md @@ -0,0 +1,7 @@ +--- +title: "Full chest ease reduction" +--- + +*** + +Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area. diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/es.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/es.md new file mode 100644 index 00000000000..070a8baba3b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/es.md @@ -0,0 +1,7 @@ +--- +title: "Reducción total de la holgura torácica" +--- + +*** + +Te permite reducir de forma independiente la holgura alrededor del pecho para que quede ajustado(a) en esa zona. diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/fr.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/fr.md new file mode 100644 index 00000000000..dbfbe6a4359 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/fr.md @@ -0,0 +1,7 @@ +--- +title: "Réduction de l'aisance de la poitrine" +--- + +*** + +Vous permet de réduire indépendamment du reste l'aisance de la poitrine pour le rendre (plus) ajusté à ce niveau. diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/nl.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/nl.md new file mode 100644 index 00000000000..ba0d0d98667 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/nl.md @@ -0,0 +1,7 @@ +--- +title: "Vermindering van de volle buste overwijdte" +--- + +*** + +Hiermee kun je de overwijdte rond de borst onafhankelijk verminderen om het daar strak(er) te laten aansluiten. diff --git a/markdown/org/docs/designs/tristan/options/fullchesteasereduction/uk.md b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/uk.md new file mode 100644 index 00000000000..af69c52b24f --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/fullchesteasereduction/uk.md @@ -0,0 +1,7 @@ +--- +title: "Повне зменшення об'єму грудної клітки" +--- + +*** + +Дозволяє самостійно зменшити легкість навколо грудей, щоб вона щільно прилягала в цій ділянці. diff --git a/markdown/org/docs/designs/tristan/options/hem/de.md b/markdown/org/docs/designs/tristan/options/hem/de.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/de.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hem/en.md b/markdown/org/docs/designs/tristan/options/hem/en.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/en.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hem/es.md b/markdown/org/docs/designs/tristan/options/hem/es.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/es.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hem/fr.md b/markdown/org/docs/designs/tristan/options/hem/fr.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/fr.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hem/nl.md b/markdown/org/docs/designs/tristan/options/hem/nl.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/nl.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hem/uk.md b/markdown/org/docs/designs/tristan/options/hem/uk.md new file mode 100644 index 00000000000..5d2c56609e2 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hem/uk.md @@ -0,0 +1,12 @@ +--- +title: "Hem option" +--- + +*** + +The **hem** option creates the extra fabric to make a hem. This is for the waist only. Will be ignored +if the **peplum** option is enabled. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/de.md b/markdown/org/docs/designs/tristan/options/hemsize/de.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/de.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/en.md b/markdown/org/docs/designs/tristan/options/hemsize/en.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/en.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/es.md b/markdown/org/docs/designs/tristan/options/hemsize/es.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/es.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/fr.md b/markdown/org/docs/designs/tristan/options/hemsize/fr.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/fr.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/nl.md b/markdown/org/docs/designs/tristan/options/hemsize/nl.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/nl.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/hemsize/uk.md b/markdown/org/docs/designs/tristan/options/hemsize/uk.md new file mode 100644 index 00000000000..24023a08aa8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/hemsize/uk.md @@ -0,0 +1,11 @@ +--- +title: "Hem Size" +--- + +*** + +The **hem size** controls the size of the **hem**. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/de.md b/markdown/org/docs/designs/tristan/options/highbustwidth/de.md new file mode 100644 index 00000000000..8397dee397d --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/de.md @@ -0,0 +1,11 @@ +--- +title: "Hohe Büstenbreite" +--- + +*** + +Die **hohe Büstenbreite** erlaubt es Ihnen, die hohe Büstenbreite an der Vorderseite zu optimieren. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/en.md b/markdown/org/docs/designs/tristan/options/highbustwidth/en.md new file mode 100644 index 00000000000..9829cab1b18 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/en.md @@ -0,0 +1,11 @@ +--- +title: "High bust width" +--- + +*** + +The **high bust width** option allows you to tweak the high bust width at the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/es.md b/markdown/org/docs/designs/tristan/options/highbustwidth/es.md new file mode 100644 index 00000000000..2e76fc46cd5 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/es.md @@ -0,0 +1,11 @@ +--- +title: "Ancho de bust alto" +--- + +*** + +La opción **de ancho de bust alto** le permite ajustar el ancho de bust alto en el frente. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/fr.md b/markdown/org/docs/designs/tristan/options/highbustwidth/fr.md new file mode 100644 index 00000000000..73fe7de0937 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Largeur de buste supérieur" +--- + +*** + +L'option **grande largeur de poitrine** vous permet de modifier la largeur de la poitrine à l'avant. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/nl.md b/markdown/org/docs/designs/tristan/options/highbustwidth/nl.md new file mode 100644 index 00000000000..e6a47535b58 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Hoge buste-breedte" +--- + +*** + +De **hoge bustebreedte** optie maakt het mogelijk om de bustebreedte aan het voorpand aan te passen. + + + + diff --git a/markdown/org/docs/designs/tristan/options/highbustwidth/uk.md b/markdown/org/docs/designs/tristan/options/highbustwidth/uk.md new file mode 100644 index 00000000000..03217ce42e6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/highbustwidth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Висока ширина бюста" +--- + +*** + +Опція **високої ширини бюста** дозволяє налаштувати високу ширину бюста спереду. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/de.md b/markdown/org/docs/designs/tristan/options/lacing/de.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/de.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/en.md b/markdown/org/docs/designs/tristan/options/lacing/en.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/en.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/es.md b/markdown/org/docs/designs/tristan/options/lacing/es.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/es.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/fr.md b/markdown/org/docs/designs/tristan/options/lacing/fr.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/fr.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/nl.md b/markdown/org/docs/designs/tristan/options/lacing/nl.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/nl.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacing/uk.md b/markdown/org/docs/designs/tristan/options/lacing/uk.md new file mode 100644 index 00000000000..e940a3b80f6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacing/uk.md @@ -0,0 +1,12 @@ +--- +title: "Lacing option" +--- + +*** + +The **lacing** option removes the fabric that is being replaced by the lacing. This is +what one would see with historical corsets and some dirndl. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/de.md b/markdown/org/docs/designs/tristan/options/lacinglocation/de.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/de.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/en.md b/markdown/org/docs/designs/tristan/options/lacinglocation/en.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/en.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/es.md b/markdown/org/docs/designs/tristan/options/lacinglocation/es.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/es.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md b/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md b/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md b/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md new file mode 100644 index 00000000000..7868421791b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md @@ -0,0 +1,12 @@ +--- +title: "Zipper location" +--- + +*** + +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/de.md b/markdown/org/docs/designs/tristan/options/lacingwidth/de.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/de.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/en.md b/markdown/org/docs/designs/tristan/options/lacingwidth/en.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/en.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/es.md b/markdown/org/docs/designs/tristan/options/lacingwidth/es.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/es.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/fr.md b/markdown/org/docs/designs/tristan/options/lacingwidth/fr.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/nl.md b/markdown/org/docs/designs/tristan/options/lacingwidth/nl.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/lacingwidth/uk.md b/markdown/org/docs/designs/tristan/options/lacingwidth/uk.md new file mode 100644 index 00000000000..761b2be3be3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/lacingwidth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Lacing width" +--- + +*** + +The **lacing width** controls the size of the **lacing** opening. + + + + diff --git a/markdown/org/docs/designs/tristan/options/nl.md b/markdown/org/docs/designs/tristan/options/nl.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/nl.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/de.md b/markdown/org/docs/designs/tristan/options/peplum/de.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/de.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/en.md b/markdown/org/docs/designs/tristan/options/peplum/en.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/en.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/es.md b/markdown/org/docs/designs/tristan/options/peplum/es.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/es.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/fr.md b/markdown/org/docs/designs/tristan/options/peplum/fr.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/fr.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/nl.md b/markdown/org/docs/designs/tristan/options/peplum/nl.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/nl.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplum/uk.md b/markdown/org/docs/designs/tristan/options/peplum/uk.md new file mode 100644 index 00000000000..85ea4cbb999 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplum/uk.md @@ -0,0 +1,15 @@ +--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/de.md b/markdown/org/docs/designs/tristan/options/peplumfullness/de.md new file mode 100644 index 00000000000..564530ded9e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/de.md @@ -0,0 +1,16 @@ +[--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + +](../peplum) \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/en.md b/markdown/org/docs/designs/tristan/options/peplumfullness/en.md new file mode 100644 index 00000000000..9458ea05914 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/en.md @@ -0,0 +1,12 @@ +--- +title: "Peplum fullness" +--- + +*** + +The **peplum fullness** determins the amount of wrinkles in the peplum. This can +vary between 180 to 360 degree. Think of it as a half-circle to a full-circle skirt. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/es.md b/markdown/org/docs/designs/tristan/options/peplumfullness/es.md new file mode 100644 index 00000000000..564530ded9e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/es.md @@ -0,0 +1,16 @@ +[--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + +](../peplum) \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/fr.md b/markdown/org/docs/designs/tristan/options/peplumfullness/fr.md new file mode 100644 index 00000000000..564530ded9e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/fr.md @@ -0,0 +1,16 @@ +[--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + +](../peplum) \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/nl.md b/markdown/org/docs/designs/tristan/options/peplumfullness/nl.md new file mode 100644 index 00000000000..564530ded9e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/nl.md @@ -0,0 +1,16 @@ +[--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + +](../peplum) \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/uk.md b/markdown/org/docs/designs/tristan/options/peplumfullness/uk.md new file mode 100644 index 00000000000..564530ded9e --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/uk.md @@ -0,0 +1,16 @@ +[--- +title: "Peplum option" +--- + +*** + +The **peplum** option creates a peplum along the waist. + + +If the size and fullness are large enough, this can become a dress. + + + + + +](../peplum) \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/de.md b/markdown/org/docs/designs/tristan/options/peplumsize/de.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/de.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/en.md b/markdown/org/docs/designs/tristan/options/peplumsize/en.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/en.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/es.md b/markdown/org/docs/designs/tristan/options/peplumsize/es.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/es.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/fr.md b/markdown/org/docs/designs/tristan/options/peplumsize/fr.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/fr.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/nl.md b/markdown/org/docs/designs/tristan/options/peplumsize/nl.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/nl.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/peplumsize/uk.md b/markdown/org/docs/designs/tristan/options/peplumsize/uk.md new file mode 100644 index 00000000000..9b7371fcdab --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/peplumsize/uk.md @@ -0,0 +1,11 @@ +--- +title: "Peplum Size" +--- + +*** + +The **peplum size** controls the size of the **peplum**. This is a percentage of the length of the front. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/de.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/de.md new file mode 100644 index 00000000000..59f83d7e187 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/de.md @@ -0,0 +1,11 @@ +--- +title: "Schulter Abnäher Position" +--- + +*** + +Mit der Option **Schulterabnäherposition** kannst du die Position des Abnähers/der Prinzessinnennaht verschieben. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/en.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/en.md new file mode 100644 index 00000000000..30caccd12d8 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/en.md @@ -0,0 +1,11 @@ +--- +title: "Shoulder Dart Position" +--- + +*** + +The **Shoulder Dart Position** option allows you to move the position of the dart/princess seam. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/es.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/es.md new file mode 100644 index 00000000000..61916134f28 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/es.md @@ -0,0 +1,11 @@ +--- +title: "Posición del dardo en el hombro" +--- + +*** + +La opción **Posición de la pinza en el hombro** te permite mover la posición de la pinza/costura princesa. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/fr.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/fr.md new file mode 100644 index 00000000000..446d901a904 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/fr.md @@ -0,0 +1,11 @@ +--- +title: "Position de la fléchette d'épaule" +--- + +*** + +L'option **Shoulder Dart Position** te permet de déplacer la position de la couture d'échancrure/princesse. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/nl.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/nl.md new file mode 100644 index 00000000000..770eefc1104 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/nl.md @@ -0,0 +1,11 @@ +--- +title: "Schouderpijl Positie" +--- + +*** + +Met de optie **Shoulder Dart Position** kun je de positie van de figuurnaad verplaatsen. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shoulderdartposition/uk.md b/markdown/org/docs/designs/tristan/options/shoulderdartposition/uk.md new file mode 100644 index 00000000000..7fe12a65aaf --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shoulderdartposition/uk.md @@ -0,0 +1,11 @@ +--- +title: "Положення плечової виточки" +--- + +*** + +Опція **Положення плечової виточки** дозволяє змінювати положення виточки/притачного шва. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/de.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/de.md new file mode 100644 index 00000000000..737383cac39 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/de.md @@ -0,0 +1,11 @@ +--- +title: "Schulter-zu-Schulter-Erleichterung" +--- + +*** + +Mit der Option **Schulter-zu-Schulter-Erleichterung** kannst du eine Erleichterung zwischen den Schultern hinzufügen. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/en.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/en.md new file mode 100644 index 00000000000..6cd003449bb --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/en.md @@ -0,0 +1,11 @@ +--- +title: "Shoulder to Shoulder Ease" +--- + +*** + +The **Shoulder to Shoulder Ease** option allows you to add ease between the shoulders. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/es.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/es.md new file mode 100644 index 00000000000..ff65b5bf456 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/es.md @@ -0,0 +1,11 @@ +--- +title: "Facilidad de Hombro a Hombro" +--- + +*** + +La opción **Facilidad entre hombros** te permite añadir facilidad entre los hombros. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/fr.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/fr.md new file mode 100644 index 00000000000..a197b3eb507 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/fr.md @@ -0,0 +1,11 @@ +--- +title: "Facilité d'épaule à épaule" +--- + +*** + +L'option **Shoulder to Shoulder Ease** te permet d'ajouter de l'aisance entre les épaules. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/nl.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/nl.md new file mode 100644 index 00000000000..28fed2194eb --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/nl.md @@ -0,0 +1,11 @@ +--- +title: "Schouder aan schouder gemak" +--- + +*** + +Met de optie **Shoulder to Shoulder Ease** kun je gemak tussen de schouders toevoegen. + + + + diff --git a/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/uk.md b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/uk.md new file mode 100644 index 00000000000..97b006f60de --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/shouldertoshoulderease/uk.md @@ -0,0 +1,11 @@ +--- +title: "Легкість від плеча до плеча" +--- + +*** + +Опція **Shoulder to Shoulder Ease** дозволяє додати легкості між плечима. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/de.md b/markdown/org/docs/designs/tristan/options/strapwidth/de.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/de.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/en.md b/markdown/org/docs/designs/tristan/options/strapwidth/en.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/en.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/es.md b/markdown/org/docs/designs/tristan/options/strapwidth/es.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/es.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/fr.md b/markdown/org/docs/designs/tristan/options/strapwidth/fr.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/fr.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/nl.md b/markdown/org/docs/designs/tristan/options/strapwidth/nl.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/nl.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/strapwidth/uk.md b/markdown/org/docs/designs/tristan/options/strapwidth/uk.md new file mode 100644 index 00000000000..002df59ab43 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/strapwidth/uk.md @@ -0,0 +1,11 @@ +--- +title: "Strap width" +--- + +*** + +The **strap width** option controls the width of the shoulder straps. + + + + diff --git a/markdown/org/docs/designs/tristan/options/uk.md b/markdown/org/docs/designs/tristan/options/uk.md new file mode 100644 index 00000000000..8eb6e8481db --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/uk.md @@ -0,0 +1,5 @@ +--- +title: "Tristan top: Design Options" +--- + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/de.md b/markdown/org/docs/designs/tristan/options/upperdartlength/de.md new file mode 100644 index 00000000000..1805e8ba1bc --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/de.md @@ -0,0 +1,11 @@ +--- +title: "Obere Abnäherlänge" +--- + +*** + +Die **Upper Dart Length** steuert die Länge des oberen Abnähers, der zu 100 % bis zum Brustansatz reicht. + + + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/en.md b/markdown/org/docs/designs/tristan/options/upperdartlength/en.md new file mode 100644 index 00000000000..74bed49c61f --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/en.md @@ -0,0 +1,11 @@ +--- +title: "Upper Dart Length" +--- + +*** + +The **Upper Dart Length** controls the length of the upper dart, 100% is all teh way to the bust point. + + + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/es.md b/markdown/org/docs/designs/tristan/options/upperdartlength/es.md new file mode 100644 index 00000000000..1429e4df5d6 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/es.md @@ -0,0 +1,11 @@ +--- +title: "Longitud del dardo superior" +--- + +*** + +La página **Longitud del dardo superior** controla la longitud del dardo superior, 100% hasta el punto del pecho. + + + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/fr.md b/markdown/org/docs/designs/tristan/options/upperdartlength/fr.md new file mode 100644 index 00000000000..86ff4e7b3a9 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/fr.md @@ -0,0 +1,11 @@ +--- +title: "Longueur de la fléchette supérieure" +--- + +*** + +Le site **Upper Dart Length** contrôle la longueur du dard supérieur, 100 % jusqu'à la pointe du buste. + + + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/nl.md b/markdown/org/docs/designs/tristan/options/upperdartlength/nl.md new file mode 100644 index 00000000000..d0da8cbdf1d --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/nl.md @@ -0,0 +1,11 @@ +--- +title: "Lengte bovenste pijl" +--- + +*** + +De **Bovenpijllengte** regelt de lengte van de bovenpijl, 100% is helemaal tot aan de buste. + + + + diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/uk.md b/markdown/org/docs/designs/tristan/options/upperdartlength/uk.md new file mode 100644 index 00000000000..d136ded89e5 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/uk.md @@ -0,0 +1,11 @@ +--- +title: "Довжина верхньої виточки" +--- + +*** + +Довжина верхньої виточки **** регулює довжину верхньої виточки, 100% - це довжина до точки обхвату грудей. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/de.md b/markdown/org/docs/designs/tristan/options/waistdartlength/de.md new file mode 100644 index 00000000000..6dbc3b8b7eb --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/de.md @@ -0,0 +1,11 @@ +--- +title: "Länge des Taillenabnähers" +--- + +*** + +Die Option **Taillenlänge Dart** steuert die Länge des Taillendarts in Richtung Büste. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/en.md b/markdown/org/docs/designs/tristan/options/waistdartlength/en.md new file mode 100644 index 00000000000..b0c75990481 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart length" +--- + +*** + +The **waist dart length** option controls the length of the waist dart towards the bust. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/es.md b/markdown/org/docs/designs/tristan/options/waistdartlength/es.md new file mode 100644 index 00000000000..1cac55d1012 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/es.md @@ -0,0 +1,11 @@ +--- +title: "Longitud del dart de Waist" +--- + +*** + +La opción de dardos de cintura **** controla la longitud del dardo de cintura hacia el busto. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/fr.md b/markdown/org/docs/designs/tristan/options/waistdartlength/fr.md new file mode 100644 index 00000000000..886ecdad5c1 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/fr.md @@ -0,0 +1,11 @@ +--- +title: "Longueur de la pince de taille" +--- + +*** + +L'option **longueur de la tige de taille** contrôle la longueur du dart de taille vers le bust. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/nl.md b/markdown/org/docs/designs/tristan/options/waistdartlength/nl.md new file mode 100644 index 00000000000..7e97cb5d4a3 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/nl.md @@ -0,0 +1,11 @@ +--- +title: "Lengte neep taille" +--- + +*** + +De lengte van de **neep** optie bepaalt de lengte van de neep van de taille naar de bust. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartlength/uk.md b/markdown/org/docs/designs/tristan/options/waistdartlength/uk.md new file mode 100644 index 00000000000..48af2ad243d --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartlength/uk.md @@ -0,0 +1,11 @@ +--- +title: "Довжина талієвої виточки" +--- + +*** + +Параметр **довжина талієвої виточки** регулює довжину талієвої виточки по відношенню до грудей. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/de.md b/markdown/org/docs/designs/tristan/options/waistdartposition/de.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/de.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/en.md b/markdown/org/docs/designs/tristan/options/waistdartposition/en.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/es.md b/markdown/org/docs/designs/tristan/options/waistdartposition/es.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/es.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/fr.md b/markdown/org/docs/designs/tristan/options/waistdartposition/fr.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/fr.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/nl.md b/markdown/org/docs/designs/tristan/options/waistdartposition/nl.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/nl.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistdartposition/uk.md b/markdown/org/docs/designs/tristan/options/waistdartposition/uk.md new file mode 100644 index 00000000000..c602635298b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistdartposition/uk.md @@ -0,0 +1,11 @@ +--- +title: "Waist dart position" +--- + +*** + +The **waist dart position** option controls the position of the waist 'dart', moving it to the center (negative) or side (positive). + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/de.md b/markdown/org/docs/designs/tristan/options/waistease/de.md new file mode 100644 index 00000000000..e22ed3ab4ed --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/de.md @@ -0,0 +1,11 @@ +--- +title: "Taillenzugabe" +--- + +*** + +Die Option **Taille Leichtigkeit** steuert die Menge der Leichtigkeit in deiner Taille. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/en.md b/markdown/org/docs/designs/tristan/options/waistease/en.md new file mode 100644 index 00000000000..0ca649ecfa9 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/en.md @@ -0,0 +1,11 @@ +--- +title: "Waist ease" +--- + +*** + +The **waist ease** option controls the amount of ease at your waist. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/es.md b/markdown/org/docs/designs/tristan/options/waistease/es.md new file mode 100644 index 00000000000..8e3d24b0675 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/es.md @@ -0,0 +1,11 @@ +--- +title: "Holgura de cintura" +--- + +*** + +La opción de facilidad de cintura **** controla la cantidad de facilidad en la cintura. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/fr.md b/markdown/org/docs/designs/tristan/options/waistease/fr.md new file mode 100644 index 00000000000..795048ec78c --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/fr.md @@ -0,0 +1,11 @@ +--- +title: "Aisance à la taille" +--- + +*** + +L'option **facilitant la taille** contrôle la quantité d'aisance à votre taille. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/nl.md b/markdown/org/docs/designs/tristan/options/waistease/nl.md new file mode 100644 index 00000000000..535bb827372 --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/nl.md @@ -0,0 +1,11 @@ +--- +title: "Overwijdte taille" +--- + +*** + +De optie **taille overwijdte** bepaalt de hoeveelheid overwijdte aan je taille. + + + + diff --git a/markdown/org/docs/designs/tristan/options/waistease/uk.md b/markdown/org/docs/designs/tristan/options/waistease/uk.md new file mode 100644 index 00000000000..9d00d9774ad --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/waistease/uk.md @@ -0,0 +1,11 @@ +--- +title: "Легкість талії" +--- + +*** + +Опція **полегшення талії** контролює ступінь полегшення талії. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/de.md b/markdown/org/docs/designs/tristan/options/zipperlocation/de.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/de.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/en.md b/markdown/org/docs/designs/tristan/options/zipperlocation/en.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/en.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/es.md b/markdown/org/docs/designs/tristan/options/zipperlocation/es.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/es.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md b/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md b/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md b/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md new file mode 100644 index 00000000000..b536cf52a9b --- /dev/null +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md @@ -0,0 +1,12 @@ +--- +title: "Lacing location" +--- + +*** + +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. + + + + From 135e194243609d0c1f88e0e534258ccb4028c8f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 04:08:44 +0000 Subject: [PATCH 0062/1313] build(deps): bump html-react-parser from 5.1.0 to 5.1.1 Bumps [html-react-parser](https://github.com/remarkablemark/html-react-parser) from 5.1.0 to 5.1.1. - [Release notes](https://github.com/remarkablemark/html-react-parser/releases) - [Changelog](https://github.com/remarkablemark/html-react-parser/blob/master/CHANGELOG.md) - [Commits](https://github.com/remarkablemark/html-react-parser/compare/v5.1.0...v5.1.1) --- updated-dependencies: - dependency-name: html-react-parser dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8fa9978e0bf..f9eb51512bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7016,13 +7016,13 @@ htm@^3.0.0: resolved "https://registry.yarnpkg.com/htm/-/htm-3.1.1.tgz#49266582be0dc66ed2235d5ea892307cc0c24b78" integrity sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ== -html-dom-parser@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/html-dom-parser/-/html-dom-parser-5.0.6.tgz#bc7ee4bbf508030d5326eab0800d67e2fcd7d586" - integrity sha512-6KSMOgxzAIZZ1Tcc6eNEfRFC/XE0+TiYaWanKNYKHSEQOtdxrR0t8ILKXNDcRea/WbIDltLUIP8mi/tw7dtFvQ== +html-dom-parser@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/html-dom-parser/-/html-dom-parser-5.0.7.tgz#33f029b34e8ec4076b7e2624c97debc79abb0c75" + integrity sha512-2YD2/yB0QgrlkBIn0CsGaRXC89E1gtuPVpiOGC52NTzPCC83n0WMdGD+5q7lpcKqbCpnWValQbovuy/NI/0kag== dependencies: domhandler "5.0.3" - htmlparser2 "9.0.0" + htmlparser2 "9.1.0" html-escaper@^2.0.0: version "2.0.2" @@ -7037,12 +7037,12 @@ html-parse-stringify@^3.0.1: void-elements "3.1.0" html-react-parser@^5.0.7: - version "5.1.0" - resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.0.tgz#93037971c883ca1c2ea708d67b211304e6373357" - integrity sha512-9BXtf81EFbi/YZDvDQkiwuPg4y8bXQrrWwrMvpIJxREXPv5HiLS0aQvtjY7YP3z2mYFD4urCWSl2ebSDdrrGwg== + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.1.tgz#9863709ab1bb5d15bce273253b539a6dd4fa28e2" + integrity sha512-L5VK0rKN3VM7uzRH+4wxAL9elvHuCNDjyWKKjcCDR+YWW5Qr7WWSK7+e627DcePVAFi5IMqc+rAU8j/1DpC/Tw== dependencies: domhandler "5.0.3" - html-dom-parser "5.0.6" + html-dom-parser "5.0.7" react-property "2.0.2" style-to-js "1.1.10" @@ -7078,10 +7078,10 @@ htmlparser2@3.8.x: entities "1.0" readable-stream "1.1" -htmlparser2@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-9.0.0.tgz#e431142b7eeb1d91672742dea48af8ac7140cddb" - integrity sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ== +htmlparser2@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-9.1.0.tgz#cdb498d8a75a51f739b61d3f718136c369bc8c23" + integrity sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ== dependencies: domelementtype "^2.3.0" domhandler "^5.0.3" From 7b2cdf482c42e1a5f8c2e7427cae5f1ebc5332a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 04:09:12 +0000 Subject: [PATCH 0063/1313] build(deps-dev): bump prettier from 3.1.1 to 3.2.2 Bumps [prettier](https://github.com/prettier/prettier) from 3.1.1 to 3.2.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.1.1...3.2.2) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8fa9978e0bf..3917e7da071 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11390,9 +11390,9 @@ prettier@^2: integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prettier@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" - integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.2.tgz#96e580f7ca9c96090ad054616c0c4597e2844b65" + integrity sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A== pretty-format@^29.7.0: version "29.7.0" From 737ad34c31ac25fdd8aa76883cc7ea156f08846c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 04:10:07 +0000 Subject: [PATCH 0064/1313] build(deps): bump react-hotkeys-hook from 4.4.3 to 4.4.4 Bumps [react-hotkeys-hook](https://github.com/JohannesKlauss/react-keymap-hook) from 4.4.3 to 4.4.4. - [Release notes](https://github.com/JohannesKlauss/react-keymap-hook/releases) - [Changelog](https://github.com/JohannesKlauss/react-hotkeys-hook/blob/main/CHANGELOG.md) - [Commits](https://github.com/JohannesKlauss/react-keymap-hook/compare/v4.4.3...v4.4.4) --- updated-dependencies: - dependency-name: react-hotkeys-hook dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/dev/package.json | 2 +- sites/lab/package.json | 2 +- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sites/dev/package.json b/sites/dev/package.json index d3e34eb7fba..1ab814aab9c 100644 --- a/sites/dev/package.json +++ b/sites/dev/package.json @@ -43,7 +43,7 @@ "react": "18.2.0", "react-copy-to-clipboard": "5.1.0", "react-dom": "18.2.0", - "react-hotkeys-hook": "4.4.3", + "react-hotkeys-hook": "4.4.4", "react-instantsearch-dom": "6.40.4", "react-instantsearch-hooks-web": "6.47.3", "react-swipeable": "7.0.1", diff --git a/sites/lab/package.json b/sites/lab/package.json index 68073b5527e..f5038bb77d4 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -45,7 +45,7 @@ "ora": "8.0.1", "react": "18.2.0", "react-copy-to-clipboard": "5.1.0", - "react-hotkeys-hook": "4.4.3", + "react-hotkeys-hook": "4.4.4", "react-i18next": "13.5.0", "react-instantsearch-dom": "6.40.4", "react-swipeable": "7.0.1", diff --git a/sites/org/package.json b/sites/org/package.json index f23905cd069..4633fd19aae 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -49,7 +49,7 @@ "next": "14.0.4", "ora": "8.0.1", "react-dropzone": "14.2.3", - "react-hotkeys-hook": "4.4.3", + "react-hotkeys-hook": "4.4.4", "react-instantsearch-dom": "6.40.4", "react-swipeable": "7.0.1", "react-timeago": "7.2.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index 7ceb445bd8f..0b72079ea6f 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -70,7 +70,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-copy-to-clipboard": "5.1.0", - "react-hotkeys-hook": "4.4.3", + "react-hotkeys-hook": "4.4.4", "react-i18next": "13.5.0", "react-dropzone": "14.2.3", "react-swipeable": "7.0.1", diff --git a/yarn.lock b/yarn.lock index 8fa9978e0bf..33976d6de11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11635,10 +11635,10 @@ react-fast-compare@^3.0.0: resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== -react-hotkeys-hook@4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.4.3.tgz#719b7cdc989be067fca421ccb83daa86498f6e94" - integrity sha512-G6psp7OUm9xxY4G2vL48tBwWUVJLvD/PeInaPdPvqRJ8GoXBu6Djqr6WIw5gu1M0SbR1epNUlvpccxu2ZzmtFQ== +react-hotkeys-hook@4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.4.4.tgz#5f055f39113218fe5e23f8723db68ccf99d155ab" + integrity sha512-wzZmqb/Obr0ds9Myc1sIFPJ52GA/Eeg/vXBWV0HA1LvHlVAW5Va3KB0q6EZNlNSHQWscWZ2K8+6w0GYSie2o7A== react-i18next@13.5.0: version "13.5.0" From 7af7fcd92764ecd3decab617af5cf64f6620b4da Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Tue, 16 Jan 2024 03:54:49 +0000 Subject: [PATCH 0065/1313] Tristan fabric and needs --- .../org/docs/designs/tristan/fabric/en.md | 14 ++++++++++++- markdown/org/docs/designs/tristan/needs/en.md | 20 ++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tristan/fabric/en.md b/markdown/org/docs/designs/tristan/fabric/en.md index cc784f8f097..f214eaca6a6 100644 --- a/markdown/org/docs/designs/tristan/fabric/en.md +++ b/markdown/org/docs/designs/tristan/fabric/en.md @@ -2,4 +2,16 @@ title: "Tristan top: Fabric Options" --- -## Top fabric +Tristan is designed for woven fabrics with little to no stretch. + +For the **main fabric**, you can use most non-stretch fabrics, such as poplin, jacquard, or linen. Even quilting cotton will work. Fabrics with some structure will work best. + +For the **lining**, if you would like a firm structure even without the use of boning, use a strong fabric, such as canvas, twill, or denim. Use something that will be comfortable against the skin. + + + +##### Consider using contrasting fabrics + +Consider using different fabrics for the inside and outside panels to highlight the prince(ss) seams. + + \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/needs/en.md b/markdown/org/docs/designs/tristan/needs/en.md index 69f092165f0..cc48ab9bdc8 100644 --- a/markdown/org/docs/designs/tristan/needs/en.md +++ b/markdown/org/docs/designs/tristan/needs/en.md @@ -5,5 +5,23 @@ title: "Tristan top: What You Need" To make Tristan, you will need the following: - [Basic sewing supplies](/docs/sewing/basic-sewing-supplies) -- +- About 1 meter (1.1 yards) of a suitable main fabric (see [Fabric options](/docs/designs/tristan/fabric)) +- About 1 meter (1.1 yards) of a suitable lining fabric (if lining) +- Choice of closure - Either **Zipper**, or **eyelets**, **ribbon/lacing**, and **reinforcement for the eyelets** +- If finishing with bias binding, **Bias tape** (about 4 meters (4.4 yards)) + + + +##### Use a separating zipper + +We recommend a separating invisible zipper for this garment. Using a separating zipper will make it easier for you to put the top on and off. + +##### When making Tristan with the lacing option, reinforce the eyelets + +When making Tristan with the lacing option, make sure you reinforce the eyelets. A binding, or sewn in interfacing could work to do so. Adding boning between the eyelets and the seam is another option. + +Tristan is not a corset, and therefore doesn't require heavy boning. We would recommend using a flexible type of boning. That would create the neatest opening. Otherwise a double layer of hair canvas and put the eyelets close to the seam. Both would require lining, or an adequately sized hem or binding. + + + From 2dd6c418f573d796ea4f5e295bc8c58c2378ca75 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 04:34:17 +0000 Subject: [PATCH 0066/1313] build(deps): bump mermaid from 10.6.1 to 10.7.0 Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 10.6.1 to 10.7.0. - [Release notes](https://github.com/mermaid-js/mermaid/releases) - [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md) - [Commits](https://github.com/mermaid-js/mermaid/compare/v10.6.1...v10.7.0) --- updated-dependencies: - dependency-name: mermaid dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/shared/package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sites/shared/package.json b/sites/shared/package.json index b52f3e7efb2..83a1d26f403 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -37,7 +37,7 @@ "lodash.unset": "4.5.2", "lodash.get": "4.4.2", "mdast-util-toc": "7.0.0", - "mermaid": "10.6.1", + "mermaid": "10.7.0", "ora": "8.0.1", "pdfkit": "0.14.0", "postcss-for": "2.1.1", diff --git a/yarn.lock b/yarn.lock index cbbe3d1c539..1c94c678536 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5099,10 +5099,10 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.553.tgz#56fd65afddbd713c52f0e95d0223b3368f520865" integrity sha512-HiRdtyKS2+VhiXvjhMvvxiMC33FJJqTA5EB2YHgFZW6v7HkK4Q9Ahv2V7O2ZPgAjw+MyCJVMQvigj13H8t+wvA== -elkjs@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.8.2.tgz#c37763c5a3e24e042e318455e0147c912a7c248e" - integrity sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ== +elkjs@^0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.9.1.tgz#fd1524b3f0bed72dc65ba107ae91bcf04b5582bd" + integrity sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ== emoji-regex@^10.3.0: version "10.3.0" @@ -9171,10 +9171,10 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -mermaid@10.6.1: - version "10.6.1" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.6.1.tgz#701f4160484137a417770ce757ce1887a98c00fc" - integrity sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A== +mermaid@10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.7.0.tgz#4fd5bfd60c0c5e5c42016a82905f06c4684ec53b" + integrity sha512-PsvGupPCkN1vemAAjScyw4pw34p4/0dZkSrqvAB26hUvJulOWGIwt35FZWmT9wPIi4r0QLa5X0PB4YLIGn0/YQ== dependencies: "@braintree/sanitize-url" "^6.0.1" "@types/d3-scale" "^4.0.3" @@ -9187,7 +9187,7 @@ mermaid@10.6.1: dagre-d3-es "7.0.10" dayjs "^1.11.7" dompurify "^3.0.5" - elkjs "^0.8.2" + elkjs "^0.9.0" khroma "^2.0.0" lodash-es "^4.17.21" mdast-util-from-markdown "^1.3.0" From 5aabd93ced8f76dbbfd596f39bc1d68777db5ed7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 04:36:16 +0000 Subject: [PATCH 0067/1313] build(deps): bump @prisma/client from 5.8.0 to 5.8.1 Bumps [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) from 5.8.0 to 5.8.1. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.8.1/packages/client) --- updated-dependencies: - dependency-name: "@prisma/client" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index aa2fa8fdc20..0dd23cda7c8 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -29,7 +29,7 @@ "peerDependencies": {}, "dependencies": { "@aws-sdk/client-sesv2": "3.490.0", - "@prisma/client": "5.8.0", + "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", "dotenv": "16.3.1", diff --git a/yarn.lock b/yarn.lock index cbbe3d1c539..775e3dcd85c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1853,10 +1853,10 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.23.tgz#498e41218ab3b6a1419c735e5c6ae2c5ed609b6c" integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== -"@prisma/client@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.8.0.tgz#5f4c8c1c7cb60b1f4d39082bb214d048ffeb3730" - integrity sha512-QxO6C4MaA/ysTIbC+EcAH1aX/YkpymhXtO6zPdk+FvA7+59tNibIYpd+7koPdViLg2iKES4ojsxWNUGNJaEcbA== +"@prisma/client@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.8.1.tgz#7815ec51c0ca2a6de219c02e7846701ae3baf240" + integrity sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw== "@prisma/debug@5.8.0": version "5.8.0" From e311f15032e5130b939360f426ee0a69f26d5aec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 04:38:12 +0000 Subject: [PATCH 0068/1313] build(deps-dev): bump prisma from 5.8.0 to 5.8.1 Bumps [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) from 5.8.0 to 5.8.1. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.8.1/packages/cli) --- updated-dependencies: - dependency-name: prisma dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 66 +++++++++++++++++++------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index aa2fa8fdc20..595e6856cb1 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -53,7 +53,7 @@ "mocha": "10.2.0", "mocha-steps": "1.3.0", "nodemon": "3.0.2", - "prisma": "5.8.0" + "prisma": "5.8.1" }, "engines": { "node": ">=18", diff --git a/yarn.lock b/yarn.lock index cbbe3d1c539..f75ce302b78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1858,41 +1858,41 @@ resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.8.0.tgz#5f4c8c1c7cb60b1f4d39082bb214d048ffeb3730" integrity sha512-QxO6C4MaA/ysTIbC+EcAH1aX/YkpymhXtO6zPdk+FvA7+59tNibIYpd+7koPdViLg2iKES4ojsxWNUGNJaEcbA== -"@prisma/debug@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.8.0.tgz#e49b9d8fd4ef79d177ac4b9f5242e857e8d5a044" - integrity sha512-ZqPpkvbovu/kQJ1bvy57NO4dw97fpQGcbQSCtsqlwSE1UNKJP75R3BKxdznk8ZPMY+GJdMRetWNv4oAvSbWn8Q== +"@prisma/debug@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.8.1.tgz#704daa36919b0fc4d227260ecebfa1c94b155b07" + integrity sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg== -"@prisma/engines-version@5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848": - version "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848.tgz#072d9fb98d9454aeb3549ae8c922446313312145" - integrity sha512-cXcoVweYbnv8xRfkWq9oj8BECOdzHUazrSpYCa0ehp5TNz4l5Spa8jbq/VROCTzj3ZncH5D9Q2TmySYTOUeKlw== +"@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2": + version "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2.tgz#f600a45afc4cf0c0356b6ed90add6050fa3f3239" + integrity sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ== -"@prisma/engines@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.8.0.tgz#610560705a8753089ceb93cee8102679ba7eed51" - integrity sha512-Qhqm9WWLujNEC13AuZlUO14SQ15tNLe5puaz+tOk7UqINqJ3PtqMmuSuzomiw2diGVqZ+HYiSQzlR3+pPucVHA== +"@prisma/engines@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.8.1.tgz#b850751f5bf7d5e570b9fe16cefdc2b1fd2c02c3" + integrity sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA== dependencies: - "@prisma/debug" "5.8.0" - "@prisma/engines-version" "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848" - "@prisma/fetch-engine" "5.8.0" - "@prisma/get-platform" "5.8.0" + "@prisma/debug" "5.8.1" + "@prisma/engines-version" "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + "@prisma/fetch-engine" "5.8.1" + "@prisma/get-platform" "5.8.1" -"@prisma/fetch-engine@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.8.0.tgz#ebba3f0fdf6b9c757502f5dd34fcfa80690e4e7b" - integrity sha512-1CAuE+JoYsPNggMEn6qk0zos06Uc9bYZBJ0VBPHD6R7REL05614koAbOCmn52IaYz3nobb7f25hqW6AY7rLkIw== +"@prisma/fetch-engine@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.8.1.tgz#38bb92f1fbd3669340a3cc49fce403ab4df671dd" + integrity sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw== dependencies: - "@prisma/debug" "5.8.0" - "@prisma/engines-version" "5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848" - "@prisma/get-platform" "5.8.0" + "@prisma/debug" "5.8.1" + "@prisma/engines-version" "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" + "@prisma/get-platform" "5.8.1" -"@prisma/get-platform@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.8.0.tgz#a1057322f0cb5dd0d2f59b4120659621e5e24526" - integrity sha512-Nk3rhTFZ1LYkFZJnpSvQcLPCaBWgJQfteHII6UEENOOkYlmP0k3FuswND54tzzEr4qs39wOdV9pbXKX9U2lv7A== +"@prisma/get-platform@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.8.1.tgz#8cd450b65a52a5a6ed5b2f52457136a492c0f251" + integrity sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag== dependencies: - "@prisma/debug" "5.8.0" + "@prisma/debug" "5.8.1" "@resvg/resvg-js-android-arm-eabi@2.6.0": version "2.6.0" @@ -11415,12 +11415,12 @@ pretty-quick@^3.0.0: mri "^1.1.5" multimatch "^4.0.0" -prisma@5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.8.0.tgz#4efef66c1e8aee98bbc1d41b32bf629f5f7275b2" - integrity sha512-hDKoEqPt2qEUTH5yGO3l27CBnPtwvte0CGMKrpCr9+/A919JghfqJ3qgCGgMbOwdkXUOzdho0RH9tyUF3UhpMw== +prisma@5.8.1: + version "5.8.1" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.8.1.tgz#1f101793a8831c0719dfbed5f85a96ea4888c9d3" + integrity sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A== dependencies: - "@prisma/engines" "5.8.0" + "@prisma/engines" "5.8.1" proc-log@^3.0.0: version "3.0.0" From 41a80a97971b94bda2f6c8fd2f2bbc52fa31fb18 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 04:40:19 +0000 Subject: [PATCH 0069/1313] build(deps-dev): bump eslint-plugin-jsonc from 2.11.2 to 2.12.0 Bumps [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) from 2.11.2 to 2.12.0. - [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.11.2...v2.12.0) --- updated-dependencies: - dependency-name: eslint-plugin-jsonc dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index cbbe3d1c539..26ec4d9c24d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5379,10 +5379,12 @@ escape-string-regexp@^5.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== -eslint-compat-utils@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz#f45e3b5ced4c746c127cf724fb074cd4e730d653" - integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg== +eslint-compat-utils@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.2.1.tgz#5aac3f687c84cd8df5e2dd256b7f324916d04db8" + integrity sha512-+0mhJhMeVaiMrgtltweI3sThf8g9VSZKVNSna6gdULUycp9HmcTvcYTw+b7YY+OUHAPXmRiJ9fvsDFnQq9i//A== + dependencies: + semver "^7.5.4" eslint-config-next@^14.0.1: version "14.0.4" @@ -5470,12 +5472,12 @@ eslint-plugin-import@^2.27.5, eslint-plugin-import@^2.28.1: tsconfig-paths "^3.14.2" eslint-plugin-jsonc@^2.4.0: - version "2.11.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.11.2.tgz#5829ec7b4abd11378be525a85deb3dfbc6348dc7" - integrity sha512-F6A0MZhIGRBPOswzzn4tJFXXkPLiLwJaMlQwz/Qj1qx+bV5MCn79vBeJh2ynMmtqqHloi54KDCnsT/KWrcCcnQ== + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.12.0.tgz#49585d8488d339f1b82ceba5c4f7e9998e216d90" + integrity sha512-4+MahaRGW+fMDSYQcDKi8MaIj+VKgZDh3dfYpbI8UxmP53asRbdnaySkDzoEwWmzlIYYpEHQruS+ZAHcC4d/pA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - eslint-compat-utils "^0.1.2" + eslint-compat-utils "^0.2.0" espree "^9.6.1" graphemer "^1.4.0" jsonc-eslint-parser "^2.0.4" From b906862db476dedd469e832b874076f875742f77 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 16 Jan 2024 05:51:17 +0000 Subject: [PATCH 0070/1313] Make frnt lacing the default --- designs/tristan/src/backpoints.mjs | 3 --- designs/tristan/src/frontoutside.mjs | 2 -- designs/tristan/src/frontpoints.mjs | 21 ++------------------- designs/tristan/src/peplumBack.mjs | 2 +- 4 files changed, 3 insertions(+), 25 deletions(-) diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index ecf73c332bc..61deb6bb943 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -18,7 +18,6 @@ export const backPoints = { delete points.bustDartLeftCp const strapWidth = store.get('strapWidth') - const sideSeamLength = store.get('sideSeamLength') points.strapInside = points.shoulderDart.shiftTowards(points.hps, strapWidth / 2) points.strapOutside = points.shoulderDart.shiftTowards(points.shoulder, strapWidth / 2) @@ -153,8 +152,6 @@ export const backPoints = { }) } - // console.log({sideSeamLength:sideSeamLength,side:(new Path().move(points.waistSide).curve_(points.waistSideCp2, points.armhole)).length()}) - store.set('backOutsideWaistLength', points.dartBottomRight.dist(points.waistSide)) store.set('backInsideWaistLength', points.dartBottomLeft.dist(points.waistCenter)) diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index 85816ee7c79..b75510d071e 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -14,8 +14,6 @@ export const frontOutside = { delete points.bustB delete points.bustDartEdge - // console.log({ points: JSON.parse(JSON.stringify(points)) }) - // macro('rmcutonfold') // store.cutlist.removeCut() diff --git a/designs/tristan/src/frontpoints.mjs b/designs/tristan/src/frontpoints.mjs index daf025f08bd..83e41c9599d 100644 --- a/designs/tristan/src/frontpoints.mjs +++ b/designs/tristan/src/frontpoints.mjs @@ -1,23 +1,6 @@ import { frontPoints as nobleFrontPoints } from '@freesewing/noble' import { pctBasedOn, hidePresets } from '@freesewing/core' -function stringify(obj) { - let cache = [] - let str = JSON.stringify(obj, function (key, value) { - if (typeof value === 'object' && value !== null) { - if (cache.indexOf(value) !== -1) { - // Circular reference found, discard key - return - } - // Store value in our collection - cache.push(value) - } - return value - }) - cache = null // reset the cache - return str -} - export const frontPoints = { name: 'tristan.frontPoints', from: nobleFrontPoints, @@ -69,9 +52,9 @@ export const frontPoints = { // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions.peplum === true ? false : 'options'), }, - lacing: { bool: false, menu: 'options' }, + lacing: { bool: true, menu: 'options' }, lacingLocation: { - dflt: 'back', + dflt: 'front', list: ['front', 'back'], // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions.lacing === false ? false : 'options'), diff --git a/designs/tristan/src/peplumBack.mjs b/designs/tristan/src/peplumBack.mjs index 90e50cca4f3..2ec9a3df0c9 100644 --- a/designs/tristan/src/peplumBack.mjs +++ b/designs/tristan/src/peplumBack.mjs @@ -5,7 +5,7 @@ export const peplumBack = { name: 'tristan.peplumBack', after: peplumFront, plugins: [ringsectorPlugin], - draft: ({ Point, points, paths, options, store, macro, sa, part }) => { + draft: ({ points, paths, options, store, macro, sa, part }) => { if (false == options.peplum) { return part.hide() } From a6a373621af18ba6e6328f42c70c8e406aab6a09 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Wed, 17 Jan 2024 03:44:29 +0000 Subject: [PATCH 0071/1313] Tristan line drawings --- .../components/designs/linedrawings/index.mjs | 8 ++ .../designs/linedrawings/tristan.mjs | 86 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 sites/shared/components/designs/linedrawings/tristan.mjs diff --git a/sites/shared/components/designs/linedrawings/index.mjs b/sites/shared/components/designs/linedrawings/index.mjs index ef79f8f4b08..01b814ad4d1 100644 --- a/sites/shared/components/designs/linedrawings/index.mjs +++ b/sites/shared/components/designs/linedrawings/index.mjs @@ -3,6 +3,11 @@ import { Albert, AlbertFront } from 'shared/components/designs/linedrawings/albe import { Bruce, BruceFront, BruceBack } from 'shared/components/designs/linedrawings/bruce.mjs' import { Simon, SimonFront, SimonBack } from 'shared/components/designs/linedrawings/simon.mjs' import { Wahid, WahidFront, WahidBack } from 'shared/components/designs/linedrawings/wahid.mjs' +import { + Tristan, + TristanFront, + TristanBack, +} from 'shared/components/designs/linedrawings/tristan.mjs' export const lineDrawingsFront = { aaron: AaronFront, @@ -10,6 +15,7 @@ export const lineDrawingsFront = { bruce: BruceFront, simon: SimonFront, wahid: WahidFront, + tristan: TristanFront, } export const lineDrawingsBack = { @@ -17,6 +23,7 @@ export const lineDrawingsBack = { bruce: BruceBack, simon: SimonBack, wahid: WahidBack, + tristan: TristanBack, } export const lineDrawings = { @@ -25,4 +32,5 @@ export const lineDrawings = { bruce: Bruce, simon: Simon, wahid: Wahid, + tristan: Tristan, } diff --git a/sites/shared/components/designs/linedrawings/tristan.mjs b/sites/shared/components/designs/linedrawings/tristan.mjs new file mode 100644 index 00000000000..ac196d25a06 --- /dev/null +++ b/sites/shared/components/designs/linedrawings/tristan.mjs @@ -0,0 +1,86 @@ +import { LineDrawingWrapper, thin } from './shared.mjs' + +const strokeScale = 0.5 + +export const Tristan = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + + + + + ) +} + +/* + * React component for the front + */ +export const TristanFront = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + + + + ) +} + +/* + * React component for the back + */ +export const TristanBack = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + + + + ) +} + +/* + * SVG elements for the front + */ +export const Front = ({ stroke }) => ( + <> + + + +) + +/* + * SVG elements for the back + */ +const Back = ({ stroke }) => ( + <> + + + +) From 6f77a034835f86d68e40ca7d5f366d1e6083f78e Mon Sep 17 00:00:00 2001 From: nataliasayang Date: Wed, 17 Jan 2024 04:58:38 +0100 Subject: [PATCH 0072/1313] feat: New showcase post a-lined-tristan-top-with-front-lacing by Natalia --- .../a-lined-tristan-top-with-front-lacing/en.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 markdown/org/showcase/a-lined-tristan-top-with-front-lacing/en.md diff --git a/markdown/org/showcase/a-lined-tristan-top-with-front-lacing/en.md b/markdown/org/showcase/a-lined-tristan-top-with-front-lacing/en.md new file mode 100644 index 00000000000..d93cce110d2 --- /dev/null +++ b/markdown/org/showcase/a-lined-tristan-top-with-front-lacing/en.md @@ -0,0 +1,17 @@ +--- +title: "A lined Tristan top with front lacing" +caption: "A top made out of fabric scraps. The main fabric was likely upholstery fabric." +date: 20240116 +intro: "This Tristan top is lined and had bias binding applied to the neck hole, armholes, and hem." +designs: ["noble"] +maker: Natalia +--- + +This Tristan top is lined and had bias binding applied to the neck hole, armholes, and hem. It laces in the front to make it easier to wear. This top is technically reversible, although the eyelets are a bit rough on the back side. The boning used is lightweight plastic boning. It gives a nice amount of structure, and support for the lacing. + +![A flat lay](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-a-lined-tristan-top-with-front-lacing-1/public "A flat lay") + +![The back](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-a-lined-tristan-top-with-front-lacing-2/public "The back") + +![The insides](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-a-lined-tristan-top-with-front-lacing-4/public "The insides") + From e9c75f11e419a5f137f78a240ec8a6a9281635b9 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 16 Jan 2024 20:04:00 -0800 Subject: [PATCH 0073/1313] fix(markdown): Typos in pattern design tutorial --- markdown/dev/tutorials/pattern-design/part1/nodejs/en.md | 2 +- markdown/dev/tutorials/pattern-design/part1/sde/en.md | 8 ++++---- .../dev/tutorials/pattern-design/part1/structure/en.md | 4 ++-- .../pattern-design/part2/adding-measurements/en.md | 2 +- .../tutorials/pattern-design/part2/adding-options/en.md | 2 +- .../dev/tutorials/pattern-design/part2/conclusion/en.md | 2 +- .../dev/tutorials/pattern-design/part2/draft-method/en.md | 2 +- .../dev/tutorials/pattern-design/part3/annotations/en.md | 2 +- .../dev/tutorials/pattern-design/part3/complete/en.md | 2 +- markdown/dev/tutorials/pattern-design/part3/flag/en.md | 2 -- markdown/dev/tutorials/pattern-design/part3/menu/en.md | 4 ++-- markdown/dev/tutorials/pattern-design/part3/sa/en.md | 4 ++-- markdown/dev/tutorials/pattern-design/part3/tests/en.md | 2 +- 13 files changed, 18 insertions(+), 20 deletions(-) diff --git a/markdown/dev/tutorials/pattern-design/part1/nodejs/en.md b/markdown/dev/tutorials/pattern-design/part1/nodejs/en.md index 03d32bb835b..99ccdf18e7b 100644 --- a/markdown/dev/tutorials/pattern-design/part1/nodejs/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/nodejs/en.md @@ -9,7 +9,7 @@ precise. You can switch this website theme from light to dark mode, and that would not work without JavaScript. As a **user** of FreeSewing, this is all you need. To develop with FreeSewing -you are going to need to be able to run JavaScript *outside* the browswer using +you are going to need to be able to run JavaScript *outside* the browser using a JavaScript *runtime*. Which just means a thing that can *run* JavaScript. We are going to be using [NodeJS](https://nodejs.org/) in this tutorial. It is diff --git a/markdown/dev/tutorials/pattern-design/part1/sde/en.md b/markdown/dev/tutorials/pattern-design/part1/sde/en.md index d3ae2a77983..894a73138f8 100644 --- a/markdown/dev/tutorials/pattern-design/part1/sde/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/sde/en.md @@ -24,11 +24,11 @@ From left to right you can see: ## Design templates -If you click he **Design** icon it will show this menu: +If you click the **Design** icon it will show this menu: ![Design templates provided by the FreeSewing development environment](./templates.png) -It allows you to choose a desing template to start from. The following templates are included: +It allows you to choose a design template to start from. The following templates are included: - **From scratch**: Start with an (almost) empty design - **Tutorial**: Start with the end result of this very tutorial @@ -41,7 +41,7 @@ It allows you to choose a desing template to start from. The following templates For the following along this tutorial, you have two options: - Pick **Tutorial** if you prefer to read along, make small changes, and see how they affect the design. -- Pick **From scratch** if you prefer to actively participate be recreating the desing in this tutorial. +- Pick **From scratch** if you prefer to actively participate in recreating the design in this tutorial. -I recommend the latter. You will learn (and remember) a lot more if you are activele engaging. +I recommend the latter. You will learn (and remember) a lot more if you are actively engaging. diff --git a/markdown/dev/tutorials/pattern-design/part1/structure/en.md b/markdown/dev/tutorials/pattern-design/part1/structure/en.md index 75b0bab3436..08093bf72af 100644 --- a/markdown/dev/tutorials/pattern-design/part1/structure/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/structure/en.md @@ -4,9 +4,9 @@ order: 40 --- Inside the `freesewing` folder -- which might have a different name if that is -the choice you made -- you will find a bunch of files and folders. +the choice you made -- you will find a bunch of files and folders. -The one that matter is the `design` folder. In it, you will find the followin +The one that matter is the `design` folder. In it, you will find the following subfolders: - `from-bella` diff --git a/markdown/dev/tutorials/pattern-design/part2/adding-measurements/en.md b/markdown/dev/tutorials/pattern-design/part2/adding-measurements/en.md index b830a14f872..2c6d3d08c80 100644 --- a/markdown/dev/tutorials/pattern-design/part2/adding-measurements/en.md +++ b/markdown/dev/tutorials/pattern-design/part2/adding-measurements/en.md @@ -21,7 +21,7 @@ So let's add it as a required measurement. In our `src/bib.mjs` file, we will add a `measurements` property to the `bib` object. This property will be an Array (a list) holding all required measurements for this part. -I am usign [*the official name* of the measurement](/reference/measurements) here. For head +I am using [*the official name* of the measurement](/reference/measurements) here. For head circumference, that name is `head`. ```src/bib.mjs diff --git a/markdown/dev/tutorials/pattern-design/part2/adding-options/en.md b/markdown/dev/tutorials/pattern-design/part2/adding-options/en.md index 2b7ea3dbab8..748d6f4bb72 100644 --- a/markdown/dev/tutorials/pattern-design/part2/adding-options/en.md +++ b/markdown/dev/tutorials/pattern-design/part2/adding-options/en.md @@ -49,7 +49,7 @@ Can you guess what it means? - We've added the `options` property to our `bib` object - On the `options` property, we have added `neckRatio` which holds the configuration for our option -- It is a `pct` option -- whcih means it's a percentage +- It is a `pct` option -- which means it's a percentage - Its default value is 90% - Its minimum value is 70% - Its maximum value is 90% diff --git a/markdown/dev/tutorials/pattern-design/part2/conclusion/en.md b/markdown/dev/tutorials/pattern-design/part2/conclusion/en.md index 20a73039f32..b4900bd5c1d 100644 --- a/markdown/dev/tutorials/pattern-design/part2/conclusion/en.md +++ b/markdown/dev/tutorials/pattern-design/part2/conclusion/en.md @@ -12,7 +12,7 @@ including some more advanced things like rotating a bunch of them out of the way. You've also learned how to draw paths, which are the lines and curves that make up our pattern. -And we've used macros which can help us with repetetive tasks. +And we've used macros which can help us with repetitive tasks. What we've gotten so far is a perfectly suitable sewing pattern. You can print this, and make a nice bib out of it. diff --git a/markdown/dev/tutorials/pattern-design/part2/draft-method/en.md b/markdown/dev/tutorials/pattern-design/part2/draft-method/en.md index f3f153c3493..60e14e89e4f 100644 --- a/markdown/dev/tutorials/pattern-design/part2/draft-method/en.md +++ b/markdown/dev/tutorials/pattern-design/part2/draft-method/en.md @@ -88,7 +88,7 @@ Here's a brief summary of the things we've added above: - `points`: A container object to hold the part's points - `paths`: A container object to hold the part's paths -Remember: Constructures start with a **C**apital letter +Remember: Constructors start with a **C**apital letter Long story short: These will make it possible for us to draw points and paths easily. diff --git a/markdown/dev/tutorials/pattern-design/part3/annotations/en.md b/markdown/dev/tutorials/pattern-design/part3/annotations/en.md index 6212bfb24c3..60e059062e5 100644 --- a/markdown/dev/tutorials/pattern-design/part3/annotations/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/annotations/en.md @@ -263,7 +263,7 @@ The `title` and `scalebox` macros to be precise. Before we add the title, we will also set the cutlist via a method that was added to the store by one of the core plugins. -As a matter of fact, all of these snippets, macros, and store methods are provided by plugings. +As a matter of fact, all of these snippets, macros, and store methods are provided by plugins. For more details, [refer to the plugin guide](/guides/plugins). diff --git a/markdown/dev/tutorials/pattern-design/part3/complete/en.md b/markdown/dev/tutorials/pattern-design/part3/complete/en.md index 7ab91abf478..9a96827dd21 100644 --- a/markdown/dev/tutorials/pattern-design/part3/complete/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/complete/en.md @@ -7,7 +7,7 @@ Laser cutters is merely an example of a situation where your user wants not the complete detailed pattern with all annotations, but just the outlines. Essentially what we had at the end of part 2 of this tutorial. -Since then, we've added a bunch of embellisments, and perhaps the user does +Since then, we've added a bunch of embellishments, and perhaps the user does not want those. Well, good news: there is a setting for that too. That setting is `complete`, diff --git a/markdown/dev/tutorials/pattern-design/part3/flag/en.md b/markdown/dev/tutorials/pattern-design/part3/flag/en.md index f8eea72473d..4ef5ce83432 100644 --- a/markdown/dev/tutorials/pattern-design/part3/flag/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/flag/en.md @@ -336,5 +336,3 @@ function draftBib({ } ``` - -Now the first thing you should know is: **core does not care**. We are diff --git a/markdown/dev/tutorials/pattern-design/part3/menu/en.md b/markdown/dev/tutorials/pattern-design/part3/menu/en.md index a561e784708..ab7b44da603 100644 --- a/markdown/dev/tutorials/pattern-design/part3/menu/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/menu/en.md @@ -7,7 +7,7 @@ Strictly speaking, this tutorial is about learning to use FreeSewing's core library to do parametric design, and we made great strides in that regard. But FreeSewing is a lot more than its core library, and you might be wondering -how your pattern options magically end up in the development environmnt under +how your pattern options magically end up in the development environment under **Design options**: ![Design options menu](./options.png) @@ -29,7 +29,7 @@ options: { It's just a silly example, but there's two important take-aways here: - You don't have to use options in your design. You can add options for things - that are not about the desing, but that you still want to capture the user's + that are not about the design, but that you still want to capture the user's input for (like shipping preferences in this case). - You can add extra properties to an option. Each option type has it's required properties. But you can add more and use them as you see fit. diff --git a/markdown/dev/tutorials/pattern-design/part3/sa/en.md b/markdown/dev/tutorials/pattern-design/part3/sa/en.md index d9361de4948..f70dbbe1162 100644 --- a/markdown/dev/tutorials/pattern-design/part3/sa/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/sa/en.md @@ -49,11 +49,11 @@ function draftBib({ ``` -As you can see from the source, we can descructure an `sa` variable (short for +As you can see from the source, we can destructure an `sa` variable (short for seam allowance) that will hold either: - `false` if the user does not want seam allowance -- A value in `mm` indicating how much seam allwance the user wants +- A value in `mm` indicating how much seam allowance the user wants To add seam allowance to our path, we just `offset` it by `sa` and add some classes to it to style it. But, crucially, only if the user wants diff --git a/markdown/dev/tutorials/pattern-design/part3/tests/en.md b/markdown/dev/tutorials/pattern-design/part3/tests/en.md index c69dd5f0b41..d4cacf1eb00 100644 --- a/markdown/dev/tutorials/pattern-design/part3/tests/en.md +++ b/markdown/dev/tutorials/pattern-design/part3/tests/en.md @@ -58,7 +58,7 @@ option](test-option-lengthratio.png) ### neckRatio -The `neckRatio` option will determine the size of the neck opening. For a the +The `neckRatio` option will determine the size of the neck opening. For the same `head` measurement, varying this option should result in bibs with increasingly larger neck opening. From d02f0c68143142c4ff390d1569fff73c707557bf Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 16 Jan 2024 20:09:35 -0800 Subject: [PATCH 0074/1313] fix(markdown): Change typo correction to use the originally intended word --- markdown/dev/tutorials/pattern-design/part1/sde/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/dev/tutorials/pattern-design/part1/sde/en.md b/markdown/dev/tutorials/pattern-design/part1/sde/en.md index 894a73138f8..a1703c3e7d8 100644 --- a/markdown/dev/tutorials/pattern-design/part1/sde/en.md +++ b/markdown/dev/tutorials/pattern-design/part1/sde/en.md @@ -41,7 +41,7 @@ It allows you to choose a design template to start from. The following templates For the following along this tutorial, you have two options: - Pick **Tutorial** if you prefer to read along, make small changes, and see how they affect the design. -- Pick **From scratch** if you prefer to actively participate in recreating the design in this tutorial. +- Pick **From scratch** if you prefer to actively participate by recreating the design in this tutorial. I recommend the latter. You will learn (and remember) a lot more if you are actively engaging. From 99a5d47c85d63b8726fdea0e50f7812c308eafcf Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 16 Jan 2024 20:31:54 -0800 Subject: [PATCH 0075/1313] fix(.github): Add noop jobs to workflows to prevent spurious notifications --- .github/workflows/playwright.yml | 8 ++++++++ .github/workflows/tests.new-design.yml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 1d026e9e06e..83bb5ef1050 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,4 +1,12 @@ name: Playwright Tests + +on: [push] +jobs: + noop: + runs-on: ubuntu-latest + steps: + - run: echo Noop. + # While it's nice to test e2e tests, it's not all that useful to run them on alpha code #on: # push: diff --git a/.github/workflows/tests.new-design.yml b/.github/workflows/tests.new-design.yml index 9958921bfd5..191da2345c0 100644 --- a/.github/workflows/tests.new-design.yml +++ b/.github/workflows/tests.new-design.yml @@ -1,4 +1,12 @@ name: Test new-design + +on: [push] +jobs: + noop: + runs-on: ubuntu-latest + steps: + - run: echo Noop. + #on: # push: # branches: From 1f6e188262c7ebfe3f795c497cd204ac7621a94d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 04:42:55 +0000 Subject: [PATCH 0076/1313] build(deps-dev): bump nodemon from 3.0.2 to 3.0.3 Bumps [nodemon](https://github.com/remy/nodemon) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/remy/nodemon/releases) - [Commits](https://github.com/remy/nodemon/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: nodemon dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index a8130b3f5ab..38d51eb47f9 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -52,7 +52,7 @@ "esbuild": "0.19.11", "mocha": "10.2.0", "mocha-steps": "1.3.0", - "nodemon": "3.0.2", + "nodemon": "3.0.3", "prisma": "5.8.1" }, "engines": { diff --git a/yarn.lock b/yarn.lock index 487f97ac3d8..7817b246016 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10278,10 +10278,10 @@ node-releases@^2.0.13: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== -nodemon@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.0.2.tgz#222dd0de79fc7b7b3eedba422d2b9e5fc678621e" - integrity sha512-9qIN2LNTrEzpOPBaWHTm4Asy1LxXLSickZStAQ4IZe7zsoIpD/A7LWxhZV3t4Zu352uBcqVnRsDXSMR2Sc3lTA== +nodemon@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.0.3.tgz#244a62d1c690eece3f6165c6cdb0db03ebd80b76" + integrity sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ== dependencies: chokidar "^3.5.2" debug "^4" From 7e4d381dcaf68931d6e8b24f919ccf3c9ca45c7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 04:43:21 +0000 Subject: [PATCH 0077/1313] build(deps-dev): bump eslint-plugin-jsonc from 2.12.0 to 2.12.2 Bumps [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) from 2.12.0 to 2.12.2. - [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.12.0...v2.12.2) --- updated-dependencies: - dependency-name: eslint-plugin-jsonc dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 487f97ac3d8..68c539afc61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5379,10 +5379,10 @@ escape-string-regexp@^5.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== -eslint-compat-utils@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.2.1.tgz#5aac3f687c84cd8df5e2dd256b7f324916d04db8" - integrity sha512-+0mhJhMeVaiMrgtltweI3sThf8g9VSZKVNSna6gdULUycp9HmcTvcYTw+b7YY+OUHAPXmRiJ9fvsDFnQq9i//A== +eslint-compat-utils@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.4.1.tgz#498d9dad03961174a283f7741838a3fbe4a34e89" + integrity sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg== dependencies: semver "^7.5.4" @@ -5472,12 +5472,12 @@ eslint-plugin-import@^2.27.5, eslint-plugin-import@^2.28.1: tsconfig-paths "^3.14.2" eslint-plugin-jsonc@^2.4.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.12.0.tgz#49585d8488d339f1b82ceba5c4f7e9998e216d90" - integrity sha512-4+MahaRGW+fMDSYQcDKi8MaIj+VKgZDh3dfYpbI8UxmP53asRbdnaySkDzoEwWmzlIYYpEHQruS+ZAHcC4d/pA== + version "2.12.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.12.2.tgz#9a01dbfa9aeb7c4476a92dd23b5be3c3c0826799" + integrity sha512-iv2BLi1bqkSxCPEvDOY6xiBXzAFi5iS2gTOU8fnXGfKxkC6MvC5Tw2XAgbP6R6WRlqV7AtFItx4Xb7mCONtmmw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - eslint-compat-utils "^0.2.0" + eslint-compat-utils "^0.4.0" espree "^9.6.1" graphemer "^1.4.0" jsonc-eslint-parser "^2.0.4" From 55b2a15dd79408999ecbca7894dd8ee66f25c1ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 04:43:58 +0000 Subject: [PATCH 0078/1313] build(deps): bump jotai from 2.6.1 to 2.6.2 Bumps [jotai](https://github.com/pmndrs/jotai) from 2.6.1 to 2.6.2. - [Release notes](https://github.com/pmndrs/jotai/releases) - [Commits](https://github.com/pmndrs/jotai/compare/v2.6.1...v2.6.2) --- updated-dependencies: - dependency-name: jotai dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/org/package.json b/sites/org/package.json index 4633fd19aae..7146edc2642 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -40,7 +40,7 @@ "daisyui": "4.6.0", "echarts": "5.4.3", "echarts-for-react": "3.0.2", - "jotai": "2.6.1", + "jotai": "2.6.2", "jotai-location": "0.5.2", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index 0b72079ea6f..131180715a5 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -55,7 +55,7 @@ "echarts-for-react": "3.0.2", "file-saver": "2.0.5", "i18next": "23.7.16", - "jotai": "2.6.1", + "jotai": "2.6.2", "jotai-location": "0.5.2", "js-yaml": "4.1.0", "lodash.debounce": "^4.0.8", diff --git a/sites/shared/package.json b/sites/shared/package.json index 83a1d26f403..12d2f9e4a76 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -29,7 +29,7 @@ "front-matter": "4.0.2", "highlight.js": "11.9.0", "github-slugger": "2.0.0", - "jotai": "2.6.1", + "jotai": "2.6.2", "jotai-location": "0.5.2", "lodash.clonedeep": "4.5.0", "lodash.debounce": "^4.0.8", diff --git a/yarn.lock b/yarn.lock index 487f97ac3d8..06a12cdb186 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7974,10 +7974,10 @@ jotai-location@0.5.2: resolved "https://registry.yarnpkg.com/jotai-location/-/jotai-location-0.5.2.tgz#9d8ccbaea0cc2ed199c7e15adb7a3b8a3060fa6d" integrity sha512-4S9hDh1wYp4SG4Laq3+Xd0GdW7jwnWlbEuL8U22kv3wUZW892n6gXlNhwU0LaoXnWoGG0gtjSLBuFm5iodFKLg== -jotai@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.1.tgz#ece33a50b604e41b0134f94dd621e55d1bdc66f7" - integrity sha512-GLQtAnA9iEKRMXnyCjf1azIxfQi5JausX2EI5qSlb59j4i73ZEyV/EXPDEAQj4uQNZYEefi3degv/Pw3+L/Dtg== +jotai@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.2.tgz#b64287c978a520fd6195e466168e0ad7190e3f83" + integrity sha512-kl4KguU1Fr+tFiLi3A3h9qPEzhvLTTDA10DO3QZAz6k7BEaQJ+qvSBwolzonnfNI4QzEovyQfUqVgnRxfnnQVQ== js-base64@^2.1.9: version "2.6.4" From ff9ea4728355019f130abda8ef64911156d59cd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 04:45:27 +0000 Subject: [PATCH 0079/1313] build(deps-dev): bump prettier from 3.2.2 to 3.2.3 Bumps [prettier](https://github.com/prettier/prettier) from 3.2.2 to 3.2.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.2.2...3.2.3) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 487f97ac3d8..fe6b6936430 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11392,9 +11392,9 @@ prettier@^2: integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prettier@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.2.tgz#96e580f7ca9c96090ad054616c0c4597e2844b65" - integrity sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A== + version "3.2.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.3.tgz#98501d99141a9a10d5ceaf74cf39c8b7cbddd380" + integrity sha512-QNhUTBq+mqt1oH1dTfY3phOKNhcDdJkfttHI6u0kj7M2+c+7fmNKlgh2GhnHiqMcbxJ+a0j2igz/2jfl9QKLuw== pretty-format@^29.7.0: version "29.7.0" From c0d46dc1a0f16d587232fd4d5f6a1141f9b0d72e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:32:39 +0100 Subject: [PATCH 0080/1313] New translations en.md (French) skip-build --- .../org/docs/designs/huey/instructions/fr.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/fr.md b/markdown/org/docs/designs/huey/instructions/fr.md index 1bbc197d9b1..48fab4cc4a4 100644 --- a/markdown/org/docs/designs/huey/instructions/fr.md +++ b/markdown/org/docs/designs/huey/instructions/fr.md @@ -1,63 +1,63 @@ --- -title: "Sweat à capuche Huey Instructions de couture" +title: "Sweat à capuche Huey: Instructions de couture" --- -Ce patron peut être cousu avec ou avec une surjeteuse. Si tu n'utilises pas de surjeteuse ou de surjeteuse, tu devras _finir_ les coutures. +Ce patron peut être cousu avec ou sans surjeteuse. Si tu n'utilises pas de surjeteuse tu devras _finir_ les coutures. ### Étape 1 : Fixer les poches -- Repasse sous le surplus de couture du haut, des bords incurvés et inclinés. -- _Surpiqûre_ ou _Point de bordure_ la marge de couture incurvée en place. Cela formera les ouvertures des poches. +- Plis et repasse le surplus de couture du haut, des bords incurvés et des bords inclinés. +- _Surpique_ la marge de couture incurvée en place. Cela formera les ouvertures des poches. - Épingle les poches aux devants en utilisant les lignes directrices et fais correspondre les bords bruts. - Bâtis les bords bruts des poches et des devants ensemble. -- _Surpiqûre_ ou _Surpiqûre_ les bords supérieurs et obliques des poches sur les devants en laissant les bords incurvés ouverts. +- _Surpique_ les bords supérieurs et obliques des poches sur les devants en laissant les bords incurvés ouverts. -### Étape 2 : Fabrication du corps +### Étape 2 : Assemblage du corps -- Avec _bons côtés ensemble_, couds les devants aux dos au niveau des coutures des épaules. -- Avec _bons côtés ensemble_, couds les manches au devant et au dos en faisant correspondre les encoches. -- Avec _bons côtés ensemble_, couds les manches et les coutures latérales. +- Avec les _bons côtés ensemble_, couds les devants aux dos au niveau des coutures des épaules. +- Avec les _bons côtés ensemble_, couds les manches au devant et au dos en faisant correspondre les encoches. +- Avec les _bons côtés ensemble_, couds les manches et les coutures latérales. ### Étape 3 : Faire des trous pour le cordon de serrage (facultatif) Si tu ne souhaites pas ajouter de cordon de serrage, tu peux passer à l'étape 4. -- Prends un jeu assorti des pièces de la capuche, que tu as l'intention de mettre sur l'extérieur du sweat à capuche fini. -- Marque l'emplacement d'un trou sur chaque pièce de la hotte, le long de la courbe intérieure. - - Le trou doit se trouver à environ 1,5-2 cm du bord du tissu. Cela permet de ne pas gêner ta marge de couture. +- Prends un jeu assorti des pièces de la capuche, celui que tu as l'intention de mettre sur l'extérieur du sweat à capuche fini. +- Marque l'emplacement d'un trou sur chaque pièce de la capuche, le long de la courbe intérieure. + - Le trou doit se trouver à 1,5-2 cm du bord du tissu. Cela permet de prendre en compte la marge de couture. - Le trou doit être situé légèrement en haut du bas de la courbe intérieure. Cela permet de l'éloigner des coutures avant. -- Sur l'envers du tissu, place-toi face à l'endroit où tu fais le trou pour stabiliser le tissu. -- Faites une boutonnière à votre marque, soit à la main, soit a la machine. -- Vous pouvez aussi construire ou utiliser des œillets à la marque. +- Sur l'envers du tissu, entoile l'endroit où tu fais le trou pour stabiliser le tissu. +- Faites une boutonnière sur la marque, soit à la main, soit à la machine. +- Vous pouvez aussi construire ou utiliser des œillets sur la marque. -Si vous n'avez pas ou ne souhaitez pas utiliser d'entoilage, vous pouvez utiliser un morceau de tissu robuste tel que le denim. +Si vous n'avez ou ne souhaitez pas utiliser d'entoilage, vous pouvez utiliser une chute de tissu robuste comme du denim. -Les cordons seront enfilés après la construction du sweat à capuche. +Les cordons seront enfilés à la fin de l'assemblage du sweat à capuche. -### Etape 4 : Préparation de la capuche +### Étape 4 : Préparation de la capuche -- Avec _bons côtés ensemble_, en faisant correspondre les ensembles, couds les pièces de la capuche ensemble le long du bord de la courbe extérieure. -- Avec _, bons côtés ensemble_, en faisant correspondre les coutures, couds la capuche intérieure à la capuche extérieure le long du bord de la courbe intérieure. -- Tourne les bons côtés vers l'extérieur. +- Avec les _bons côtés ensemble_, sur un même jeu, couds les pièces de la capuche le long du bord de la courbe extérieure. +- Avec les_ bons côtés ensemble_, en faisant correspondre les coutures, couds la capuche intérieure à la capuche extérieure le long du bord de la courbe intérieure. +- Retourne la capuche à l'endroit. - Bâtis les bords bruts de l'avant et de l'arrière ensemble. -- Crée une enveloppe pour le cordon de serrage en cousant à environ 2,5 cm du bord intérieur sur le côté où se trouvent les trous du cordon. -- (Au choix) Si tu n'utilises pas de cordon, _surpiqûre_ ou _piqûre de bordure_ la courbe intérieure. +- Crée un tunnel pour le cordon de serrage en cousant à environ 2,5 cm du bord intérieur sur le côté où se trouvent les trous du cordon. +- (Optionnel) Si tu n'utilises pas de cordon, _surpique_ la courbe intérieure. -Lors de la création du boîtier ou de la surpiqûre, veille à ce que la couture de la courbe intérieure soit légèrement à l'intérieur de la capuche pour l'empêcher de dépasser à l'avenir. +Lors de la création du tunnel ou de la surpiqûre, veille à ce que la couture de la courbe intérieure soit légèrement à l'intérieur de la capuche pour l'empêcher de dépasser plus tard. Si tu n'utilises pas de cordon de serrage, tu peux aussi _sous-pointer_ la couture de la courbe intérieure. From 50a1835294dbb6837deefe81e885e25ef9ba47d9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:32:40 +0100 Subject: [PATCH 0081/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/needs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/needs/fr.md b/markdown/org/docs/designs/huey/needs/fr.md index d4cb789c570..681456f2271 100644 --- a/markdown/org/docs/designs/huey/needs/fr.md +++ b/markdown/org/docs/designs/huey/needs/fr.md @@ -1,5 +1,5 @@ --- -title: "Sweat à capuche Huey Ce dont tu as besoin" +title: "Sweat à capuche Huey: Ce dont tu as besoin" --- Pour fabriquer Huey, tu auras besoin des éléments suivants : From f30aae35534c907a522a314e5f7706bc2e69db44 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:32:52 +0100 Subject: [PATCH 0082/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/options/lengthbonus/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/lengthbonus/fr.md b/markdown/org/docs/designs/huey/options/lengthbonus/fr.md index b8e03934e72..9ccf515dfa0 100644 --- a/markdown/org/docs/designs/huey/options/lengthbonus/fr.md +++ b/markdown/org/docs/designs/huey/options/lengthbonus/fr.md @@ -2,7 +2,7 @@ title: "Supplément de longueur" --- -La quantité à allonger le vêtement. Une valeur négative la raccourcira. +La longueur en plus pour le vêtement. Une valeur négative le raccourcira. From 00f7461516f81513e931bb8d5a4c7b5d7a4746da Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:33:24 +0100 Subject: [PATCH 0083/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hugo/options/lengthbonus/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/lengthbonus/fr.md b/markdown/org/docs/designs/hugo/options/lengthbonus/fr.md index b8e03934e72..9ccf515dfa0 100644 --- a/markdown/org/docs/designs/hugo/options/lengthbonus/fr.md +++ b/markdown/org/docs/designs/hugo/options/lengthbonus/fr.md @@ -2,7 +2,7 @@ title: "Supplément de longueur" --- -La quantité à allonger le vêtement. Une valeur négative la raccourcira. +La longueur en plus pour le vêtement. Une valeur négative le raccourcira. From ba0626420216c448d47b2cfd5be6bd08978bceaa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:40:13 +0100 Subject: [PATCH 0084/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/yuri/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/instructions/fr.md b/markdown/org/docs/designs/yuri/instructions/fr.md index bafd37dae6b..7d8301fc4c3 100644 --- a/markdown/org/docs/designs/yuri/instructions/fr.md +++ b/markdown/org/docs/designs/yuri/instructions/fr.md @@ -4,7 +4,7 @@ title: "Sweat à capuche Yuri : Instructions de couture" -Ce patron peut être cousu avec ou avec une surjeteuse. Pour _finir_ les coutures sans surjeteuse/sertisseuse, tu peux utiliser ta méthode préférée ou l'une des méthodes ci-dessous : +Ce patron peut être cousu avec ou sans surjeteuse. Pour _finir_ les coutures sans surjeteuse/sertisseuse, tu peux utiliser ta méthode préférée ou l'une des méthodes ci-dessous : ##### Méthode de finition 1 From 02754290d8dd6b4e43cee3fad44978d1fc9d86df Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:46:04 +0100 Subject: [PATCH 0085/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/notes/fr.md b/markdown/org/docs/designs/huey/notes/fr.md index 6b1c7c442eb..93280fe3ba9 100644 --- a/markdown/org/docs/designs/huey/notes/fr.md +++ b/markdown/org/docs/designs/huey/notes/fr.md @@ -4,6 +4,6 @@ title: "Sweat à capuche Huey : Notes du créateur" J'avais un sweat à capuche que j'aimais bien, mais après des années de port, il s'est en quelque sorte désintégré. Je l'ai donc réincarné dans ce dessin et maintenant son esprit peut vivre pour toujours. -Le choix du nom est un coup de chapeau à [Huey P. Newton](https://en.wikipedia.org/wiki/Huey_P._Newton). +Le choix du nom est une référence à [Huey P. Newton](https://en.wikipedia.org/wiki/Huey_P._Newton). joost From ada05a660ed56727c5afcfcc19a04b84a75f8126 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 17:47:31 +0100 Subject: [PATCH 0086/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/options/legacyarmholedepth/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/legacyarmholedepth/fr.md b/markdown/org/docs/designs/huey/options/legacyarmholedepth/fr.md index b0c55aaf4ad..a285f5c3100 100644 --- a/markdown/org/docs/designs/huey/options/legacyarmholedepth/fr.md +++ b/markdown/org/docs/designs/huey/options/legacyarmholedepth/fr.md @@ -8,4 +8,4 @@ L'ancienne méthode (v2) utilisait la circonférence du biceps pour estimer la p La méthode v3 utilise plutôt la mesure de la taille à l'aisselle pour situer le bas de l'emmanchure. -Si tu actives cette option, le bloc Brian reviendra à la façon v2 de calculer la profondeur de l'emmanchure, et Huey suivra. +Si tu actives cette option, le bloc Brian reviendra à la façon v2 dans son calcul de la profondeur de l'emmanchure, et Huey suivra. From 02fcda888324a22e328dceeb281220fb5c330f73 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Wed, 17 Jan 2024 18:06:38 +0000 Subject: [PATCH 0087/1313] Updating docs --- markdown/org/docs/designs/tristan/cutting/en.md | 11 +---------- markdown/org/docs/designs/tristan/instructions/en.md | 8 ++++++++ markdown/org/docs/designs/tristan/needs/en.md | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/tristan/cutting/en.md b/markdown/org/docs/designs/tristan/cutting/en.md index 2021d91059c..96ceef2f17a 100644 --- a/markdown/org/docs/designs/tristan/cutting/en.md +++ b/markdown/org/docs/designs/tristan/cutting/en.md @@ -22,13 +22,4 @@ If you choose to add a peplum: - Cut 1 **Peplum**. -In **all versions**, if you want to line your top, cut the same parts out of your lining fabric. - - - - -##### Finishing methods affect the seam allowance - -If using bias binding, you should trim away the seam allowance at the neckline and armholes before cutting. - - \ No newline at end of file +In **all versions**, if you want to line your top, cut the same parts out of your lining fabric. \ No newline at end of file diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index f5f97741140..6cd2dc37ba0 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -13,6 +13,14 @@ These instructions are for a lined Tristan top with a center-front lacing closur Cut your pattern pieces. If you would like to add embroidery or other decoration, now is a good time to do so. + + +##### Finishing methods affect the seam allowance + +If using bias binding, you should cut the neckline and armholes without seam allowance. + + + ### Step 2: Sew the back inside parts together at center back ![Sew the back inside parts together](step02.png) diff --git a/markdown/org/docs/designs/tristan/needs/en.md b/markdown/org/docs/designs/tristan/needs/en.md index cc48ab9bdc8..92410690295 100644 --- a/markdown/org/docs/designs/tristan/needs/en.md +++ b/markdown/org/docs/designs/tristan/needs/en.md @@ -7,14 +7,14 @@ To make Tristan, you will need the following: - [Basic sewing supplies](/docs/sewing/basic-sewing-supplies) - About 1 meter (1.1 yards) of a suitable main fabric (see [Fabric options](/docs/designs/tristan/fabric)) - About 1 meter (1.1 yards) of a suitable lining fabric (if lining) -- Choice of closure - Either **Zipper**, or **eyelets**, **ribbon/lacing**, and **reinforcement for the eyelets** +- Choice of closure - either **Zipper**, or **eyelets**, **reinforcement for the eyelets**, and **lacing** - If finishing with bias binding, **Bias tape** (about 4 meters (4.4 yards)) ##### Use a separating zipper -We recommend a separating invisible zipper for this garment. Using a separating zipper will make it easier for you to put the top on and off. +We recommend a separating invisible zipper for this garment. Using a separating zipper will make it easier for you to take the top on and off. ##### When making Tristan with the lacing option, reinforce the eyelets From 546fd6a979bee100fb570688d926793dec83f8e6 Mon Sep 17 00:00:00 2001 From: Natalia Sayang <48160791+nataliasayang@users.noreply.github.com> Date: Wed, 17 Jan 2024 13:32:23 -0500 Subject: [PATCH 0088/1313] Update step 7 and 8 images --- .../designs/tristan/instructions/step07.png | Bin 69091 -> 69943 bytes .../designs/tristan/instructions/step08.png | Bin 77847 -> 80090 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/markdown/org/docs/designs/tristan/instructions/step07.png b/markdown/org/docs/designs/tristan/instructions/step07.png index d1310472c592dada41acb9a85d9fa0fb8818d490..678fdc7768209580a14607bfcf7883b5d7a37258 100644 GIT binary patch literal 69943 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 V-=0)%V_;xl@O1TaS?83{1OQXUxkdm0 diff --git a/markdown/org/docs/designs/tristan/instructions/step08.png b/markdown/org/docs/designs/tristan/instructions/step08.png index 0116f1c4caef122799e8d7f363520ac2794c415e..4f9ebc4f721bbc12b9c033fdb7d8520b0dab0793 100644 GIT binary patch literal 80090 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 literal 77847 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Ḧ́PbEuK4a1O_iHar@=q3J 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 Date: Wed, 17 Jan 2024 18:38:12 +0000 Subject: [PATCH 0089/1313] Updated Tristan instructions --- markdown/org/docs/designs/tristan/instructions/en.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index 6cd2dc37ba0..c7cefe3b76e 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -78,11 +78,13 @@ You will now have two identical pieces, one with your main fabric and one with y Turn your lining piece inside out. +The red arrows in the illustration are to help you identify the center insides in the next step. + ### Step 8: Begin the closure by sewing down center front ![Sew down center front](step08.png) -Place the center insides of the main and lining together, _good sides together_. +Place the center insides of the main and lining together, _good sides together_. This will become one side of your front opening. Sew down center front. From e195eaaa385e19c26a4a0eddf6790656543d8f16 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Wed, 17 Jan 2024 18:43:10 +0000 Subject: [PATCH 0090/1313] Minor update to Tristan instructions --- markdown/org/docs/designs/tristan/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index c7cefe3b76e..ca3dfa04a6c 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -100,7 +100,7 @@ Sew 2 mm (0.1 inch) in from center edge. Allow enough space for your boning, then sew again. -Repeat on the other side. +Repeat Steps 8 through 10 on the other side. ##### Leave enough room for your boning From e221a4aa81c7cc70e51d4043b2383dd19b9d35a0 Mon Sep 17 00:00:00 2001 From: Natalia Sayang Date: Wed, 17 Jan 2024 18:49:58 +0000 Subject: [PATCH 0091/1313] More small edits to Tristan instructions --- markdown/org/docs/designs/tristan/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/tristan/instructions/en.md b/markdown/org/docs/designs/tristan/instructions/en.md index ca3dfa04a6c..c00d9fde418 100644 --- a/markdown/org/docs/designs/tristan/instructions/en.md +++ b/markdown/org/docs/designs/tristan/instructions/en.md @@ -111,7 +111,7 @@ Leave enough wiggle room to allow you to insert your boning. You want the channe ![Sew your second boning channel](step10.png) -Mark the locations of your eyelets/grommets. Allow enough space to install these later, then sew again. +Mark the locations of your eyelets. Allow enough space to install these later, then sew again. Allow enough space for another row of boning, then sew again. @@ -121,9 +121,9 @@ Repeat on the other side. Cap your boning if appropriate for the type of boning used. Then insert boning in the boning channels. -### Step 12: Install your eyelets/grommets +### Step 12: Install your eyelets -Install your eyelets or grommets between the two boning channels. +Install your eyelets between the two boning channels. ### Step 13: Bind and lace up your top From 83a131b1b004b335e6d501f96f9b33563f09b132 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 19:51:01 +0100 Subject: [PATCH 0092/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/cutting/fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/cutting/fr.md b/markdown/org/docs/designs/huey/cutting/fr.md index 72b588e4269..e063435738a 100644 --- a/markdown/org/docs/designs/huey/cutting/fr.md +++ b/markdown/org/docs/designs/huey/cutting/fr.md @@ -5,12 +5,12 @@ title: "Sweat à capuche Huey : Instructions de coupe" **Tissu principal** - Couper **2 parties frontales** -- Coupe **1 en arrière** partie sur le pli -- Coupe **2 manches** pièces +- Coupe 1 partie **arrière** sur le pli +- Coupe 2 pièces de **manches** - cut two pocket pieces -- Découpe **4 Pièces du capot** +- Découpe **4 Pièces de capuche** **Bord côte** -- Coupe **2 parties du brassard** +- Coupe **2 parties de poignet** - Couper **1 bande de taille** From 8844e8fbe0605cfd959494b9e025cfa60fbd1ff7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 19:51:04 +0100 Subject: [PATCH 0093/1313] New translations en.md (French) skip-build --- .../org/docs/designs/huey/instructions/fr.md | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/fr.md b/markdown/org/docs/designs/huey/instructions/fr.md index 48fab4cc4a4..8f7d6ec0e7b 100644 --- a/markdown/org/docs/designs/huey/instructions/fr.md +++ b/markdown/org/docs/designs/huey/instructions/fr.md @@ -58,7 +58,7 @@ Les cordons seront enfilés à la fin de l'assemblage du sweat à capuche. Lors de la création du tunnel ou de la surpiqûre, veille à ce que la couture de la courbe intérieure soit légèrement à l'intérieur de la capuche pour l'empêcher de dépasser plus tard. -Si tu n'utilises pas de cordon de serrage, tu peux aussi _sous-pointer_ la couture de la courbe intérieure. +Si tu n'utilises pas de cordon de serrage, tu peux aussi _sous-piquer_ la couture de la courbe intérieure. @@ -66,80 +66,80 @@ Si tu n'utilises pas de cordon de serrage, tu peux aussi _sous-pointer_ la coutu Un tour de cou peut être utile pour stabiliser et couvrir les coutures du cou, mais il est facultatif si tu souhaites l'ignorer. -- Découpe une bande de tissu en croix dans ton tissu principal : - - Ton ouverture de cou + le double de ton surplus de couture avant long. - - Triple la marge de couture du cou en largeur. +- Découpe une bande de tissu transversal (perpendiculaire au droit fil) dans ton tissu principal : + - Ton ouverture de cou + le double de ta marge de couture en longueur + - Trois fois ta marge de couture au cou en largeur. -### Étape 6 : Fixer le capuchon +### Étape 6 : Fixer la capuche -- Epingle la capuche au cou en faisant correspondre la capuche extérieure à _bon côté_ du cou. -- Si tu l'utilises, épingle le tour de cou _bon côté_ à la capuche intérieure en faisant coïncider les bords bruts. +- Épingle la capuche au cou avec la capuche extérieure contre le _bon côté_ du cou. +- Si tu l'utilises, épingle le _bon côté_ du tour de cou à la capuche intérieure en faisant coïncider les bords bruts. - Couds la couture du tour de cou. -- _Finis la couture de_ si tu n'utilises pas de tour de cou, passe à l'étape 7. -- Appuie sur le tour de cou. +- _Finis la couture _ si tu n'utilises pas de tour de cou et passe à l'étape 7. +- Repasse le tour de cou. - Sur l'extérieur _Surpiquer_ la bande de cou en place. - À l'intérieur, coupez la bande de cou vers le bas pour le surfiler. ### Étape 7 : Attacher la ceinture - Pliez la ceinture en 2 dans le sens de la longueur envers contre envers. Repasser. -- Avec _bons côtés_ ensemble coudre la ceinture au bas du dos et de l'avant. +- Avec les _bons côtés_ ensemble coudre la ceinture au bas du dos et de l'avant. - Repassez la couture vers le haut. -- _Surpiqûre_ ou _Point de bordure_ le surplus de couture de la ceinture au corps. +- _Surpiquez_ le surplus de couture de la ceinture au corps. ### Étape 8 : Attacher les poignets -- Avec _bons côtés ensemble,_ coudre cotés courts des poignets pour créer deux bandes. +- Avec les _bons côtés ensemble,_ coudre les côtés courts des poignets pour créer deux bandes. - Repasser pour ouvrir la marge de couture. -- (Facultatif) _Point de bordure_ les surplus de couture vers le bas. +- (Facultatif) _Surpique à 1 mm_ les surplus de couture vers le bas. - Pliez les poignets en 2 dans le sens de la longueur envers contre envers. Repasser. -- En faisant correspondre les coutures et les bords bruts, épingle les poignets aux manches _bons côtés ensemble_. +- En faisant correspondre les coutures et les bords bruts, épingle les poignets aux manches _endroit contre endroit_. - Couds les poignets aux manches. - Repasse les surplus de couture vers le haut. -- _Surpiqûre_ ou _Piqûre d'angle_ les surplus de couture des manchettes aux manches. +- _Surpique_ les surplus de couture des poignets aux manches. -### Étape 9 : La fermeture éclair +### Étape 9 : La fermeture Éclair -- Si besoin est, fais face aux bords avant du sweat à capuche. -- Ouvre partiellement la fermeture à glissière. -- Plie le haut du ruban de la fermeture à glissière vers le _bon côté_ du ruban de la fermeture à glissière. Découpe si nécessaire. -- Épingle la fermeture éclair le long d'un des bords avant de la capuche, du devant et de la ceinture. The zipper teeth should just be slightly over the seam line with the edge of the tape either matching or being slightly over from the hoodie edge. Making sure the zipper pull is faced the _good sides_ of the hoodie and the bottoms are lined up. -- En utilisant un pied pour fermeture à glissière, pique la fermeture à glissière sur le sweat à capuche en utilisant la largeur de ta couture. Lorsque tu arrives à la tirette de la fermeture à glissière, arrête-toi, pose ton aiguille, lève le pied-de-biche, fais passer la tirette de la fermeture à glissière devant le pied-de-biche, abaisse le pied-de-biche. Ensuite, tu peux continuer à faire la couture. -- Détache la fermeture éclair. -- Épingle et couds la bande de fermeture éclair non attachée à l'autre côté du sweat à capuche de la même manière. -- Repasse les coutures à l'intérieur en faisant attention à ne pas faire fondre les dents de la fermeture éclair avec ton fer à repasser. -- _Surpiqûre_ les rubans de la fermeture éclair en place. Il se peut que tu aies besoin d'utiliser un pied pour fermeture à glissière. +- Si tu as besoin, tourne le sweat bords avant face à toi. +- Ouvre partiellement la fermeture Éclair. +- Plie le haut du ruban de la fermeture à Éclair vers le _bon côté_ du ruban de la fermeture Éclair. Découpe si nécessaire. +- Épingle la fermeture éclair le long d'un des bords avant de la capuche, du devant et de la ceinture. Fais attention que la tirette de la fermeture est contre le _bon côté_ du sweat et que le bas est aligné. Les dents de la fermeture Éclair doivent être légèrement au-dessus de la ligne de couture, et le bord de la bande doit correspondre au bord de la capuche ou le dépasser légèrement. +- En utilisant un pied pour fermeture Éclair, pique la fermeture Éclair sur le sweat à capuche en utilisant ta marge de couture. Lorsque tu arrives à la tirette de la fermeture à glissière, arrête-toi, descend ton aiguille, lève le pied-de-biche, fais passer la tirette de la fermeture à glissière devant le pied-de-biche, abaisse le pied-de-biche. Ensuite, tu peux continuer ta couture. +- Sépare la fermeture Éclair. +- Épingle et couds la bande de fermeture Éclair séparé de l'autre côté du sweat à capuche de la même manière. +- Repasse les coutures vers l'intérieur en faisant attention à ne pas faire fondre les dents de la fermeture Éclair avec ton fer à repasser. +- _Surpique_ les rubans de la fermeture Éclair en place. Il se peut que tu aies besoin d'utiliser un pied pour fermeture Éclair. -Pour t'aider à faire correspondre les poches et les coutures, lorsqu'il est attaché d'un côté et temporairement, marque les dents correspondantes au niveau des poches et de la couture. Tu peux maintenant utiliser ces marques pour aligner la fermeture éclair sur la poche et les coutures de l'autre côté. +Pour t'aider à faire correspondre les poches et les coutures, lorsque la fermeture est temporairement attachée d'un côté, marque les dents correspondantes au niveau des poches et de la couture. Tu peux maintenant utiliser ces marques pour aligner la fermeture Éclair sur la poche et les coutures de l'autre côté. -Tu n'as besoin d'affronter ton tissu que s'il est très extensible ou s'il a besoin d'un peu plus de stabilité. +Tu n'as besoin d'entoiler ton tissu que s'il est très extensible ou qu'il a besoin d'un peu plus de stabilité. ### Étape 10 : Enfile le cordon de serrage -- Enfile la ficelle de dessin dans les trous du cordon. -- Si nécessaire, fixe les extrémités du cordon de serrage, par exemple avec des agrafes. +- Enfile le cordon dans les trous de la capuche prévus à cet effet. +- Si nécessaire, fixe les extrémités du cordon de serrage, par exemple avec des embouts de cordon. -Utilise une épingle à nourrice pour t'aider à enfiler le cordon. +Tu peux utiliser une épingle à nourrice pour t'aider à enfiler le cordon. -### Étape 11: Profitez-en! +### Étape 11: Profites-en! - Voilà! Vous avez terminé ! Maintenant, va te réchauffer et te mettre à l'aise dans ton nouveau sweat à capuche ! Ce patron a été mis en vedette dans le [numéro 27 du magazine HackSpace ](https://hackspace.raspberrypi.org/issues/27), -l'article contient également des instructions, donc vous pouvez vouloir le consulter. +l'article contient également des instructions que vous pouvez vouloir consulter. From 326303cbbd948b12f3662b2308e8bef0d229c210 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 20:05:42 +0100 Subject: [PATCH 0094/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shelly/cutting/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shelly/cutting/fr.md b/markdown/org/docs/designs/shelly/cutting/fr.md index 924090386c6..bbe6555ac85 100644 --- a/markdown/org/docs/designs/shelly/cutting/fr.md +++ b/markdown/org/docs/designs/shelly/cutting/fr.md @@ -3,6 +3,6 @@ title: "Chemise Shelly : Instructions de coupe" --- - Découpe **1 partie avant** sur le pli -- Coupe **1 en arrière** partie sur le pli +- Coupe 1 partie **arrière** sur le pli - Coupe **2 manchon** pièces - Coupe **1 bande de cou** partie sur le pli From 5340136057edc2e01ca57e1a0f8d15593804863e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 17 Jan 2024 20:06:34 +0100 Subject: [PATCH 0095/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/onyx/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/instructions/fr.md b/markdown/org/docs/designs/onyx/instructions/fr.md index f3746dea013..53d40f43f08 100644 --- a/markdown/org/docs/designs/onyx/instructions/fr.md +++ b/markdown/org/docs/designs/onyx/instructions/fr.md @@ -185,7 +185,7 @@ Si tu utilises une doublure, fais les deux étapes suivantes, sinon passe à la ### Étape 6 : installation de la fermeture éclair. Remarque : cette étape est la même avec ou sans doublure. Traite la doublure et le tissu de mode comme une seule et même chose. - Pose ton vêtement _à l'endroit_. - - Détache la fermeture éclair. + - Sépare la fermeture Éclair. - Place la fermeture éclair _bon côté vers le haut_ le long de la couture centrale et aligne-la soigneusement. L'alignement de l'arrêt supérieur est plus important que celui de l'arrêt inférieur, et essaie de ne pas étirer ou froncer le tissu lorsque tu alignes ta fermeture à glissière. - Tourne un côté de la fermeture éclair d'un demi-tour vers l'extérieur, et pose-la le long de la couture ouverte de façon à ce que le bord du ruban adhésif soit le long de la couture et que le bord denté soit orienté vers le gros du tissu. Aligne le bord du tissu avec le bord du ruban adhésif et clipse-le en place. From 78aaf659dedc5ab75be3573acc1df1f79febd83e Mon Sep 17 00:00:00 2001 From: woutervdub Date: Thu, 18 Jan 2024 03:08:56 +0000 Subject: [PATCH 0096/1313] Increase peplum, correct titles, arrange cut lists --- config/software/designs.json | 1 + designs/tristan/i18n/de.json | 33 ++++++++++++++++++++++++++-- designs/tristan/i18n/en.json | 8 +++++++ designs/tristan/i18n/es.json | 33 ++++++++++++++++++++++++++-- designs/tristan/i18n/fr.json | 33 ++++++++++++++++++++++++++-- designs/tristan/i18n/nl.json | 33 ++++++++++++++++++++++++++-- designs/tristan/i18n/uk.json | 33 ++++++++++++++++++++++++++-- designs/tristan/src/backinside.mjs | 20 ++++++++--------- designs/tristan/src/backoutside.mjs | 14 ++++++------ designs/tristan/src/frontinside.mjs | 2 +- designs/tristan/src/frontoutside.mjs | 2 +- designs/tristan/src/peplumBack.mjs | 6 ++--- designs/tristan/src/peplumFront.mjs | 25 +++++++++++++-------- 13 files changed, 202 insertions(+), 41 deletions(-) diff --git a/config/software/designs.json b/config/software/designs.json index 4c6660f8645..15e3231b42d 100644 --- a/config/software/designs.json +++ b/config/software/designs.json @@ -810,6 +810,7 @@ "tops" ], "techniques": [ + "curvedSeam", "precision" ] }, diff --git a/designs/tristan/i18n/de.json b/designs/tristan/i18n/de.json index a59e0b11cd2..079db5e0e0d 100644 --- a/designs/tristan/i18n/de.json +++ b/designs/tristan/i18n/de.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", @@ -13,7 +13,16 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -36,6 +45,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" @@ -96,6 +109,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/i18n/en.json b/designs/tristan/i18n/en.json index 1da42ebe2fa..079db5e0e0d 100644 --- a/designs/tristan/i18n/en.json +++ b/designs/tristan/i18n/en.json @@ -14,6 +14,14 @@ "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", "hem": "Hem" }, "o": { diff --git a/designs/tristan/i18n/es.json b/designs/tristan/i18n/es.json index a59e0b11cd2..079db5e0e0d 100644 --- a/designs/tristan/i18n/es.json +++ b/designs/tristan/i18n/es.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", @@ -13,7 +13,16 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -36,6 +45,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" @@ -96,6 +109,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/i18n/fr.json b/designs/tristan/i18n/fr.json index a59e0b11cd2..079db5e0e0d 100644 --- a/designs/tristan/i18n/fr.json +++ b/designs/tristan/i18n/fr.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", @@ -13,7 +13,16 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -36,6 +45,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" @@ -96,6 +109,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/i18n/nl.json b/designs/tristan/i18n/nl.json index a59e0b11cd2..079db5e0e0d 100644 --- a/designs/tristan/i18n/nl.json +++ b/designs/tristan/i18n/nl.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", @@ -13,7 +13,16 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -36,6 +45,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" @@ -96,6 +109,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/i18n/uk.json b/designs/tristan/i18n/uk.json index a59e0b11cd2..079db5e0e0d 100644 --- a/designs/tristan/i18n/uk.json +++ b/designs/tristan/i18n/uk.json @@ -1,6 +1,6 @@ { "t": "Tristan", - "d": "A FreeSewing pattern that needs a description", + "d": "Tristan is a fitted tank top with prince(ss) seams.", "p": { "backInside": "Back inside", "backOutside": "Back outside", @@ -13,7 +13,16 @@ }, "s": { "strapWidthAdjusted.t": "The strap width has been adjusted", - "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder." + "strapWidthAdjusted.d": "The strap width has been adjusted to {{{ width }}} to allow for the position of the strap on the shoulder.", + "peplumWidth.t": "Peplum size", + "peplumWidth.d": "The peplum will be {{{ peplumWidth }}} long.", + "frontOutside": "Outside front", + "frontInside": "Inside front", + "backOutside": "Outside back", + "backInside": "Inside back", + "frontPeplum": "Peplum front", + "backPeplum": "Peplum back", + "hem": "Hem" }, "o": { "bustSpanEase": { @@ -36,6 +45,10 @@ "t": "Waist ease", "d": "Controls the amount of ease at the waist" }, + "waistdartposition": { + "t": "Waist dart position", + "d": "Controls the position of the waist 'dart', moving it to the center (negative) or side (positive)" + }, "frontShoulderWidth": { "t": "Front shoulder width", "d": "Controls how much width is added to the shoulder in the front" @@ -96,6 +109,22 @@ "t": "Back zipper location", "d": "The location of the zipper will be in the back" }, + "hem": { + "t": "Hem option", + "d": "Add a hem." + }, + "hemYes": { + "t": "Add a hem", + "d": "Add a hem at the waist" + }, + "hemNo": { + "t": "Do not add a hem", + "d": "Do not add a hem at the waist" + }, + "hemSize": { + "t": "Size of the hem", + "d": "Size of the hem, a percentage of the distance between the neckline and the waist" + }, "lacing": { "t": "Lacing option", "d": "This removes part of the seam to create an opening for lacing" diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index ad61bdd03ef..1036230f5ac 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -63,16 +63,6 @@ export const backInside = { .close() .attr('class', 'fabric') - points.titleAnchor = points.dartBottomLeft.shiftFractionTowards( - lacing ? points.lacingCut : points.cbCut, - 0.75 - ) - macro('title', { - at: points.titleAnchor, - nr: 3, - title: 'backInside', - }) - points.grainlineFrom = new Point(points.dartBottomLeft.x - 10, points.cbCut.y) points.grainlineTo = new Point(points.dartBottomLeft.x - 10, points.waistSide.y) macro('grainline', { @@ -82,6 +72,16 @@ export const backInside = { store.cutlist.addCut({ cut: 2, from: 'fabric' }) + points.titleAnchor = points.dartBottomLeft.shiftFractionTowards( + lacing ? points.lacingCut : points.cbCut, + 0.75 + ) + macro('title', { + at: points.titleAnchor, + nr: 3, + title: 'tristan:backInside', + }) + if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index 94ec6557ea9..ecf2c9afee0 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -41,13 +41,6 @@ export const backOutside = { .close() .attr('class', 'fabric') - points.titleAnchor = points.dartBottomRight.shiftFractionTowards(points.armholeCpTarget, 0.5) - macro('title', { - at: points.titleAnchor, - nr: 4, - title: 'backOutside', - }) - points.grainlineTo = new Point(points.dartBottomRight.x * 1.1, points.dartBottomRight.y * 0.95) points.grainlineFrom = new Point(points.grainlineTo.x, points.dartTip.y) @@ -59,6 +52,13 @@ export const backOutside = { store.cutlist.removeCut('fabric') store.cutlist.addCut({ cut: 2, from: 'fabric' }) + points.titleAnchor = points.dartBottomRight.shiftFractionTowards(points.armholeCpTarget, 0.5) + macro('title', { + at: points.titleAnchor, + nr: 4, + title: 'tristan:backOutside', + }) + if (sa) { paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index e886c99d907..74e0e25346f 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -132,7 +132,7 @@ export const frontInside = { macro('title', { at: points.titleAnchor, nr: 1, - title: 'frontInside', + title: 'tristan:frontInside', }) points.gridAnchor = points.hps.clone() diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index b75510d071e..a67e059b0ba 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -85,7 +85,7 @@ export const frontOutside = { macro('title', { at: points.titleAnchor, nr: 2, - title: 'frontOutside', + title: 'tristan:frontOutside', }) points.gridAnchor = points.armholeCpTarget.clone() diff --git a/designs/tristan/src/peplumBack.mjs b/designs/tristan/src/peplumBack.mjs index 2ec9a3df0c9..57047fa4093 100644 --- a/designs/tristan/src/peplumBack.mjs +++ b/designs/tristan/src/peplumBack.mjs @@ -10,9 +10,9 @@ export const peplumBack = { return part.hide() } - const radius = store.get('peblumRadius') - const width = store.get('peblumWidth') - const ratio = store.get('peblumratio') + const radius = store.get('peplumRadius') + const width = store.get('peplumWidth') + const ratio = store.get('peplumratio') CreateShape({ points: points, diff --git a/designs/tristan/src/peplumFront.mjs b/designs/tristan/src/peplumFront.mjs index ad48c325e41..087936ca9b7 100644 --- a/designs/tristan/src/peplumFront.mjs +++ b/designs/tristan/src/peplumFront.mjs @@ -34,17 +34,17 @@ export const CreateShape = ({ '__macro_ringsector_' + type + 'Peblum_in2FlippedRotated' ].shiftFractionTowards(points['__macro_ringsector_' + type + 'Peblum_ex2FlippedRotated'], 0.5) + store.cutlist.addCut({ cut: double ? 2 : 1, from: 'fabric', onFold: true }) + macro('title', { nr: 10 + ('front' == type ? 0 : 1), at: points[type + 'TitleAnchor'], - id: type + 'Peblum', - title: type + 'Peblum', + id: type + 'Peplum', + title: 'tristan:' + type + 'Peplum', align: 'center', scale: options.peplumSize * 2, }) - store.cutlist.addCut({ cut: double ? 2 : 1, from: 'fabric' }) - if (sa) paths[type + 'SA'] = paths['__macro_ringsector_' + type + 'Peblum_path'] .offset(sa) @@ -79,7 +79,7 @@ export const peplumFront = { peplumSize: { pct: 10, min: 5, - max: 100, + max: 250, // eslint-disable-next-line no-unused-vars menu: (settings, mergedOptions) => (mergedOptions.peplum === false ? false : 'peplum'), }, @@ -92,7 +92,7 @@ export const peplumFront = { }, }, plugins: [ringsectorPlugin], - draft: ({ sa, Point, points, paths, options, macro, store, part }) => { + draft: ({ sa, Point, points, paths, options, macro, store, units, part }) => { if (false == options.peplum) { return part.hide() } @@ -112,9 +112,16 @@ export const peplumFront = { const frontLength = frontInsideWaistLength + frontOutsideWaistLength const ratio = frontLength / length - store.set('peblumRadius', radius) - store.set('peblumWidth', width) - store.set('peblumratio', ratio) + store.set('peplumRadius', radius) + store.set('peplumWidth', width) + store.set('peplumratio', ratio) + + store.flag.note({ + msg: `tristan:peplumWidth`, + replace: { + peblumWidth: units(width), + }, + }) CreateShape({ Point: Point, From 2d4e0ffe97b13fd18ebdac8200acd7ca557903eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 04:41:15 +0000 Subject: [PATCH 0097/1313] build(deps): bump autoprefixer from 10.4.16 to 10.4.17 Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.16 to 10.4.17. - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/autoprefixer/compare/10.4.16...10.4.17) --- updated-dependencies: - dependency-name: autoprefixer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/dev/package.json | 2 +- sites/lab/package.json | 2 +- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 54 +++++++++++++++++++++--------------------- 5 files changed, 31 insertions(+), 31 deletions(-) diff --git a/sites/dev/package.json b/sites/dev/package.json index 1ab814aab9c..1e99f4e2c71 100644 --- a/sites/dev/package.json +++ b/sites/dev/package.json @@ -59,7 +59,7 @@ "strip-markdown": "6.0.0" }, "devDependencies": { - "autoprefixer": "10.4.16", + "autoprefixer": "10.4.17", "js-yaml": "4.1.0", "postcss": "8.4.33", "remark-extract-frontmatter": "3.2.0", diff --git a/sites/lab/package.json b/sites/lab/package.json index f5038bb77d4..415718a2005 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -60,7 +60,7 @@ "remark-mdx-frontmatter": "4.0.0" }, "devDependencies": { - "autoprefixer": "10.4.16", + "autoprefixer": "10.4.17", "js-yaml": "4.1.0", "postcss": "8.4.33", "remark-extract-frontmatter": "3.2.0", diff --git a/sites/org/package.json b/sites/org/package.json index 7146edc2642..09229456c34 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -67,7 +67,7 @@ "yaml-loader": "0.8.0" }, "devDependencies": { - "autoprefixer": "10.4.16", + "autoprefixer": "10.4.17", "js-yaml": "4.1.0", "postcss": "8.4.33", "remark-extract-frontmatter": "3.2.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index 131180715a5..f7d81960df8 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -45,7 +45,7 @@ "@mdx-js/runtime": "2.0.0-next.9", "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e", "@tailwindcss/typography": "0.5.10", - "autoprefixer": "10.4.16", + "autoprefixer": "10.4.17", "axios": "1.6.5", "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", diff --git a/yarn.lock b/yarn.lock index 8dff205d746..2851bc2dde6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3337,14 +3337,14 @@ attr-accept@^2.2.2: resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== -autoprefixer@10.4.16: - version "10.4.16" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" - integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== +autoprefixer@10.4.17: + version "10.4.17" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be" + integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg== dependencies: - browserslist "^4.21.10" - caniuse-lite "^1.0.30001538" - fraction.js "^4.3.6" + browserslist "^4.22.2" + caniuse-lite "^1.0.30001578" + fraction.js "^4.3.7" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" @@ -3496,14 +3496,14 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.21.10, browserslist@^4.21.9: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== +browserslist@^4.21.9, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" update-browserslist-db "^1.0.13" buble-jsx-only@^0.19.8: @@ -3687,10 +3687,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: - version "1.0.30001547" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz#d4f92efc488aab3c7f92c738d3977c2a3180472b" - integrity sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA== +caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578: + version "1.0.30001578" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001578.tgz#11741580434ce60aae4b4a9abee9f9f8d7bf5be5" + integrity sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg== ccount@^2.0.0: version "2.0.1" @@ -5094,10 +5094,10 @@ ejs@^3.1.7: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.535: - version "1.4.553" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.553.tgz#56fd65afddbd713c52f0e95d0223b3368f520865" - integrity sha512-HiRdtyKS2+VhiXvjhMvvxiMC33FJJqTA5EB2YHgFZW6v7HkK4Q9Ahv2V7O2ZPgAjw+MyCJVMQvigj13H8t+wvA== +electron-to-chromium@^1.4.601: + version "1.4.637" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.637.tgz#ed8775cf5e0c380c3e8452e9818a0e4b7a671ac4" + integrity sha512-G7j3UCOukFtxVO1vWrPQUoDk3kL70mtvjc/DC/k2o7lE0wAdq+Vwp1ipagOow+BH0uVztFysLWbkM/RTIrbK3w== elkjs@^0.9.0: version "0.9.1" @@ -6179,7 +6179,7 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.3.6: +fraction.js@^4.3.7: version "4.3.7" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== @@ -10273,10 +10273,10 @@ node-preload@^0.2.1: dependencies: process-on-spawn "^1.0.0" -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== nodemon@3.0.3: version "3.0.3" From e8558191a78a3c1c48d4e37bf4b6903fb5b11604 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 04:42:58 +0000 Subject: [PATCH 0098/1313] build(deps-dev): bump prettier from 3.2.3 to 3.2.4 Bumps [prettier](https://github.com/prettier/prettier) from 3.2.3 to 3.2.4. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.2.3...3.2.4) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8dff205d746..825064bf96b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11392,9 +11392,9 @@ prettier@^2: integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== prettier@^3.0.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.3.tgz#98501d99141a9a10d5ceaf74cf39c8b7cbddd380" - integrity sha512-QNhUTBq+mqt1oH1dTfY3phOKNhcDdJkfttHI6u0kj7M2+c+7fmNKlgh2GhnHiqMcbxJ+a0j2igz/2jfl9QKLuw== + version "3.2.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.4.tgz#4723cadeac2ce7c9227de758e5ff9b14e075f283" + integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== pretty-format@^29.7.0: version "29.7.0" From 8dc726005cb294721023459198d50ea35c5b2a4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 04:44:40 +0000 Subject: [PATCH 0099/1313] build(deps-dev): bump pretty-quick from 3.1.3 to 4.0.0 Bumps [pretty-quick](https://github.com/prettier/pretty-quick) from 3.1.3 to 4.0.0. - [Release notes](https://github.com/prettier/pretty-quick/releases) - [Changelog](https://github.com/prettier/pretty-quick/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/pretty-quick/compare/v3.1.3...v4.0.0) --- updated-dependencies: - dependency-name: pretty-quick dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 88 ++++++++++++++-------------------------------------- 2 files changed, 25 insertions(+), 65 deletions(-) diff --git a/package.json b/package.json index b23e892d98b..51ff7cea418 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "mustache": "^4.0.1", "nyc": "^15.1.0", "prettier": "^3.0.0", - "pretty-quick": "^3.0.0", + "pretty-quick": "^4.0.0", "prop-types": "^15.7.2", "react": "^18.2.0", "rimraf": "^5.0.0", diff --git a/yarn.lock b/yarn.lock index 8dff205d746..5a1d9c6f1d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3762,14 +3762,6 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -5829,22 +5821,7 @@ execa@8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.0.0: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -6343,13 +6320,6 @@ get-stream@6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -7158,11 +7128,6 @@ https-proxy-agent@^7.0.1: agent-base "^7.0.2" debug "4" -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -7242,10 +7207,10 @@ ignore-walk@^6.0.4: dependencies: minimatch "^9.0.0" -ignore@^5.0.4, ignore@^5.1.1, ignore@^5.1.4, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +ignore@^5.0.4, ignore@^5.1.1, ignore@^5.2.0, ignore@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" @@ -10077,7 +10042,7 @@ modify-values@^1.0.1: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -mri@^1.1.0, mri@^1.1.5: +mri@^1.1.0, mri@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== @@ -10113,17 +10078,6 @@ multimatch@5.0.0: arrify "^2.0.1" minimatch "^3.0.4" -multimatch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" - integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - mustache@4.2.0, mustache@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" @@ -10476,7 +10430,7 @@ npm-registry-fetch@^16.0.0: npm-package-arg "^11.0.0" proc-log "^3.0.0" -npm-run-path@^4.0.0, npm-run-path@^4.0.1: +npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -11189,6 +11143,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" + integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== + pidtree@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" @@ -11405,17 +11364,18 @@ pretty-format@^29.7.0: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-quick@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.3.tgz#15281108c0ddf446675157ca40240099157b638e" - integrity sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA== +pretty-quick@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-4.0.0.tgz#ea5cce85a5804bfbec7327b0e064509155d03f39" + integrity sha512-M+2MmeufXb/M7Xw3Afh1gxcYpj+sK0AxEfnfF958ktFeAyi5MsKY5brymVURQLgPLV1QaF5P4pb2oFJ54H3yzQ== dependencies: - chalk "^3.0.0" - execa "^4.0.0" - find-up "^4.1.0" - ignore "^5.1.4" - mri "^1.1.5" - multimatch "^4.0.0" + execa "^5.1.1" + find-up "^5.0.0" + ignore "^5.3.0" + mri "^1.2.0" + picocolors "^1.0.0" + picomatch "^3.0.1" + tslib "^2.6.2" prisma@5.8.1: version "5.8.1" @@ -13487,7 +13447,7 @@ tslib@^1.11.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: +tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== From c5c5ce54bf10bca441d850f2828f8462d70e8668 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 18 Jan 2024 11:16:38 -0800 Subject: [PATCH 0100/1313] fix(markdown): Typo in Florent cutting instructions --- markdown/org/docs/designs/florent/cutting/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/en.md b/markdown/org/docs/designs/florent/cutting/en.md index b2fa3f71a17..b3516f747ef 100644 --- a/markdown/org/docs/designs/florent/cutting/en.md +++ b/markdown/org/docs/designs/florent/cutting/en.md @@ -2,7 +2,7 @@ title: "Florent flat cap: Cutting Instructions" --- -To make Floren, cut out the following parts: +To make Florent, cut out the following parts: - **Main fabric** - Cut **1 top** on the fold but don't include the center seam allowance, or **2 top** with the center seam allowance. From 6cd71c48f87f155281023c440b18c89c4e55a663 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:30:44 +0100 Subject: [PATCH 0101/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hortensia/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/nl.md b/markdown/org/docs/designs/hortensia/nl.md index 8d95bcf6a2d..f03e283fddc 100644 --- a/markdown/org/docs/designs/hortensia/nl.md +++ b/markdown/org/docs/designs/hortensia/nl.md @@ -2,9 +2,9 @@ title: "Hortensia handtas" --- -Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +Hortensia is ontworpen door @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. Ze had geen programmeerervaring en ik bood mijn tijd aan. -The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can finish the seams with a bias tape. +Het ontwerp is goed uitgedacht en is gebaseerd op de Gouden Regel. It can be sized up and down to fit your exact needs. De constructie is wat pietluttig, aangezien het gebogen naden heeft. It can be lined, or you can finish the seams with a bias tape. Wouter From 66d103df4d6799bc872cf1f2dc14116c022063f9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:32:26 +0100 Subject: [PATCH 0102/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lucy/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/fabric/nl.md b/markdown/org/docs/designs/lucy/fabric/nl.md index d38b0eff69a..66cb528742f 100644 --- a/markdown/org/docs/designs/lucy/fabric/nl.md +++ b/markdown/org/docs/designs/lucy/fabric/nl.md @@ -2,4 +2,4 @@ title: "Lucy: Fabric" --- -Any fabric can be used to make Lucy, but if the fabric you are using is very light or sheer you may want to add a lining to both pocket pieces. +Elke stof kan gebruikt worden om Lucy te maken, maar als de stof erg licht of doorzichtig is, is het handig om een voering toe te voegen aan beide zakken. From e07a3a2602eb196a39ca4415294e94d63eb95b75 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:32:27 +0100 Subject: [PATCH 0103/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lucy/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lucy/instructions/nl.md b/markdown/org/docs/designs/lucy/instructions/nl.md index 6711a144369..e89f2e5f163 100644 --- a/markdown/org/docs/designs/lucy/instructions/nl.md +++ b/markdown/org/docs/designs/lucy/instructions/nl.md @@ -22,9 +22,9 @@ Als je wilt, kun je de buitenranden van de zak aan elkaar _french seam_ naaien. ## bind the top and thread a tie through the binding -Er zijn twee methoden om de bovenrand in te binden. One is to create a loop and the other is to bind with the ties. Lees beide methoden zorgvuldig door en beslis welke je wilt gebruiken. +Er zijn twee methoden om de bovenrand in te binden. Een is om een lus te maken en de ander is om te binden met de banden. Lees beide methoden zorgvuldig door en beslis welke je wilt gebruiken. -### Create a loop +### Maak een lus - Knip een stuk bies in de lengte van de bovenrand + naadtoeslag. - Vouw de korte randen van de biezen om en naai vast. From 2a2b4bcbac06502536ffed6aa12658f468686611 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:40 +0100 Subject: [PATCH 0104/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/ankle/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/ankle/nl.md b/markdown/org/docs/measurements/ankle/nl.md index 57649b2445d..261a22ac771 100644 --- a/markdown/org/docs/measurements/ankle/nl.md +++ b/markdown/org/docs/measurements/ankle/nl.md @@ -4,5 +4,5 @@ title: Omtrek Enkel De **omtrek van de enkel** gaat rond je enkel heen. -To measure your ankle circumference, run the tape measure around your leg, just above your ankle. +Om de omtrek van je enkel op te meten, wikkel je het meetlint om je been heen, net boven je enkel. From 3bad751adbfb78eaf724e835898b74069a083def Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:43 +0100 Subject: [PATCH 0105/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/bustpointtounderbust/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustpointtounderbust/nl.md b/markdown/org/docs/measurements/bustpointtounderbust/nl.md index c52dc0fe5e4..f46a715f158 100644 --- a/markdown/org/docs/measurements/bustpointtounderbust/nl.md +++ b/markdown/org/docs/measurements/bustpointtounderbust/nl.md @@ -4,5 +4,5 @@ title: Bustpunt tot onderbuste De meting **bustepunt tot onderborst** is de afstand van je bustepunt/nippel tot je onderborst. -It's the distance an ant would have to walk to go from your bust point/nipple straight down to where your breast meets your torso. +Het is de afstand die een mier zou moeten lopen van je borstpunt/tepel recht naar beneden, naar waar je borst samenkomt met je romp. From ce8470f0a07202adce5e29bada3349256f9341f1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:44 +0100 Subject: [PATCH 0106/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/bustspan/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustspan/nl.md b/markdown/org/docs/measurements/bustspan/nl.md index 46039c8319a..faf8f5e3089 100644 --- a/markdown/org/docs/measurements/bustspan/nl.md +++ b/markdown/org/docs/measurements/bustspan/nl.md @@ -4,5 +4,5 @@ title: Bustewijdte De **bustewijdte** is de horizontale afstand tussen de toppen van de buste. -To measure your bust span, run the tape measure horizontally in a straight line from the tip of your one breast to the tip of the other. +Om je borstwijdte op te meten, houd je het meetlint horizontaal in een rechte lijn van een punt van de borst naar het punt van de ander. From d48c92f1d1e2b9fe9020b6cd2d8a40ea9d645c62 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:46 +0100 Subject: [PATCH 0107/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/crossseamfront/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/crossseamfront/nl.md b/markdown/org/docs/measurements/crossseamfront/nl.md index c8dcd1682e3..d78c0d588a2 100644 --- a/markdown/org/docs/measurements/crossseamfront/nl.md +++ b/markdown/org/docs/measurements/crossseamfront/nl.md @@ -8,5 +8,5 @@ Om je **kruisnaad vooraan** te meten knoop je een koordje rond je taille. Then, - Waar de naden van een strakke broek elkaar zouden kruisen - Aan de basis van je scrotum -- Somewhere towards the front of your perineum +- Naar ergens voor je perineum From cd52f3a09ebd19d2e66f6b9b5c62b33e6a849d78 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:47 +0100 Subject: [PATCH 0108/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/crotchdepth/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/crotchdepth/nl.md b/markdown/org/docs/measurements/crotchdepth/nl.md index 1563db42610..103f143505f 100644 --- a/markdown/org/docs/measurements/crotchdepth/nl.md +++ b/markdown/org/docs/measurements/crotchdepth/nl.md @@ -4,5 +4,5 @@ title: Diepte kruis Demaar voor **diepte kruis** is de hoogte van je taille in relatie tot het oppervlak waar je op zit. -To measure your crotch depth, sit straight on a flat chair or table, and measure from waist line down to the chair/table. +Om de diepte van je kruis op te meten ga je rechtop zitten op een platte stoel of tafel en meet je van de taille naar beneden tot de stoel/tafel. From 2e5974c481d4f769fa0dd9a5539aef8f3da721da Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:49 +0100 Subject: [PATCH 0109/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/head/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/head/nl.md b/markdown/org/docs/measurements/head/nl.md index 5b37d9c1c7b..33f640ee5c1 100644 --- a/markdown/org/docs/measurements/head/nl.md +++ b/markdown/org/docs/measurements/head/nl.md @@ -4,5 +4,5 @@ title: Hoofdomtrek De **hoofdomtrek** is de omtrek van het breedste deel van je hoofd. -To measure your head circumference, wrap the tape measure around your head at the height of your forehead. +Om de omtrek van je hoofd op te meten, wikkel je het meetlint om je hoofd heen op de hoogte van je voorhoofd. From 57378bf90f54f274aefda8c4d4b9c62bbb0e1699 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:38:50 +0100 Subject: [PATCH 0110/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/heel/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/heel/nl.md b/markdown/org/docs/measurements/heel/nl.md index 2570e02793c..e9b43e217d2 100644 --- a/markdown/org/docs/measurements/heel/nl.md +++ b/markdown/org/docs/measurements/heel/nl.md @@ -4,5 +4,5 @@ title: Omtrek Hiel De **hellomtrek** maat is de smalste maat die een broekspijp kan hebben zodat je er nog aan toe kunt komen. -To measure your heel circumference, stretch your foot forward, and run the tape measure around your foot at the widest part of your heel. +Om de omtrek van je hiel op te meten, strek je je voet uit en wikkel je het meetlint om je voet heen, rond het breedste deel van je hiel. From 40f15bdca000a6b67d7a8ae976e7c08986d368a6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:39:05 +0100 Subject: [PATCH 0111/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/waisttofloor/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/waisttofloor/nl.md b/markdown/org/docs/measurements/waisttofloor/nl.md index 51c56d2fd81..a28137a9008 100644 --- a/markdown/org/docs/measurements/waisttofloor/nl.md +++ b/markdown/org/docs/measurements/waisttofloor/nl.md @@ -6,5 +6,5 @@ De afmeting **taille tot vloer ** is de afstand van je natuurlijke taille tot aa Om de maat te nemen van je taille tot de vloer bepaal je de hoogte van je taille, en meet je hoe ver dit punt van de vloer is. -It is often easiest to measure at the side of your body. +Het is vaak het makkelijkst om aan de zijkant van je lichaam te meten. From d5e647f6bfb379592e219fc73489b8ebccef5657 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:07 +0100 Subject: [PATCH 0112/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/workbench/nl.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/sites/shared/components/workbench/nl.yaml b/sites/shared/components/workbench/nl.yaml index ede4ca932de..702e2737587 100644 --- a/sites/shared/components/workbench/nl.yaml +++ b/sites/shared/components/workbench/nl.yaml @@ -19,7 +19,7 @@ chooseFromCuratedSetsDesc: Als je ons platform gewoon wilt uitproberen, kun je k chooseFromOwnSets: Kies een van je eigen meetsets chooseFromOwnSetsDesc: Kies een van je eigen meetsets die alle vereiste afmetingen heeft om dit patroon te genereren. chooseNewSet: Kies een nieuwe meetset -clearTimingData: Clear timing data +clearTimingData: Timing gegevens leegmaken closure: Sluiting collar: Kraag columns: kolommen @@ -42,7 +42,7 @@ editCurrentMeasiesHeader: Patroonmetingen bewerken editMeasiesByHand: Metingen met de hand bewerken editMeasiesByHandDesc: Handmatig metingen instellen of overschrijven. Deze wijzigingen zijn alleen van toepassing op het huidige patroon. editSettings: Configuratie bewerken -editSettingsByHand: Edit settings by hand +editSettingsByHand: Instellingen handmatig aanpassen elastic: Elastiek export: Exporteren exporting: Exporting @@ -83,7 +83,7 @@ partTransfoYes: Knoppen weergeven partTransfoYesDesc: Neem deze knoppen op in de patroonuitvoer (ze worden niet afgedrukt) pathInfo: Pad info patternBookmarkCreated: Patroonbladwijzer gemaakt -patternEditor: Pattern Editor +patternEditor: Patroon Bewerker patternInspector: Patroon Inspecteur patternLogs: Patroon logboeken patternSaved: Patroon opgeslagen @@ -110,7 +110,7 @@ showOnlyThisPart: Laat alleen dit patroondeel zien sleevecap: Mouwkop style: Stijl test: Test -testDesign: Test Design +testDesign: Test Ontwerp testDesignMeasurement: "Test {design} metingen: {measurement}" testDesignOption: "Test {design} ontwerpopties: {option}" testDesignSets: "Test {design} over meetsets heen" @@ -121,7 +121,7 @@ testOptionsDesc: Test hoe het ontwerp zich aanpast aan veranderingen in een spec testPattern: Testpatroon testSets: Test meetsets testSetsDesc: Test hoe het ontwerp zich aanpast aan verschillende meetsets -timeDesign: Time Design +timeDesign: Tijd Ontwerp topLeft: Linksboven weLackSomeMeasies: We missen { nr } metingen om dit patroon te maken whereToGoAfterSaveAs: Wat wil je doen nadat je het nieuwe patroon hebt opgeslagen? @@ -133,9 +133,9 @@ yamlEditViewTitleThing: 'Patroonconfiguratie bewerken voor {thing}' youCanPickOrEnter: Je kunt een meetset kiezen of ze met de hand invoeren, maar zonder deze metingen kunnen we niet verder. youUseCustomValue: Je gebruikt de standaardwaarde youUseDefaultValue: Je gebruikt een aangepaste waarde -veryFast: Very fast -fast: Fast -average: Average -slow: Slow -verySlow: Very slow -tooSlow: Too slow +veryFast: Heel snel +fast: Snel +average: Gemiddeld +slow: Langzaam +verySlow: Heel langzaam +tooSlow: Te langzaam From 48bc3d482a99c5415f39a69b4d10bcce146d4d63 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:18 +0100 Subject: [PATCH 0113/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/support/nl.yaml | 46 +++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/sites/shared/i18n/support/nl.yaml b/sites/shared/i18n/support/nl.yaml index 4b2c2665f11..696f6bed93e 100644 --- a/sites/shared/i18n/support/nl.yaml +++ b/sites/shared/i18n/support/nl.yaml @@ -1,13 +1,13 @@ -accountIssue: Account problem -accountIssueDesc: Do you have trouble with your FreeSewing account? -addImage: Add an image -allOk: Everything is awesome +accountIssue: Account probleem +accountIssueDesc: Heb je problemen met je FreeSewing account? +addImage: Voeg een afbeelding toe +allOk: Alles is geweldig by: door -bugReport: Report a bug -bugReportDesc: Is something broken, or not working as expected? -confirmedIssues: Confirmed issues -createSupportRequest: Create a support request -commentAdded: Comment added +bugReport: Meld een fout +bugReportDesc: Is er iets kapot, of werkt het niet zoals het moet? +confirmedIssues: Bevestigde problemen +createSupportRequest: Maak een hulpverzoek aan +commentAdded: Opmerking toegevoegd communitySupport: Gemeenschapssteun communitySupport1: Voor het snelste antwoord ga je naar discord.freesewing.org en stel je je vraag in het Support kanaal. communitySupport2: De FreeSewing gemeenschap is een behulpzame groep, dus de kans is groot dat ze je kunnen helpen. @@ -15,21 +15,21 @@ contributorSupport: Ondersteuning voor medewerkers contributorSupport1: Als er iets kapot is of je hebt een bug gevonden, dan kun je een issue aanmaken op GitHub. contributorSupport2: Kwesties zullen eerder de aandacht trekken van de belangrijkste medewerkers, maar het duurt meestal langer om een reactie te krijgen. description: Beschrijving -descriptionDocs1: This is where you can describe the issue +descriptionDocs1: Hier kan je het probleem beschrijven design: Ontwerp -designDocs1: Pick the FreeSewing design this issue applies to -designIssue: Report an issue with a FreeSewing Design -designIssueDesc: Are you having trouble with a FreeSewing design or the pattern you are generating from it? -docsUpdate: Documentation update -docsUpdateDesc: Is there something to be improved about our documentation? -featureRequest: Feature request -featureRequestDesc: Is there something you would like to see happen or implemented? -howCanWeSupportYou: How can we support you? -howCanYouSupportFreeSewing: How can you support FreeSewing? -issueAssigned: Issue assigned -issueClosed: Issue closed -issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +designDocs1: Kies bij welk FreeSewing ontwerp dit probleem van toepassing is +designIssue: Een probleem met een FreeSewing ontwerp melden +designIssueDesc: Heb je problemen met een FreeSewing ontwerp of het patroon dat je ermee genereert? +docsUpdate: Documentatie update +docsUpdateDesc: Is er iets wat verbeterd kan worden aan onze documentatie? +featureRequest: Functie verzoek +featureRequestDesc: Is er iets wat je graag zou zien gebeuren of geïmplementeerd worden? +howCanWeSupportYou: Hoe kunnen we je helpen? +howCanYouSupportFreeSewing: Hoe kun je FreeSewing steunen? +issueAssigned: Probleem toegewezen +issueClosed: Probleem gesloten +issueReferenced: Probleem verwezen +issueReopened: Probleem heropend maintainerSupport: Ondersteuning voor beheerders maintainerSupport1: Als je een FreeSewing patronbent, kun je meteen naar boven gaan en rechtstreeks contact opnemen met Joost. maintainerSupport2: Hoewel Joost verzoeken van klanten met prioriteit behandelt, heeft hij ook slaap nodig. Houd daar dus rekening mee, vooral als je in een andere tijdzone bent. From 3a47ee447482b175ee7f62b02da6721d2fb054a7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:52 +0100 Subject: [PATCH 0114/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lunetius/notes/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/lunetius/notes/nl.md b/markdown/org/docs/designs/lunetius/notes/nl.md index bdde8915f02..83cb5d10f76 100644 --- a/markdown/org/docs/designs/lunetius/notes/nl.md +++ b/markdown/org/docs/designs/lunetius/notes/nl.md @@ -2,15 +2,15 @@ title: "Lunetius Lacerna: Opmerkingen van de ontwerper" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) -Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Waarom? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. +Lunetius de lacerna is het patroon dat de meeste naamsveranderingen en iteraties heeft gehad achter de schermen. Waarom? Omdat ik tegenstrijdige informatie vond in secundaire literatuur over hoe dit type mantel genoemd werd en wie het wanneer droeg. -To start at the beginning, I wanted a cloak that goes with the rest of my costume for my TTRPG character, a kind-of fantasy Roman. I knew it had to be red, but apart from that I wasn't really sure what I wanted. So I started reading up on cloaks in the Roman military. While this may sound like an easy task, there was no real standardised "uniform" for Roman soldiers, contrary to common belief. It also really depends on the timeframe you're looking at, "Roman" can mean anything from the days of kings to the late republic to the late empire, a timespan of a few hundred years. Things change. After narrowing the type of cloak I wanted down to a *sagum* or a *lacerna*, I went back and forth between them, because I could not find reliable information on them. First, the *sagum* seemed like the safer choice, because many historical reenactment sites referred to it, but digging a little deeper revealed that most of them linked to the same source (if they linked to a source at all), that appeared a bit questionable. That was when I abandoned the internet search and went to the university library, borrowing a stack of academic books on the subject. Those were very interesting reads! After finding more references for a *lacerna* in them then for a *sagum*, I went for the *lacerna*. Then I only had to agonise a bit over the exact shape of curve I wanted while looking at stone reliefs. +Om bij het begin te beginnen, ik wilde een mantel die zou passen bij de rest van mijn kostuum voor mijn TTRPG karakter, fantasieachtig Romeins. Ik wist dat het rood moest zijn, maar daarbuiten wist ik niet zeker wat ik wilde. Dus ik begon bij te lezen over mantels in het Romeinse leger. Alhoewel dit makkelijk klinkt, was er geen gestandaardiseerd "uniform" voor Romeinse soldaten, in tegenstelling tot wat er vaak gedacht wordt. Het hangt ook echt af van het tijdsbestek waar je naar kijkt, "Romeins" kan van alles betekenen, van de dagen der koningen tot de late republiek tot het late keizerrijk, een tijdsbestek van een paar honderd jaar. Dingen veranderen. Na het beperken van het type mantel dat ik wilde tot een *sagum* of een *lacerna*, ging ik heen en weer tussen de twee, omdat ik er geen betrouwbare informatie over kon vinden. Eerst leek de *sagum* de veiligste keuze, omdat veel historische reconstructie plekken ernaar verwezen, maar als je wat dieper graaft, zie je dat de meeste verwijzen naar dezelfde bron (als ze überhaupt verwezen naar een bron), die wat twijfelachtig leek. Dat was het moment waarop ik het zoeken op internet opgaf en naar de universiteitsbibliotheek ging om een stapel academische boeken over het onderwerp te lenen. Dat waren heel interessante dingen om te lezen! Nadat ik meer in bronnen voor een *lacerna* had gevonden dan voor een *sagum*, ging ik voor de *lacerna*. Toen hoefde ik alleen maar een beetje te worstelen met welke vorm kromming die ik wilde terwijl ik naar stenen reliëfs keek. -Coding the pattern was the easiest part of the whole process. +Het patroon programmeren was het makkelijkste deel van het hele proces. -Oh, and why the name `lunetius`? Well, that actually is the name of the character I made this whole outfit for. And yes, he has a special relationship with the moon. +Oh en waarom de naam `lunetius`? Nou, dat is eigenlijk de naam van het karakter waarvoor ik het patroon maakte. En ja, hij heeft een speciale verbinding met de maan. Rika From eaa61fc0ec754c88e5689f885174c6c79f346e53 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:53 +0100 Subject: [PATCH 0115/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/noble/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/noble/notes/nl.md b/markdown/org/docs/designs/noble/notes/nl.md index 593dabaf383..1e61f49ffd8 100644 --- a/markdown/org/docs/designs/noble/notes/nl.md +++ b/markdown/org/docs/designs/noble/notes/nl.md @@ -2,9 +2,9 @@ title: "Edel lijfblok: Opmerkingen ontwerper" --- -Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. +Noble is een ontwerp voor een blok met prins(es) naden in plaats van darts. Het is gebaseerd op `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. +Dit is niet bedoeld om zo te maken, maar alleen om andere ontwerpen op te baseren. This is also why I made it. Ik wilde een jas maken en daarvoor had ik een blok nodig met prins(es) naden. So I made that first, and the coat would come later. Wouter From 571a400f074f23a9cf304963969c9831fea88fd1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:54 +0100 Subject: [PATCH 0116/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/octoplushy/notes/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/nl.md b/markdown/org/docs/designs/octoplushy/notes/nl.md index 91d48d6c552..fd66fd83a72 100644 --- a/markdown/org/docs/designs/octoplushy/notes/nl.md +++ b/markdown/org/docs/designs/octoplushy/notes/nl.md @@ -2,12 +2,12 @@ title: "Octoplushy, de pluchen octopus: Ontwerpnotities" --- -Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. +Octoplushy. Dit is een van die ontwerpen die geen uitleg nodig hebben. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Waar dat vandaan kwam, weet ik niet. But with that name, I could not ignore what I was apparently destined to work on next. -A plushy octopus. With a cute name. That had to become something very cuddly. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. It worked out fine. +Een knuffel octopus. Met een schattige naam. Het moest iets heel knuffeligs worden. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. Het is prima gelukt. -Then I decided that a more anatomically correct version should also be possible, just by tweaking the parameters somewhat, and moving the eyes down. And I figured I could then not forget the squid cousin too. So it turned into three designs in one. +Then I decided that a more anatomically correct version should also be possible, just by tweaking the parameters somewhat, and moving the eyes down. En ik dacht dat ik dan de inktvis neef ook niet kon vergeten. Het werden dus drie ontwerpen in één. -Have fun making them. They're not hard to sew, but not easy to fill. +Veel plezier met het maken ervan. Ze zijn niet moeilijk te naaien, maar niet makkelijk om op te vullen. Wouter From 41526e83d19a9c0b2b93f4c541bd896c7207b6ea Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:43:56 +0100 Subject: [PATCH 0117/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/penelope/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/notes/nl.md b/markdown/org/docs/designs/penelope/notes/nl.md index 7b254f4c04b..2a2969de1f1 100644 --- a/markdown/org/docs/designs/penelope/notes/nl.md +++ b/markdown/org/docs/designs/penelope/notes/nl.md @@ -2,7 +2,7 @@ title: "Penelope kokerrok: Ontwerpnotities" --- -Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the apropriate thing to do. I found a drafting method online and made het a skirt. This fitted remarkably well. +Penelope is het eerste kledingstuk dat ik voor iemand anders heb gemaakt. I just met my partner after figuring out that I like to sew. Dus natuurlijk wilde ik iets voor haar naaien. A pencil skirt seemed like the apropriate thing to do. Ik vond online een tekenmethode en maakte een rok voor haar. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. From 4b611b1ba1d8fd9da6acf03bf06159f117cef847 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:44:02 +0100 Subject: [PATCH 0118/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/tiberius/notes/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/nl.md b/markdown/org/docs/designs/tiberius/notes/nl.md index 7d2cdf51399..4c02371f513 100644 --- a/markdown/org/docs/designs/tiberius/notes/nl.md +++ b/markdown/org/docs/designs/tiberius/notes/nl.md @@ -2,11 +2,11 @@ title: "Tiberius Tunica: Ontwerpnotities" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) -Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +Tiberius was de eerste van het stel, en ook de eenvoudigste: een eenvoudige, mooie *tunica*, geïnspireerd op de tunieken die de Romeinen droegen in de late republiek, het vroege keizerrijk (ik kan je vertellen dat ik heel wat bronnen heb gelezen en foto's van beelden en reliëfs heb bekeken om erachter te komen "hoe lang moet hij zijn?"). Dit was een kledingstuk dat ik wilde maken als onderdeel van een kostuum voor mijn TTRPG (een tafelblad rollenspel) personage, die fantasieachtig Romeins is. Tijdens het opschrijven van mijn afmetingen om de *tunica* te maken, realiseerde ik me dat dit zo'n eenvoudig parametrisch ontwerp was dat het voor mij een manier kon zijn om het programmeerdeel van FreeSewing uit te proberen. En dat deed ik dus. Ook al is het "maar" een rechthoek, toch heb ik geprobeerd er achter de schermen wat dingen in te stoppen (naden?), wat faalchecks om ervoor te zorgen dat het een draagbaar kledingstuk oplevert. Omdat het maar een rechthoek is, is er niet veel speelruimte voor de pasvorm, waardoor het lekker makkelijk is, maar ook een uitdaging als je een bepaalde look wilt bereiken (de lengte van de ogenschijnlijke "mouwen", bijvoorbeeld). Een enigszins verborgen functie is de mogelijkheid om positiemarkeringen toe te voegen voor *clavi*, kleurstroken op de *tunica* om rang en/of klasse aan te geven. Heel fascinerend, -The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. +De naam is trouwens ontleend aan James T. Kirk, die gelukkig ouders had die blijkbaar van een aantal discutabele Romeinse keizers hielden. Rika From 727ea33c69ed23e12811882403c1d0df3f525c74 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:44:05 +0100 Subject: [PATCH 0119/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/walburga/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/walburga/notes/nl.md b/markdown/org/docs/designs/walburga/notes/nl.md index b4091f87bd1..b4e430876b1 100644 --- a/markdown/org/docs/designs/walburga/notes/nl.md +++ b/markdown/org/docs/designs/walburga/notes/nl.md @@ -2,9 +2,9 @@ title: "Walburga Wappenrock: Ontwerpers" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) -Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. +Walburga is de vreemde van de drie patronen, omdat het nog steeds "historisch geïnspireerd" is, maar eigenlijk geen echt historisch kledingstuk volgt. Het is gebaseerd op tabbaarden ("Wappenrock" in het Duits, vandaar de naam die met een W begint), met de hand geplaatst in een West-Europese setting uit de Middeleeuwen. To be honest, it is inspired more by the Legend of Zelda than anything real. I created this pattern because I needed something for my TTRPG character, basically a fantasy Roman, to display his heraldics on, and since I could not find anything in the literature about Romans doing this in a reliably documented way, I went the "it's all fantasy anyway"-route. (And I had a weird fascination with tabards as a kid, so it was a natural fit.) From 85b4917aa3d678b8b1a1a9705d4ea7986bc5678c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:45:52 +0100 Subject: [PATCH 0120/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/skully/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/instructions/nl.md b/markdown/org/docs/designs/skully/instructions/nl.md index 02a47a8315b..6abf68c0255 100644 --- a/markdown/org/docs/designs/skully/instructions/nl.md +++ b/markdown/org/docs/designs/skully/instructions/nl.md @@ -72,7 +72,7 @@ Sewing the next seam is challenging. You will first be sewing a normal seam betw the dashed line (14) on the upperMouth (7) part. Rijgen of veel spelden zijn je vriend. And make sure you first visualize how this will get together before doing the final sewing. -Seam 14: Sew the top of the lowerJaw (11) to the bottom of the upperMouth (7). This seam starts from the line marked ‘not sewn’ on the upperMouth. First you sew across the piece rather than sewing at the edge – see the dotted line on the pattern piece. Then the remaining part of the upperMouth is sewn onto the down-curved part of the lowerJaw (11). +Seam 14: Sew the top of the lowerJaw (11) to the bottom of the upperMouth (7). This seam starts from the line marked ‘not sewn’ on the upperMouth. First you sew across the piece rather than sewing at the edge – see the dotted line on the pattern piece. Dan wordt het resterende deel van de bovenmond aan het naar beneden gebogen deel van de onderkaak genaaid (11). Seam 15: Sew the lower edge of the lowerJaw (11) to the jawfloor (8) to form the base of the whole skull. From a7ece7af13a9ea3b31302ce4e02ad9bcafdc4cdf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:45:55 +0100 Subject: [PATCH 0121/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/skully/notes/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/skully/notes/nl.md b/markdown/org/docs/designs/skully/notes/nl.md index c57c7197ede..d8afd3fb0fb 100644 --- a/markdown/org/docs/designs/skully/notes/nl.md +++ b/markdown/org/docs/designs/skully/notes/nl.md @@ -2,19 +2,19 @@ title: "Skully: Opmerkingen van de ontwerper" --- -Version 3 of FreeSewing needed something special. We've had the Skully logo on all sorts of goodies. From measuring tapes to buttons, to cards. And Skully is all over the web site. +Versie 3 van FreeSewing had iets speciaals nodig. We've had the Skully logo on all sorts of goodies. Van meetlinten tot knopen tot kaarten. En Skully staat overal op de website. -But they are just a logo. There is no Skully you can pick up and hold. That is, until now. +Maar het is slechts een logo. Er is geen Skully die je kunt oppakken en vasthouden. Dat wil zeggen, tot nu. -I wanted to make a Skully in 3D and give it to Joost for all of his work on the new site. And I couldn't do that without making a sewing pattern for it too. So this was the goal. +Ik wilde een Skully in 3D maken en die aan Joost geven voor al zijn werk aan de nieuwe site. En dat kon ik niet doen zonder er ook een naaipatroon voor te maken. Dit was dus het doel. -I bought a plastic skull, a skull plushy (which I hated once I started looking at it more), and found a pattern for a skull. And I didn't like that pattern either. +I bought a plastic skull, a skull plushy (which I hated once I started looking at it more), and found a pattern for a skull. En ik vond dat patroon ook niet leuk. So what I ended up doing was taking paper, cutting it into pieces that were taped onto the plastic skull, and manipulated with darts and seams until I had something that looked somewhat like a skull. And with enough tweaking, I ended up with something that can be stuffed and maintain a shape that is a reasonable representation of Skully in 3D. The first real version that was not made for testing got decorated with hair, and together with a large needle was send to Belgium. After sitting at a Belgium customs office for 4 weeks, and some phone calls from me, urging them that it was not a thread to national security, it was delivered to Joost. -And now you too can make a Skully. +En nu kan jij ook een Skully maken. Wouter. From 8ce5c6cd66ac37820931b21b00ebb7ac286fc0f0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:02 +0100 Subject: [PATCH 0122/1313] New translations en.md (Dutch) skip-build --- markdown/org/blog/v3-umbrella-post/nl.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/blog/v3-umbrella-post/nl.md b/markdown/org/blog/v3-umbrella-post/nl.md index dfd3ca5d210..4f722ca616b 100644 --- a/markdown/org/blog/v3-umbrella-post/nl.md +++ b/markdown/org/blog/v3-umbrella-post/nl.md @@ -1,18 +1,18 @@ --- -title: "Everything about FreeSewing v3: Umbrella post" -caption: Multicolored Umbrella by Alexander Grey +title: "Alles over FreeSewing v3: Overkoepelende post" +caption: Veelkleurige paraplu van Alexander Grey date: 20231103 -intro: There's a flurry of news about FreeSewing v3, so here's an overview +intro: Er is een heleboel nieuws over FreeSewing v3, dus hier is een overzicht author: joost --- -There's a flurry of news and announcements about FreeSewing v3, so this _umbrella post_ gathers all of them into one place. +Er is een stortvloed aan nieuws en aankondigingen over FreeSewing v3, dus deze _overkoepelende post_ verzamelt het allemaal op één plek. -If you're looking for the best link to share regarding the v3 release and migration, this post is your best bet. +Als je op zoek bent naar de beste link om te delen over de v3 release en migratie, dan is dit bericht je beste kans. -##### FreeSewing is now pay-what-you-want +##### FreeSewing is nu betaal-wat-je-wil -[This post outlines the reasoning behind FreeSewing's new pricing](/blog/freesewing-is-now-pay-what-you-want) +[Dit bericht beschrijft de redenering achter de nieuwe prijsstelling van FreeSewing](/blog/freesewing-is-nu-betaal-wat-je-wilt) ##### Welkom op de nieuwe FreeSewing.org site, mogelijk gemaakt door v3 From 6a77e421d2cb57f79be508ca62bb8598ae93feda Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:04 +0100 Subject: [PATCH 0123/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/otis/notes/nl.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/otis/notes/nl.md b/markdown/org/docs/designs/otis/notes/nl.md index 0448007e997..68b83757f46 100644 --- a/markdown/org/docs/designs/otis/notes/nl.md +++ b/markdown/org/docs/designs/otis/notes/nl.md @@ -1,19 +1,18 @@ --- -title: "Otis romper: Designer Notes" +title: "Otis romper: Ontwerper Notities" --- -When my niece had a baby, I knew just what to do; sew her some clothes for the little one. And I -had never made any clothes for infants. What they should look like was easy. I had kids of my own -years ago, and the one-piece things should be easy to make. +Toen mijn nichtje een baby kreeg, wist ik precies wat ik moest doen: kleertjes naaien voor de kleine. En ik +had nog nooit kleertjes voor baby's gemaakt. Hoe ze eruit moesten zien was eenvoudig. Ik heb zelf jaren geleden kinderen gehad en die dingen uit één stuk moeten makkelijk te maken zijn. -What I did not have was a pattern. That meant that I should get one, or make one. That was not a hard -decision; FreeSewing was definitely lacking in the infant-focused designs. Infants have the nice -quality that while they are growing, they grow in each direction at the same pace. The only real -challenge is that their head is a lot bigger in proportion than older specimens. A normal shirt -with opening doesn't work. But there are easy solutions to that, and these are used by all +Wat ik niet had was een patroon. Dat betekende dat ik er een moest kopen, of maken. Dat was geen moeilijke +beslissing; FreeSewing miste absoluut ontwerpen voor baby's. Infants have the nice +quality that while they are growing, they grow in each direction at the same pace. De enige echte uitdaging +is dat hun hoofd in verhouding een stuk groter is dan dat van oudere exemplaren. Een normaal shirt +met opening werkt niet. But there are easy solutions to that, and these are used by all romper making manufacturers. -I incorporated the neck design with a simple body design, and a snap closure. Easy short or +Ik heb het halsontwerp gecombineerd met een eenvoudig lichaamsontwerp en een drukknoopsluiting. Easy short or long sleeves completed the design. According to my niece, they fit fine! From 09e08fe44c89b1b9796bf2ba6c8797e90ef992cd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:07 +0100 Subject: [PATCH 0124/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/cutting/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/lumira/cutting/nl.md b/markdown/org/docs/designs/lumira/cutting/nl.md index b754e1e49e3..325cdd1dba3 100644 --- a/markdown/org/docs/designs/lumira/cutting/nl.md +++ b/markdown/org/docs/designs/lumira/cutting/nl.md @@ -1,13 +1,13 @@ --- -title: "Lumira leggings: Cutting Instructions" +title: "Lumira legging: Knip instructies" --- ### Materialen -- **Main fabric** - - Cut **2 leg** parts - - Cut **1 gusset** part on the fold +- **Voornaamste stof** + - Knip **2 been** delen + - Knip **1 inzet** deel op de vouw -Optionally +Eventueel - Cut **1 waistband** parts on the fold From f16758b8bae676cc9c45ea90aaa6ae364dadf1a2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:08 +0100 Subject: [PATCH 0125/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/fabric/nl.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/lumira/fabric/nl.md b/markdown/org/docs/designs/lumira/fabric/nl.md index 177a4f7cc42..9f8729931f9 100644 --- a/markdown/org/docs/designs/lumira/fabric/nl.md +++ b/markdown/org/docs/designs/lumira/fabric/nl.md @@ -1,22 +1,22 @@ --- -title: "Lumira leggings: Fabric Options" +title: "Lumira leggings: Stof opties" --- ### Hoofd stof -This pattern requires a stretch fabric. The stretch needs to be perpendicular to the grainline. There is no stretch required along -the grainline, but a 4-way stretch fabric can definitely be used. Not all stretch fabrics have the same amount of stretch. The default -ease value of -10% works well for fabrics that have 40% stretch. If your fabric has a different amount of stretch, you may want to adjust this setting accordingly. Reduce the ease when your fabric has more stretch. Getting the ease right is _very_ important for +Voor dit patroon heb je stretchstof nodig. De rek moet loodrecht op de draadrichting staan. There is no stretch required along +the grainline, but a 4-way stretch fabric can definitely be used. Niet alle stretchstoffen hebben evenveel stretch. The default +ease value of -10% works well for fabrics that have 40% stretch. If your fabric has a different amount of stretch, you may want to adjust this setting accordingly. Verminder de soepelheid als je stof meer rek heeft. Getting the ease right is _very_ important for getting a good fit. -These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support -and warmth. +Deze stoffen zijn er in verschillende gewichten. Kies er een die werkt voor de manier waarop je hem wilt gebruiken. Dikkere stoffen bieden meer ondersteuning +en warmte. -For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For -other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. +Neem voor een yoga broek iets van gemiddelde dikte. Supplex is hiervoor een goede keuze. Het werkt ook goed voor fietsen. Voor +een andere sport, gebruik stof die daar geschikt voor is. De meeste stoffen die spandex bevatten zijn goed. -This pattern doesn't have a side seam, so fabrics with interesting patterns will not be distorted. +Dit patroon heeft geen zijnaad, dus stoffen met interessante patronen worden niet vervormd. From d9110a846b65a3e9ea89b5ec1588f4cd4c5e1c1c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:10 +0100 Subject: [PATCH 0126/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/lumira/instructions/nl.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/nl.md b/markdown/org/docs/designs/lumira/instructions/nl.md index e3f6d2728c8..3e32fe1fb7d 100644 --- a/markdown/org/docs/designs/lumira/instructions/nl.md +++ b/markdown/org/docs/designs/lumira/instructions/nl.md @@ -1,11 +1,11 @@ --- -title: "Lumira leggings: Sewing Instructions" +title: "Lumira leggings: Naai instructies" --- -This is a garment made from a stretch fabric. So use appropriate seam solutions. A serger is a good way to do this, as -are specific stitches that certain sewing machine provide. A zigzag stitch will do if that's all you have. +Dit is een kledingstuk van stretchstof. Gebruik dus de geschikte naadoplossingen. A serger is a good way to do this, as +are specific stitches that certain sewing machine provide. Een zigzagsteek is voldoende als dat alles is wat je hebt. Keep in mind that since these seams are always under tension, it may be a good idea to double them up, or provide a zigzag in addition to serging the seam. @@ -15,47 +15,47 @@ provide a zigzag in addition to serging the seam. ### Stap 1: De voorzakken - Sew the two pieces to eachother, right sides together, along the top seam. -- Press the seam open -- Leg de ritsbeschermer op de rechterflap met de goede kanten tegen elkaar. This creates a loop. +- Strijk de naad open +- Leg de ritsbeschermer op de rechterflap met de goede kanten tegen elkaar. Dit maakt een lus. -If you want to include elastic into the waistband, now is a good time to do so. You should -add it to the seam you just sewed. +Als je elastiek in de tailleband wilt verwerken, is dit een goed moment om dat te doen. Je moet +het toevoegen aan de naad die je net hebt genaaid. ### Stap 2: De vlieg -- Sew each leg along the long seam to itself. This will result in two 'pipes' of your fabric. +- Naai elk been langs de lange naad aan zichzelf vast. Dit resulteert in twee 'pijpen' van je stof. -### Step 3: Combine +### Stap 3: Combineren -- Sew the two pieces together along the back seam. This seam is marked with '+'. +- Naai de twee delen langs de achternaad aan elkaar. Deze naad is gemarkeerd met '+'. ### Stap 4: Beenbanden -- If you have a front bulge in your gusset, sew the middle 'dart' closed first. -- If you do not have a front bulge, it is useful to sew the front seam closed. This seam is marked with '-'. +- Als je een zwelling aan de voorkant hebt, naai dan eerst de middelste 'dart' dicht. +- Als je geen zwelling aan de voorkant hebt, is het handig om de naad aan de voorkant dicht te naaien. Deze naad is gemarkeerd met '-'. ### Stap 5: Tailleband -If you do not have the large back gusset option, you just need to sew the little diamond shaped gusset -in the right spot. +Als je geen groot achterkruis hebt, hoef je alleen maar de kleine ruitvormige achterkant +op de juiste plek te naaien. -- Match all the notches of the gusset with the legs and seams. Be careful, since you'll be sewing a circle +- Breng alle inkepingen van het inzetstuk op één lijn met de benen en de naden. Be careful, since you'll be sewing a circle to an outline, and that is always tricky to get right. Use a lot of pins, or clips, to keep the fabrics aligned. -- Sew the seam from one side all the way to the other. +- Naai de naad van de ene kant helemaal naar de andere kant. ### Stap 6: Knoppen - Naai de achterpanden met de goede kanten op elkaar langs de achternaad. -- Sew all the way around, attaching the waistband to the legs. Naai het stuk tailleband met de goede kanten op elkaar aan de bovenkant van de benen. This seam will combine three layers, both layers of the waistband, and one layer of the leg +- Naai helemaal rondom en bevestig de tailleband aan de benen. Naai het stuk tailleband met de goede kanten op elkaar aan de bovenkant van de benen. This seam will combine three layers, both layers of the waistband, and one layer of the leg pieces. ### Stap 7: Geniet! -Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. +Nu kan je het elastiek aan de beenopeningen toevoegen. Of maak ze af zoals jij wilt. -Je bent allemaal klaar! Enjoy your Lumina leggings! +Je bent allemaal klaar! Veel plezier met je Lumina leggings! From 8dc0e8db6a462c3a43cfaf0cb65d8bd383b8221b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:10 +0100 Subject: [PATCH 0127/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/measurements/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lumira/measurements/nl.md b/markdown/org/docs/designs/lumira/measurements/nl.md index ba0ace22446..93985a452d4 100644 --- a/markdown/org/docs/designs/lumira/measurements/nl.md +++ b/markdown/org/docs/designs/lumira/measurements/nl.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Required Measurements" +title: "Lumira leggings: Benodigde afmetingen" --- From fa2c5506b3914764e6e541c3ce44565e8ed3a805 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:12 +0100 Subject: [PATCH 0128/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/needs/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/lumira/needs/nl.md b/markdown/org/docs/designs/lumira/needs/nl.md index 2e2a7f5c864..9a5c23e0946 100644 --- a/markdown/org/docs/designs/lumira/needs/nl.md +++ b/markdown/org/docs/designs/lumira/needs/nl.md @@ -1,9 +1,9 @@ --- -title: "Lumira leggings: What You Need" +title: "Lumira leggings: Wat je nodig hebt" --- -To make Lumira, you will need the following: +Om Lumira te maken, heb je het volgende nodig: - Basis naaimateriaal -- About 1.5 metres (1.7 yards) of a suitable fabric ([see Lumira Fabric options](/docs/designs/lumira/fabric/)) -- Elastic for the leg openings and waist. +- Ongeveer 1,5 meter (1,7 yard) van een geschikte stof ([zie Lumira stofopties](/docs/designs/lumira/stof/)) +- Elastiek voor de beenopeningen en taille. From 2534133dc5818afae6f00ad9c5528cd670473758 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 20:47:13 +0100 Subject: [PATCH 0129/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/notes/nl.md b/markdown/org/docs/designs/lumira/notes/nl.md index 3ec6acf6320..0d5b9ba9273 100644 --- a/markdown/org/docs/designs/lumira/notes/nl.md +++ b/markdown/org/docs/designs/lumira/notes/nl.md @@ -1,8 +1,8 @@ --- -title: "Lumira leggings: Designer Notes" +title: "Lumira leggings: Ontwerper Notities" --- -I started working on this design when I decided I needed more leggings to cycle in the fall and winter. My previous +Ik begon aan dit ontwerp te werken toen ik besloot dat ik meer leggings nodig had om in de herfst en winter te fietsen. My previous pair was made with a commercial pattern, and they have served me well. The easy solution would have been to just make some more. But if I need some of these, there should be more people that do. From a838b59215e14e758938765236b459fe299d90a1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:10:27 +0100 Subject: [PATCH 0130/1313] New translations en.md (Dutch) skip-build --- .../org/blog/freesewing-is-now-pay-what-you-want/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/blog/freesewing-is-now-pay-what-you-want/nl.md b/markdown/org/blog/freesewing-is-now-pay-what-you-want/nl.md index 220c6ec51d6..d0cbf78b54f 100644 --- a/markdown/org/blog/freesewing-is-now-pay-what-you-want/nl.md +++ b/markdown/org/blog/freesewing-is-now-pay-what-you-want/nl.md @@ -1,5 +1,5 @@ --- -title: FreeSewing is now pay-what-you-want +title: FreeSewing is nu betaal-wat-je-wil caption: A Person Putting Coin in a Piggy Bank, by Maitree Rimthong date: 20231103 intro: We have updated our pricing, here's why @@ -10,7 +10,7 @@ I am clearly doing a terrible job at convincing people to [become a FreeSewing p The rise in users also brings additional costs. Simply put, running FreeSewing.org is getting more expensive year by year, while revenue does not keep up, and that's a trend that has me worried for a while now. -I considered my options for how to deal with this. I could raise prices, but that seems to punish our patrons who are already supporting us, while the vast majority of users does not contribute. -Having more patrons is the obvious answer, but I don't like asking for money and in general seem to be rather bad at this sort of thing. +I considered my options for how to deal with this. Ik zou de prijzen kunnen verhogen, maar dat zou de mensen die ons al steunen straffen, terwijl de overgrote meerderheid van de gebruikers niet bijdraagt. +Meer ondersteuners is het voor de hand liggende antwoord, maar ik vraag niet graag om geld en ben over het algemeen nogal slecht in dit soort dingen. -So, after thinking it over for a while, I have decided to go the other direction. Rather than raise prices, I have removed pricing altogether. FreeSewing is now pay-what-you-want. Yes, you can still have everything for free, but [please consider supporting us with whatever amount you can spare](/patrons/join). +Dus na er een tijdje over nagedacht te hebben, heb ik besloten de andere kant op te gaan. In plaats van de prijzen te verhogen, heb ik de prijzen helemaal geschrapt. FreeSewing is nu betaal-wat-je-wil. Ja, je kunt alles nog steeds gratis krijgen, maar [overweeg alsjeblieft om ons te steunen met een bedrag dat je kunt missen](/patrons/join). From 01d77f8a53b1dd958cfa8021d294a511990cfd93 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:10:30 +0100 Subject: [PATCH 0131/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/otis/options/snapPlacket/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/otis/options/snapPlacket/nl.md b/markdown/org/docs/designs/otis/options/snapPlacket/nl.md index b127b3e2af5..e477480331d 100644 --- a/markdown/org/docs/designs/otis/options/snapPlacket/nl.md +++ b/markdown/org/docs/designs/otis/options/snapPlacket/nl.md @@ -2,6 +2,6 @@ title: Drukknoopsluiting --- -This option controls the depth of the placket that holds the snaps. +Deze optie bepaalt de diepte van de sluiting die de drukknopen vasthoudt. Het is ongeveer een percentage van de taillemaat. Standaard is 5% From 9fd04aae9bbcb07c71307ea883c614a381ac968a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:13 +0100 Subject: [PATCH 0132/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/onyx-by-thrunic/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/showcase/onyx-by-thrunic/nl.md b/markdown/org/showcase/onyx-by-thrunic/nl.md index 7b73f44c067..4787a8d211f 100644 --- a/markdown/org/showcase/onyx-by-thrunic/nl.md +++ b/markdown/org/showcase/onyx-by-thrunic/nl.md @@ -1,13 +1,13 @@ --- -title: Onyx by Thrunic -caption: An embroidered Onyx! +title: Onyx van Thrunic +caption: Een geborduurde Onyx! date: 20231227 -intro: Thrunic used the same Onyx pattern as a previous version, but made various improvements when sewing this one. +intro: Thrunic gebruikte hetzelfde Onyx-patroon als een eerdere versie, maar voegde verschillende verbeteringen toe bij het naaien van deze versie. designs: - onyx maker: Natalia --- -This is the latest Onyx garment by maker Thrunic. For this version, he greatly improved the quality of the seams and the zipper, and moved the embroideries up a bit so that they show above the bib of his various shortalls. +Dit is het nieuwste Onyx kledingstuk van maker Thrunic. Voor deze versie heeft hij de kwaliteit van de naden en de rits sterk verbeterd en de borduursels iets naar boven verplaatst, zodat ze boven de slab van zijn verschillende shortalls uitkomen. ![Embroidery closeup](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-onyx-by-thrunic-1/public "Embroidery closeup") From f65520b4bba37d7ff070c379eaa055893dc064ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:15 +0100 Subject: [PATCH 0133/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/trans-hi-by-halbmoki/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/showcase/trans-hi-by-halbmoki/nl.md b/markdown/org/showcase/trans-hi-by-halbmoki/nl.md index a532adec0eb..b134600df17 100644 --- a/markdown/org/showcase/trans-hi-by-halbmoki/nl.md +++ b/markdown/org/showcase/trans-hi-by-halbmoki/nl.md @@ -1,13 +1,13 @@ --- -title: Trans Hi by Halbmoki -caption: Trans Hi is here! +title: Trans Hi door Halbmoki +caption: Trans Hi is hier! date: 20231227 -intro: This Hi by Halbmoki was a fan favorite of the FreeSewing community. +intro: Deze Hi van Halbmoki was een fanfavoriet van de FreeSewing gemeenschap. designs: - Hoi maker: Natalia --- -This Hi's maker Halbmoki notes that it's a bit lumpy, but we guess most trans folks can relate to having lumps in the wrong places. The FreeSewing community loved this creation, lumps and all. +De maker van deze Hi, Halbmoki, noemt dat het een beetje bobbelig is, maar waarschijnlijk kunnen de meeste transpersonen zich herkennen in het hebben van bobbels op de verkeerde plekken. De FreeSewing gemeenschap vond deze creatie geweldig, met bobbels en al. ![A side view](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-trans-hi-by-halbmoki-1/public "A side view") From f499553b67a3cdaf90f69e70bb42d8266f6809d7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:16 +0100 Subject: [PATCH 0134/1313] New translations en.md (Dutch) skip-build --- .../mermaid-scale-print-waralees-by-magicantace/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/showcase/mermaid-scale-print-waralees-by-magicantace/nl.md b/markdown/org/showcase/mermaid-scale-print-waralees-by-magicantace/nl.md index 8462927450c..6781197fd86 100644 --- a/markdown/org/showcase/mermaid-scale-print-waralees-by-magicantace/nl.md +++ b/markdown/org/showcase/mermaid-scale-print-waralees-by-magicantace/nl.md @@ -1,11 +1,11 @@ --- -title: Mermaid scale print Waralees by MagicantAce -caption: These Waralees are faintly sparkly! +title: Zeemeermin opdruk Waralees van MagicantAce +caption: Deze Waralees zijn wat sprankelend! date: 20231227 -intro: We love these awesome, faintly sparkly mermaid scale print Waralees. +intro: Wij zijn dol op deze geweldige, glinsterende Waralees met zeemeerminnenprint. designs: - waralee maker: Natalia --- -We love these awesome, faintly sparkly mermaid scale print Waralees. Maker MagicantAce doesn't usually sew human-sized garments -- be sure to check out his fantastic doll outfits in other FreeSewing showcases -- but did a great job with these. He mentioned that the hardest part was turning the tubes for the ties right side out. +Wij zijn dol op deze geweldige, glinsterende Waralees met zeemeerminnenprint. Maker MagicantAce naait meestal geen kledingstukken op mensenmaat -- bekijk zeker zijn fantastische poppenoutfits in andere FreeSewing showcases -- maar deed het geweldig met deze. Hij noemde dat het moeilijkste deel was om de buizen voor de dassen met de goede kant naar buiten te draaien. From 242b0a0493e07d8d0d6c655def6475250b41fd8a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:17 +0100 Subject: [PATCH 0135/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/shorts/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/showcase/shorts/nl.md b/markdown/org/showcase/shorts/nl.md index 222a3d9ecca..9e98b319c73 100644 --- a/markdown/org/showcase/shorts/nl.md +++ b/markdown/org/showcase/shorts/nl.md @@ -1,6 +1,6 @@ --- -title: Shorts -caption: Shorts +title: Korte broeken +caption: Korte broeken date: 20231118 intro: "-" designs: @@ -8,4 +8,4 @@ designs: maker: Galit --- -Shorts for my dauther +Korte broek voor mijn dochter From 14f94da1dad0b87b9080ee302ff707225aecc339 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:18 +0100 Subject: [PATCH 0136/1313] New translations en.md (Dutch) skip-build --- .../nl.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/showcase/a-full-body-onyx-swimsuit-with-swim-skirt/nl.md b/markdown/org/showcase/a-full-body-onyx-swimsuit-with-swim-skirt/nl.md index a4f3d1f5707..55ce0eef33a 100644 --- a/markdown/org/showcase/a-full-body-onyx-swimsuit-with-swim-skirt/nl.md +++ b/markdown/org/showcase/a-full-body-onyx-swimsuit-with-swim-skirt/nl.md @@ -1,6 +1,6 @@ --- -title: A full body Onyx swimsuit with swim skirt -caption: Full body Onyx swimsuit with swim skirt +title: Een Onyx badpak voor het hele lichaam met zwemrokje +caption: Onyx badpak voor het hele lichaam met zwemrok date: 20231106 intro: "" designs: @@ -8,12 +8,12 @@ designs: maker: Thrunic --- -This is my favorite Onyx so far. +Dit is mijn favoriete Onyx tot nu toe. -Featuring a hood, thumb holes, and long sleeves and legs, it provides nearly full sun coverage, leaving only the face, feet, and fingers exposed. +Hij heeft een capuchon, duimgaten en lange mouwen en pijpen en biedt bijna volledige bedekking tegen de zon, zodat alleen het gezicht, de voeten en de vingers worden blootgesteld. -The swim skirt provides additional modesty and adds some flair. +De zwemrok zorgt voor extra bescheidenheid en voegt wat flair toe. -It is fully lined, including the hood and sleeves, with all but one of the seams hidden inside the lining, and very comfortable. Center seam and outseam ease are 0%, while most eases controlling tightness are set to \~-10%, though wrist is at +11% to give room for the hand, and leg hem is at +10% to help it get over the foot. The skirt length is 100% and width is 126% and is gathered and topstitched into place with no hems or folding. +Het is volledig gevoerd, inclusief de capuchon en mouwen, met op één na alle naden verborgen in de voering, en zeer comfortabel. Center seam and outseam ease are 0%, while most eases controlling tightness are set to \~-10%, though wrist is at +11% to give room for the hand, and leg hem is at +10% to help it get over the foot. De lengte van de rok is 100% en de wijdte is 126% en is samengekomen en vastgestikt zonder zomen of vouwen. -Fabric used is 80% nylon/20% spandex mid-weight swim fabric for the fashion fabric, and 80% polyester/20% spandex heavyweight swim fabric for the lining. Construction is done using a serger/overlock machine for the seams, and a twin needle using a triple stretch stitch for the hems. +De gebruikte stof is 80% nylon/20% spandex middelzware zwemstof voor de modestof en 80% polyester/20% spandex zware zwemstof voor de voering. Voor de naden wordt een overlockmachine gebruikt en voor de zomen een tweelingnaald met een drievoudige rekbare steek. From 21d37046cb2c58e7939d39d3230cf78447fd7c42 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:19 +0100 Subject: [PATCH 0137/1313] New translations en.md (Dutch) skip-build --- .../short-sleeve-short-leg-onyx-swimsuit/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/showcase/short-sleeve-short-leg-onyx-swimsuit/nl.md b/markdown/org/showcase/short-sleeve-short-leg-onyx-swimsuit/nl.md index 563a2194042..bae73bb48f7 100644 --- a/markdown/org/showcase/short-sleeve-short-leg-onyx-swimsuit/nl.md +++ b/markdown/org/showcase/short-sleeve-short-leg-onyx-swimsuit/nl.md @@ -1,6 +1,6 @@ --- -title: Short-sleeve, short-leg Onyx swimsuit -caption: Short-sleeved, short-legged, Lilo & Stitch-themed swimsuit. +title: Onyx badpak met korte mouwen en korte pijpen +caption: Badpak met korte mouwen en korte pijpen met Lilo & Stitch-thema. date: 20231106 intro: "" designs: @@ -8,8 +8,8 @@ designs: maker: Thrunic --- -An Onyx one-piece swimsuit/unisuit made with short sleeves and short legs. It's great for a summer beach day, looking cute and stylish while providing more modesty and sun coverage than traditional swimwear. +Een Onyx eendelig badpak/unisuit met korte mouwen en korte pijpen. Het is geweldig voor een zomerse stranddag, het ziet er schattig en stijlvol uit terwijl het meer bescheidenheid en zonbedekking biedt dan traditionele zwemkleding. -It uses 80% nylon / 20% spandex mid-weight swim fabric for the fashion layer, and 80% polyester / 20% spandex heavyweight swim fabric for the lining layer. +De gebruikte stof is 80% nylon/20% spandex middelzware zwemstof voor de modelaag en 80% polyester/20% spandex zware zwemstof voor de voering. -Made with a front zipper, a neckband, \~30% leg and sleeve length, \~-20% ease for chest, waist, hips, upper legs, \~-10% sleeve ease, \~-10% center seam ease. The seams are made with a serger/overlocker. The hems are single-fold and made with a double-needle using a triple stretch stitch. The zipper is a 12" long, #5 gauge molded plastic zipper. +Made with a front zipper, a neckband, \~30% leg and sleeve length, \~-20% ease for chest, waist, hips, upper legs, \~-10% sleeve ease, \~-10% center seam ease. De naden zijn gemaakt met een overlocker. De zomen zijn enkelvoudig gevouwen en gemaakt met een dubbele naald met een drievoudige stretchsteek. De rits is een 12" lange, maat #5 gegoten plastic rits. From 7af00421caefd757cc1629649919832a79751cd7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:51 +0100 Subject: [PATCH 0138/1313] New translations en.md (Dutch) skip-build --- markdown/org/blog/freesewing-v3-1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/blog/freesewing-v3-1/nl.md b/markdown/org/blog/freesewing-v3-1/nl.md index b72bec83be2..b89db1de1d7 100644 --- a/markdown/org/blog/freesewing-v3-1/nl.md +++ b/markdown/org/blog/freesewing-v3-1/nl.md @@ -1,6 +1,6 @@ --- author: joostdecock -caption: There will be fewer of these version announcement posts going forward. +caption: Er zullen in de toekomst minder van deze versie-aankondigingsberichten zijn. date: 2023-12-30 intro: We've just release FreeSewing v3.1 🎉 title: FreeSewing v3.1 is out with two new designs, and a reminder that we now stream updates From 3e162caca9e7e11c2ead07e224f48ff667a14c26 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:52 +0100 Subject: [PATCH 0139/1313] New translations en.md (Dutch) skip-build --- markdown/org/newsletter/2024q1/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/newsletter/2024q1/nl.md b/markdown/org/newsletter/2024q1/nl.md index e317a0cd23f..9f08b603336 100644 --- a/markdown/org/newsletter/2024q1/nl.md +++ b/markdown/org/newsletter/2024q1/nl.md @@ -105,9 +105,9 @@ We hebben twee nieuwe ontwerpen op FreeSewing.org die je misschien nog niet kent [Otis](https://freesewing.org/designs/otis) is een baby rompertje: -> _Toen mijn nichtje een baby kreeg, wist ik precies wat ik moest doen: kleertjes naaien voor de kleine. En ik had nog nooit kleding voor baby's gemaakt. What they should look like was easy. Ik heb zelf jaren geleden kinderen gehad, en die dingen uit één stuk moeten makkelijk te maken zijn._ +> _Toen mijn nichtje een baby kreeg, wist ik precies wat ik moest doen: kleertjes naaien voor de kleine. En ik had nog nooit kleding voor baby's gemaakt. Hoe ze eruit moesten zien was eenvoudig. Ik heb zelf jaren geleden kinderen gehad, en die dingen uit één stuk moeten makkelijk te maken zijn._ > -> _Wat ik niet had was een patroon. That meant that I should get one, or make one. Dat was niet zo'n moeilijke beslissing; FreeSewing miste absoluut ontwerpen die gericht waren op baby's. Infants have the nicequality that while they are growing, they grow in each direction at the same pace. De enige echte uitdaging is dat hun hoofd in verhouding veel groter is dan dat van oudere exemplaren. Een normaal shirt met opening werkt niet. But there are easy solutions to that, and these are used by allromper making manufacturers._ +> _Wat ik niet had was een patroon. Dat betekende dat ik er een moest kopen, of maken. Dat was niet zo'n moeilijke beslissing; FreeSewing miste absoluut ontwerpen die gericht waren op baby's. Infants have the nicequality that while they are growing, they grow in each direction at the same pace. De enige echte uitdaging is dat hun hoofd in verhouding veel groter is dan dat van oudere exemplaren. Een normaal shirt met opening werkt niet. But there are easy solutions to that, and these are used by allromper making manufacturers._ > > _Ik heb het halsontwerp gecombineerd met een eenvoudig bodyontwerp en een drukknoopsluiting. Easy short orlong sleeves completed the design._ From 0799ae25abddd81c9a11f1e734c27123756888e9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:53 +0100 Subject: [PATCH 0140/1313] New translations en.md (Dutch) skip-build --- .../blog/email-breakdown-post-mortem/nl.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/markdown/org/blog/email-breakdown-post-mortem/nl.md b/markdown/org/blog/email-breakdown-post-mortem/nl.md index b5d5a9ba7db..8eeeb534b64 100644 --- a/markdown/org/blog/email-breakdown-post-mortem/nl.md +++ b/markdown/org/blog/email-breakdown-post-mortem/nl.md @@ -23,35 +23,35 @@ I don't trust Google as far as I can throw them, but Gmail is the best mail clie Furthermore, as an Android user, this primary not-really-gmail-but-still-a-bit Google account is also tied to my phone, and a host of other things that are important. In other words, I need to have _some_ Google account, so this is it. -That being said, I don't trust Google to not one day accidentally disable my account and I know full well that when that happens, I won't have any way of getting it back because Google doesn't do support. And I can't even blame them as I'm not a paying customer. -So I want a different email provider, one where I am a paying customer, and that provider is fastmail. I could have migrated the decock.org domain to it, but that poses two problems: +That being said, I don't trust Google to not one day accidentally disable my account and I know full well that when that happens, I won't have any way of getting it back because Google doesn't do support. En ik kan het ze niet eens kwalijk nemen, want ik ben geen betalende klant. +Ik wil dus een andere e-mailprovider, een waar ik betalend klant ben, en die provider is fastmail. Ik had het decock.org domein ernaar kunnen migreren, maar dat levert twee problemen op: -- I still need a Google account -- Some members of my family have a decock.org email address, so I would have to find a solution for them too and they are not too tech-savvy so that would have been a hassle. +- Ik heb nog steeds een Google-account nodig +- Sommige leden van mijn familie hebben een decock.org e-mailadres, dus ik zou ook voor hen een oplossing moeten vinden en zij zijn niet zo technisch, dus dat zou een heel gedoe zijn geweest. -So, a couple of years ago I decided to bite the bullet, bought the joost.at domain, and made that my primary email. +Dus een paar jaar geleden besloot ik het bijltje erbij neer te gooien, kocht ik het domein joost.at en maakte ik daar mijn primaire e-mail van. -Obviously, my previous emails is still used by people and companies, and I have to keep the Google account active too, so now I have two inboxes to manage. I thought I had found a clever solution for that, and that's where things went wrong. +Uiteraard worden mijn vorige e-mails nog steeds gebruikt door mensen en bedrijven, en moet ik het Google-account ook actief houden, dus nu heb ik twee inboxen om te beheren. Ik dacht dat ik daar een slimme oplossing voor had gevonden en daar ging het mis. -## It worked until it didn't +## Het werkte totdat het niet meer werkte -I had setup my Google account to pull in email from my fastmail account via POP3. This worked great and since both mailboxes are configured to allow me to send email from both addresses, it's transparent to my correspondents. +Ik had mijn Google-account ingesteld om e-mail op te halen van mijn fastmail-account via POP3. Dit werkte geweldig en omdat beide mailboxen zo zijn geconfigureerd dat ik vanaf beide adressen e-mails kan versturen, is het transparant voor mijn correspondenten. -That all worked fine. But if I go into the settings and check that rule today, I see this: +Dat werkte allemaal prima. Maar als ik naar de instellingen ga en die regel vandaag controleer, zie ik dit: ![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/blog-email-breakdown-post-mortem-1/public "An error message saying that emails have not been imported since 29 October 2023") -Google stopped pulling in these emails, and somehow neglected to notify me of this. -Because of this setup, I had not been checking my Fastmail inbox, so from one day to the next I didn't see anything sent to my new email address. +Google is gestopt met het ophalen van deze e-mails en heeft op de een of andere manier verzuimd mij hiervan op de hoogte te stellen. +Door deze opstelling had ik mijn Fastmail inbox niet gecontroleerd, dus van de ene op de andere dag zag ik niets naar mijn nieuwe e-mailadres gestuurd worden. -At this point, you're probably wondering why I didn't notice. The answer is partially that I get a lot of email, but if I'm being honest, at some level I probably suspected something was _off_ but I didn't realize exactly what, and because I was busy looking into it was kicked down the road. +Op dit moment vraag je je waarschijnlijk af waarom het me niet is opgevallen. The answer is partially that I get a lot of email, but if I'm being honest, at some level I probably suspected something was _off_ but I didn't realize exactly what, and because I was busy looking into it was kicked down the road. -## Going forward +## Verdergaand Since I cannot trust Google to reliably pull in the emails from my Fastmail inbox, I will instead pivot to a _inbox double-zero_ approach. By which I mean, I will manage both inboxes and apply _inbox-zero_ as that's how I do things. -Given my neglect of my Fastmail inbox, it had 100k+ unread messages in them. I went through the messages since the end of October and set aside emails that I need to follow-up on. Then I archived the rest and now am back on top of things, albeit with a small pile of backlog to deal with. +Gezien mijn verwaarlozing van mijn Fastmail inbox, stonden er 100k+ ongelezen berichten in. Ik ben door de berichten gegaan vanaf eind oktober en heb e-mails opzij gezet die ik moet opvolgen. Daarna heb ik de rest gearchiveerd en nu ben ik er weer bovenop, zij het met een kleine achterstallige stapel. -I am particularly sorry for those people who signed up as patrons or donated to FreeSewing and didn't even get as much as an acknowledgment. I admit that this sort of _administrativia_ is not my strong suit, but my response time is not typically measured in months. +Het spijt me vooral voor de mensen die zich hebben aangemeld als ondersteuner of hebben gedoneerd aan FreeSewing en niet eens een bevestiging hebben gekregen. I admit that this sort of _administrativia_ is not my strong suit, but my response time is not typically measured in months. -Apologies, and I will try to do better this year. +Excuses, en ik zal proberen het dit jaar beter te doen. From 04e7c378e881d57143b92596725f7f1620f8536a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:11:54 +0100 Subject: [PATCH 0141/1313] New translations en.md (Dutch) skip-build --- .../showcase/lumira-leggings-with-cycling-chamois/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/showcase/lumira-leggings-with-cycling-chamois/nl.md b/markdown/org/showcase/lumira-leggings-with-cycling-chamois/nl.md index 1249ffaf0d3..cd8ad4da858 100644 --- a/markdown/org/showcase/lumira-leggings-with-cycling-chamois/nl.md +++ b/markdown/org/showcase/lumira-leggings-with-cycling-chamois/nl.md @@ -1,13 +1,13 @@ --- -title: Lumira leggings with cycling chamois -caption: This is Lumira's designer, Wouter, testing out his new leggings +title: Lumira legging met fietszeem +caption: Dit is de ontwerper van Lumira, Wouter, die zijn nieuwe legging uittest date: 20240104 -intro: The Lumira leggings are designed with many options, including a waistband, optional gusset, and bulge option. +intro: De Lumira legging is ontworpen met veel opties, waaronder een tailleband, optioneel kruis en een opbollingsoptie. designs: - lumira maker: Natalia --- -The Lumira leggings are designed with many options, including a waistband, optional gusset, and bulge option. This particular version is with the cycling chamois, but the same design works for yoga leggings and anything in between too. We're all excited to fill our closets with Lumira variations! +De Lumira legging is ontworpen met veel opties, waaronder een tailleband, optioneel kruis en een opbollingsoptie. Deze versie is met de fietszeem, maar hetzelfde ontwerp werkt ook voor yoga leggings en alles daar tussenin. We zijn allemaal enthousiast om onze kasten te vullen met variaties van Lumira! ![Another view of Lumira](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-lumira-leggings-with-cycling-chamois-1/public "Another view of Lumira") From fce339cd33122299f98a36fecc84dea507506e03 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:19 +0100 Subject: [PATCH 0142/1313] New translations en.md (Dutch) skip-build --- .../nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/showcase/rockerkittens-simone-muslin-with-a-few-modifications/nl.md b/markdown/org/showcase/rockerkittens-simone-muslin-with-a-few-modifications/nl.md index 7a128abc189..f58be486c94 100644 --- a/markdown/org/showcase/rockerkittens-simone-muslin-with-a-few-modifications/nl.md +++ b/markdown/org/showcase/rockerkittens-simone-muslin-with-a-few-modifications/nl.md @@ -1,14 +1,14 @@ --- -title: RockerKitten's Simone muslin with a few modifications -caption: RockerKitten sewed this muslin of the Simone shirt +title: RockerKitten's Simone mousseline met een paar aanpassingen +caption: RockerKitten naaide deze mousseline van het Simone shirt date: 20240106 -intro: RockerKitten sewed this muslin of the Simone shirt with a few mods. +intro: RockerKitten naaide deze mousseline van het Simone shirt met een paar aanpassingen. designs: - simone maker: Natalia --- -RockerKitten sewed this muslin of the Simone shirt with a few mods. +RockerKitten naaide deze mousseline van het Simone shirt met een paar aanpassingen. ![Another view](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-rockerkittens-simone-muslin-with-a-few-modifications-1/public "Another view") @@ -16,4 +16,4 @@ RockerKitten sewed this muslin of the Simone shirt with a few mods. ![Details](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-rockerkittens-simone-muslin-with-a-few-modifications-3/public "Details") -This was made by RockerKitten, [@rockerkitten on Instagram](https://www.instagram.com/rockerkitten/), and has been shared here with permission. +Deze is gemaakt door RockerKitten, [@rockerkitten op Instagram](https://www.instagram.com/rockerkitten/), en is hier met toestemming gedeeld. From c5f10400c99b96ee9141f284a63b4263cd95fae9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:21 +0100 Subject: [PATCH 0143/1313] New translations en.md (Dutch) skip-build --- .../showcase/the-bella-block-by-rockerkitten/nl.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/showcase/the-bella-block-by-rockerkitten/nl.md b/markdown/org/showcase/the-bella-block-by-rockerkitten/nl.md index a0eb5afe2da..570c8065e12 100644 --- a/markdown/org/showcase/the-bella-block-by-rockerkitten/nl.md +++ b/markdown/org/showcase/the-bella-block-by-rockerkitten/nl.md @@ -1,15 +1,15 @@ --- -title: The Bella block by RockerKitten -caption: A muslin of Bella +title: Het Bella blok van RockerKitten +caption: Een mousseline van Bella date: 20240106 -intro: The Bella block is what brought RockerKitten to FreeSewing -- and we couldn't be more grateful that she found us! +intro: Het Bella blok heeft RockerKitten naar FreeSewing gebracht -- en we kunnen niet dankbaarder zijn dat ze ons gevonden heeft! designs: - bella maker: Natalia --- -The Bella block is what brought RockerKitten to FreeSewing -- and we couldn't be more grateful that she found us! She has dialed in her preferences and measurements to find her ideal fit. This is one of her muslins. +Het Bella blok heeft RockerKitten naar FreeSewing gebracht -- en we kunnen niet dankbaarder zijn dat ze ons gevonden heeft! Ze heeft haar voorkeuren en maten afgestemd om haar ideale pasvorm te vinden. Dit is een van haar mousselines. -RockerKitten graciously shares tips, encouragement, and advice with folks on [Discord](https://discord.freesewing.org/). Come join the discussion over there if you're interested in trying FreeSewing's blocks! +RockerKitten deelt vriendelijk tips, aanmoedigingen en advies met mensen op [Discord] (https\://discord.freesewing.org/). Doe mee als je de blokken van FreeSewing wilt proberen! -This was made by RockerKitten, [@rockerkitten on Instagram](https://www.instagram.com/rockerkitten/), and has been shared here with permission. +Deze is gemaakt door RockerKitten, [@rockerkitten op Instagram](https://www.instagram.com/rockerkitten/), en is hier met toestemming gedeeld. From de8ffe5b90377bcbf5836ce5c341f607f8f94412 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:22 +0100 Subject: [PATCH 0144/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/a-very-modified-yuri/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/showcase/a-very-modified-yuri/nl.md b/markdown/org/showcase/a-very-modified-yuri/nl.md index 4a4696dd0ff..a2e89818396 100644 --- a/markdown/org/showcase/a-very-modified-yuri/nl.md +++ b/markdown/org/showcase/a-very-modified-yuri/nl.md @@ -1,14 +1,14 @@ --- -title: A very modified Yuri -caption: Yuri robe, now with pockets +title: Een zeer aangepaste Yuri +caption: Yuri badjas, nu met zakken date: 20240106 -intro: RockerKitten modified Yuri to make this cozy and cute robe. +intro: RockerKitten heeft Yuri aangepast om dit knusse en schattige kleed te maken. designs: - yuri maker: Natalia --- -RockerKitten modified Yuri to make this cozy and cute robe. They changed the neck line, lengthened the front hood, and made the whole thing floor length. Ze deelden: +RockerKitten heeft Yuri aangepast om dit knusse en schattige kleed te maken. Ze veranderden de halslijn, verlengden de capuchon aan de voorkant en maakten het geheel vloerlengte. Ze deelden: > it was exactly the type of hood I wanted, and the perfect base. I hate drafting sleeve caps and armscyes so that's what I use the most of 😄 > I was really really really happy that the hood fit lol. I NEVER find hoods that fit @@ -21,4 +21,4 @@ Joehoew! Love the way they took Yuri's base design and made it their own. ![A work in progress view](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-a-very-modified-yuri-3/public "A work in progress view") -This was made by RockerKitten, [@rockerkitten on Instagram](https://www.instagram.com/rockerkitten/), and has been shared here with permission. +Deze is gemaakt door RockerKitten, [@rockerkitten op Instagram](https://www.instagram.com/rockerkitten/), en is hier met toestemming gedeeld. From 96436addf9320e9b2c0e6f1903e41af1ba725cfe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:23 +0100 Subject: [PATCH 0145/1313] New translations en.md (Dutch) skip-build --- .../nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/showcase/a-simone-sandy-mashup-with-a-handkerchief-hem-by-rockerkitten/nl.md b/markdown/org/showcase/a-simone-sandy-mashup-with-a-handkerchief-hem-by-rockerkitten/nl.md index cc84f025871..c5d38f33aa7 100644 --- a/markdown/org/showcase/a-simone-sandy-mashup-with-a-handkerchief-hem-by-rockerkitten/nl.md +++ b/markdown/org/showcase/a-simone-sandy-mashup-with-a-handkerchief-hem-by-rockerkitten/nl.md @@ -13,4 +13,4 @@ RockerKitten combined Simone and Sandy to make this gorgeous dress. We enjoyed f ![Side view](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-a-simone-sandy-mashup-with-a-handkerchief-hem-by-rockerkitten-1/public "Side view") -This was made by RockerKitten, [@rockerkitten on Instagram](https://www.instagram.com/rockerkitten/), and has been shared here with permission. +Deze is gemaakt door RockerKitten, [@rockerkitten op Instagram](https://www.instagram.com/rockerkitten/), en is hier met toestemming gedeeld. From 1ad77a932986d9bfe8e40dda81b68b1363fc9b96 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:28 +0100 Subject: [PATCH 0146/1313] New translations en.md (Dutch) skip-build --- .../showcase/surprise-giant-hi-by-lasermonkey12/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/showcase/surprise-giant-hi-by-lasermonkey12/nl.md b/markdown/org/showcase/surprise-giant-hi-by-lasermonkey12/nl.md index aaa2cd35b49..096dcc02ae8 100644 --- a/markdown/org/showcase/surprise-giant-hi-by-lasermonkey12/nl.md +++ b/markdown/org/showcase/surprise-giant-hi-by-lasermonkey12/nl.md @@ -1,18 +1,18 @@ --- title: Surprise-giant Hi by lasermonkey12 -caption: A hilariously large Hi +caption: Een hilarisch grote Hi date: 20240106 -intro: Bet you can't guess how small this Hi shark packed down. +intro: Wedden dat je niet kunt raden hoe klein deze Hi haai is ingepakt? designs: - Hoi maker: Natalia --- -Bet you can't guess how small this Hi shark packed down. Maker lasermonkey12 shared: +Wedden dat je niet kunt raden hoe klein deze Hi haai is ingepakt? Maker lasermonkey12 deelde: -> i asked a friend if i could send him an empty plushie with a zipper installed and have him stuff it. he did not expect me to make it this large (and i intentionally packed it as small as possible) +> Ik heb een vriend gevraagd of ik hem een lege plushie kon sturen met een rits erin en hem die laten vullen. hij had niet verwacht dat ik het zo groot zou maken (en ik heb het met opzet zo klein mogelijk ingepakt) -Best. Delivery. Ever. +Beste. Levering. Ooit. ![Another view](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-surprise-giant-hi-by-lasermonkey12-1/public "Another view") From 3f1b31013ced4ad605cb50e4349f577224ef32ed Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:29 +0100 Subject: [PATCH 0147/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/xl-octoplushy-by-lasermonkey12/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/showcase/xl-octoplushy-by-lasermonkey12/nl.md b/markdown/org/showcase/xl-octoplushy-by-lasermonkey12/nl.md index 396fba6888f..a6ca175b8d0 100644 --- a/markdown/org/showcase/xl-octoplushy-by-lasermonkey12/nl.md +++ b/markdown/org/showcase/xl-octoplushy-by-lasermonkey12/nl.md @@ -1,5 +1,5 @@ --- -title: XL Octoplushy by lasermonkey12 +title: XL Octoplushy door lasermonkey12 caption: Octoplushy, stuffing in progress date: 20240106 intro: "Not sure what to do with your scraps? Let us introduce the best idea ever: an XL Octoplushy." From d2ac7d31b1adcd8671a86e07da438bb3086a521a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 21:12:43 +0100 Subject: [PATCH 0148/1313] New translations en.md (Dutch) skip-build --- markdown/org/showcase/a-wearable-sandy-muslin/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/showcase/a-wearable-sandy-muslin/nl.md b/markdown/org/showcase/a-wearable-sandy-muslin/nl.md index f93f2a830d9..6ea65f071d8 100644 --- a/markdown/org/showcase/a-wearable-sandy-muslin/nl.md +++ b/markdown/org/showcase/a-wearable-sandy-muslin/nl.md @@ -10,4 +10,4 @@ maker: Natalia Sometimes simple is perfect! RockerKitten made this Sandy skirt as a wearable muslin. We think this looks wonderfully wearable -- the perfect piece for lots of outfits. -This was made by RockerKitten, [@rockerkitten on Instagram](https://www.instagram.com/rockerkitten/), and has been shared here with permission. +Deze is gemaakt door RockerKitten, [@rockerkitten op Instagram](https://www.instagram.com/rockerkitten/), en is hier met toestemming gedeeld. From 3ccdc39ec39c8cb28fbd9af9727c8d54ced53294 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:02 +0100 Subject: [PATCH 0149/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/albert/notes/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/albert/notes/nl.md b/markdown/org/docs/designs/albert/notes/nl.md index fac628c47c8..bcb9e7817aa 100644 --- a/markdown/org/docs/designs/albert/notes/nl.md +++ b/markdown/org/docs/designs/albert/notes/nl.md @@ -2,10 +2,10 @@ title: "Albert schort: Opmerkingen van de ontwerper" --- -Albert was something that I didn't plan on making. My daughter, who's a visual artist, asked if I could make her an apron. Of course, I could not deny her such a request. And since I didn't have a pattern, I needed to make one. And that meant that I could just as well make one for FreeSewing while I was at it. +Albert was iets dat ik niet van plan was om te maken. My daughter, who's a visual artist, asked if I could make her an apron. Natuurlijk kon ik zo'n verzoek niet weigeren. En omdat ik geen patroon had, moest ik er een maken. En dat betekende dat ik er net zo goed een voor FreeSewing kon maken als ik toch bezig was. -The design is simple, since an apron generally is. And yet, where else than at FreeSewing can you get a bespoke apron? +Het ontwerp is eenvoudig, zoals een schort meestal is. And yet, where else than at FreeSewing can you get a bespoke apron? -This is a very good project for a beginning sewist. +Dit is een heel goed project voor een beginnende naaister. Wouter From 9d175464d1aebe73489c23ea1e284ccf40334266 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:05 +0100 Subject: [PATCH 0150/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/benjamin/notes/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/benjamin/notes/nl.md b/markdown/org/docs/designs/benjamin/notes/nl.md index 1ba38a60849..77782108a69 100644 --- a/markdown/org/docs/designs/benjamin/notes/nl.md +++ b/markdown/org/docs/designs/benjamin/notes/nl.md @@ -2,13 +2,13 @@ title: "Benjamin vlinderdas: Designer Notities" --- -Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. This seemed like something I could undertake. Since I had no experience with making patterns, my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. +Benjamin is het eerste ontwerp dat ik ooit voor FreeSewing heb gemaakt. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. Dit leek me iets wat ik kon ondernemen. Since I had no experience with making patterns, my first attempt should be a simple one. Op de site stond al een patroon voor een stropdas, maar toch geef ik de voorkeur aan vlinderdassen. Dus dat zou iets zijn wat ik zou kunnen bijdragen. In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. -The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. These can be found in speciality stores, and are available online. +The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. Deze zijn verkrijgbaar in speciaalzaken en online. -Because of the precision needed, and the curved seams, this may not be the easiest pattern to start with. But is is a nice one to help you use those scraps from other projects. +Because of the precision needed, and the curved seams, this may not be the easiest pattern to start with. Maar het is wel een leuke om restjes van andere projecten te gebruiken. Wouter From c5943f24255674ca8626bf151001b791e6979b8c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:13 +0100 Subject: [PATCH 0151/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/cornelius/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/notes/nl.md b/markdown/org/docs/designs/cornelius/notes/nl.md index 9d643138227..af8a2bdb5ee 100644 --- a/markdown/org/docs/designs/cornelius/notes/nl.md +++ b/markdown/org/docs/designs/cornelius/notes/nl.md @@ -6,8 +6,8 @@ Als kind vertelde mijn vader me verhalen over wandelen in de bergen, iets magisc Toen ik als dertiger naar de VS verhuisde en zelf ging wandelen, dacht ik vaak terug aan die gesprekken en vond ik het jammer dat ik die knickerbockers niet had geërfd. Toen ik het naaien ontdekte, besloot ik dat ik zelf een paar zou maken, maar er waren geen goede patronen. -Then someone on the Freesewing discord server posted a link to The 'Keystone' Systems, Practical methods of cutting, from around the turn of the century. Daarin stond een tekensysteem voor 'Cycling Breeches', dat dicht in de buurt leek te komen van wat mijn vader vroeger droeg en dat vertaald kon worden naar een Freesewing patroon. Een project was geboren en ik ben blij dat ik de resultaten aan jullie kan presenteren. +Toen postte iemand op de Freesewing discord server een link naar Het 'Keystone' Systeem, Praktische methoden van snijden, van rond de eeuwwisseling. Daarin stond een tekensysteem voor 'Cycling Breeches', dat dicht in de buurt leek te komen van wat mijn vader vroeger droeg en dat vertaald kon worden naar een Freesewing patroon. Een project was geboren en ik ben blij dat ik de resultaten aan jullie kan presenteren. -These are not designed as hiking breeches, but cycling breeches. That's close enough for me. They work for either activity, and have many more uses. +Dit is geen wandelbroek, maar een fietsbroek. Dat is dichtbij genoeg voor mij. Ze werken voor beide activiteiten en hebben nog veel meer toepassingen. Wouter From f951a39e2dce6ec3ebacbcc3da4e499655e6d8f1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:16 +0100 Subject: [PATCH 0152/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hi/notes/nl.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/nl.md b/markdown/org/docs/designs/hi/notes/nl.md index f3332a737a2..ac6c8372ae0 100644 --- a/markdown/org/docs/designs/hi/notes/nl.md +++ b/markdown/org/docs/designs/hi/notes/nl.md @@ -2,19 +2,19 @@ title: "Hoi de haai: Ontwerpnotities" --- -Hoi! This has quite a story behind it. +Hoi! Hier zit een heel verhaal achter. -A while ago rumours started swirling that IKEA would discontinue it's Blåhaj stuffed shark, which is a universally beloved toy. The FreeSewing community was quite agitated by this prospect. No one wanted to see the worlds friendliest shark becoming extinct. And neither did I. +A while ago rumours started swirling that IKEA would discontinue it's Blåhaj stuffed shark, which is a universally beloved toy. De FreeSewing gemeenschap was behoorlijk verontrust door dit vooruitzicht. No one wanted to see the worlds friendliest shark becoming extinct. En ik ook niet. -It turned out that no one in the community had ever taken a Blåhaj apart, and no one had the courage to do so. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. +Het bleek dat niemand in de gemeenschap ooit een Blåhaj uit elkaar had gehaald en niemand had de moed om dat te doen. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +Dit leek me een geweldig project om aan te werken en het ontbreken van een Blåhaj was geen onoverkomelijk obstakel. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +Hij kan op en neer worden geschaald tussen 50 cm en 5 meter. Er is dus een haai voor iedereen. -Ikea did not discontinue Blåhaj, and you can still get the blue shark. But if you want one in a different colour, you're at the right spot. +Ikea is niet gestopt met Blåhaj en je kunt de blauwe haai nog steeds krijgen. Maar als je er een in een andere kleur wilt, ben je hier op de juiste plek. From 47c26cc93ed4dc0a30dc612d4071172df6087c8b Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 18 Jan 2024 14:02:24 -0800 Subject: [PATCH 0153/1313] fix(markdown): Typos in Creating a New Snippet howto --- markdown/dev/howtos/code/create-snippet/en.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/dev/howtos/code/create-snippet/en.md b/markdown/dev/howtos/code/create-snippet/en.md index 937359633cf..a566a386cea 100644 --- a/markdown/dev/howtos/code/create-snippet/en.md +++ b/markdown/dev/howtos/code/create-snippet/en.md @@ -71,19 +71,19 @@ and load the snippet into the defs section of our SVG document: ## Styling snippets -Styling snippets is something that can frustrating if you are not familiar with +Styling snippets is something that can be frustrating if you are not familiar with how they are rendered under the hood. The SVG `use` tag creates a so-called -*showdow-dom* and styles will behave something different in that shadowy realm. +*shadow-dom*, and styles will behave something different in that shadowy realm. For example, you can't just slap [one of our CSS classes](/reference/css) on it and call it a day, that won't be enough. You can of course provide inline styles, but now your snippet can't be themed -which is a big nono for sites like FreeSewing.org that let users pick differnt +which is a big no-no for sites like FreeSewing.org that let users pick different themes. As you can see in the example, we used CSS vars, as these do work well in the -shadow-dom and suppor themeing. You don't have to follow this approach, but we +shadow-dom and support theming. You don't have to follow this approach, but we do recommend it. ## Supporting scale From fd0da00e5a8c73aff23a0eec1a8a4880e6f9ed88 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:33 +0100 Subject: [PATCH 0154/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/walburga/notes/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/walburga/notes/nl.md b/markdown/org/docs/designs/walburga/notes/nl.md index b4e430876b1..83c9a2f2c3a 100644 --- a/markdown/org/docs/designs/walburga/notes/nl.md +++ b/markdown/org/docs/designs/walburga/notes/nl.md @@ -4,13 +4,13 @@ title: "Walburga Wappenrock: Ontwerpers" Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) -Walburga is de vreemde van de drie patronen, omdat het nog steeds "historisch geïnspireerd" is, maar eigenlijk geen echt historisch kledingstuk volgt. Het is gebaseerd op tabbaarden ("Wappenrock" in het Duits, vandaar de naam die met een W begint), met de hand geplaatst in een West-Europese setting uit de Middeleeuwen. To be honest, it is inspired more by the Legend of Zelda than anything real. +Walburga is de vreemde van de drie patronen, omdat het nog steeds "historisch geïnspireerd" is, maar eigenlijk geen echt historisch kledingstuk volgt. Het is gebaseerd op tabbaarden ("Wappenrock" in het Duits, vandaar de naam die met een W begint), met de hand geplaatst in een West-Europese setting uit de Middeleeuwen. Eerlijk gezegd is het meer geïnspireerd op de Legend of Zelda dan op iets echts. -I created this pattern because I needed something for my TTRPG character, basically a fantasy Roman, to display his heraldics on, and since I could not find anything in the literature about Romans doing this in a reliably documented way, I went the "it's all fantasy anyway"-route. (And I had a weird fascination with tabards as a kid, so it was a natural fit.) +Ik heb dit patroon gemaakt omdat ik iets nodig had voor mijn TTRPG-personage, in principe een Romeins fantasiepersonage, om zijn heraldiek mee weer te geven, en omdat ik in de literatuur niets kon vinden over Romeinen die dit deden op een goed gedocumenteerde manier, heb ik de "het is toch allemaal fantasie"-route gekozen. (En ik had als kind al een rare fascinatie voor tabbaarden, dus het was een natuurlijke fit.) -Coding-wise, I spend some time on it because I wanted the triangular terminations to look *just right*, so I fiddled with the golden ratio to ensure it looked nice, no matter what the size. +Qua codering heb ik er wat tijd in gestoken omdat ik wilde dat de driehoekige uiteinden er *precies goed uitzagen*, dus ik heb met de gulden snede geknoeid om ervoor te zorgen dat het er mooi uitzag, ongeacht de grootte. -The name comes from me thinking about vaguely mediaeval names starting with W, and somehow `walburga` popped into my head. +De naam komt voort uit mijn gedachten over vage middeleeuwse namen die met een W beginnen, en op de een of andere manier schoot `walburga` me te binnen. Rika From 970ea321aad9b9e1279a78c36976ba4b64c8a130 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:34 +0100 Subject: [PATCH 0155/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/waralee/notes/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/waralee/notes/nl.md b/markdown/org/docs/designs/waralee/notes/nl.md index 49d92c9513d..3f99b8c373e 100644 --- a/markdown/org/docs/designs/waralee/notes/nl.md +++ b/markdown/org/docs/designs/waralee/notes/nl.md @@ -2,12 +2,12 @@ title: "Waralee wikkelbroek: Ontwerpnotities" --- -Waralee is one of those designs that you just make because it's easy, and you feel like there must be tons of other people who would love to make wrap pants. And where can you find wrap pants with pockets? And who wants pants without pockets? +Waralee is one of those designs that you just make because it's easy, and you feel like there must be tons of other people who would love to make wrap pants. And where can you find wrap pants with pockets? En wie wil er nu een broek zonder zakken? -The construction is easy when you make it without pockets. And with them, it's still not that hard for a practiced sewist. +De constructie is eenvoudig als je hem zonder zakken maakt. And with them, it's still not that hard for a practiced sewist. Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. -These wrap pants are lovely in warm weather, specially when made from linen. +Deze wikkelbroek is heerlijk bij warm weer, vooral als hij gemaakt is van linnen. Wouter From 8d72fa0524a3dc253ac37dc60f818b1f4b57ee40 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:02:52 +0100 Subject: [PATCH 0156/1313] New translations en.md (Dutch) skip-build --- .../why-unsubscribe-multiple-clicks/nl.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md index 3acc392d02e..1b97be8768a 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md @@ -1,5 +1,5 @@ --- -title: Why do I have to click again to confirm I want to unsubscribe from the newsletter? +title: Waarom moet ik opnieuw klikken om te bevestigen dat ik me wil afmelden voor de nieuwsbrief? --- While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Specifiek de definitie van het __HTTP__ protocol __GET methode__ waarin staat dat: @@ -15,17 +15,17 @@ Een _GET request_ is wat er gebeurt als je een link volgt. Merely following a li For example, when you receive an email, your email client may _preload_ the links in it in the background. So that they are quicker to load should you click on them. -Obviously, this preloading should not unsubscribe you. Which is why you need to click a button to confirm. Because that will trigger a __POST request__ and those can make changes. +Het is duidelijk dat dit voorladen je niet moet afmelden. Which is why you need to click a button to confirm. Because that will trigger a __POST request__ and those can make changes. -##### This does not apply to users unsubscribing through their account +##### Dit geldt niet voor gebruikers die zich afmelden via hun account -None of this applies to users who unsubscribe from our newsletter by disabling the -option in their account. In this case, you are already clicking a button, rather -than a link in your email. +Niets hiervan geldt voor gebruikers die zich afmelden voor onze nieuwsbrief door de optie +in hun account uit te schakelen. In dit geval klik je al op een knop, in plaats van +op een link in je e-mail. -If you are curious, we use an idempotent __PUT request__ under the hood. +Als je nieuwsgierig bent, we gebruiken een idempotent __PUT request__ onder de motorkap. From 592a9c9f5dc3f7015c4eb141c8825eb3102bebda Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:03:24 +0100 Subject: [PATCH 0157/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/draft/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/nl.md b/markdown/org/docs/about/site/draft/nl.md index 09b8150ab00..596593597f7 100644 --- a/markdown/org/docs/about/site/draft/nl.md +++ b/markdown/org/docs/about/site/draft/nl.md @@ -54,4 +54,4 @@ Je kunt op dat pictogram klikken om de inline documentatie te openen. Hiermee ku ## Editor modi -Complete these docs +Maak deze documenten af From 4131c3ef76dcea3b29019f699549b4d64e317177 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:03:38 +0100 Subject: [PATCH 0158/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/gozer/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/gozer/nl.md b/markdown/org/docs/designs/gozer/nl.md index e11b22dcd74..6ca310f3bc0 100644 --- a/markdown/org/docs/designs/gozer/nl.md +++ b/markdown/org/docs/designs/gozer/nl.md @@ -2,9 +2,9 @@ title: Gozer de geest --- -Not quite sure what to say about this. It was three weeks or so before Halloween, and I was working on a different pattern. Then the thought of a traditional ghost costume popped into my head. +Ik weet niet zo goed wat ik hierover moet zeggen. It was three weeks or so before Halloween, and I was working on a different pattern. Then the thought of a traditional ghost costume popped into my head. -So as a joke I made this, just so I could post it on the discord server. And then Joost asked where the pattern was. So I posted it. And he published it. +Dus als grapje heb ik dit gemaakt, zodat ik het op de discord server kon posten. And then Joost asked where the pattern was. Dus heb ik het gepost. En hij publiceerde het. Wouter From 237209b850d4476e8b19c2dc88962f84643e07a3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:05:34 +0100 Subject: [PATCH 0159/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/otis/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/otis/notes/nl.md b/markdown/org/docs/designs/otis/notes/nl.md index 68b83757f46..1842bced46b 100644 --- a/markdown/org/docs/designs/otis/notes/nl.md +++ b/markdown/org/docs/designs/otis/notes/nl.md @@ -15,6 +15,6 @@ romper making manufacturers. Ik heb het halsontwerp gecombineerd met een eenvoudig lichaamsontwerp en een drukknoopsluiting. Easy short or long sleeves completed the design. -According to my niece, they fit fine! +Volgens mijn nichtje passen ze prima! Wouter. From ab2139656562ba645b9f1342d263cb5955915f9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:05:35 +0100 Subject: [PATCH 0160/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/onyx/options/outseamease/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/options/outseamease/nl.md b/markdown/org/docs/designs/onyx/options/outseamease/nl.md index a15571c5e6d..5735eed7068 100644 --- a/markdown/org/docs/designs/onyx/options/outseamease/nl.md +++ b/markdown/org/docs/designs/onyx/options/outseamease/nl.md @@ -1,5 +1,5 @@ --- -title: Outseam ease +title: Buitennaad ruimte --- -Controls how far down the garment the waist, hips, seat, and upper leg points on the outseam will be. +Bepaalt hoe ver de taille, heupen, het zitvlak en de bovenste beenpunten op de buitenste naad van het kledingstuk komen te liggen. From dd37cd764d87e66000215f33002ad1647e3d1364 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:05:36 +0100 Subject: [PATCH 0161/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/onyx/options/waistease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/options/waistease/nl.md b/markdown/org/docs/designs/onyx/options/waistease/nl.md index 5932d1549d3..0cc0af84046 100644 --- a/markdown/org/docs/designs/onyx/options/waistease/nl.md +++ b/markdown/org/docs/designs/onyx/options/waistease/nl.md @@ -2,4 +2,4 @@ title: Overwijdte taille --- -Controls how wide the garment will be around the waist. +Bepaalt hoe wijd het kledingstuk wordt rond de taille. From a1549ce465d1d649d7b6efb9d792ba23ede285f0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:05:37 +0100 Subject: [PATCH 0162/1313] New translations en.md (Dutch) skip-build --- .../nl.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/markdown/org/showcase/small-calico-skully-and-a-bit-of-a-pattern-test-too/nl.md b/markdown/org/showcase/small-calico-skully-and-a-bit-of-a-pattern-test-too/nl.md index a7343840803..481c10b74db 100644 --- a/markdown/org/showcase/small-calico-skully-and-a-bit-of-a-pattern-test-too/nl.md +++ b/markdown/org/showcase/small-calico-skully-and-a-bit-of-a-pattern-test-too/nl.md @@ -1,22 +1,22 @@ --- -title: Small calico Skully (and a bit of a pattern test too) -caption: Skully grins at you! A small handmade skull stuffed with scraps made in a pale beige calico fabric faces the viewer. +title: Kleine calico Skully (en ook een beetje een patroontest) +caption: Skully grijnst naar je! Een kleine handgemaakte schedel gevuld met restjes in een lichtbeige calico stof kijkt de kijker aan. date: 20231205 -intro: A cute little handsewn skull can be yours! This is a fairly quick project with some challenging moments and a very worthwhile result. +intro: Een schattig handgenaaid doodshoofdje kan van jou zijn! Dit is een vrij snel project met een aantal uitdagende momenten en een zeer de moeite waard resultaat. designs: - skully maker: comixminx --- -I was intrigued at the time that the Skully pattern was launched; it looked cool and like it might be a fun challenge. Come the run up to Christmas, I had some calico and the idea to make a small Skully, partly as a trial and partly as a present. +Ik was geïntrigeerd toen het Skully patroon werd vrijgegeven; het zag er cool uit en het leek me een leuke uitdaging. In de aanloop naar Kerstmis had ik wat calico en het idee om een kleine Skully te maken, deels als proef en deels als cadeau. -I'm very pleased with the result and am going to make another ASAP, to keep for myself! This first one was a learning experience and a bit of a challenge at points, but nothing was insurmountable with a bit of patience. +Ik ben erg blij met het resultaat en ga er zo snel mogelijk nog een maken, om voor mezelf te houden! Deze eerste was een leerzame ervaring en een beetje een uitdaging op sommige punten, maar niets was onoverkomelijk met een beetje geduld. -The calico fabric is sturdy and sews well (as well as being a good colour for bone); it does fray a bit with repeated handling and I would suggest that other makers might prefer to choose a more tightly-woven fabric instead. I stitched the seamlines in black thread to mark where they should be; they look good to me personally but others might want to unpick the lines afterwards, or mark the stitching lines in a more temporary way. (The stitching did help as a kind of stay stitch though.) +De calico stof is stevig en naait goed (en is ook een goede kleur voor bot); het rafelt wel een beetje bij herhaaldelijk gebruik en ik zou willen voorstellen dat andere makers misschien liever een dichter geweven stof kiezen. Ik heb de naadlijnen in zwart garen gestikt om te markeren waar ze moeten komen; voor mij persoonlijk zien ze er goed uit, maar anderen willen de lijnen misschien achteraf loshalen of de stiklijnen op een meer tijdelijke manier markeren. (Het stiksel hielp wel als een soort verblijfssteek.) -Some of the steps were challenging in terms of puzzling out which bit was sewn to which other piece, and in which orientation. (I definitely sewed at least one piece upside down, and unpicked after I'd worked it out.) I've given suggestions for more instruction detail, but it is definitely manageble with patience. As the instructions suggested, I sewed by hand apart from the initial marking of the seam lines. This was partly due to the fact I made a 50% size skull so a number of the individual pieces were rather small, and it was hard to press the seams as I went on. +Sommige stappen waren een uitdaging om uit te puzzelen welk stukje aan welk ander stukje was genaaid en in welke richting. (Ik heb zeker één stuk ondersteboven genaaid en weer losgehaald nadat ik het had uitgewerkt.) Ik heb suggesties gegeven voor meer instructiedetails, maar met geduld is het zeker te doen. Zoals de instructies voorstelden, naaide ik het met de hand, afgezien van de eerste markering van de naadlijnen. Dit kwam deels doordat ik een 50% maat schedel maakte, dus een aantal van de afzonderlijke stukken waren nogal klein, en het was moeilijk om de naden te persen terwijl ik verder ging. -But overall it was a fun and quick sew - I did it over the weekend, completing a seam at a time in between other activities. With each seam I could feel a sense of achievement and see progress, without the difficulty level growing to be too frustrating. And the end result looks great all round! Note though that even this small one needs more scraps than you might think, in order to fill it well. +Maar al met al was het een leuk en snel naaiwerk - ik heb het in het weekend gedaan en tussen andere activiteiten door steeds een naadje afgemaakt. Bij elke naad voelde ik een gevoel van prestatie en zag ik vooruitgang, zonder dat de moeilijkheidsgraad te frustrerend werd. En het eindresultaat ziet er rondom geweldig uit! Houd er wel rekening mee dat zelfs deze kleine meer restjes nodig heeft dan je zou denken om hem goed te vullen. ![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-small-calico-skully-and-a-bit-of-a-pattern-test-too-1/public "Skully - side view looking left") From a39d7b01dff0cb9574c92b21f6d5ced96da85ce9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 18 Jan 2024 23:05:43 +0100 Subject: [PATCH 0163/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/notes/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/lumira/notes/nl.md b/markdown/org/docs/designs/lumira/notes/nl.md index 0d5b9ba9273..2ea226def78 100644 --- a/markdown/org/docs/designs/lumira/notes/nl.md +++ b/markdown/org/docs/designs/lumira/notes/nl.md @@ -2,12 +2,12 @@ title: "Lumira leggings: Ontwerper Notities" --- -Ik begon aan dit ontwerp te werken toen ik besloot dat ik meer leggings nodig had om in de herfst en winter te fietsen. My previous -pair was made with a commercial pattern, and they have served me well. The easy solution would have been to just -make some more. But if I need some of these, there should be more people that do. +Ik begon aan dit ontwerp te werken toen ik besloot dat ik meer leggings nodig had om in de herfst en winter te fietsen. Mijn vorige +paar was gemaakt met een commercieel patroon en ik heb er veel plezier van gehad. De gemakkelijke oplossing zou zijn geweest om er gewoon +meer te maken. But if I need some of these, there should be more people that do. -I decided to make this pattern so it allows for a waistband to be part of it. This should make for a good fit on -a wide range of body types. It uses a gusset that is relatively large in the back. This is both a nice design feature, +Ik besloot dit patroon zo te maken dat er een tailleband bij kan. Dit zou moeten zorgen voor een goede pasvorm op +een breed scala aan lichaamstypen. It uses a gusset that is relatively large in the back. This is both a nice design feature, and provides support for the rear. To exemplify this, you could use a contrasting fabric for this part. The pattern's gusset can be extended to the front to allow for a bulge. And since I wanted this pattern to be From e3724b32cbb61ebcc0fa5154ef6b235d3a0ce2e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 04:47:57 +0000 Subject: [PATCH 0164/1313] build(deps): bump @aws-sdk/client-sesv2 from 3.490.0 to 3.495.0 Bumps [@aws-sdk/client-sesv2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sesv2) from 3.490.0 to 3.495.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sesv2/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.495.0/clients/client-sesv2) --- updated-dependencies: - dependency-name: "@aws-sdk/client-sesv2" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 1203 +++++++++++++++++------------------- 2 files changed, 585 insertions(+), 620 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 38d51eb47f9..e4978d6c976 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": {}, "dependencies": { - "@aws-sdk/client-sesv2": "3.490.0", + "@aws-sdk/client-sesv2": "3.495.0", "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", diff --git a/yarn.lock b/yarn.lock index b26a5ba8d69..ae046a14784 100644 --- a/yarn.lock +++ b/yarn.lock @@ -197,354 +197,354 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-sesv2@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.490.0.tgz#1837f2bfe5752eba62b748ffb92772876ac35634" - integrity sha512-xFm9cY3N5yGYuBokIHlvDCvqey1Iqq2pXXt4qA4cF/IHrGZ/Ab8p1j0pkbP/Mel9SN5Mv5aNQHeNrjfDlnslSQ== +"@aws-sdk/client-sesv2@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.495.0.tgz#6757612dbcd8c6f54a0dae63381b7ddbb8dea92b" + integrity sha512-jSck2QDI3zfVbLjQpqpEHBT+I7xKoyUIjdJVCBFw5Hr9IPsFk3csC2SFYqRj+4knHX8aBOTSt1OrMv/5PFgx4g== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.490.0" - "@aws-sdk/core" "3.490.0" - "@aws-sdk/credential-provider-node" "3.490.0" - "@aws-sdk/middleware-host-header" "3.489.0" - "@aws-sdk/middleware-logger" "3.489.0" - "@aws-sdk/middleware-recursion-detection" "3.489.0" - "@aws-sdk/middleware-signing" "3.489.0" - "@aws-sdk/middleware-user-agent" "3.489.0" - "@aws-sdk/region-config-resolver" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@aws-sdk/util-endpoints" "3.489.0" - "@aws-sdk/util-user-agent-browser" "3.489.0" - "@aws-sdk/util-user-agent-node" "3.489.0" - "@smithy/config-resolver" "^2.0.23" - "@smithy/core" "^1.2.2" - "@smithy/fetch-http-handler" "^2.3.2" - "@smithy/hash-node" "^2.0.18" - "@smithy/invalid-dependency" "^2.0.16" - "@smithy/middleware-content-length" "^2.0.18" - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-retry" "^2.0.26" - "@smithy/middleware-serde" "^2.0.16" - "@smithy/middleware-stack" "^2.0.10" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/node-http-handler" "^2.2.2" - "@smithy/protocol-http" "^3.0.12" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - "@smithy/util-base64" "^2.0.1" - "@smithy/util-body-length-browser" "^2.0.1" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.24" - "@smithy/util-defaults-mode-node" "^2.0.32" - "@smithy/util-endpoints" "^1.0.8" - "@smithy/util-retry" "^2.0.9" - "@smithy/util-utf8" "^2.0.2" + "@aws-sdk/client-sts" "3.495.0" + "@aws-sdk/core" "3.495.0" + "@aws-sdk/credential-provider-node" "3.495.0" + "@aws-sdk/middleware-host-header" "3.495.0" + "@aws-sdk/middleware-logger" "3.495.0" + "@aws-sdk/middleware-recursion-detection" "3.495.0" + "@aws-sdk/middleware-signing" "3.495.0" + "@aws-sdk/middleware-user-agent" "3.495.0" + "@aws-sdk/region-config-resolver" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@aws-sdk/util-endpoints" "3.495.0" + "@aws-sdk/util-user-agent-browser" "3.495.0" + "@aws-sdk/util-user-agent-node" "3.495.0" + "@smithy/config-resolver" "^2.1.0" + "@smithy/core" "^1.3.0" + "@smithy/fetch-http-handler" "^2.4.0" + "@smithy/hash-node" "^2.1.0" + "@smithy/invalid-dependency" "^2.1.0" + "@smithy/middleware-content-length" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-retry" "^2.1.0" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/middleware-stack" "^2.1.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/node-http-handler" "^2.3.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" + "@smithy/util-base64" "^2.1.0" + "@smithy/util-body-length-browser" "^2.1.0" + "@smithy/util-body-length-node" "^2.2.0" + "@smithy/util-defaults-mode-browser" "^2.1.0" + "@smithy/util-defaults-mode-node" "^2.1.0" + "@smithy/util-endpoints" "^1.1.0" + "@smithy/util-retry" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/client-sso@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.490.0.tgz#f18720d6301b83de858afd9b7dd4a2452b18e8ad" - integrity sha512-yfxoHmCL1w/IKmFRfzCxdVCQrGlSQf4eei9iVEm5oi3iE8REFyPj3o/BmKQEHG3h2ITK5UbdYDb5TY4xoYHsyA== +"@aws-sdk/client-sso@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.495.0.tgz#4051740a6744a026fb2f2d94f29dee5fc4f6cda1" + integrity sha512-Uerh3aDe/JeQNjcyXKI+8VuKPOAB6mCUKlScD0AIca1Kdyk8PsQTq4rDzFCYAQsNS5/BuPN+Ak0NqwsJM0agYA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/core" "3.490.0" - "@aws-sdk/middleware-host-header" "3.489.0" - "@aws-sdk/middleware-logger" "3.489.0" - "@aws-sdk/middleware-recursion-detection" "3.489.0" - "@aws-sdk/middleware-user-agent" "3.489.0" - "@aws-sdk/region-config-resolver" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@aws-sdk/util-endpoints" "3.489.0" - "@aws-sdk/util-user-agent-browser" "3.489.0" - "@aws-sdk/util-user-agent-node" "3.489.0" - "@smithy/config-resolver" "^2.0.23" - "@smithy/core" "^1.2.2" - "@smithy/fetch-http-handler" "^2.3.2" - "@smithy/hash-node" "^2.0.18" - "@smithy/invalid-dependency" "^2.0.16" - "@smithy/middleware-content-length" "^2.0.18" - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-retry" "^2.0.26" - "@smithy/middleware-serde" "^2.0.16" - "@smithy/middleware-stack" "^2.0.10" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/node-http-handler" "^2.2.2" - "@smithy/protocol-http" "^3.0.12" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - "@smithy/util-base64" "^2.0.1" - "@smithy/util-body-length-browser" "^2.0.1" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.24" - "@smithy/util-defaults-mode-node" "^2.0.32" - "@smithy/util-endpoints" "^1.0.8" - "@smithy/util-retry" "^2.0.9" - "@smithy/util-utf8" "^2.0.2" + "@aws-sdk/core" "3.495.0" + "@aws-sdk/middleware-host-header" "3.495.0" + "@aws-sdk/middleware-logger" "3.495.0" + "@aws-sdk/middleware-recursion-detection" "3.495.0" + "@aws-sdk/middleware-user-agent" "3.495.0" + "@aws-sdk/region-config-resolver" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@aws-sdk/util-endpoints" "3.495.0" + "@aws-sdk/util-user-agent-browser" "3.495.0" + "@aws-sdk/util-user-agent-node" "3.495.0" + "@smithy/config-resolver" "^2.1.0" + "@smithy/core" "^1.3.0" + "@smithy/fetch-http-handler" "^2.4.0" + "@smithy/hash-node" "^2.1.0" + "@smithy/invalid-dependency" "^2.1.0" + "@smithy/middleware-content-length" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-retry" "^2.1.0" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/middleware-stack" "^2.1.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/node-http-handler" "^2.3.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" + "@smithy/util-base64" "^2.1.0" + "@smithy/util-body-length-browser" "^2.1.0" + "@smithy/util-body-length-node" "^2.2.0" + "@smithy/util-defaults-mode-browser" "^2.1.0" + "@smithy/util-defaults-mode-node" "^2.1.0" + "@smithy/util-endpoints" "^1.1.0" + "@smithy/util-retry" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/client-sts@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.490.0.tgz#17bf245705790fd632e4fa5d0cf0f312069f8a4d" - integrity sha512-n2vQ5Qu2qi2I0XMI+IH99ElpIRHOJTa1+sqNC4juMYxKQBMvw+EnsqUtaL3QvTHoyxNB/R7mpkeBB6SzPQ1TtA== +"@aws-sdk/client-sts@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.495.0.tgz#b444e9951efb1d9ea58a91fd993a818b5d76d29a" + integrity sha512-lXQIx7D1MQ5+F8PaSYV7UiSxgP9M5ba/YFx1rcxi5l1GlbAWuHWhrk15qKe9d6vLxa2eTjJFiVzbO7pJqRBEWw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/core" "3.490.0" - "@aws-sdk/credential-provider-node" "3.490.0" - "@aws-sdk/middleware-host-header" "3.489.0" - "@aws-sdk/middleware-logger" "3.489.0" - "@aws-sdk/middleware-recursion-detection" "3.489.0" - "@aws-sdk/middleware-user-agent" "3.489.0" - "@aws-sdk/region-config-resolver" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@aws-sdk/util-endpoints" "3.489.0" - "@aws-sdk/util-user-agent-browser" "3.489.0" - "@aws-sdk/util-user-agent-node" "3.489.0" - "@smithy/config-resolver" "^2.0.23" - "@smithy/core" "^1.2.2" - "@smithy/fetch-http-handler" "^2.3.2" - "@smithy/hash-node" "^2.0.18" - "@smithy/invalid-dependency" "^2.0.16" - "@smithy/middleware-content-length" "^2.0.18" - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-retry" "^2.0.26" - "@smithy/middleware-serde" "^2.0.16" - "@smithy/middleware-stack" "^2.0.10" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/node-http-handler" "^2.2.2" - "@smithy/protocol-http" "^3.0.12" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - "@smithy/util-base64" "^2.0.1" - "@smithy/util-body-length-browser" "^2.0.1" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.24" - "@smithy/util-defaults-mode-node" "^2.0.32" - "@smithy/util-endpoints" "^1.0.8" - "@smithy/util-middleware" "^2.0.9" - "@smithy/util-retry" "^2.0.9" - "@smithy/util-utf8" "^2.0.2" + "@aws-sdk/core" "3.495.0" + "@aws-sdk/credential-provider-node" "3.495.0" + "@aws-sdk/middleware-host-header" "3.495.0" + "@aws-sdk/middleware-logger" "3.495.0" + "@aws-sdk/middleware-recursion-detection" "3.495.0" + "@aws-sdk/middleware-user-agent" "3.495.0" + "@aws-sdk/region-config-resolver" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@aws-sdk/util-endpoints" "3.495.0" + "@aws-sdk/util-user-agent-browser" "3.495.0" + "@aws-sdk/util-user-agent-node" "3.495.0" + "@smithy/config-resolver" "^2.1.0" + "@smithy/core" "^1.3.0" + "@smithy/fetch-http-handler" "^2.4.0" + "@smithy/hash-node" "^2.1.0" + "@smithy/invalid-dependency" "^2.1.0" + "@smithy/middleware-content-length" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-retry" "^2.1.0" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/middleware-stack" "^2.1.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/node-http-handler" "^2.3.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" + "@smithy/util-base64" "^2.1.0" + "@smithy/util-body-length-browser" "^2.1.0" + "@smithy/util-body-length-node" "^2.2.0" + "@smithy/util-defaults-mode-browser" "^2.1.0" + "@smithy/util-defaults-mode-node" "^2.1.0" + "@smithy/util-endpoints" "^1.1.0" + "@smithy/util-middleware" "^2.1.0" + "@smithy/util-retry" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/core@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.490.0.tgz#387013cb6e4060b421c6b45bd33f419c5c8e4a76" - integrity sha512-TSBWkXtxMU7q1Zo6w3v5wIOr/sj7P5Jw3OyO7lJrFGsPsDC2xwpxkVqTesDxkzgMRypO52xjYEmveagn1xxBHg== +"@aws-sdk/core@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.495.0.tgz#28f667bc1f3386ee1a5f9dcf173d14b2dd67d99b" + integrity sha512-TI/jq1cSUR+r1prJ9xXtxMO0u2/jXrWjf3Z2ekForsCObPtR9qkJCYyezargupoSJqZA60KUpOhxrKW/dFJ1rw== dependencies: - "@smithy/core" "^1.2.2" - "@smithy/protocol-http" "^3.0.12" - "@smithy/signature-v4" "^2.0.0" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" + "@smithy/core" "^1.3.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/signature-v4" "^2.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-env@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.489.0.tgz#69aeee7251047dbf3b1533514cb87c5fae333a47" - integrity sha512-5PqYsx9G5SB2tqPT9/z/u0EkF6D4wP6HTMWQs+DfMdmwXihrqQAgeYaTtV3KbXqb88p6sfacwxhUvE6+Rm494w== +"@aws-sdk/credential-provider-env@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.495.0.tgz#341640da6bc88112622e1f8d13a49ebd934e9f7d" + integrity sha512-2CKlHiQRXyVA7t3VGXo39a/UwRrZs/VG0jYZFu60dK9afxesRkA4XOJto765VenT/eR3LkeVW+RBzOISHUFg0Q== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-ini@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.490.0.tgz#8a907f85a5d88614bc63eac15d0f86a6074fb9fe" - integrity sha512-7m63zyCpVqj9FsoDxWMWWRvL6c7zZzOcXYkHZmHujVVlmAXH0RT/vkXFkYgt+Ku+ov+v5NQrzwO5TmVoRt6O8g== +"@aws-sdk/credential-provider-ini@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.495.0.tgz#ab1c8f4b181319a769b0cb3e8607bd5c0faafe8b" + integrity sha512-DGRfND+FIacuQQNozMa8fS4yUrWZgkB6CEH4ghiqUvtE7h2sGMMVEerlaCGgTnQlpWWvDS656orzwEO3vuMTVw== dependencies: - "@aws-sdk/credential-provider-env" "3.489.0" - "@aws-sdk/credential-provider-process" "3.489.0" - "@aws-sdk/credential-provider-sso" "3.490.0" - "@aws-sdk/credential-provider-web-identity" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@smithy/credential-provider-imds" "^2.0.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.8.0" + "@aws-sdk/credential-provider-env" "3.495.0" + "@aws-sdk/credential-provider-process" "3.495.0" + "@aws-sdk/credential-provider-sso" "3.495.0" + "@aws-sdk/credential-provider-web-identity" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@smithy/credential-provider-imds" "^2.2.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.490.0.tgz#fc1051f30e25eb00d63e40be79f5fd4b66d3bdfb" - integrity sha512-Gh33u2O5Xbout8G3z/Z5H/CZzdG1ophxf/XS3iMFxA1cazQ7swY1UMmGvB7Lm7upvax5anXouItD1Ph3gzKc4w== +"@aws-sdk/credential-provider-node@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.495.0.tgz#39bc4592125ad622d3295a8086501fc2210b09c7" + integrity sha512-OH3lV7erPLNxkZQ+QBEgX353mseelBaHutyJNFKdgCYMZUhENu2DNTvkasGtwA24TqG0sRiuO2yNhpqP8IF+LA== dependencies: - "@aws-sdk/credential-provider-env" "3.489.0" - "@aws-sdk/credential-provider-ini" "3.490.0" - "@aws-sdk/credential-provider-process" "3.489.0" - "@aws-sdk/credential-provider-sso" "3.490.0" - "@aws-sdk/credential-provider-web-identity" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@smithy/credential-provider-imds" "^2.0.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.8.0" + "@aws-sdk/credential-provider-env" "3.495.0" + "@aws-sdk/credential-provider-ini" "3.495.0" + "@aws-sdk/credential-provider-process" "3.495.0" + "@aws-sdk/credential-provider-sso" "3.495.0" + "@aws-sdk/credential-provider-web-identity" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@smithy/credential-provider-imds" "^2.2.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-process@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.489.0.tgz#f0c2b5b22a1ca364ec89cd7e469673824606dec4" - integrity sha512-3vKQYJZ5cZYjy0870CPmbmKRBgATw2xCygxhn4m4UDCjOXVXcGUtYD51DMWsvBo3S0W8kH+FIJV4yuEDMFqLFQ== +"@aws-sdk/credential-provider-process@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.495.0.tgz#0c0a6fa406cf95b5460d75eb5a3c70278a75c6ad" + integrity sha512-AouHJtg5qXeqzlY5plqbBkQPea1Kd3/tz9wfN+d5gbTUsDBlV7R6IinzhJWWgniS0jsaEOronlCXLIEOWUzTsw== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-sso@3.490.0": - version "3.490.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.490.0.tgz#0cb15aebf72bc7d253aa51dee6a888a2af38acda" - integrity sha512-3UUBUoPbFvT58IhS4Vb23omYj/QPNkjgxu9p9ruQ3KSjLkanI4w8t/l/jljA65q83P7CoLnM5UKG9L7RA8/V1Q== +"@aws-sdk/credential-provider-sso@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.495.0.tgz#244a2eabd59db44626c9657e7b78a0ad33fa75ec" + integrity sha512-brbgLtws+jmBPm6FrQ0CT2mHCgFKdopwxJj/4+j//OH0aAgzBH5gOztoDu1R556KU9K8Co220J79gJWV3s40zQ== dependencies: - "@aws-sdk/client-sso" "3.490.0" - "@aws-sdk/token-providers" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.8.0" + "@aws-sdk/client-sso" "3.495.0" + "@aws-sdk/token-providers" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-web-identity@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.489.0.tgz#28e2ba4d1ee4de4d055875028ed205a2264611c1" - integrity sha512-mjIuE2Wg1H/ds0nXQ/7vfusEDudmdd8YzKZI1y5O4n60iZZtyB2RNIECtvLMx1EQAKclidY7/06qQkArrGau5Q== +"@aws-sdk/credential-provider-web-identity@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.495.0.tgz#2a3416acb7ca3869fb4ec7e0ac378a8ea91560d6" + integrity sha512-w4S01mdQZ8kQn4J6CM2Fgral9xtNBh8h5i4DWSOwFxfiokott59zDoFMWJRUdUHzXsnAGULC8+wJ4VeiZZBq1Q== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/middleware-host-header@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.489.0.tgz#7c00fa49c6d359bdc9b4d27be09af29ac6700968" - integrity sha512-Cl7HJ1jhOfllwf0CRx1eB4ypRGMqdGKWpc0eSTXty7wWSvCdMZUhwfjQqu2bIOIlgYxg/gFu6TVmVZ6g4O8PlA== +"@aws-sdk/middleware-host-header@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.495.0.tgz#7a9deb549d2b7a034951d3a182c70a6c398ff955" + integrity sha512-qqE6mVxbyJwn59NQMvtYyaZT3GEZnmsvBUry3sDtU7Be1g9w5OKhY4CnAAQyXZI288iQUtyxxDh+hnSLy6RFjA== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/protocol-http" "^3.0.12" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/middleware-logger@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.489.0.tgz#36855ec7ac8af4604f2a0b739358f0411878abea" - integrity sha512-+EVDnWese61MdImcBNAgz/AhTcIZJaska/xsU3GWU9CP905x4a4qZdB7fExFMDu1Jlz5pJqNteFYYHCFMJhHfg== +"@aws-sdk/middleware-logger@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.495.0.tgz#943f89c417ec9a3d65617778d373d7d2e898fec0" + integrity sha512-sgmr9fpCSg3rFvMnvfKeN7dhY+AmUpZPPWyc+s1kgQONeLUUxQkbdqR2/V+tz2ZPxUBD2dToTG/JhtMcIKmt4Q== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/middleware-recursion-detection@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.489.0.tgz#bdcbfcebd3d27aad2e0b2808af7c1d3d380c52a2" - integrity sha512-m4rU+fTzziQcu9DKjRNZ4nQlXENEd2ZnJblJV4ONdWqqEjbmOgOj3P6aCCQlJdIbzuNvX1FBOZ5tY59ZpERo7Q== +"@aws-sdk/middleware-recursion-detection@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.495.0.tgz#14dd2820c86a443aeb91d3d0e4ab058e04029143" + integrity sha512-jhuOcLsMrHengJy/oz6Waumwx/vtSMKnEbROR7qZ7CaTDHRUbriPYXGen7CHCs/6aWN0UeI3JBAqwlnSW5tpIg== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/protocol-http" "^3.0.12" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/middleware-signing@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.489.0.tgz#ad92c3a4fb3afc2798b4f99a7ca6abaaf75461b8" - integrity sha512-rlHcWYZn6Ym3v/u0DvKNDiD7ogIzEsHlerm0lowTiQbszkFobOiUClRTALwvsUZdAAztl706qO1OKbnGnD6Ubw== +"@aws-sdk/middleware-signing@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.495.0.tgz#68183c14a8c8a1118a00f3c048a21c3162b0b35c" + integrity sha512-QZuWRo6JQ7UKeHzqqnP/qmUXirVKXSMXSEFtpOHio/JkQPASVlD1TNs5L6RL7dKrnqLrg/jpTiw4b0UdAU8kOw== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^3.0.12" - "@smithy/signature-v4" "^2.0.0" - "@smithy/types" "^2.8.0" - "@smithy/util-middleware" "^2.0.9" + "@aws-sdk/types" "3.495.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/signature-v4" "^2.1.0" + "@smithy/types" "^2.9.0" + "@smithy/util-middleware" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/middleware-user-agent@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.489.0.tgz#84b2f7e3038b631ecd9e3cddd0205d9b6a266444" - integrity sha512-M54Cv2fAN3GGgdfUjLtZ4wFUIrfM/ivbXv4DgpcNsacEQ2g4H+weQgKp41X7XZW8MWAzl+k1zJaryK69RYNQkQ== +"@aws-sdk/middleware-user-agent@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.495.0.tgz#9355d7fd3828a394603b005c7dd83869385f7180" + integrity sha512-n+lC43Z7+LyAF7b63bR+e5pBmBqPaqh4gupEmrORc4wKsX7U4OncDPiVn5jPD7ZC3IZbLeTuDsjQOK8Ev+Hraw== dependencies: - "@aws-sdk/types" "3.489.0" - "@aws-sdk/util-endpoints" "3.489.0" - "@smithy/protocol-http" "^3.0.12" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@aws-sdk/util-endpoints" "3.495.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/region-config-resolver@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.489.0.tgz#58bd9dfbe148e2de8bfd0e5e4a3719d56b594c85" - integrity sha512-UvrnB78XTz9ddby7mr0vuUHn2MO3VTjzaIu+GQhyedMGQU0QlIQrYOlzbbu4LC5rL1O8FxFLUxRe/AAjgwyuGw== +"@aws-sdk/region-config-resolver@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.495.0.tgz#54852c510e951ea134a6da3e68a8b6b72815766d" + integrity sha512-ZgixNb+8dWUvc42Uso2fh38U7W7wW4OESUmQIFQzYW58B1ylZ4xuq/mo0xSY5b5j6u/+pJadvlIpx/QYBafVHg== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/types" "^2.8.0" - "@smithy/util-config-provider" "^2.1.0" - "@smithy/util-middleware" "^2.0.9" + "@aws-sdk/types" "3.495.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/types" "^2.9.0" + "@smithy/util-config-provider" "^2.2.0" + "@smithy/util-middleware" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/token-providers@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.489.0.tgz#69897270f71595449f665b9f40754dfa21ea7be1" - integrity sha512-hSgjB8CMQoA8EIQ0ripDjDtbBcWDSa+7vSBYPIzksyknaGERR/GUfGXLV2dpm5t17FgFG6irT5f3ZlBzarL8Dw== +"@aws-sdk/token-providers@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.495.0.tgz#484c40544756b4a4fcc511a988c9eaf29d1067b8" + integrity sha512-1JSEx82FMKNNtPoV5NRpFxi0XHgfvonCKb4+2lR/k4nljqeysZPnOaIW/7C1eAwhoJ6buEIVxoHscemBtdKo+A== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.489.0" - "@aws-sdk/middleware-logger" "3.489.0" - "@aws-sdk/middleware-recursion-detection" "3.489.0" - "@aws-sdk/middleware-user-agent" "3.489.0" - "@aws-sdk/region-config-resolver" "3.489.0" - "@aws-sdk/types" "3.489.0" - "@aws-sdk/util-endpoints" "3.489.0" - "@aws-sdk/util-user-agent-browser" "3.489.0" - "@aws-sdk/util-user-agent-node" "3.489.0" - "@smithy/config-resolver" "^2.0.23" - "@smithy/fetch-http-handler" "^2.3.2" - "@smithy/hash-node" "^2.0.18" - "@smithy/invalid-dependency" "^2.0.16" - "@smithy/middleware-content-length" "^2.0.18" - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-retry" "^2.0.26" - "@smithy/middleware-serde" "^2.0.16" - "@smithy/middleware-stack" "^2.0.10" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/node-http-handler" "^2.2.2" - "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^3.0.12" - "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - "@smithy/util-base64" "^2.0.1" - "@smithy/util-body-length-browser" "^2.0.1" - "@smithy/util-body-length-node" "^2.1.0" - "@smithy/util-defaults-mode-browser" "^2.0.24" - "@smithy/util-defaults-mode-node" "^2.0.32" - "@smithy/util-endpoints" "^1.0.8" - "@smithy/util-retry" "^2.0.9" - "@smithy/util-utf8" "^2.0.2" + "@aws-sdk/middleware-host-header" "3.495.0" + "@aws-sdk/middleware-logger" "3.495.0" + "@aws-sdk/middleware-recursion-detection" "3.495.0" + "@aws-sdk/middleware-user-agent" "3.495.0" + "@aws-sdk/region-config-resolver" "3.495.0" + "@aws-sdk/types" "3.495.0" + "@aws-sdk/util-endpoints" "3.495.0" + "@aws-sdk/util-user-agent-browser" "3.495.0" + "@aws-sdk/util-user-agent-node" "3.495.0" + "@smithy/config-resolver" "^2.1.0" + "@smithy/fetch-http-handler" "^2.4.0" + "@smithy/hash-node" "^2.1.0" + "@smithy/invalid-dependency" "^2.1.0" + "@smithy/middleware-content-length" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-retry" "^2.1.0" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/middleware-stack" "^2.1.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/node-http-handler" "^2.3.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" + "@smithy/util-base64" "^2.1.0" + "@smithy/util-body-length-browser" "^2.1.0" + "@smithy/util-body-length-node" "^2.2.0" + "@smithy/util-defaults-mode-browser" "^2.1.0" + "@smithy/util-defaults-mode-node" "^2.1.0" + "@smithy/util-endpoints" "^1.1.0" + "@smithy/util-retry" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" tslib "^2.5.0" -"@aws-sdk/types@3.489.0", "@aws-sdk/types@^3.222.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.489.0.tgz#0fa29adaace3e407ac15428524aa67e9bd229f65" - integrity sha512-kcDtLfKog/p0tC4gAeqJqWxAiEzfe2LRPnKamvSG2Mjbthx4R/alE2dxyIq/wW+nvRv0fqR3OD5kD1+eVfdr/w== +"@aws-sdk/types@3.495.0", "@aws-sdk/types@^3.222.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.495.0.tgz#a8659d9795af5d62e35b396d483aa81adeb1c4f8" + integrity sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.489.0.tgz#8adfa6da0cac973a8ca0f2c4aa66f7d587310acb" - integrity sha512-uGyG1u84ATX03mf7bT4xD9XD/vlYJGD5+RxMN/UpzeTfzXfh+jvCQWbOQ44z8ttFJWYQQqrLxkfpF/JgvALzLA== +"@aws-sdk/util-endpoints@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.495.0.tgz#c0f9ebce45ba196474ea06b4b2128692e857ccff" + integrity sha512-pMJ6rb16y51I4G33xtinkXAXH/2mQ0WZCwoh1sNkCM2MUfZDw9zAyP+PvB2tpEytQX8Fc7bR4qIP+td+pPEXAg== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/types" "^2.8.0" - "@smithy/util-endpoints" "^1.0.8" + "@aws-sdk/types" "3.495.0" + "@smithy/types" "^2.9.0" + "@smithy/util-endpoints" "^1.1.0" tslib "^2.5.0" "@aws-sdk/util-locate-window@^3.0.0": @@ -554,24 +554,24 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.489.0.tgz#d59c3386c71ac08d658c123a1487cd6473c65627" - integrity sha512-85B9KMsuMpAZauzWQ16r52ZBAHYnznW6BVitnBglsibN7oJKn10Hggt4QGuRhvQFCxQ8YhvBl7r+vQGFO4hxIw== +"@aws-sdk/util-user-agent-browser@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.495.0.tgz#a005fa4553ca36273ab37a1dcdad01451f091b63" + integrity sha512-CIlY54aKahUqF4kygbMkDkFRc9t+8Km/r+IWapy91h0Exy84V+S47MJdAelsMg8Id6hZ47jWmuuzz5UcjU/+sQ== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/types" "^2.9.0" bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-user-agent-node@3.489.0": - version "3.489.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.489.0.tgz#bc8f96710aadec4f5e327817cf5945c473150621" - integrity sha512-CYdkBHig8sFNc0dv11Ni9WXvZQHeI5+z77OrDHKkbidFx/V4BDTuwZw4K1vWg62pzFOEfzunJFiULRcDZWJR3w== +"@aws-sdk/util-user-agent-node@3.495.0": + version "3.495.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.495.0.tgz#3f7f1cd04aab12b5a06543c1c48c65cd2a8c5403" + integrity sha512-BbEwwh9SCtMrcNES0u4q5/8BjAKkOiHGia0gDSlQHOmEzXxYvhx0ByRMaPeprL06iESFa6HcleJWenWktfxk3g== dependencies: - "@aws-sdk/types" "3.489.0" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/types" "^2.8.0" + "@aws-sdk/types" "3.495.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" "@aws-sdk/util-utf8-browser@^3.0.0": @@ -2085,416 +2085,381 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@smithy/abort-controller@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.16.tgz#31a86748e0c55a97ead1d179040160c6fc55ba1b" - integrity sha512-4foO7738k8kM9flMHu3VLabqu7nPgvIj8TB909S0CnKx0YZz/dcDH3pZ/4JHdatfxlZdKF1JWOYCw9+v3HVVsw== +"@smithy/abort-controller@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.0.tgz#fdf2efb104d2878299384e5667bb939ba2ca532b" + integrity sha512-fyPlWpzXyKzDVRRMUbsfH7AV/2xX+dyZ5RqeEo6Hjz9YUvDMGVSnm88iHH0zqZ+XmH4+sH4+mhwRL76HXX65uw== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/config-resolver@^2.0.23": - version "2.0.23" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.23.tgz#45496bea277c00d52efcdf88a5f483b3d6a7e62d" - integrity sha512-XakUqgtP2YY8Mi+Nlif5BiqJgWdvfxJafSpOSQeCOMizu+PUhE4fBQSy6xFcR+eInrwVadaABNxoJyGUMn15ew== +"@smithy/config-resolver@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.0.tgz#8e03e28c3e318e93201daf4111542136efd77bed" + integrity sha512-NcR1Hw2uZgwHT7/KFsQH76YHb/mNGLFu+hS0ODnoFUpViE8ddIVOXm/8sgwdh0QvFPtWGzPn0Wcp19Cm31wv2A== dependencies: - "@smithy/node-config-provider" "^2.1.9" - "@smithy/types" "^2.8.0" - "@smithy/util-config-provider" "^2.1.0" - "@smithy/util-middleware" "^2.0.9" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/types" "^2.9.0" + "@smithy/util-config-provider" "^2.2.0" + "@smithy/util-middleware" "^2.1.0" tslib "^2.5.0" -"@smithy/core@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.2.2.tgz#9e10d6055f2a05c2c677737b9b0c4f7507a80c75" - integrity sha512-uLjrskLT+mWb0emTR5QaiAIxVEU7ndpptDaVDrTwwhD+RjvHhjIiGQ3YL5jKk1a5VSDQUA2RGkXvJ6XKRcz6Dg== +"@smithy/core@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.0.tgz#7b1bb4984d18290acd80b97dc99e9a915585eb9f" + integrity sha512-XoU9eiICwhxZIyAdugijyD/YqsumDQ3FgGyFSJibO60qoUkdfMGSjnIvrTemjFBdnDsj4B26F/ZRxSR3PUJbJQ== dependencies: - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-retry" "^2.0.26" - "@smithy/middleware-serde" "^2.0.16" - "@smithy/protocol-http" "^3.0.12" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/util-middleware" "^2.0.9" + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-retry" "^2.1.0" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/util-middleware" "^2.1.0" tslib "^2.5.0" -"@smithy/credential-provider-imds@^2.0.0": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz#07da7ecd43eff92156ddc54f3b5330bbc128d5cd" - integrity sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA== +"@smithy/credential-provider-imds@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.0.tgz#72a78714e91096f635b01856e315f116e3665b4b" + integrity sha512-uqoRizHR8rKih6SuWcJRSv46tdqZk1zPEk6r909O87XO85j21MfUcxRKzbkORM2JOlaFhCH4geRcvlvYfK6EyQ== dependencies: - "@smithy/node-config-provider" "^2.1.1" - "@smithy/property-provider" "^2.0.12" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" tslib "^2.5.0" -"@smithy/credential-provider-imds@^2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.5.tgz#18e238067c0d9c5598a12fabb13ce1545554e691" - integrity sha512-VfvE6Wg1MUWwpTZFBnUD7zxvPhLY8jlHCzu6bCjlIYoWgXCDzZAML76IlZUEf45nib3rjehnFgg0s1rgsuN/bg== - dependencies: - "@smithy/node-config-provider" "^2.1.9" - "@smithy/property-provider" "^2.0.17" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - tslib "^2.5.0" - -"@smithy/eventstream-codec@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz#1ba090ea5dbf956e32d3d0d0986ffb0d0af8c57d" - integrity sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA== +"@smithy/eventstream-codec@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.0.tgz#0cb1e2b995c2414cd6c45adba88146306e91f34d" + integrity sha512-1yQnf8bSycsZ5ICXVMf8pEj1DQSUsw6/3H4nEdzH2+E3RZdNGPjVecQEm9kWPW7fvXvNvzT8MvZOQdk1IWoVTg== dependencies: "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^2.3.5" - "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/types" "^2.9.0" + "@smithy/util-hex-encoding" "^2.1.0" tslib "^2.5.0" -"@smithy/fetch-http-handler@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.3.2.tgz#930ee473b2a43d0bcf62c3b659f38122442ad514" - integrity sha512-O9R/OlnAOTsnysuSDjt0v2q6DcSvCz5cCFC/CFAWWcLyBwJDeFyGTCTszgpQTb19+Fi8uRwZE5/3ziAQBFeDMQ== +"@smithy/fetch-http-handler@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.0.tgz#007cc090fc944377037404409e6791db1f1c9a80" + integrity sha512-fLhPNfbWG8vTcS9PsR1wjHaA54kDcSiAZKVuVAfjHleS7QDWjrCr1SDUqCB2yAc9NBLe2lIDbDL8+i9yoYhxoQ== dependencies: - "@smithy/protocol-http" "^3.0.12" - "@smithy/querystring-builder" "^2.0.16" - "@smithy/types" "^2.8.0" - "@smithy/util-base64" "^2.0.1" + "@smithy/protocol-http" "^3.1.0" + "@smithy/querystring-builder" "^2.1.0" + "@smithy/types" "^2.9.0" + "@smithy/util-base64" "^2.1.0" tslib "^2.5.0" -"@smithy/hash-node@^2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.18.tgz#4bf4ec392b5d6715426338b6828e6b25cd939bd5" - integrity sha512-gN2JFvAgnZCyDN9rJgcejfpK0uPPJrSortVVVVWsru9whS7eQey6+gj2eM5ln2i6rHNntIXzal1Fm9XOPuoaKA== +"@smithy/hash-node@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.0.tgz#3799e2cfdd623cb0890d72aba9672cac9cfdb543" + integrity sha512-/B7b6NNjw+i4PlwsrYHmxmmrTxp2oRejgZH26HhXE77XWwAiPEI9iHu7GZR9fYhm7Fsj66Z9Bk6JA9aEvUC9/w== dependencies: - "@smithy/types" "^2.8.0" - "@smithy/util-buffer-from" "^2.0.0" - "@smithy/util-utf8" "^2.0.2" + "@smithy/types" "^2.9.0" + "@smithy/util-buffer-from" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" tslib "^2.5.0" -"@smithy/invalid-dependency@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.16.tgz#b32a6284ef4ce48129d00a6d63f977ec3e05befb" - integrity sha512-apEHakT/kmpNo1VFHP4W/cjfeP9U0x5qvfsLJubgp7UM/gq4qYp0GbqdE7QhsjUaYvEnrftRqs7+YrtWreV0wA== +"@smithy/invalid-dependency@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.0.tgz#aa3af949eb31d498d9ba1012ed52621c4feff3a3" + integrity sha512-hvryGI0KChV4jMgK/kwr6U4/HaYldzjiQAZ+c//QAMDoCp0KkP0Xt94XqAkr7Uq08577mAMW5U70YCaAx+KjSQ== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/is-array-buffer@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" - integrity sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug== +"@smithy/is-array-buffer@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.0.tgz#f379a26d98ee4450111b1b15f9677fcb465cd705" + integrity sha512-XnQvn/6ie5kjFyeW94NqSjGGOdMuB2WnNmDWKHHLVMCR/Emu7B8pcAZX4k8H3tjDujXAQvfBrEgmPRq6FgqmZg== dependencies: tslib "^2.5.0" -"@smithy/middleware-content-length@^2.0.18": - version "2.0.18" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.18.tgz#a3b13beb300290f5d0d48ace0f818e44261356fa" - integrity sha512-ZJ9uKPTfxYheTKSKYB+GCvcj+izw9WGzRLhjn8n254q0jWLojUzn7Vw0l4R/Gq7Wdpf/qmk/ptD+6CCXHNVCaw== +"@smithy/middleware-content-length@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.0.tgz#36e941020e4c1d13a96707a36d90986e3b171363" + integrity sha512-XYhKZPuS8nnecdx0IGGUt1Nt2/ekoVOw1zal4c0ARRaLJEw+umFLxwHUelIeBocbdOcPCeZRE6pdk35Y2T2wpw== dependencies: - "@smithy/protocol-http" "^3.0.12" - "@smithy/types" "^2.8.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/middleware-endpoint@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.3.0.tgz#135c30f38087ba52e692a73212854d0809ce1168" - integrity sha512-VsOAG2YQ8ykjSmKO+CIXdJBIWFo6AAvG6Iw95BakBTqk66/4BI7XyqLevoNSq/lZ6NgZv24sLmrcIN+fLDWBCg== +"@smithy/middleware-endpoint@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.0.tgz#9dcc7a230b404f586492f7c68850fcbf772b7282" + integrity sha512-GMebLCihCxIlbPdA/l6WDpNJppIgW5OeTJkIAbqVArg1vFxZ92XhW+UwN12av5OAXswySGJ80/fpDFP7HmSyYg== dependencies: - "@smithy/middleware-serde" "^2.0.16" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/shared-ini-file-loader" "^2.2.8" - "@smithy/types" "^2.8.0" - "@smithy/url-parser" "^2.0.16" - "@smithy/util-middleware" "^2.0.9" + "@smithy/middleware-serde" "^2.1.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/url-parser" "^2.1.0" + "@smithy/util-middleware" "^2.1.0" tslib "^2.5.0" -"@smithy/middleware-retry@^2.0.26": - version "2.0.26" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.26.tgz#894cf86b0f5bc742e09c52df8df4c2941fbd9883" - integrity sha512-Qzpxo0U5jfNiq9iD38U3e2bheXwvTEX4eue9xruIvEgh+UKq6dKuGqcB66oBDV7TD/mfoJi9Q/VmaiqwWbEp7A== +"@smithy/middleware-retry@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.0.tgz#9a5db6edc0fb950ccb9dcb7e4a0a3bdb5f5a0728" + integrity sha512-lGEVds90hFyIAvypH58rwC6j9mrCR2ZwYbcxow7AgW6sWCCoBppz5FtLpgSg6QV/CTRh8K7w4kxGVx8LqINQBg== dependencies: - "@smithy/node-config-provider" "^2.1.9" - "@smithy/protocol-http" "^3.0.12" - "@smithy/service-error-classification" "^2.0.9" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" - "@smithy/util-middleware" "^2.0.9" - "@smithy/util-retry" "^2.0.9" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/service-error-classification" "^2.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/util-middleware" "^2.1.0" + "@smithy/util-retry" "^2.1.0" tslib "^2.5.0" uuid "^8.3.2" -"@smithy/middleware-serde@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.16.tgz#a127e7fa48c0106bd7a81e1ea27e7193cb08e701" - integrity sha512-5EAd4t30pcc4M8TSSGq7q/x5IKrxfXR5+SrU4bgxNy7RPHQo2PSWBUco9C+D9Tfqp/JZvprRpK42dnupZafk2g== +"@smithy/middleware-serde@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.0.tgz#b7fddbdea1b879d2834615c6cca41f0904b4d184" + integrity sha512-iysAUIDKsc354HMnYVQxMJEzNaOrQQvE86b1oSl2fRwcFqn+9TTi028a37PLFE+ccAiyVGjBjB8PBsAz9plUug== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/middleware-stack@^2.0.10": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.10.tgz#fb7c660dcc921b61a77e6cb39ed3eada9ed38585" - integrity sha512-I2rbxctNq9FAPPEcuA1ntZxkTKOPQFy7YBPOaD/MLg1zCvzv21CoNxR0py6J8ZVC35l4qE4nhxB0f7TF5/+Ldw== +"@smithy/middleware-stack@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.0.tgz#c184f4c8b44d55518f2e4c9b91696914e7c88467" + integrity sha512-y5Ph/TWfO7oTfxNqKU+uAK5cFRTYeP16ReOmDweq+zQ8NQODDg7LSxsfQT4Wp0mhIvm0bt3pZp66T1YMtnihWw== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/node-config-provider@^2.1.1", "@smithy/node-config-provider@^2.1.9": - version "2.1.9" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.9.tgz#2e9e5ee7c4412be6696a74b26f9ed2a66e2a5fb4" - integrity sha512-tUyW/9xrRy+s7RXkmQhgYkAPMpTIF8izK4orhHjNFEKR3QZiOCbWB546Y8iB/Fpbm3O9+q0Af9rpywLKJOwtaQ== - dependencies: - "@smithy/property-provider" "^2.0.17" - "@smithy/shared-ini-file-loader" "^2.2.8" - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/node-http-handler@^2.2.2": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.2.2.tgz#f9f8cd49f270bc50a0de8a4587bbdaae1c7c4e80" - integrity sha512-XO58TO/Eul/IBQKFKaaBtXJi0ItEQQCT+NI4IiKHCY/4KtqaUT6y/wC1EvDqlA9cP7Dyjdj7FdPs4DyynH3u7g== - dependencies: - "@smithy/abort-controller" "^2.0.16" - "@smithy/protocol-http" "^3.0.12" - "@smithy/querystring-builder" "^2.0.16" - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.12": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.12.tgz#09391cae6f336300e88128717ee5fb7cff76c5b4" - integrity sha512-Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw== - dependencies: - "@smithy/types" "^2.3.5" - tslib "^2.5.0" - -"@smithy/property-provider@^2.0.17": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.17.tgz#288475021613649811dc79a9fab4894be01cd069" - integrity sha512-+VkeZbVu7qtQ2DjI48Qwaf9fPOr3gZIwxQpuLJgRRSkWsdSvmaTCxI3gzRFKePB63Ts9r4yjn4HkxSCSkdWmcQ== - dependencies: - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/protocol-http@^3.0.12": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.12.tgz#9f606efd191593f6dbde58fa822465b92b8afbca" - integrity sha512-Xz4iaqLiaBfbQpB9Hgi3VcZYbP7xRDXYhd8XWChh4v94uw7qwmvlxdU5yxzfm6ACJM66phHrTbS5TVvj5uQ72w== - dependencies: - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/querystring-builder@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.16.tgz#1a9a02b1fb938688cdab5e585cb7c62c8054bc41" - integrity sha512-Q/GsJT0C0mijXMRs7YhZLLCP5FcuC4797lYjKQkME5CZohnLC4bEhylAd2QcD3gbMKNjCw8+T2I27WKiV/wToA== - dependencies: - "@smithy/types" "^2.8.0" - "@smithy/util-uri-escape" "^2.0.0" - tslib "^2.5.0" - -"@smithy/querystring-parser@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.16.tgz#90d9589539ffe8fb4864c8bf6f1f1c9def962a40" - integrity sha512-c4ueAuL6BDYKWpkubjrQthZKoC3L5kql5O++ovekNxiexRXTlLIVlCR4q3KziOktLIw66EU9SQljPXd/oN6Okg== - dependencies: - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/service-error-classification@^2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.9.tgz#4459433f6727f1b7e953a9bab189672b3b157224" - integrity sha512-0K+8GvtwI7VkGmmInPydM2XZyBfIqLIbfR7mDQ+oPiz8mIinuHbV6sxOLdvX1Jv/myk7XTK9orgt3tuEpBu/zg== - dependencies: - "@smithy/types" "^2.8.0" - -"@smithy/shared-ini-file-loader@^2.0.6": +"@smithy/node-config-provider@^2.2.0": version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz#9e4a90a29fe3f109875c26e6127802ed0953f43d" - integrity sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA== + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.0.tgz#cfc2dfabd255ef019b9b9f496f2ed0ce3f71c285" + integrity sha512-rU82PFR32Bxo4EMGUJ2BGG+K97zUp9j6SWjG83T2itmbXwA/+DoCc4xCON8kcmdej822x1yLcSzFiTeg0b472w== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/property-provider" "^2.1.0" + "@smithy/shared-ini-file-loader" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/shared-ini-file-loader@^2.2.8": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.8.tgz#b5fa153d4920a3c740215c60ad1667972d67a164" - integrity sha512-E62byatbwSWrtq9RJ7xN40tqrRKDGrEL4EluyNpaIDvfvet06a/QC58oHw2FgVaEgkj0tXZPjZaKrhPfpoU0qw== +"@smithy/node-http-handler@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.3.0.tgz#36631b0a0961abf6bde66bebff38ecfa05433876" + integrity sha512-8jcQaOdrD/X0VihhM2W/KtJ5fvKaT8UpNf/pl/epvLQ6MkAttIMaCLex6xk31BpFSPvS2+q65ZdBBjQ3cMOSiA== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/abort-controller" "^2.1.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/querystring-builder" "^2.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/signature-v4@^2.0.0": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.11.tgz#e6d9065c7a73fc6f518f0cbc94039aed49307a1c" - integrity sha512-EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A== - dependencies: - "@smithy/eventstream-codec" "^2.0.11" - "@smithy/is-array-buffer" "^2.0.0" - "@smithy/types" "^2.3.5" - "@smithy/util-hex-encoding" "^2.0.0" - "@smithy/util-middleware" "^2.0.4" - "@smithy/util-uri-escape" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.5.0" - -"@smithy/smithy-client@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.2.1.tgz#ed1aa11f36dae2ca9b3eabcbc498bcc96d79fdfd" - integrity sha512-SpD7FLK92XV2fon2hMotaNDa2w5VAy5/uVjP9WFmjGSgWM8pTPVkHcDl1yFs5Z8LYbij0FSz+DbCBK6i+uXXUA== - dependencies: - "@smithy/middleware-endpoint" "^2.3.0" - "@smithy/middleware-stack" "^2.0.10" - "@smithy/protocol-http" "^3.0.12" - "@smithy/types" "^2.8.0" - "@smithy/util-stream" "^2.0.24" - tslib "^2.5.0" - -"@smithy/types@^2.3.5", "@smithy/types@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.8.0.tgz#bdbaa0a54c9c3538d6c763c6f32d3e4f76fe0df9" - integrity sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA== - dependencies: - tslib "^2.5.0" - -"@smithy/url-parser@^2.0.11", "@smithy/url-parser@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.16.tgz#25f860effe465acbbe61beb69b6def052878ee58" - integrity sha512-Wfz5WqAoRT91TjRy1JeLR0fXtkIXHGsMbgzKFTx7E68SrZ55TB8xoG+vm11Ru4gheFTMXjAjwAxv1jQdC+pAQA== - dependencies: - "@smithy/querystring-parser" "^2.0.16" - "@smithy/types" "^2.8.0" - tslib "^2.5.0" - -"@smithy/util-base64@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.1.tgz#57f782dafc187eddea7c8a1ff2a7c188ed1a02c4" - integrity sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ== - dependencies: - "@smithy/util-buffer-from" "^2.0.0" - tslib "^2.5.0" - -"@smithy/util-body-length-browser@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.1.tgz#424485cc81c640d18c17c683e0e6edb57e8e2ab9" - integrity sha512-NXYp3ttgUlwkaug4bjBzJ5+yIbUbUx8VsSLuHZROQpoik+gRkIBeEG9MPVYfvPNpuXb/puqodeeUXcKFe7BLOQ== - dependencies: - tslib "^2.5.0" - -"@smithy/util-body-length-node@^2.1.0": +"@smithy/property-provider@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz#313a5f7c5017947baf5fa018bfc22628904bbcfa" - integrity sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw== + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.0.tgz#a074383ad02efd559d15ee39780540f49f43576c" + integrity sha512-6cpCSsgwbKHnl567SrthpqLgZ7e5jc7qPHG6wz9U2T24vcUp2yiG0vdAlH1QdTH20+/PGamKR0ZM35a08X1Tbg== dependencies: + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-buffer-from@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" - integrity sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw== +"@smithy/protocol-http@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.1.0.tgz#17115deac9cb818da1fb78306c812627c91e06a9" + integrity sha512-CGNzkKza1yUga7sv+U4gx3jbwSh5x42/9vy0E/NoR2HTFken2MuMc/bClxXAO0Z6EQoTYHHA6FMCREXwSP04lg== dependencies: - "@smithy/is-array-buffer" "^2.0.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-config-provider@^2.1.0": +"@smithy/querystring-builder@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.1.0.tgz#c733a862892772aaeb373a3e8af5182556da0ef9" - integrity sha512-S6V0JvvhQgFSGLcJeT1CBsaTR03MM8qTuxMH9WPCCddlSo2W0V5jIHimHtIQALMLEDPGQ0ROSRr/dU0O+mxiQg== + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.0.tgz#17c37a21db8c6af6fb073a30aa1873526a986f88" + integrity sha512-8QColSkqn9TbvpX40zW0T8IrKcLXg7Um4bczm9qIYDRPh8T873WNIOWzYBw8chI8SWizMXbsSR95PFCP/YlgYw== + dependencies: + "@smithy/types" "^2.9.0" + "@smithy/util-uri-escape" "^2.1.0" + tslib "^2.5.0" + +"@smithy/querystring-parser@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.0.tgz#5abb0e0831edce826cf4b54db76ea5ad155e4dba" + integrity sha512-+l17LQQxelslo5CHsLXwSw2F1J6Qmf64OgByreNnLR82gHkJ91ZbMFhxZeLTo2qXxEu0uqraMc4uNw8qE9A6bw== + dependencies: + "@smithy/types" "^2.9.0" + tslib "^2.5.0" + +"@smithy/service-error-classification@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.0.tgz#a59e705af94e7a241d38a70a28cbc4616b703948" + integrity sha512-yBMJk4IfYqUxsPmc8P0YtWHd/Kbd0PP+kU0dgFksH6eiE2ZQJl7478xNtkUKp2QJLcooYEbA3gBFUza6ukXMiA== + dependencies: + "@smithy/types" "^2.9.0" + +"@smithy/shared-ini-file-loader@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.0.tgz#caaccfb0fb5a20d34b453f17b98998648827828e" + integrity sha512-jgm7cjj0d08jIB9cp4idtpIUY590Twecv4xpijgl2IzkrPfBddzKTH4Zk+Zwfyk8ecz2T/7ihqtnNcq7Qdj9lw== + dependencies: + "@smithy/types" "^2.9.0" + tslib "^2.5.0" + +"@smithy/signature-v4@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.0.tgz#e0cc528bb978114673caba78f225123fb633f52b" + integrity sha512-ONi89MBjxNtl497obaO/qGixsOedikTV3CAj3ZBPGY3IKykS8wQ2Wkctsx2T1J5B9OnynH0KuGGmgG91utX/7w== + dependencies: + "@smithy/eventstream-codec" "^2.1.0" + "@smithy/is-array-buffer" "^2.1.0" + "@smithy/types" "^2.9.0" + "@smithy/util-hex-encoding" "^2.1.0" + "@smithy/util-middleware" "^2.1.0" + "@smithy/util-uri-escape" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" + tslib "^2.5.0" + +"@smithy/smithy-client@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.3.0.tgz#bfafb0bde47ac7bf2579e13ff9310a5f6481a013" + integrity sha512-oEaLdVmHcbdK8IHQ4yE7xOYK2nSkF2xXp6nRr5NhfKB5QTKNzpNsXLiGJgfmm7j0ol1S6BhjyBhi7tZ8M0JJtg== + dependencies: + "@smithy/middleware-endpoint" "^2.4.0" + "@smithy/middleware-stack" "^2.1.0" + "@smithy/protocol-http" "^3.1.0" + "@smithy/types" "^2.9.0" + "@smithy/util-stream" "^2.1.0" + tslib "^2.5.0" + +"@smithy/types@^2.9.0": + version "2.9.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.9.0.tgz#634a1736d6b0583baafcb0e1123d4618325ebbec" + integrity sha512-ST1M87Lf2cLHRI+irEFRIHXGY08HHTAUbiRFYkmFyJdTMg3VDxkcm7DwW9/EgV3X8M6wDPrbIkx/RXONyttrQg== dependencies: tslib "^2.5.0" -"@smithy/util-defaults-mode-browser@^2.0.24": - version "2.0.24" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.24.tgz#bfa8fa441db0d0d309c11d091ca9746f2b8e4797" - integrity sha512-TsP5mBuLgO2C21+laNG2nHYZEyUdkbGURv2tHvSuQQxLz952MegX95uwdxOY2jR2H4GoKuVRfdJq7w4eIjGYeg== +"@smithy/url-parser@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.0.tgz#6b4be07e9e96f7959720a282e1d089a1466d0bd2" + integrity sha512-V3FMzNFCDwQNAgJdxI6Gj48qP9WAyvK59WE90hOoya3m8ey02uLDhWjZkl+505s7iTVVmJ7Mr7nKwG5vU2NIMQ== dependencies: - "@smithy/property-provider" "^2.0.17" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" + "@smithy/querystring-parser" "^2.1.0" + "@smithy/types" "^2.9.0" + tslib "^2.5.0" + +"@smithy/util-base64@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.0.tgz#8ba206c8db2133639b5b9f72359ada754202b073" + integrity sha512-zjXlHFm7S+TEDVA3j1rWGpuNDTlTxIWDqzwIfWUENT0VqCGDAdJITd8RYVjduf3u8HWMlgALkrY6B62UTESQ5w== + dependencies: + "@smithy/util-buffer-from" "^2.1.0" + tslib "^2.5.0" + +"@smithy/util-body-length-browser@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.0.tgz#e5ec5ca675b04ab2130e5fce0097ec1fda1d0a9d" + integrity sha512-fkLY8W+jXGSkymLNe9NB7u6lGflHz6w1R+a3RxLOK6UrtwU4LBLskAP5Ag/zVPUNd5tmfv3/W6cTVzk8IBJuiw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-body-length-node@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.0.tgz#a6a2514b6d5f97002e164affb1a52dcef1f1b1ab" + integrity sha512-ZLsqYH+s71y6Oc2Auws6zYI4LzsSi6N8+W+Gq7CwXaZm7QIKGiCeEunEwxo50OGAqJs0g6F9kCIwNxhlK1s4Aw== + dependencies: + tslib "^2.5.0" + +"@smithy/util-buffer-from@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.0.tgz#7e697dc0821952244eae01995bb623844c2638f9" + integrity sha512-3w7AM0moGyBmr9gMBGE7+pqG3cjboRvmMyRhpesbJoOUHO0BV1Qrk00M/wQ3EHJAQXM3dehQfFNUf7sR6nT6+Q== + dependencies: + "@smithy/is-array-buffer" "^2.1.0" + tslib "^2.5.0" + +"@smithy/util-config-provider@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.0.tgz#0a10e067215fceee27352260b7b797ff0bdb6f82" + integrity sha512-D3Gx0BWXjsn1E25ikUt0+yc8oZnViTa5IHZ1JvD9J1NyyVS4c3IgHqbG64XRverEMnhzUb0EhqMTwQTY12in+w== + dependencies: + tslib "^2.5.0" + +"@smithy/util-defaults-mode-browser@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.0.tgz#c64a96d967d0ce0df11ace504ea8ae2989c13c62" + integrity sha512-zmXL4aKeBGBz02kDZdks2QfG+HGq99Tp4/ICPmu2OvSbwTOLjmlCnUrtZJTmLhX4etP3o0voOL9gFEa2PSjlJg== + dependencies: + "@smithy/property-provider" "^2.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" bowser "^2.11.0" tslib "^2.5.0" -"@smithy/util-defaults-mode-node@^2.0.32": - version "2.0.32" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.32.tgz#a0665ef2feed845de7825059072e312e22393698" - integrity sha512-d0S33dXA2cq1NyorVMroMrEtqKMr3MlyLITcfTBf9pXiigYiPMOtbSI7czHIfDbuVuM89Cg0urAgpt73QV9mPQ== +"@smithy/util-defaults-mode-node@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.0.tgz#0bf0c8e2aaf7c18e7e008521bd6f57a11aaccd57" + integrity sha512-pVBaw2fBJMjjJj+AR69xQhjzYLZ5u9azdKyaAAjR16dthdBOcnczBClBVCfhb/Moj0ivIHnaXJ5AXCdbDok94g== dependencies: - "@smithy/config-resolver" "^2.0.23" - "@smithy/credential-provider-imds" "^2.1.5" - "@smithy/node-config-provider" "^2.1.9" - "@smithy/property-provider" "^2.0.17" - "@smithy/smithy-client" "^2.2.1" - "@smithy/types" "^2.8.0" + "@smithy/config-resolver" "^2.1.0" + "@smithy/credential-provider-imds" "^2.2.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/property-provider" "^2.1.0" + "@smithy/smithy-client" "^2.3.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-endpoints@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.0.8.tgz#10ec9b228e96fc67b42ed06dabdab118a5869532" - integrity sha512-l8zVuyZZ61IzZBYp5NWvsAhbaAjYkt0xg9R4xUASkg5SEeTT2meHOJwJHctKMFUXe4QZbn9fR2MaBYjP2119+w== +"@smithy/util-endpoints@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.0.tgz#fd6382893711875d58e43ce467e6e7b53e83b21b" + integrity sha512-gKzfdj5pyEOg1fVOsZVpVPRWAXbWqt9JgZdwU4cjKlJ57Fuccfk0ui5twh1TYvuJWtR2Tw3GwUmUuBM3qRWJJg== dependencies: - "@smithy/node-config-provider" "^2.1.9" - "@smithy/types" "^2.8.0" + "@smithy/node-config-provider" "^2.2.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-hex-encoding@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" - integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== +"@smithy/util-hex-encoding@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.0.tgz#a23028fe429cbdd1c2e2cba2fe8b38fe5164e5b3" + integrity sha512-haxSIaBxn3p/lK+bEyqC32myHffacBLD61/HHzBGcG1Vo8dFTm5y0vhdR5R4wakW7H8Tr/czx+uckDOWZ1Km9Q== dependencies: tslib "^2.5.0" -"@smithy/util-middleware@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.4.tgz#2c406efac04e341c3df6435d71fd9c73e03feb46" - integrity sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A== +"@smithy/util-middleware@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.0.tgz#520bdf956b953e982590cf06fe671ff56dffa84e" + integrity sha512-bKfhAsdjRyGmYDsJUW5hPsL3qofgPgLPsuV+V6nNGyD/kjMobwstiIpA3ddGFT+XDwVOIUHElg7I06/wOpwKiQ== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-middleware@^2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.9.tgz#54a372fa723ace66046cdf91439fb1648a246d5c" - integrity sha512-PnCnBJ07noMX1lMDTEefmxSlusWJUiLfrme++MfK5TD0xz8NYmakgoXy5zkF/16zKGmiwOeKAztWT/Vjk1KRIQ== +"@smithy/util-retry@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.0.tgz#6c50dc4f91ec72388d2f79ffe9665f028f0b026d" + integrity sha512-igJw+/olhAUtocMbEMBjy8SKRTHfefS+qcgmMUVEBLFgLjqMfpc8EDVB1BebNBQ1rre5yLDbi2UHUz48eZNkPQ== dependencies: - "@smithy/types" "^2.8.0" + "@smithy/service-error-classification" "^2.1.0" + "@smithy/types" "^2.9.0" tslib "^2.5.0" -"@smithy/util-retry@^2.0.9": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.9.tgz#ef6d6e41bcc5df330b76cca913d5e637c70497fc" - integrity sha512-46BFWe9RqB6g7f4mxm3W3HlqknqQQmWHKlhoqSFZuGNuiDU5KqmpebMbvC3tjTlUkqn4xa2Z7s3Hwb0HNs5scw== +"@smithy/util-stream@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.0.tgz#342293372618c0b4955e61170fe4062b7d0bc4fd" + integrity sha512-lcw9JVXLHvRawaXnfxdnGRw5pQM5c9XMEkBuMec+fIhGuPHIezqhQq7oO0jJcj0xwupJzW6HAvinktr9ozdKyg== dependencies: - "@smithy/service-error-classification" "^2.0.9" - "@smithy/types" "^2.8.0" + "@smithy/fetch-http-handler" "^2.4.0" + "@smithy/node-http-handler" "^2.3.0" + "@smithy/types" "^2.9.0" + "@smithy/util-base64" "^2.1.0" + "@smithy/util-buffer-from" "^2.1.0" + "@smithy/util-hex-encoding" "^2.1.0" + "@smithy/util-utf8" "^2.1.0" tslib "^2.5.0" -"@smithy/util-stream@^2.0.24": - version "2.0.24" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.24.tgz#fa896c8df828ce7758963b758c1f374407d812be" - integrity sha512-hRpbcRrOxDriMVmbya+Mv77VZVupxRAsfxVDKS54XuiURhdiwCUXJP0X1iJhHinuUf6n8pBF0MkG9C8VooMnWw== - dependencies: - "@smithy/fetch-http-handler" "^2.3.2" - "@smithy/node-http-handler" "^2.2.2" - "@smithy/types" "^2.8.0" - "@smithy/util-base64" "^2.0.1" - "@smithy/util-buffer-from" "^2.0.0" - "@smithy/util-hex-encoding" "^2.0.0" - "@smithy/util-utf8" "^2.0.2" - tslib "^2.5.0" - -"@smithy/util-uri-escape@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" - integrity sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw== +"@smithy/util-uri-escape@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.0.tgz#69901d60d2bed22d5da0fd6db6d28704b51a1a8d" + integrity sha512-ZHYFGyF9o/MHGMGtsHfkxnn2DhGRZlDIFGNgipu4K3x8jMEVahQ+tGnlkFVMM2QrSQHCcjICbBTJ5JEgaD5+Jg== dependencies: tslib "^2.5.0" -"@smithy/util-utf8@^2.0.0", "@smithy/util-utf8@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.2.tgz#626b3e173ad137208e27ed329d6bea70f4a1a7f7" - integrity sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA== +"@smithy/util-utf8@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.0.tgz#4c21d1c07b18a855417777863d66ecc6b4fb7ef2" + integrity sha512-RnNNedYLpsNPQocMhr0nGEz0mGKdzI5dBi0h7vvmimULtBlyElgX1/hXozlkurIgx8R3bSy14/oRtmDsFClifg== dependencies: - "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-buffer-from" "^2.1.0" tslib "^2.5.0" "@swc/helpers@0.5.2": From cfcf890f106217c0daa14a647947dde4552667bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 04:49:39 +0000 Subject: [PATCH 0165/1313] build(deps): bump @next/mdx from 14.0.4 to 14.1.0 Bumps [@next/mdx](https://github.com/vercel/next.js/tree/HEAD/packages/next-mdx) from 14.0.4 to 14.1.0. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/commits/v14.1.0/packages/next-mdx) --- updated-dependencies: - dependency-name: "@next/mdx" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/shared/package.json b/sites/shared/package.json index 12d2f9e4a76..e4b5de78a7c 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -16,7 +16,7 @@ "scripts": {}, "peerDependencies": {}, "dependencies": { - "@next/mdx": "14.0.4", + "@next/mdx": "14.1.0", "@resvg/resvg-js": "2.6.0", "@tailwindcss/typography": "0.5.10", "Buffer": "0.0.0", diff --git a/yarn.lock b/yarn.lock index b26a5ba8d69..c60228e4773 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1468,10 +1468,10 @@ dependencies: glob "7.1.7" -"@next/mdx@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/mdx/-/mdx-14.0.4.tgz#3bb4ec6da530031410f91e8ab3d0cf6c833dff3a" - integrity sha512-w0b+A2LRdlqqTIzmaeqPOaafid2cYYYjETA+G+3ZFwkNbBQjvZp57P1waOexF3MGHzcCEoXEnhYpAc+FO6S0Rg== +"@next/mdx@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/mdx/-/mdx-14.1.0.tgz#14e808d91305da4241b6fba60207b750c9a981bb" + integrity sha512-YLYsViq91+H8+3oCtK1iuMWdeN14K70Hy6/tYScY+nfo5bQ84A/A+vA6UdNC9MkbWQ/373hQubx2p4JvUjlb2Q== dependencies: source-map "^0.7.0" From f74b4d535ad8df246a463ee3f7cd3cfc54be983d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 04:50:04 +0000 Subject: [PATCH 0166/1313] build(deps): bump @next/bundle-analyzer from 14.0.4 to 14.1.0 Bumps [@next/bundle-analyzer](https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer) from 14.0.4 to 14.1.0. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/commits/v14.1.0/packages/next-bundle-analyzer) --- updated-dependencies: - dependency-name: "@next/bundle-analyzer" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/dev/package.json | 2 +- yarn.lock | 80 +++++++++++++++++++++++++----------------- 2 files changed, 48 insertions(+), 34 deletions(-) diff --git a/sites/dev/package.json b/sites/dev/package.json index 1e99f4e2c71..3c822ca0667 100644 --- a/sites/dev/package.json +++ b/sites/dev/package.json @@ -32,7 +32,7 @@ "@mdx-js/mdx": "^3.0.0", "@mdx-js/react": "^3.0.0", "@mdx-js/runtime": "2.0.0-next.9", - "@next/bundle-analyzer": "14.0.4", + "@next/bundle-analyzer": "14.1.0", "@tailwindcss/typography": "0.5.10", "algoliasearch": "4.22.1", "daisyui": "4.6.0", diff --git a/yarn.lock b/yarn.lock index b26a5ba8d69..d26fe5e5646 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1067,6 +1067,11 @@ dependencies: chalk "^4.1.0" +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@esbuild/aix-ppc64@0.19.11": version "0.19.11" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3" @@ -1449,12 +1454,12 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-2.0.0-next.1.tgz#b17a046ed5cb1b13e75b29740504ec53a7e0b016" integrity sha512-F36kWTFdFXrbNIsM77dhVwYZsZonUIKHkYyYgnuw1NWskBfEn1ET5B5Z5mm58ckKNf7SimchnxR9sKCCtH38WA== -"@next/bundle-analyzer@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-14.0.4.tgz#12672238b8ee48dd7cfa253f024374690bde6991" - integrity sha512-Nn2PiCkFBJBlVmpSGVNItpISws0fuc9E8AkCafBz/moRv1cfASOpFBBVzSRfWLP9BPdAhfDkb6TafN0rvs2IJQ== +"@next/bundle-analyzer@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-14.1.0.tgz#da146eb713283c2a28d32c98dbd0d63ae7d42d30" + integrity sha512-RJWjnlMp/1WSW0ahAdawV22WgJiC6BVaFS5Xfhw6gP7NJEX3cAJjh4JqSHKGr8GnLNRaFCVTQdDPoX84E421BA== dependencies: - webpack-bundle-analyzer "4.7.0" + webpack-bundle-analyzer "4.10.1" "@next/env@14.0.4": version "14.0.4" @@ -1848,10 +1853,10 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.23" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.23.tgz#498e41218ab3b6a1419c735e5c6ae2c5ed609b6c" - integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.24" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.24.tgz#58601079e11784d20f82d0585865bb42305c4df3" + integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== "@prisma/client@5.8.1": version "5.8.1" @@ -4720,6 +4725,11 @@ dayjs@^1.11.7: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -7026,7 +7036,7 @@ html-dom-parser@5.0.7: domhandler "5.0.3" htmlparser2 "9.1.0" -html-escaper@^2.0.0: +html-escaper@^2.0.0, html-escaper@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== @@ -8610,7 +8620,7 @@ lodash.upperfirst@^4.3.1: resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== -lodash@^4.11.2, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.21: +lodash@^4.11.2, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@~4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10082,10 +10092,10 @@ mri@^1.1.0, mri@^1.1.5: resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== -mrmime@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" - integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== +mrmime@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" + integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== ms@2.0.0: version "2.0.0" @@ -12610,14 +12620,14 @@ sinon@^17.0.1: nise "^5.1.5" supports-color "^7.2.0" -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== +sirv@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" + integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== dependencies: - "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^1.0.0" + "@polka/url" "^1.0.0-next.24" + mrmime "^2.0.0" + totalist "^3.0.0" sisteransi@^1.0.5: version "1.0.5" @@ -13406,10 +13416,10 @@ toml@^3.0.0: resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== touch@^3.1.0: version "3.1.0" @@ -14150,19 +14160,23 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webpack-bundle-analyzer@4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#33c1c485a7fcae8627c547b5c3328b46de733c66" - integrity sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg== +webpack-bundle-analyzer@4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454" + integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ== dependencies: + "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" acorn-walk "^8.0.0" - chalk "^4.1.0" commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" gzip-size "^6.0.0" - lodash "^4.17.20" + html-escaper "^2.0.2" + is-plain-object "^5.0.0" opener "^1.5.2" - sirv "^1.0.7" + picocolors "^1.0.0" + sirv "^2.0.3" ws "^7.3.1" whatwg-url@^5.0.0: From c2df8f4d807cc54b7dd7b920dfd3981119a15e15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 04:50:30 +0000 Subject: [PATCH 0167/1313] build(deps): bump eslint-config-next from 14.0.4 to 14.1.0 Bumps [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) from 14.0.4 to 14.1.0. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/commits/v14.1.0/packages/eslint-config-next) --- updated-dependencies: - dependency-name: eslint-config-next dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 52 ++++++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/yarn.lock b/yarn.lock index b26a5ba8d69..27ed595925e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1461,12 +1461,12 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-14.0.4.tgz#d5cda0c4a862d70ae760e58c0cd96a8899a2e49a" integrity sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ== -"@next/eslint-plugin-next@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.0.4.tgz#474fd88d92209270021186043513fbdc4203f5ec" - integrity sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ== +"@next/eslint-plugin-next@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz#29b041233fac7417e22eefa4146432d5cd910820" + integrity sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q== dependencies: - glob "7.1.7" + glob "10.3.10" "@next/mdx@14.0.4": version "14.0.4" @@ -5387,11 +5387,11 @@ eslint-compat-utils@^0.4.0: semver "^7.5.4" eslint-config-next@^14.0.1: - version "14.0.4" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.0.4.tgz#7cd2c0a3b310203d41cf0dbf9d31f9b0a6235b4a" - integrity sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ== + version "14.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-14.1.0.tgz#7e309d426b8afacaba3b32fdbb02ba220b6d0a97" + integrity sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg== dependencies: - "@next/eslint-plugin-next" "14.0.4" + "@next/eslint-plugin-next" "14.1.0" "@rushstack/eslint-patch" "^1.3.3" "@typescript-eslint/parser" "^5.4.2 || ^6.0.0" eslint-import-resolver-node "^0.3.6" @@ -6457,6 +6457,17 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@10.3.10, glob@^10.2.2, glob@^10.3.10, glob@^10.3.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -6481,18 +6492,6 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -6505,17 +6504,6 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.2.2, glob@^10.3.10, glob@^10.3.7: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" From 504c700b56a9e35b96789397cea4c41036aac63a Mon Sep 17 00:00:00 2001 From: "felixarnold@bluewin.ch" Date: Fri, 19 Jan 2024 12:38:42 +0100 Subject: [PATCH 0168/1313] feat: New showcase post just-another-simon-shirt by ferdi --- .../showcase/just-another-simon-shirt/en.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 markdown/org/showcase/just-another-simon-shirt/en.md diff --git a/markdown/org/showcase/just-another-simon-shirt/en.md b/markdown/org/showcase/just-another-simon-shirt/en.md new file mode 100644 index 00000000000..1a3ef8a8f03 --- /dev/null +++ b/markdown/org/showcase/just-another-simon-shirt/en.md @@ -0,0 +1,21 @@ +--- +title: "Just another Simon shirt" +caption: "Simple printed cotton, inner sides of yoke, collarstand and cuffs in contrasting fabric with a different color (but same pattern ;-). Beautiful antique buffalo horn buttons." +date: 20240119 +intro: "Nearly perfect" +designs: ["simon"] +maker: ferdi +--- + + + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-standard-simon-shirt-1/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-standard-simon-shirt-2/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-standard-simon-shirt-3/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-standard-simon-shirt-4/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-standard-simon-shirt-5/public "The image caption/title goes here") + From b756f239a7285e1524897f32c4cc4e85b37b96a4 Mon Sep 17 00:00:00 2001 From: FreeSewing bot Date: Fri, 19 Jan 2024 23:46:15 +0100 Subject: [PATCH 0169/1313] feat: New showcase post who-can-resist-a-cuddly-shark-named-hi by mjpell --- .../en.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 markdown/org/showcase/who-can-resist-a-cuddly-shark-named-hi/en.md diff --git a/markdown/org/showcase/who-can-resist-a-cuddly-shark-named-hi/en.md b/markdown/org/showcase/who-can-resist-a-cuddly-shark-named-hi/en.md new file mode 100644 index 00000000000..04a701b6b97 --- /dev/null +++ b/markdown/org/showcase/who-can-resist-a-cuddly-shark-named-hi/en.md @@ -0,0 +1,17 @@ +--- +title: "Who can resist a cuddly shark named Hi" +caption: "Hi surfing on kitchen island" +date: 20240119 +intro: "Hi has a finished length of 26” long. He body is made from gray and white fleece while his mouth and teeth are felt as are his eyes. Not bad for my first attempt at a stuffed animal!" +designs: ["hi"] +maker: mjpell +--- + + + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-who-can-resist-a-cuddly-shark-named-hi-1/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-who-can-resist-a-cuddly-shark-named-hi-2/public "The image caption/title goes here") + +![The image alt goes here](https://imagedelivery.net/ouSuR9yY1bHt-fuAokSA5Q/showcase-who-can-resist-a-cuddly-shark-named-hi-3/public "The image caption/title goes here") + From f54a3fdfa37812880efa8fcf8a8ac392db42e28b Mon Sep 17 00:00:00 2001 From: Paula Vidas Date: Sat, 20 Jan 2024 19:55:46 +0100 Subject: [PATCH 0170/1313] add panels option to sandy --- designs/sandy/i18n/de.json | 4 ++ designs/sandy/i18n/en.json | 4 ++ designs/sandy/i18n/es.json | 4 ++ designs/sandy/i18n/fr.json | 4 ++ designs/sandy/i18n/nl.json | 4 ++ designs/sandy/i18n/uk.json | 4 ++ designs/sandy/src/skirt.mjs | 28 ++++++----- .../docs/designs/sandy/options/panels/de.md | 11 ++++ .../docs/designs/sandy/options/panels/en.md | 11 ++++ .../docs/designs/sandy/options/panels/es.md | 11 ++++ .../docs/designs/sandy/options/panels/fr.md | 11 ++++ .../docs/designs/sandy/options/panels/nl.md | 11 ++++ .../designs/sandy/options/panels/panels.svg | 50 +++++++++++++++++++ .../docs/designs/sandy/options/panels/uk.md | 11 ++++ 14 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 markdown/org/docs/designs/sandy/options/panels/de.md create mode 100644 markdown/org/docs/designs/sandy/options/panels/en.md create mode 100644 markdown/org/docs/designs/sandy/options/panels/es.md create mode 100644 markdown/org/docs/designs/sandy/options/panels/fr.md create mode 100644 markdown/org/docs/designs/sandy/options/panels/nl.md create mode 100644 markdown/org/docs/designs/sandy/options/panels/panels.svg create mode 100644 markdown/org/docs/designs/sandy/options/panels/uk.md diff --git a/designs/sandy/i18n/de.json b/designs/sandy/i18n/de.json index b48e7fad59d..7805028bc50 100644 --- a/designs/sandy/i18n/de.json +++ b/designs/sandy/i18n/de.json @@ -42,6 +42,10 @@ "hemWidth": { "t": "Saumbreite", "d": "Breite des Saumes" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/i18n/en.json b/designs/sandy/i18n/en.json index c1fd6510436..b36b594afb6 100644 --- a/designs/sandy/i18n/en.json +++ b/designs/sandy/i18n/en.json @@ -61,6 +61,10 @@ "hemWidth": { "t": "Hem width", "d": "Width of the hem" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/i18n/es.json b/designs/sandy/i18n/es.json index 96cac891ded..6eeea28b061 100644 --- a/designs/sandy/i18n/es.json +++ b/designs/sandy/i18n/es.json @@ -42,6 +42,10 @@ "hemWidth": { "t": "Hem width", "d": "Anchura del dobladillo" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/i18n/fr.json b/designs/sandy/i18n/fr.json index cf5f9b39a9b..17b44b65e62 100644 --- a/designs/sandy/i18n/fr.json +++ b/designs/sandy/i18n/fr.json @@ -42,6 +42,10 @@ "hemWidth": { "t": "Hem width", "d": "Largeur de l'ourlet" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/i18n/nl.json b/designs/sandy/i18n/nl.json index d8c4628e9a0..540fd19c25f 100644 --- a/designs/sandy/i18n/nl.json +++ b/designs/sandy/i18n/nl.json @@ -42,6 +42,10 @@ "hemWidth": { "t": "Breedte zoom", "d": "Breedte van de zoom" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/i18n/uk.json b/designs/sandy/i18n/uk.json index 4c2849ace00..5159894d495 100644 --- a/designs/sandy/i18n/uk.json +++ b/designs/sandy/i18n/uk.json @@ -42,6 +42,10 @@ "hemWidth": { "t": "Hem width", "d": "Width of the hem" + }, + "panels": { + "t": "Panels", + "d": "Number of panels" } } } diff --git a/designs/sandy/src/skirt.mjs b/designs/sandy/src/skirt.mjs index 4332ebbb051..9fab072a17f 100644 --- a/designs/sandy/src/skirt.mjs +++ b/designs/sandy/src/skirt.mjs @@ -49,7 +49,7 @@ function sandySkirt({ measurements.waistToFloor - measurements.waistToHips * options.waistbandPosition ) - let radiusWaist, an + let radiusWaist, angle if (options.seamlessFullCircle) { /** * If the seamless full circle option is selected, the angle @@ -57,15 +57,16 @@ function sandySkirt({ * it's not selected, because in this case the fabric is cut * in a double fold */ - an = 90 - radiusWaist = store.get('skirtCircumference') / utils.deg2rad(an) / 4 + angle = 90 + radiusWaist = store.get('skirtCircumference') / utils.deg2rad(angle) / 4 } else { /** * If the seamless full circle option is not selected, the * angle is calculated using the circlePercent option */ - an = 180 * options.circleRatio - radiusWaist = store.get('skirtCircumference') / utils.deg2rad(an) / 2 + const totalAngle = 180 * options.circleRatio + angle = totalAngle / options.panels + radiusWaist = store.get('skirtCircumference') / utils.deg2rad(totalAngle) / 2 /** * If the angle is too large, the seam allowance can fall out @@ -73,9 +74,9 @@ function sandySkirt({ * maximum angle calculated so the seam allowance fits in the * fabric */ - if (an > 90 && sa) { - const maxAn = utils.rad2deg(Math.atan(radiusWaist / sa)) - if (an > 90 + maxAn) an = 90 + maxAn + if (angle > 90 && sa) { + const maxAngle = utils.rad2deg(Math.atan(radiusWaist / sa)) + if (angle > 90 + maxAngle) angle = 90 + maxAngle } } /** @@ -87,7 +88,7 @@ function sandySkirt({ // Call the RingSector macro to draft the part const ids = macro('ringsector', { - angle: an, + angle: angle, insideRadius: radiusWaist, outsideRadius: radiusHem, rotate: true, @@ -218,24 +219,24 @@ function sandySkirt({ to: points.center, x: points.ex2Flipped.x - sa - 30, }) - if (options.circleRatio !== 0.5) { + if (angle !== 90) { macro('vd', { id: 'hTopToOpeningRight', from: points.ex1Rotated, to: points.in1Rotated, - x: options.circleRatio > 0.5 ? points.in1Rotated.x - sa - 15 : points.ex1Rotated.x + sa + 15, + x: angle > 90 ? points.in1Rotated.x - sa - 15 : points.ex1Rotated.x + sa + 15, }) macro('vd', { id: 'hOpeningRightToCenter', from: points.in1Rotated, to: points.center, - x: options.circleRatio > 0.5 ? points.in1Rotated.x - sa - 15 : points.ex1Rotated.x + sa + 15, + x: angle > 90 ? points.in1Rotated.x - sa - 15 : points.ex1Rotated.x + sa + 15, }) macro('vd', { from: points.ex1Rotated, id: 'hHemRightToCenter', to: points.center, - x: options.circleRatio > 0.5 ? points.in1Rotated.x - sa - 30 : points.ex1Rotated.x + sa + 30, + x: angle > 90 ? points.in1Rotated.x - sa - 30 : points.ex1Rotated.x + sa + 30, }) } @@ -267,6 +268,7 @@ export const skirt = { dflt: 'straight', menu: 'fit', }, + panels: { count: 1, min: 1, max: 8, menu: 'construction' }, }, plugins: ringsectorPlugin, draft: sandySkirt, diff --git a/markdown/org/docs/designs/sandy/options/panels/de.md b/markdown/org/docs/designs/sandy/options/panels/de.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/de.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/en.md b/markdown/org/docs/designs/sandy/options/panels/en.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/en.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/es.md b/markdown/org/docs/designs/sandy/options/panels/es.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/es.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/fr.md b/markdown/org/docs/designs/sandy/options/panels/fr.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/fr.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/nl.md b/markdown/org/docs/designs/sandy/options/panels/nl.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/nl.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/panels.svg b/markdown/org/docs/designs/sandy/options/panels/panels.svg new file mode 100644 index 00000000000..aa051b5473e --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/panels.svg @@ -0,0 +1,50 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/markdown/org/docs/designs/sandy/options/panels/uk.md b/markdown/org/docs/designs/sandy/options/panels/uk.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/uk.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + From a298f43a18fdcf09e22afca4d71b0c925d825e8b Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sat, 20 Jan 2024 20:23:52 -0800 Subject: [PATCH 0171/1313] chore(core): Remove options distance debug logging --- packages/core/src/pattern/pattern-config.mjs | 33 ++++---------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/packages/core/src/pattern/pattern-config.mjs b/packages/core/src/pattern/pattern-config.mjs index 7a3f5684760..c42502415f9 100644 --- a/packages/core/src/pattern/pattern-config.mjs +++ b/packages/core/src/pattern/pattern-config.mjs @@ -64,9 +64,6 @@ export function PatternConfig(pattern) { }) } -/** @type {Boolean} change me to true to get full debugging of the resolution process */ -const DISTANCE_DEBUG = false - //////////////////// // PUBLIC METHODS // //////////////////// @@ -101,12 +98,14 @@ PatternConfig.prototype.addPart = function (part) { /** Log the final report on part inheritance order */ PatternConfig.prototype.logPartDistances = function () { + const priorities = [] for (const partName in this.parts) { - let qualifier = DISTANCE_DEBUG ? 'final' : '' - this.store.log.debug( - `⚪️ \`${partName}\` ${qualifier} options priority is __${this.__mutated.partDistance[partName]}__` - ) + const p = this.__mutated.partDistance[partName] + if (p in priorities) priorities[p] += ', ' + partName + else priorities[p] = partName } + for (let p = 1; p < priorities.length; p++) + this.store.log.debug(`⚪️ Options priority __${p}__ :\`${priorities[p]}\``) } /** @@ -150,11 +149,6 @@ PatternConfig.prototype.__addPart = function (depChain) { if (typeof this.__mutated.partDistance[part.name] === 'undefined') { // the longer the chain, the deeper the part is down it this.__mutated.partDistance[part.name] = depChain.length - - if (DISTANCE_DEBUG) - this.store.log.debug( - `Base partDistance for \`${part.name}\` is __${this.__mutated.partDistance[part.name]}__` - ) } // Handle various hiding possibilities @@ -213,12 +207,6 @@ PatternConfig.prototype.__addPartOptions = function (part) { const option = part.options[optionName] // get the priority of this option's current registration const optionDistance = this.__mutated.optionDistance[optionName] - // debug the comparison - if (optionDistance && DISTANCE_DEBUG) - this.store.log.debug( - `optionDistance for __${optionName}__ is __${optionDistance}__ and partDistance for \`${part.name}\` is __${partDistance}__` - ) - // if it's never been registered, or it's registered at a further distance if (!optionDistance || optionDistance > partDistance) { // Keep options immutable in the pattern or risk subtle bugs @@ -414,8 +402,6 @@ PatternConfig.prototype.__resolvePartDependencies = function (depChain) { depTypes.forEach((d) => { // if the part has dependencies of that type if (part[d]) { - if (DISTANCE_DEBUG) this.store.log.debug(`Processing \`${part.name}\` "${d}:"`) - // enforce an array const depsOfType = [].concat(part[d]) @@ -459,8 +445,6 @@ PatternConfig.prototype.__resolvePartDependencies = function (depChain) { */ PatternConfig.prototype.__addDependency = function (dependencyList, partName, depName) { this[dependencyList][partName] = this[dependencyList][partName] || [] - if (dependencyList == 'resolvedDependencies' && DISTANCE_DEBUG) - this.store.log.debug(`add ${depName} to ${partName} dependencyResolution`) // if it's already in the dependency list, take it out because it needs to be put on the end const depIndex = this[dependencyList][partName].indexOf(depName) @@ -522,10 +506,5 @@ PatternConfig.prototype.__resolveMutatedPartDistance = function (partName) { // bump the dependency's dependencies as well this.__resolveMutatedPartDistance(dependency) } - - if (DISTANCE_DEBUG) - this.store.log.debug( - `partDistance for \`${dependency}\` is __${this.__mutated.partDistance[dependency]}__` - ) }) } From 13ea58505f462cc2b979ebf2ddb80c7cd381919f Mon Sep 17 00:00:00 2001 From: Paula Vidas Date: Sun, 21 Jan 2024 13:43:45 +0100 Subject: [PATCH 0172/1313] update cutlist --- designs/sandy/src/skirt.mjs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/designs/sandy/src/skirt.mjs b/designs/sandy/src/skirt.mjs index 9fab072a17f..87d1540e526 100644 --- a/designs/sandy/src/skirt.mjs +++ b/designs/sandy/src/skirt.mjs @@ -155,7 +155,12 @@ function sandySkirt({ * Annotations */ // Cutlist - store.cutlist.setCut({ cut: 1, from: 'fabric', onFold: true }) + store.cutlist.setCut({ + cut: options.seamlessFullCircle ? 1 : Number(options.panels), + from: 'fabric', + onFold: true, + identical: true, + }) // Cutonfold macro('cutonfold', { From 78925133f4e34f93d3aba5f25b95a99b89682cbb Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 09:10:38 -0800 Subject: [PATCH 0173/1313] fix(yaml): Typos in account en translations --- sites/shared/components/account/en.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/en.yaml b/sites/shared/components/account/en.yaml index 7b2f2ce3ad2..fda157aa847 100644 --- a/sites/shared/components/account/en.yaml +++ b/sites/shared/components/account/en.yaml @@ -116,11 +116,11 @@ controlTitle: Which user experience do you prefer? # img imgTitle: How about a picture? imgDragAndDropImageHere: Drag and drop an image here -imgPasteUrlHere: Paste an image location (url) here +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Select an image # newsletter -newsletterTitle: Would you like to reveice the FreeSewing newsletter? +newsletterTitle: Would you like to receive the FreeSewing newsletter? newsletterYes: Yes, I would like to receive the newsletter newsletterYesd: Once every 3 months you'll receive an email from us with honest wholesome content. No tracking, no ads, no nonsense. newsletterNod: You can always change your mind later. But until you do, we will not send you any newsletters. @@ -220,7 +220,7 @@ public: Public publicSet: Public measurements set privateSet: Private measurements set publicSetDesc: Others are allowed to use these measurements to generate or test patterns -privateSetDesc: These measurments cannot be used by other users or visitors +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Permalink editThing: Edit {thing} saveThing: Save {thing} @@ -229,8 +229,8 @@ noFilter: Do not filter filterByDesignDocs: If you have a specific design in mind, you can filter by design to only list those measurements that are required for this design. setLacksMeasiesForDesign: This set lacks measurements required for this pattern setHasMeasiesForDesign: This set has all measurements required for this pattern -someSetsLacking: Some of these sets lack the measurments required to generate this pattern -theseSetsReady: These sets have all required measurments to generate this pattern +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Please choose a set of measurements patternForWhichSet: Which set of measurements should we generate a pattern for? bookmarkedSets: Measurements sets you've bookmarked @@ -240,7 +240,7 @@ curateCuratedSets: Curate our selection of curated measurements sets useThisSet: Use this set of measurements ownSets: Your own measurements sets noOwnSets: You do not have any of your own measurements sets (yet) -pleaseMtm: Because our patterns are bespokee, we strongly suggest you take accurate measurements. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: You can store your measurements as a measurements set, after which you can generate as many patterns as you want for them. measurements: Measurements chooseASet: Choose a measurements set @@ -278,7 +278,7 @@ imgNew: Generate a social media image imgNewInfo: Use our generator to create an image you can share on social media, supports wide (classic), square (Instagram), or tall (stories/TikTok) formats. csetNew: Suggest a new curated measurements set -csetNewInfo: We curate a collection of vetted measurments sets that we use to test patterns. You can suggest a measurements set here. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Suggest a new options pack opackNewInfo: We curate a collection of vetted option packs for each of our designs. You can suggest your options here. From a1bf2c2af0ae2e568320e53ccf44aa66a2883ab7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 21 Jan 2024 18:33:55 +0100 Subject: [PATCH 0174/1313] feat: Added new sticker design --- artwork/stickers/sticker-round-lgbtq-lg.svg | 124 ++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 artwork/stickers/sticker-round-lgbtq-lg.svg diff --git a/artwork/stickers/sticker-round-lgbtq-lg.svg b/artwork/stickers/sticker-round-lgbtq-lg.svg new file mode 100644 index 00000000000..3d626270497 --- /dev/null +++ b/artwork/stickers/sticker-round-lgbtq-lg.svg @@ -0,0 +1,124 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + From 5bea21d68ffeca0f1e8b6f4b165d4596a5cf70b9 Mon Sep 17 00:00:00 2001 From: Stefano Cislaghi Date: Sun, 21 Jan 2024 19:11:16 +0000 Subject: [PATCH 0175/1313] fix: rehype not remark --- packages/rehype-jargon/README.md | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/rehype-jargon/README.md b/packages/rehype-jargon/README.md index 7a11f17a281..ec0ea98f2f2 100644 --- a/packages/rehype-jargon/README.md +++ b/packages/rehype-jargon/README.md @@ -85,15 +85,14 @@ export const jargon = { Now import the plugin, and pass it your jargon: ```js -var remark = require('remark') -var html = require('remark-html') -var plugin = require('remark-jargon') -var jargon = require('./jargon.js') +import rehypeJargon from 'rehype-jargon' +import { jargon } from './jargon.js' +import {read} from 'to-vfile' +import {unified} from 'unified' -remark() - .use(html) - .use(plugin, { jargon: jargon }) - .process('This is a plugin for _remark_ originally written for _freesewing_.', function (err, file) { +const file = await unified() + .use(rehypeJargon, {jargon: jargon}) + .process('This is a plugin for _rehype_ originally written for _freesewing_.', function (err, file) { console.log(String(file)) }) ``` @@ -172,13 +171,6 @@ For help or feedback, please stop by [the FreeSewing chat room](https://gitter.i [create an issue](https://github.com/freesewing/freesewing/issues/new). -## Use with Gatsby - -Please see [gatsby-remark-jargon](https://github.com/freesewing/freesewing/tree/develop/packages/gatsby-remark-jargon) for -info and instructions on how to use this plugin with [Gatsby](https://www.gatsbyjs.org/). - - - ## What am I looking at? 🤔 This repository is the FreeSewing *monorepo* holding all FreeSewing's websites, documentation, designs, plugins, and other NPM packages. From 4d404dd3ccd43c42b794522b30777bee22486eb8 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 11:16:40 -0800 Subject: [PATCH 0176/1313] fix(markdown) Fix typos --- markdown/dev/guides/faq/is-copying-ok/en.md | 2 +- markdown/dev/guides/markdown/jargon/en.md | 2 +- markdown/dev/guides/translation/en.md | 12 ++++++------ markdown/dev/howtos/code/adding-text/en.md | 2 +- markdown/dev/howtos/design/trace/en.md | 2 +- markdown/dev/howtos/ways-to-contribute/en.md | 2 +- markdown/dev/i18n/en.md | 2 +- .../dev/reference/api/attributes/asrenderprops/en.md | 4 ++-- markdown/dev/reference/api/part/asrenderprops/en.md | 4 ++-- markdown/dev/reference/api/part/config/hide/en.md | 2 +- markdown/dev/reference/api/part/draft/en.md | 2 +- markdown/dev/reference/api/path/asrenderprops/en.md | 4 ++-- markdown/dev/reference/api/point/asrenderprops/en.md | 4 ++-- .../dev/reference/api/snippet/asrenderprops/en.md | 4 ++-- markdown/dev/reference/api/store/en.md | 2 +- markdown/dev/reference/api/svg/asrenderprops/en.md | 4 ++-- .../reference/api/utils/applytransformtopoint/en.md | 2 +- .../reference/api/utils/generatestacktransform/en.md | 4 ++-- .../dev/reference/api/utils/linesintersect/en.md | 2 +- markdown/dev/reference/api/utils/mergei18n/en.md | 2 +- markdown/dev/reference/backend/people/en.md | 2 +- markdown/dev/reference/macros/rmbanner/en.md | 1 - markdown/dev/reference/macros/rmbartack/en.md | 1 - markdown/dev/reference/sites/sanity/en.md | 4 ++-- .../store-methods/cutlist.setcutonfold/en.md | 2 +- .../reference/store-methods/cutlist.setgrain/en.md | 2 +- markdown/dev/reference/store-methods/en.md | 2 +- .../dev/reference/store-methods/flag.preset/en.md | 2 +- .../pattern-design/part2/avoiding-overlap/en.md | 2 +- .../newsletter/why-subscribe-multiple-clicks/en.md | 2 +- .../newsletter/why-unsubscribe-multiple-clicks/en.md | 2 +- markdown/org/docs/about/guide/en.md | 4 ++-- markdown/org/docs/about/site/account/username/en.md | 2 +- markdown/org/docs/about/site/apikeys/expiry/en.md | 2 +- .../org/docs/about/site/bookmarks/location/en.md | 2 +- markdown/org/docs/about/site/csets/en.md | 2 +- .../docs/about/site/draft/core-settings/locale/en.md | 2 +- .../docs/about/site/draft/core-settings/scale/en.md | 2 +- markdown/org/docs/about/site/en.md | 4 ++-- markdown/org/docs/about/site/patterns/public/en.md | 2 +- markdown/org/docs/about/site/sets/public/en.md | 4 ++-- markdown/org/docs/about/site/sets/units/en.md | 4 ++-- markdown/org/docs/measurements/bustfront/en.md | 2 +- markdown/org/docs/measurements/shoulderslope/en.md | 2 +- markdown/org/docs/measurements/waisttoarmpit/en.md | 4 ++-- markdown/org/docs/sewing/double-welt-pockets/en.md | 2 +- markdown/org/docs/sewing/edgestitching/en.md | 2 +- sites/org/components/footer/en.yaml | 4 ++-- sites/org/pages/translation/en.yaml | 2 +- sites/shared/components/susi/en.yaml | 2 +- .../components/workbench/menus/core-settings/en.yaml | 4 ++-- .../components/workbench/menus/ui-settings/en.yaml | 2 +- sites/shared/i18n/docs/en.yaml | 2 +- sites/shared/i18n/homepage/en.yaml | 2 +- sites/shared/i18n/sections/en.yaml | 4 ++-- sites/shared/i18n/status/en.yaml | 2 +- sites/shared/i18n/support/en.yaml | 2 +- 57 files changed, 76 insertions(+), 78 deletions(-) diff --git a/markdown/dev/guides/faq/is-copying-ok/en.md b/markdown/dev/guides/faq/is-copying-ok/en.md index c18b414c863..ffb9e8e3799 100644 --- a/markdown/dev/guides/faq/is-copying-ok/en.md +++ b/markdown/dev/guides/faq/is-copying-ok/en.md @@ -30,7 +30,7 @@ that's an indie designer who might be depending on the sales of their pattern to put food on the table or some big pattern company that you feel should be taken down a notch: It doesn't matter. Not cool. Don't do this. -## Do you accept contributrion that are a copy of an existing garment? +## Do you accept contributions that are a copy of an existing garment? Yes. diff --git a/markdown/dev/guides/markdown/jargon/en.md b/markdown/dev/guides/markdown/jargon/en.md index 2183c4791e4..c83a7105c9f 100644 --- a/markdown/dev/guides/markdown/jargon/en.md +++ b/markdown/dev/guides/markdown/jargon/en.md @@ -26,7 +26,7 @@ We are migrating from _cjs_ to _esm_ modules To add a new jargon term, you need to add it to the jargon file for the website you'd like to add it to: -| Website | Jargon file | Github link | +| Website | Jargon file | GitHub link | | ------- | ----------- | ----------- | | freesewing.dev | `sites/dev/jargon.mjs` | [jargon.mjs](https://github.com/freesewing/freesewing/blob/develop/sites/dev/jargon.mjs) | | freesewing.org | `sites/org/jargon.mjs` | [jargon.mjs](https://github.com/freesewing/freesewing/blob/develop/sites/org/jargon.mjs) | diff --git a/markdown/dev/guides/translation/en.md b/markdown/dev/guides/translation/en.md index 3cb7b115bb1..6530f9c98a4 100644 --- a/markdown/dev/guides/translation/en.md +++ b/markdown/dev/guides/translation/en.md @@ -20,7 +20,7 @@ FreeSewing is currently available in the following languages: | `es` | **Spanish** | https://es.freesewing.org/ | | `fr` | **French** | https://fr.freesewing.org/ | | `nl` | **Dutch** | https://nl.freesewing.org/ | -| `uk` | **Ukranian** | https://uk.freesewing.org/ | +| `uk` | **Ukrainian** | https://uk.freesewing.org/ | English is the translation source language and the working language of the FreeSewing project @@ -48,7 +48,7 @@ Discord](https://discord.freesewing.org) for any questions that may remain. ## Adding a new language -We would love to make FreeSewing available in more langauges. If you are +We would love to make FreeSewing available in more languages. If you are interested in starting a new translation effort, that is great. We ask that you familiarize yourself with this translation guide to understand @@ -124,7 +124,7 @@ The top-priority translations in Crowdin are everything under the `packages` and `sites` folder. Do this first. -### High priority: Translation of Documenation +### High priority: Translation of Documentation This includes all the documentation on FreeSewing.org. This is a significant amount of text that makes up more than 90% of the top & @@ -164,10 +164,10 @@ translate smaller snippets, Once translated, there is a proofreading step that will be handled by one of our proofreaders. This is often a formality, but it's an extra step to allow -qulity assurance and avoid any mistakes from slipping in. Much like the code +quality assurance and avoid any mistakes from slipping in. Much like the code review process when you submit a pull request on GitHub. -Once your translation is approved, Crowdin will automatically submut a pull +Once your translation is approved, Crowdin will automatically submit a pull request on GitHub to update the translation files in our repository. And the next time our website or software packages get build, they will include the new translations. @@ -179,7 +179,7 @@ we also have to be realistic that the growing body of documentation and other FreeSewing content can be a daunting task to take on for translators, especially when you want to start a new language. -Furtunately, machine translation has gotten rather good so we can get some help. +Fortunately, machine translation has gotten rather good so we can get some help. Our Crowdin project is integrated with a [DeepL](https://www.deepl.com) subscription, and this can be a great help to translators. diff --git a/markdown/dev/howtos/code/adding-text/en.md b/markdown/dev/howtos/code/adding-text/en.md index 9bcbd421284..d802d7ef1bd 100644 --- a/markdown/dev/howtos/code/adding-text/en.md +++ b/markdown/dev/howtos/code/adding-text/en.md @@ -23,7 +23,7 @@ To facilitate this, FreeSewing will enforce a line break when you use `\n` in yo Text that is added to a pattern typically requires translation. You should break up your text in such a way that it remains possible to translate it. -You can do that either via repeated calls to `addText()` or you can pass an array of strings, or even a nested array of strings, and FreeSewing will translate all individual pieces prior to contatenating them. +You can do that either via repeated calls to `addText()` or you can pass an array of strings, or even a nested array of strings, and FreeSewing will translate all individual pieces prior to concatenating them. diff --git a/markdown/dev/howtos/design/trace/en.md b/markdown/dev/howtos/design/trace/en.md index 28c458057a9..84815c9d82b 100644 --- a/markdown/dev/howtos/design/trace/en.md +++ b/markdown/dev/howtos/design/trace/en.md @@ -125,7 +125,7 @@ What we want is for our original pattern to be shown as the background of our de To do so, we needed to take a couple of steps: - Turn it into SVG: Because FreeSewing patterns are SVG -- Turn it into a JavaSCript file: Because you can't `import` an SVG like that +- Turn it into a JavaScript file: Because you can't `import` an SVG like that - Give it an `id`: So we can use that to reference it when adding the snippet - `import` the SVG into our part - Create a plugin to add it as a snippet diff --git a/markdown/dev/howtos/ways-to-contribute/en.md b/markdown/dev/howtos/ways-to-contribute/en.md index 6e6e7839f6a..f5e34d6c1ed 100644 --- a/markdown/dev/howtos/ways-to-contribute/en.md +++ b/markdown/dev/howtos/ways-to-contribute/en.md @@ -40,7 +40,7 @@ us](https://discord.freesewing.org/). ##### Who wants a job in the tech sector? -For many in our community, contributring to FreeSewing marked their +For many in our community, contributing to FreeSewing marked their first steps into the world of open source software development. I (joost) am happy to provide guidance or mentorship to anyone who diff --git a/markdown/dev/i18n/en.md b/markdown/dev/i18n/en.md index 71915ab3870..2e2affc3578 100644 --- a/markdown/dev/i18n/en.md +++ b/markdown/dev/i18n/en.md @@ -12,7 +12,7 @@ FreeSewing currently is available in the following languages: - French - Spanish - German -- Ukranian +- Ukrainian ## Translation guide diff --git a/markdown/dev/reference/api/attributes/asrenderprops/en.md b/markdown/dev/reference/api/attributes/asrenderprops/en.md index 9c8e63984dc..64bcb5a7cdb 100644 --- a/markdown/dev/reference/api/attributes/asrenderprops/en.md +++ b/markdown/dev/reference/api/attributes/asrenderprops/en.md @@ -3,7 +3,7 @@ title: Attributes.asRenderProps() --- The `Attributes.asRenderProps()` method will return the data stored in the -attributes as a serializable Javascript object. This method is typically +attributes as a serializable JavaScript object. This method is typically note invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -15,7 +15,7 @@ Object attributes.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/part/asrenderprops/en.md b/markdown/dev/reference/api/part/asrenderprops/en.md index e0cc79eae3f..75be799b75a 100644 --- a/markdown/dev/reference/api/part/asrenderprops/en.md +++ b/markdown/dev/reference/api/part/asrenderprops/en.md @@ -4,7 +4,7 @@ title: Part.asRenderProps() The `Part.asRenderProps()` method will return the data stored in the -part as a serializable Javascript object. This method is typically +part as a serializable JavaScript object. This method is typically not invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -16,7 +16,7 @@ Object part.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/part/config/hide/en.md b/markdown/dev/reference/api/part/config/hide/en.md index 19a586deeb7..e433ee1f662 100644 --- a/markdown/dev/reference/api/part/config/hide/en.md +++ b/markdown/dev/reference/api/part/config/hide/en.md @@ -60,7 +60,7 @@ const part = { ### hide.inherited -To hide parts that you have not explicitly included in this part that may be pulled in by the explictly included `from` and `after` parts, set `hide.inherited` to a truthy value. +To hide parts that you have not explicitly included in this part that may be pulled in by the explicitly included `from` and `after` parts, set `hide.inherited` to a truthy value. This setting will hide any part included as `from` or `after` by your explicitly included `from` part or its dependency chain. It will also hide any part included as `from` by your explicitly included `after` part or its dependency chain. It will not hide the `after` parts of `after` parts diff --git a/markdown/dev/reference/api/part/draft/en.md b/markdown/dev/reference/api/part/draft/en.md index 112f9ef6f58..1dc184c98fc 100644 --- a/markdown/dev/reference/api/part/draft/en.md +++ b/markdown/dev/reference/api/part/draft/en.md @@ -37,7 +37,7 @@ access the following properties: | `log` | See [the logging documentation](/reference/api/store/log) | | `macro` | See [the macros documentation](/reference/macros/) | | `store` | See [the store documentation](/reference/api/store) | -| `units` | A version of [`utils.units()`](/reference/api/utils/units) that is preconfigured with the user's chosenunits | +| `units` | A version of [`utils.units()`](/reference/api/utils/units) that is preconfigured with the user's chosen units | | `utils` | See [the utils documentation](/reference/api/utils) | | `Bezier` | The [bezier-js](https://pomax.github.io/bezierjs/) library's `Bezier` named export | || **_Return value_** | diff --git a/markdown/dev/reference/api/path/asrenderprops/en.md b/markdown/dev/reference/api/path/asrenderprops/en.md index 1f8b3e7ca40..acedef511a0 100644 --- a/markdown/dev/reference/api/path/asrenderprops/en.md +++ b/markdown/dev/reference/api/path/asrenderprops/en.md @@ -3,7 +3,7 @@ title: Path.asRenderProps() --- The `Path.asRenderProps()` method will return the data stored in the -path as a serializable Javascript object. This method is typically +path as a serializable JavaScript object. This method is typically not invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -15,7 +15,7 @@ Object path.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/point/asrenderprops/en.md b/markdown/dev/reference/api/point/asrenderprops/en.md index d85a42c8a8f..8cbe0e4e7ee 100644 --- a/markdown/dev/reference/api/point/asrenderprops/en.md +++ b/markdown/dev/reference/api/point/asrenderprops/en.md @@ -3,7 +3,7 @@ title: Point.asRenderProps() --- The `Point.asRenderProps()` method will return the data stored in the -point as a serializable Javascript object. This method is typically +point as a serializable JavaScript object. This method is typically not invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -15,7 +15,7 @@ Object point.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/snippet/asrenderprops/en.md b/markdown/dev/reference/api/snippet/asrenderprops/en.md index 077fe2851d4..5e17125aa1c 100644 --- a/markdown/dev/reference/api/snippet/asrenderprops/en.md +++ b/markdown/dev/reference/api/snippet/asrenderprops/en.md @@ -3,7 +3,7 @@ title: Snippet.asRenderProps() --- The `Snippet.asRenderProps()` method will return the data stored in the -snippet as a serializable Javascript object. This method is typically +snippet as a serializable JavaScript object. This method is typically not invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -15,7 +15,7 @@ Object snippet.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/store/en.md b/markdown/dev/reference/api/store/en.md index be04bcaf8f7..aaa7bfcb6ff 100644 --- a/markdown/dev/reference/api/store/en.md +++ b/markdown/dev/reference/api/store/en.md @@ -3,7 +3,7 @@ title: Store --- A **Store** object holds a simple key/value store with methods for storing and -retrieving data. It is shared across the pattern, and is a the recommended way +retrieving data. It is shared across the pattern, and is the recommended way to pass data between your parts. The store can also be extended with additional methods by plugins. Refer to diff --git a/markdown/dev/reference/api/svg/asrenderprops/en.md b/markdown/dev/reference/api/svg/asrenderprops/en.md index be17e3c99e7..3f4e534b370 100644 --- a/markdown/dev/reference/api/svg/asrenderprops/en.md +++ b/markdown/dev/reference/api/svg/asrenderprops/en.md @@ -3,7 +3,7 @@ title: Svg.asRenderProps() --- The `Svg.asRenderProps()` method will return the data stored in the -svg as a serializable Javascript object. This method is typically +svg as a serializable JavaScript object. This method is typically not invoked directly but rather called under the hood as a result of calling [`Pattern.getRenderProps()`](/reference/core/pattern/getrenderprops). @@ -15,7 +15,7 @@ Object svg.asRenderProps() ## Returned object properties -This returns Javascript object has the following properties: +This returns JavaScript object has the following properties: | Name | Description | | ----:| ----------- | diff --git a/markdown/dev/reference/api/utils/applytransformtopoint/en.md b/markdown/dev/reference/api/utils/applytransformtopoint/en.md index 215291d2495..f60d586c4d9 100644 --- a/markdown/dev/reference/api/utils/applytransformtopoint/en.md +++ b/markdown/dev/reference/api/utils/applytransformtopoint/en.md @@ -12,7 +12,7 @@ Point utils.applyTransformToPoint(string transform, Point A) ## Parameters -1st parameter is a SVG transform string. Eg: `scale(sfx, sfy)` where `sfx` and `sfy` are the scaling factors along the x-axis and y-axis respectively. +1st parameter is a SVG transform string. E.g.: `scale(sfx, sfy)` where `sfx` and `sfy` are the scaling factors along the x-axis and y-axis respectively. 2nd parameter is the original point that is to be transformed. It is a [Point](/reference/api/point) object. diff --git a/markdown/dev/reference/api/utils/generatestacktransform/en.md b/markdown/dev/reference/api/utils/generatestacktransform/en.md index 410ad0907a5..d02da21a74f 100644 --- a/markdown/dev/reference/api/utils/generatestacktransform/en.md +++ b/markdown/dev/reference/api/utils/generatestacktransform/en.md @@ -19,13 +19,13 @@ Array generateStackTransform( ## Parameters -The first and second paramter set the value of the *translate transform* along the X and Y axis in millimeter. +The first and second parameters set the value of the *translate transform* along the X and Y axis in millimeter. In other words, it moves the stack. The third parameter sets the *rotate transform* in degrees. In other words, it rotates the stack. -The fourth and fifth parameter flip the part along the X or Y axis respectively. +The fourth and fifth parameters flip the part along the X or Y axis respectively. This is a low-level method to facilitate intervening in the pattern layout late in the draft process. diff --git a/markdown/dev/reference/api/utils/linesintersect/en.md b/markdown/dev/reference/api/utils/linesintersect/en.md index 8e0bd4b104d..6e9cc815ca1 100644 --- a/markdown/dev/reference/api/utils/linesintersect/en.md +++ b/markdown/dev/reference/api/utils/linesintersect/en.md @@ -2,7 +2,7 @@ title: utils.linesIntersect() --- -The `utils.linesInersect()` function finds the intersection between two line +The `utils.linesIntersect()` function finds the intersection between two line segments. Returns a [Point](../point) object for the intersection, or `false` if the lines don't intersect. diff --git a/markdown/dev/reference/api/utils/mergei18n/en.md b/markdown/dev/reference/api/utils/mergei18n/en.md index f7b95ef0d98..29597232fb2 100644 --- a/markdown/dev/reference/api/utils/mergei18n/en.md +++ b/markdown/dev/reference/api/utils/mergei18n/en.md @@ -49,7 +49,7 @@ The configuration object takes 3 top-level properties: - `p`: Specifies configuration for how to merge the part name translations (under `p` in the translation files) - `o`: Specifies configuration for how to merge the option translations (under `p` in the translation files) -For **each of the `s`, `p`, and `o` keys** you can specificy the followig properties: +For **each of the `s`, `p`, and `o` keys** you can specify the following properties: - `drop`: An Array with the keys of entries to not merge (drop). Keys that are not in this array will be merged. - `keep`: An Array with the keys of entries to merge (keep). Keys that are not in this array will not be merged. diff --git a/markdown/dev/reference/backend/people/en.md b/markdown/dev/reference/backend/people/en.md index 21eacaa9774..429e72b2ac1 100644 --- a/markdown/dev/reference/backend/people/en.md +++ b/markdown/dev/reference/backend/people/en.md @@ -18,7 +18,7 @@ for. ### The `measies` property holds measurements -These measurments should be structured as an object that can be used for the +These measurements should be structured as an object that can be used for the `measurements` key in the [pattern settings object](/reference/settings/measurements). diff --git a/markdown/dev/reference/macros/rmbanner/en.md b/markdown/dev/reference/macros/rmbanner/en.md index 109166f667f..cae27056843 100644 --- a/markdown/dev/reference/macros/rmbanner/en.md +++ b/markdown/dev/reference/macros/rmbanner/en.md @@ -13,4 +13,3 @@ part of [core-plugins](/reference/plugins/core) (so it is available by default). ```js macro('rmBanner', id = 'banner') ``` - diff --git a/markdown/dev/reference/macros/rmbartack/en.md b/markdown/dev/reference/macros/rmbartack/en.md index b0ffb6a7ba4..7e3c6263bc6 100644 --- a/markdown/dev/reference/macros/rmbartack/en.md +++ b/markdown/dev/reference/macros/rmbartack/en.md @@ -13,4 +13,3 @@ part of [core-plugins](/reference/plugins/core) (so it is available by default). ```js macro('rmBartack', id = 'bartack') ``` - diff --git a/markdown/dev/reference/sites/sanity/en.md b/markdown/dev/reference/sites/sanity/en.md index f987e29b566..fd0848752f4 100644 --- a/markdown/dev/reference/sites/sanity/en.md +++ b/markdown/dev/reference/sites/sanity/en.md @@ -17,7 +17,7 @@ The Sanity content scheme is stored in `sites/sanity/schema` in our monorepo. We use two datasets: - `site-data` holds blog and showcase posts in all languages, as well as - newsletter editions. This dataset is publicly avaialble. + newsletter editions. This dataset is publicly available. - `user-data` holds images uploaded by users, such as for their account image, or measurements set image. This dataset is not publicly available. @@ -35,7 +35,7 @@ so if you want to become an editor, you can ask joost to grant you access. ### Local development -After setting up the monorepo with `yarn kickstart` in the root folder, change your working directoy to `sites/sanity` and run `yarn dev`: +After setting up the monorepo with `yarn kickstart` in the root folder, change your working directory to `sites/sanity` and run `yarn dev`: ```sh git clone git@github.com:freesewing/freesewing.git diff --git a/markdown/dev/reference/store-methods/cutlist.setcutonfold/en.md b/markdown/dev/reference/store-methods/cutlist.setcutonfold/en.md index 034a215fe4d..21c9916529b 100644 --- a/markdown/dev/reference/store-methods/cutlist.setcutonfold/en.md +++ b/markdown/dev/reference/store-methods/cutlist.setcutonfold/en.md @@ -1,7 +1,7 @@ --- title: cutlist.setCutOnFold() --- -The `cutlist.setCutOnFold()` method will take two points to determin the cut on fold line. +The `cutlist.setCutOnFold()` method will take two points to determine the cut on fold line. This method is called internally by [the `cutonfold` macro](/reference/macros/cutonfold) to store information for cutting layout tools. In other words, you typically have no reason to call this method manually. diff --git a/markdown/dev/reference/store-methods/cutlist.setgrain/en.md b/markdown/dev/reference/store-methods/cutlist.setgrain/en.md index dbf0cc533cd..b749ffb4030 100644 --- a/markdown/dev/reference/store-methods/cutlist.setgrain/en.md +++ b/markdown/dev/reference/store-methods/cutlist.setgrain/en.md @@ -2,7 +2,7 @@ title: cutlist.setGrain() --- -The `store.cutlist.setGrain()` method will take an angle to determin the grainline. +The `store.cutlist.setGrain()` method will take an angle to determine the grainline. This method is called internally by [the `grainline` macro](/reference/macros/grainline). to store information for cutting layout tools. diff --git a/markdown/dev/reference/store-methods/en.md b/markdown/dev/reference/store-methods/en.md index 1d7d60e9e34..5a943d264b4 100644 --- a/markdown/dev/reference/store-methods/en.md +++ b/markdown/dev/reference/store-methods/en.md @@ -6,7 +6,7 @@ Store methods are typically provided by plugins and attached to the store to make them available during the drafting process. Some of FreeSewing's core library functionality is implemented -as store methods to allow plugins to override this functinoality. +as store methods to allow plugins to override this functionality. Examples include log handling and pattern layout algorithm. All store methods below are either provided by plugins we maintain, diff --git a/markdown/dev/reference/store-methods/flag.preset/en.md b/markdown/dev/reference/store-methods/flag.preset/en.md index c7a2cc886cb..1895122c4d4 100644 --- a/markdown/dev/reference/store-methods/flag.preset/en.md +++ b/markdown/dev/reference/store-methods/flag.preset/en.md @@ -17,7 +17,7 @@ is on or off respectively. undefined Store.flag.preset(string preset) ``` -Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implemntation. +Since these methods are not part of FreeSewing's core API, what you pass to this method does depend on your own implementation. The example above is from our implementation, which uses the following properties: ## Configuration diff --git a/markdown/dev/tutorials/pattern-design/part2/avoiding-overlap/en.md b/markdown/dev/tutorials/pattern-design/part2/avoiding-overlap/en.md index 4302fd921c8..f87fc006278 100644 --- a/markdown/dev/tutorials/pattern-design/part2/avoiding-overlap/en.md +++ b/markdown/dev/tutorials/pattern-design/part2/avoiding-overlap/en.md @@ -13,7 +13,7 @@ to rotate. However, there is a catch. -## Macros and auto-gerenated IDs +## Macros and auto-generated IDs We have used the `round` macro to help us round the corners of our strap, and it added a bunch of auto-generated points to our pattern. We need to rotate these points too, but what are their names? diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md index 6fd61d78afd..d3c79b99ec3 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md @@ -30,7 +30,7 @@ That's where it would be over. Except for one technical detail that's also impor This is more technical and harder to understand Another reason is that while we could make it so that clicking the link in your -email would immeadiatly subcribe you, it would be in violation of internet standards. +email would immediately subscribe you, it would be in violation of internet standards. Specifically, the __HTTP__ protocol's __GET method__ definition which states that: diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md index 8e8142dbb7c..bee857988cb 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md @@ -3,7 +3,7 @@ title: Why do I have to click again to confirm I want to unsubscribe from the ne --- While we could make it so that clicking the link in your -email would immeadiatly unsubcribe you, it would be in violation of internet standards. +email would immediately unsubscribe you, it would be in violation of internet standards. Specifically, the __HTTP__ protocol's __GET method__ definition which states that: diff --git a/markdown/org/docs/about/guide/en.md b/markdown/org/docs/about/guide/en.md index 4b6f354da5a..fcb620bc4bc 100644 --- a/markdown/org/docs/about/guide/en.md +++ b/markdown/org/docs/about/guide/en.md @@ -47,7 +47,7 @@ FreeSewing.org is our most visible asset, and for many people their first encoun ## Patterns vs Designs -If you came to this site looking for _sewing patterns_ and did not immeadiatly find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. We don’t scale or grade patterns. Instead, FreeSewing drafts a design into a pattern made to your measurements. @@ -103,6 +103,6 @@ FreeSewing also provides **curated measurements sets**. These are measurements s ## Where to turn to for help -If you get stuck, consule [the support page](/support/) for various support options. +If you get stuck, consult [the support page](/support/) for various support options. diff --git a/markdown/org/docs/about/site/account/username/en.md b/markdown/org/docs/about/site/account/username/en.md index c3938ac766b..1fdb0953d7e 100644 --- a/markdown/org/docs/about/site/account/username/en.md +++ b/markdown/org/docs/about/site/account/username/en.md @@ -6,6 +6,6 @@ Your username is special name that uniquely identifies you. You can choose your own username, so anything goes. -To avoid consusion, usernames must be unique when lowercased. +To avoid confusion, usernames must be unique when lowercased. In other words, the username `Joost` will not be available if a user `joost` exists. diff --git a/markdown/org/docs/about/site/apikeys/expiry/en.md b/markdown/org/docs/about/site/apikeys/expiry/en.md index 173db17fd92..cdf3ffb8da5 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/en.md +++ b/markdown/org/docs/about/site/apikeys/expiry/en.md @@ -7,6 +7,6 @@ Every API key has an **expiry date** after which the key will stop working. By default, API keys expire after 1 month, but we support up to two years. -When your key is about to exire, you must replace it with a new one. +When your key is about to expire, you must replace it with a new one. You cannot extend the expiry date of a key once set. diff --git a/markdown/org/docs/about/site/bookmarks/location/en.md b/markdown/org/docs/about/site/bookmarks/location/en.md index 054bf4ab6cf..1b9dad0097c 100644 --- a/markdown/org/docs/about/site/bookmarks/location/en.md +++ b/markdown/org/docs/about/site/bookmarks/location/en.md @@ -2,7 +2,7 @@ title: Location --- -Every bookmark has a **loation** attribute that is mandatory. It holds the URL of the bookmark. +Every bookmark has a **location** attribute that is mandatory. It holds the URL of the bookmark. A bookmark without a location or URL is useless, as this holds the location the bookmark should point to. diff --git a/markdown/org/docs/about/site/csets/en.md b/markdown/org/docs/about/site/csets/en.md index 771e4c63f2e..b010be66fed 100644 --- a/markdown/org/docs/about/site/csets/en.md +++ b/markdown/org/docs/about/site/csets/en.md @@ -32,7 +32,7 @@ pick the one that best represents their own body. We rely on our community to submit measurements sets for curation. If you have a public measurements set on the site, you can suggest it for curation. -To be part of our curated measurments sets collection, you should provide the following: +To be part of our curated measurements sets collection, you should provide the following: - **All measurements** of the person. We do not accept incomplete sets as that would mean some designs would not work with them. - **The height** of the person. This helps users select a measurements set closest to their own body. diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/en.md b/markdown/org/docs/about/site/draft/core-settings/locale/en.md index ded014c197a..8835cc37f61 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/en.md @@ -12,5 +12,5 @@ FreeSewing currently supports the following languages: - German - Dutch -You can picks any of these and your pattern will be translated in this language. +You can pick any of these and your pattern will be translated in this language. diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/en.md b/markdown/org/docs/about/site/draft/core-settings/scale/en.md index 5a26449f1ca..2a5b20657f2 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/en.md @@ -7,5 +7,5 @@ Things like logos, line widths, font sizes, and so on. This setting was added at the requests of people who like to use our patterns to make doll clothes. When generating such a small pattern, the arrowheads, titles, and so on tend to obscure much of the pattern. -This setting allows you to scale them down or -- if you so wich -- scale them up. +This setting allows you to scale them down or -- if you so wish -- scale them up. diff --git a/markdown/org/docs/about/site/en.md b/markdown/org/docs/about/site/en.md index acf5722dfb6..453f435004a 100644 --- a/markdown/org/docs/about/site/en.md +++ b/markdown/org/docs/about/site/en.md @@ -13,7 +13,7 @@ Most people will be most interested in [How to generate bespoke sewing patterns] It can be frustrating for visitors who come here expecting a website where they can download sewing patterns that they can't seem to find the sewing patterns to download. Almost like hiding the *download button* is some elaborate scheme to waste their time. I don't really know how to fix this because I cannot control people's expectations. -FreeSewing.org is _very_ different from the a website with some links to PDF sewing patterns. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. So if that's what you're expecting, we almost have to de-train you before we can talk about what this site offers. So I'm not going to do that. I'm going to assume you are reading with an open mind. @@ -55,7 +55,7 @@ I'd like to highlight a couple of them that are worth your attention: ### User Experience The [User Experience setting](/account/control/) allows you to gradually reveal more complexity. -If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gardually hide more features for the sake of simplicity. But setting a higher value here will show more features and functionality. +If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. But setting a higher value here will show more features and functionality. Dial this setting down if you want a simpler experience. Turn it up if you want more power, or some things that you know exists are not shown on your screen. diff --git a/markdown/org/docs/about/site/patterns/public/en.md b/markdown/org/docs/about/site/patterns/public/en.md index fa542d8381b..343023df496 100644 --- a/markdown/org/docs/about/site/patterns/public/en.md +++ b/markdown/org/docs/about/site/patterns/public/en.md @@ -5,4 +5,4 @@ title: Public This settings controls whether your pattern will accessible by the **public** or not. By default, patterns are private and only you can access your own patterns. -If you'd like to share your pattern with others -- perhaps because they showed an interest or you are loooking for input -- you should first make it public. +If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. diff --git a/markdown/org/docs/about/site/sets/public/en.md b/markdown/org/docs/about/site/sets/public/en.md index f3fc1dc1b21..dde2c69b8b0 100644 --- a/markdown/org/docs/about/site/sets/public/en.md +++ b/markdown/org/docs/about/site/sets/public/en.md @@ -2,11 +2,11 @@ title: Public --- -Every measurements set has a **public** attribute that controls whether or not the measurments set is public. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. By default, measurements sets are private and you are the only one who can use them. -But, you can choose to make your measurments set public which allows other +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. diff --git a/markdown/org/docs/about/site/sets/units/en.md b/markdown/org/docs/about/site/sets/units/en.md index 9cd1b62617a..30f2aef9cab 100644 --- a/markdown/org/docs/about/site/sets/units/en.md +++ b/markdown/org/docs/about/site/sets/units/en.md @@ -6,8 +6,8 @@ Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. While each FreeSewing user has a **units** setting in their account that -controls their overal preference between imperial or metric units, it is common -to also have measurements sets for differnet people, and those different people +controls their overall preference between imperial or metric units, it is common +to also have measurements sets for different people, and those different people might have other preferences. That is why we allow you to set the units on each measurements set. diff --git a/markdown/org/docs/measurements/bustfront/en.md b/markdown/org/docs/measurements/bustfront/en.md index 4b4d8e03c1c..c41b9d35fe0 100644 --- a/markdown/org/docs/measurements/bustfront/en.md +++ b/markdown/org/docs/measurements/bustfront/en.md @@ -4,6 +4,6 @@ title: Bust front The **bust front** is the front part of your chest circumference. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. diff --git a/markdown/org/docs/measurements/shoulderslope/en.md b/markdown/org/docs/measurements/shoulderslope/en.md index 7d05129dde4..f594f13ff65 100644 --- a/markdown/org/docs/measurements/shoulderslope/en.md +++ b/markdown/org/docs/measurements/shoulderslope/en.md @@ -6,7 +6,7 @@ The **shoulder slope** measurement is an indicator for the amount with which you To measure your shoulder slope, you need to determine the angle at which your shoulder line slopes downward. -A good way to measure your shoulder slope is to take a +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. The number of degrees you had to rotate is your shoulder slope. diff --git a/markdown/org/docs/measurements/waisttoarmpit/en.md b/markdown/org/docs/measurements/waisttoarmpit/en.md index 3bf42a9f8fb..dbb5fbaf62f 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/en.md +++ b/markdown/org/docs/measurements/waisttoarmpit/en.md @@ -4,7 +4,7 @@ title: Waist to armpit The **waist to armpit** is the measurement from your waist up towards your armpit, measured on the side of your body. -Since _armpit_ is a bit ambigious, we recommend finding the height that would be about the tightest possible sleeve that could still work. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. The height of the subcapular/posterior lymph nodes is typically a good spot. Or, if you're not certain where the lymph nodes under your arm are, you can follow this approach: @@ -13,7 +13,7 @@ Or, if you're not certain where the lymph nodes under your arm are, you can foll - Raise your dominant arm (the right if you are right-handed, or the left if you are left-handed) about 30 degrees sideways, away from your body. - Now reach to the side of your body with the other hand, placing the palm of your hand against the side, and your thumb on your chest pointing upwards. - Slide your hand upwards as far as you can without having to push anything out of the way. -- Your index finger will now sit in the armput, which is a bit too high. But your middlefinger is a good spot to mark as the start of your armpit. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. diff --git a/markdown/org/docs/sewing/double-welt-pockets/en.md b/markdown/org/docs/sewing/double-welt-pockets/en.md index b207622f151..4b85f4891e6 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/en.md +++ b/markdown/org/docs/sewing/double-welt-pockets/en.md @@ -119,7 +119,7 @@ Mark the welt pocket as follows: - Align the center opening of the pocket with a horizontal line. Let it extend to help you align the welts later - Mark two horizontal lines parallel to the center line, at an offset equal to the welt height (0.5cm in our example) -The part of the horizontal lines parallel to the center line that fall in between the verticle lines is where we'll sew our welts in place. This is illustrated by the red lines. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. This is illustrated by the red lines. ### Step 3: Fold and press the welts diff --git a/markdown/org/docs/sewing/edgestitching/en.md b/markdown/org/docs/sewing/edgestitching/en.md index 6bb929be782..c4cd29a4109 100644 --- a/markdown/org/docs/sewing/edgestitching/en.md +++ b/markdown/org/docs/sewing/edgestitching/en.md @@ -2,7 +2,7 @@ title: Edgestitching --- -Edgestitching is a speficic type of _topstitching_. +Edgestitching is a specific type of _topstitching_. It is specific because of its location. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. diff --git a/sites/org/components/footer/en.yaml b/sites/org/components/footer/en.yaml index 2bcd541eb47..3824004d1ed 100644 --- a/sites/org/components/footer/en.yaml +++ b/sites/org/components/footer/en.yaml @@ -1,7 +1,7 @@ cc: Content on FreeSewing.org is available under a Creative Commons license -mit: The FreeSewing source code is available on Github under the MIT license +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing is sponsored by these awesome companies algolia: Search powered by Algolia crowdin: Translation powered by Crowdin -bugsnag: Error handling by Bugsnag +bugsnag: Error handling by BugSnag vercel: Builds & Hosting by Vercel diff --git a/sites/org/pages/translation/en.yaml b/sites/org/pages/translation/en.yaml index fd1d8e1223e..c5cc795dd91 100644 --- a/sites/org/pages/translation/en.yaml +++ b/sites/org/pages/translation/en.yaml @@ -8,7 +8,7 @@ translatedOnly: Translated but not (yet) approved by a proofreader notTranslated: Not (yet) translated defaultLanguage: This is our source language and the working language of the FreeSewing project addLanguage1: Looking to add a language? -addLanguage2: We would love to make FreeSewing available in more langauges. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: If you are interested in starting a new translation effort, please reach out. globalRanking: Global ranking groupByLanguage: Group by language diff --git a/sites/shared/components/susi/en.yaml b/sites/shared/components/susi/en.yaml index 75cbe0c041a..60a1aa7d514 100644 --- a/sites/shared/components/susi/en.yaml +++ b/sites/shared/components/susi/en.yaml @@ -8,7 +8,7 @@ checkYourInbox: Go check your inbox for an email from clickSigninLink: Click the sign-in link in that email to sign in to your FreeSewing account. clickSignupLink: Click your personal signup link in that email to create your FreeSewing account. consentLacking: We lack consent to process your data -consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instracutions. You can sign up again with the same email address to receive the email again. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Contact support contactingGithub: Contacting GitHub contactingGoogle: Contacting Google diff --git a/sites/shared/components/workbench/menus/core-settings/en.yaml b/sites/shared/components/workbench/menus/core-settings/en.yaml index 1740f71c875..a1f3f45aa5e 100644 --- a/sites/shared/components/workbench/menus/core-settings/en.yaml +++ b/sites/shared/components/workbench/menus/core-settings/en.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Generate a complete pattern completeYes.d: This will generate a complete pattern with all notations, lines, markings. Use this if you are not certain what to choose. completeNo.t: Generate a pattern outline -completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a lasercutter or have other specific needs. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Expand all pattern parts expandYes.d: This will generate a pattern where all pattern parts are drawn to their full size, even if they are simple rectangles. expandNo.t: Keep patterns parts compact where possible @@ -52,7 +52,7 @@ metric.d: Use this if you use the metric system, and centimeters and millimeters imperial.t: Use imperial units imperial.d: Use this if inches and fractions or inches are more familiar to you then centimeters. This is often the preferred choice for people based in the UK & US. saNo.t: Do not include seam allowance -saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowancce will be included. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Include seam allowance saYes.d: This generates a pattern that will include seam allowance. The size of the seam allowance is set individually. clearSettingsNotMeasurements: Clear settings, but keep measurements diff --git a/sites/shared/components/workbench/menus/ui-settings/en.yaml b/sites/shared/components/workbench/menus/ui-settings/en.yaml index 6913c5aa938..368d7eb195e 100644 --- a/sites/shared/components/workbench/menus/ui-settings/en.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/en.yaml @@ -4,7 +4,7 @@ renderer.t: Render Engine renderer.d: Controls how the pattern is rendered (drawn) on the screen renderWithReact.t: Render with FreeSewing's React components renderWithReact.d: Render as SVG through our React components. Allows interactivity and is optimized for screen. Use this if you are not sure what to pick. -renderWithCore.t: Render with Freesewing's Core library +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Render directly to SVG from Core. Allows no interactivity and is optimized for print. Use this if you want to know what it will look like when exported. control.t: User Experience control.d: Which user experience do you prefer? Please note that this is an account setting, so it will impact the entire website. diff --git a/sites/shared/i18n/docs/en.yaml b/sites/shared/i18n/docs/en.yaml index 7a39bb3e3c6..334cc3ad310 100644 --- a/sites/shared/i18n/docs/en.yaml +++ b/sites/shared/i18n/docs/en.yaml @@ -3,7 +3,7 @@ docs: Documentation controltip.t: Power versus Simplicity controltip.d1: The Power versus Simplicity setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: By default, some of the more advanced features of this site are hidden to make it more easy for new users to find their way. -controltip.d3: If you want to sacrify some of that simplicy to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Help us improve our documentation authors: Authors maintainers: Maintainers diff --git a/sites/shared/i18n/homepage/en.yaml b/sites/shared/i18n/homepage/en.yaml index 771fc5fe065..e6852735a43 100644 --- a/sites/shared/i18n/homepage/en.yaml +++ b/sites/shared/i18n/homepage/en.yaml @@ -4,7 +4,7 @@ howDoesItWork: How does it work? whatIsFreeSewing: What is FreeSewing? whatIsFreeSewingNot: What is FreeSewing not? what1: FreeSewing is open source software to generate bespoke sewing patterns, loved by home sewers and fashion entrepreneurs alike. -what2: FreeSewing.org makes this software available to you as an online tool with unmatched custimization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Industry sizing is a bunch of lies. Join the slow fashion revolution and enjoy clothes that fit you. whatNot1: FreeSewing is not a company. We do not sell anything. We do not have staff or employees. We do not have an office. We do not get paid. whatNot2: Our website does not contain any advertising. We do not track you or sell your personal data. We do not violate your privacy. diff --git a/sites/shared/i18n/sections/en.yaml b/sites/shared/i18n/sections/en.yaml index 631bd311640..981b5b5aa6c 100644 --- a/sites/shared/i18n/sections/en.yaml +++ b/sites/shared/i18n/sections/en.yaml @@ -5,11 +5,11 @@ showcaseAbout: Examples and inspiration from the FreeSewing community using our docs: Documentation docsAbout: In-depth documentation for all our designs, our website, and much more account: Your Account -accountAbout: Manage your account settings and preferences, and your presonal data +accountAbout: Manage your account settings and preferences, and your personal data designs: Designs designsAbout: Our library of designs that you can turn into made-to-measure patterns with a few clicks community: Community -communityAbout: More information about the peope behind FreeSewing and where to fine like-minded makers +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Documentation for our core API library and our backend REST API. designAbout: Everything you need to know to start designing parametric sewing patterns. contributeAbout: Looking to contribute to FreeSewing? Right this way. diff --git a/sites/shared/i18n/status/en.yaml b/sites/shared/i18n/status/en.yaml index ca08d5fa689..b64ff3d893e 100644 --- a/sites/shared/i18n/status/en.yaml +++ b/sites/shared/i18n/status/en.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Copied to clipboard dataLoaded: Loaded data from the FreeSewing backend generatingPdf: Generating your PDF, one moment please nailedIt: Nailed it! -pdfFailed: An unexpected error occured while generating your PDF +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: PDF generated processingUpdate: Processing update settingsSaved: Settings saved diff --git a/sites/shared/i18n/support/en.yaml b/sites/shared/i18n/support/en.yaml index 566b36d1f65..4a52159e1fb 100644 --- a/sites/shared/i18n/support/en.yaml +++ b/sites/shared/i18n/support/en.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: How can you support FreeSewing? issueAssigned: Issue assigned issueClosed: Issue closed issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Maintainer Support maintainerSupport1: If you are a FreeSewing patron, you can go straight to the top and contact Joost directly. maintainerSupport2: While Joost will treat requests from patrons with priority, he does also needs sleep. So keep that in mind, especially when you are in a different time zone. From 28aa15cd16810d13f48f3a4d023d16ee2584d184 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 12:30:31 -0800 Subject: [PATCH 0177/1313] chore(markdown): Add 2023 pledge amount to revenue history --- markdown/org/docs/about/pledge/en.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/en.md b/markdown/org/docs/about/pledge/en.md index a62f58cae44..41fb165db61 100644 --- a/markdown/org/docs/about/pledge/en.md +++ b/markdown/org/docs/about/pledge/en.md @@ -21,7 +21,8 @@ You can read about [their motivations for doing so on this page](/docs/about/ple | `€10.736,82` | 2020 | | `€10.070,77` | 2021 | | `€9.325,54` | 2022 | -| `€38.814,94` | **Euro donated to [MSF](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Euro donated to [MSF](https://msf.org/)** | From f617144a93d3061b68c8f3cafb3d33406a968f41 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 14:28:48 -0800 Subject: [PATCH 0178/1313] fix(backend): Fix test typos --- sites/backend/tests/curated-set.mjs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sites/backend/tests/curated-set.mjs b/sites/backend/tests/curated-set.mjs index cd8d02800a5..978c226888b 100644 --- a/sites/backend/tests/curated-set.mjs +++ b/sites/backend/tests/curated-set.mjs @@ -10,13 +10,13 @@ export const curatedSetTests = async (chai, config, expect, store) => { nameEs: 'Medidas de ejemplo A', nameFr: 'Mesures exemple A', nameNl: 'Voorbeel maten A', - nameUk: 'Ukranian example A', + nameUk: 'Ukrainian example A', notesDe: 'Das sind die Notizen A', notesEn: 'These are the notes A', notesEs: 'Estas son las notas A', notesFr: 'Ce sont les notes A', notesNl: 'Dit zijn de notities A', - notesUk: 'These are the ukranian notes A', + notesUk: 'These are the Ukrainian notes A', tags: ['tagA', 'tagB'], measies: { chest: 1000, @@ -30,13 +30,13 @@ export const curatedSetTests = async (chai, config, expect, store) => { nameEs: 'Medidas de ejemplo B', nameFr: 'Mesures exemple B', nameNl: 'Voorbeel maten B', - nameUk: 'Ukranian example B', + nameUk: 'Ukrainian example B', notesDe: 'Das sind die Notizen B', notesEn: 'These are the notes B', notesEs: 'Estas son las notas B', notesFr: 'Ce sont les notes B', notesNl: 'Dit zijn de notities B', - notesUk: 'These are the ukranian notes B', + notesUk: 'These are the Ukrainian notes B', tags: ['tagA', 'tagB'], measies: { chest: 930, From 554f95b22208eb2aecc6a2d378555b8648a5d4de Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 06:55:07 -0800 Subject: [PATCH 0179/1313] fix(markdown): Update Vercel tutorial for v3 --- .../tutorials/getting-started-vercel/en.md | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/markdown/dev/tutorials/getting-started-vercel/en.md b/markdown/dev/tutorials/getting-started-vercel/en.md index b8bfca6ba0e..5579ce235b8 100644 --- a/markdown/dev/tutorials/getting-started-vercel/en.md +++ b/markdown/dev/tutorials/getting-started-vercel/en.md @@ -49,11 +49,11 @@ Within each repository there can be multiple projects. _Projects_ are specific build types for the repository. For example, one project in your FreeSewing repository could -be the one that builds the lab.freesewing.dev website. +be the one that builds the freesewing.org website. You would use this project to test new designs or changes to existing designs. -Another project could be the one that builds the freesewing.org -website, used to test changes to that website. +Another project could be the one that builds the freesewing.dev +website, used to test documentation changes on that website. Free Hobby accounts are limited to 3 Projects per Git repository. @@ -71,8 +71,8 @@ you make to every branch in your repository. The reason why Vercel builds these deployments automatically is so you will always have the latest version available to test without having to think about it or do any additional work. -The reason why Vercel builds a deployment for every push and update -is so you have the ability to easily test different versions, past +And, because deployments are built for every push and update, +you have the ability to easily test different versions, past and current. This ability can help you identify what code change might have introduced an issue or change in behavior. @@ -122,7 +122,7 @@ However, you should instead import your own personal fork of the FreeSewing repository. 1. In the dropdown menu, select "Add a GitHub Account". -2. Select your personal GitHub acccount from the list. +2. Select your personal GitHub account from the list. 3. Select the "Only select repositories" radio button. 4. In "Select repositories" drop-down menu, select your `freesewing` repository. @@ -141,7 +141,6 @@ By default, the default Root Directory will be `sites/dev`. The Root Directory setting will determine the build type for the project. - `sites/dev` will build a freesewing.dev website - `sites/org` will build a freesewing.org website -- `sites/lab` will build a lab.freesewing.dev website/app 1. Change the name of the project, if you wish. Names can consist of alphanumeric lowercase and hyphen characters. @@ -153,7 +152,7 @@ add `yarn build` as the Build Command override. Vercel will then create the project and start building the project's first deployment based on the current `develop` branch. -Once the build completes (in about 3-4 minutes or so) +Once the build completes you will see a Congratulations page, with a preview image of the website home page. @@ -181,13 +180,16 @@ when you push to GitHub when you push to GitHub If you have multiple projects for the same repository -(for example, if you have both `sites/lab` and `sites/dev` projects),i -then multiple deployments will be created everytime you push to GitHub. +(for example, if you have both `sites/org` and `sites/dev` projects), +then multiple deployments will be created every time you push to GitHub. Deployments are automatically created by Vercel. However, because free Hobby accounts are limited to 1 concurrent build, new deployments might be queued before they start building. -Once they start, deployments take 3-4 minutes or so to build. + +Once they start, deployments take about +4-5 minutes to build for `/sites/dev` and +16-18 minutes or so for `sites/org`. ## The Vercel Dashboard @@ -209,6 +211,8 @@ deployments for that project. Click on the __Deployments__ tab to see all of the project's deployments. Click on a deployment name to go to its deployment page. +Click on the __Settings__ tab to see the project's settings. + ## Deployment pages On the default __Deployment__ tab at the top of the deployment page @@ -224,11 +228,11 @@ commit. of that branch. If you ever want to delete a deployment you can do so on its -deployment page, under the __...__ three dots menu. +deployment page, under the "__...__" three dots menu. ## Usage and Billing -Verce's free Hobby accounts come with +Vercel's free Hobby accounts come with 100 GB of bandwidth and 100 hours of build time each month. This should be at least 10-15x the amount you will actually use in a month, so do not worry about this. @@ -239,5 +243,15 @@ top of the Dashboard page. - Or, [https://vercel.com/account/billing][vb] will show a summary of your usage. +## Disabling automatic deployments + +You can disable and enable automatic deployments for a project, +for example if you wish to temporarily stop them while working on +a bug that prevents successful builds. + +On the Project Settings page, select __Git__ from the menu on the +left. Change the __Ignored Build Step__ behavior from "Automatic" to +"Don't build anything". + [vu]: https://vercel.com/dashboard/usage [vb]: https://vercel.com/account/billing From 9a43868cfec8eefa00d2f249c168e7c7fb7edb9b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 04:29:14 +0000 Subject: [PATCH 0180/1313] build(deps): bump @aws-sdk/client-sesv2 from 3.495.0 to 3.496.0 Bumps [@aws-sdk/client-sesv2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sesv2) from 3.495.0 to 3.496.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sesv2/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.496.0/clients/client-sesv2) --- updated-dependencies: - dependency-name: "@aws-sdk/client-sesv2" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 1104 ++++++++++++++++++------------------ 2 files changed, 553 insertions(+), 553 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index e4978d6c976..8ee312ac85c 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": {}, "dependencies": { - "@aws-sdk/client-sesv2": "3.495.0", + "@aws-sdk/client-sesv2": "3.496.0", "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", diff --git a/yarn.lock b/yarn.lock index 9c73cd300f3..2e7d7d829c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -197,354 +197,354 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-sesv2@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.495.0.tgz#6757612dbcd8c6f54a0dae63381b7ddbb8dea92b" - integrity sha512-jSck2QDI3zfVbLjQpqpEHBT+I7xKoyUIjdJVCBFw5Hr9IPsFk3csC2SFYqRj+4knHX8aBOTSt1OrMv/5PFgx4g== +"@aws-sdk/client-sesv2@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.496.0.tgz#154c091a19e0e8eee3009c5302ba27190ae77d36" + integrity sha512-SJN3Kzxck6cxiXPgx2BopHwWwLNuCwa35/ScBxp6hT9qGSSGbWoUdc0fSrTvN5Ryf5/2wG9G7MnWcIJuZAQWYQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.495.0" - "@aws-sdk/core" "3.495.0" - "@aws-sdk/credential-provider-node" "3.495.0" - "@aws-sdk/middleware-host-header" "3.495.0" - "@aws-sdk/middleware-logger" "3.495.0" - "@aws-sdk/middleware-recursion-detection" "3.495.0" - "@aws-sdk/middleware-signing" "3.495.0" - "@aws-sdk/middleware-user-agent" "3.495.0" - "@aws-sdk/region-config-resolver" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@aws-sdk/util-endpoints" "3.495.0" - "@aws-sdk/util-user-agent-browser" "3.495.0" - "@aws-sdk/util-user-agent-node" "3.495.0" - "@smithy/config-resolver" "^2.1.0" - "@smithy/core" "^1.3.0" - "@smithy/fetch-http-handler" "^2.4.0" - "@smithy/hash-node" "^2.1.0" - "@smithy/invalid-dependency" "^2.1.0" - "@smithy/middleware-content-length" "^2.1.0" - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-retry" "^2.1.0" - "@smithy/middleware-serde" "^2.1.0" - "@smithy/middleware-stack" "^2.1.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/node-http-handler" "^2.3.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" - "@smithy/util-base64" "^2.1.0" - "@smithy/util-body-length-browser" "^2.1.0" - "@smithy/util-body-length-node" "^2.2.0" - "@smithy/util-defaults-mode-browser" "^2.1.0" - "@smithy/util-defaults-mode-node" "^2.1.0" - "@smithy/util-endpoints" "^1.1.0" - "@smithy/util-retry" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@aws-sdk/client-sts" "3.496.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/credential-provider-node" "3.496.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-signing" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/client-sso@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.495.0.tgz#4051740a6744a026fb2f2d94f29dee5fc4f6cda1" - integrity sha512-Uerh3aDe/JeQNjcyXKI+8VuKPOAB6mCUKlScD0AIca1Kdyk8PsQTq4rDzFCYAQsNS5/BuPN+Ak0NqwsJM0agYA== +"@aws-sdk/client-sso@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz#765cbfb3afcbe7bc8f2430e40afd4d542a0d58fb" + integrity sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/core" "3.495.0" - "@aws-sdk/middleware-host-header" "3.495.0" - "@aws-sdk/middleware-logger" "3.495.0" - "@aws-sdk/middleware-recursion-detection" "3.495.0" - "@aws-sdk/middleware-user-agent" "3.495.0" - "@aws-sdk/region-config-resolver" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@aws-sdk/util-endpoints" "3.495.0" - "@aws-sdk/util-user-agent-browser" "3.495.0" - "@aws-sdk/util-user-agent-node" "3.495.0" - "@smithy/config-resolver" "^2.1.0" - "@smithy/core" "^1.3.0" - "@smithy/fetch-http-handler" "^2.4.0" - "@smithy/hash-node" "^2.1.0" - "@smithy/invalid-dependency" "^2.1.0" - "@smithy/middleware-content-length" "^2.1.0" - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-retry" "^2.1.0" - "@smithy/middleware-serde" "^2.1.0" - "@smithy/middleware-stack" "^2.1.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/node-http-handler" "^2.3.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" - "@smithy/util-base64" "^2.1.0" - "@smithy/util-body-length-browser" "^2.1.0" - "@smithy/util-body-length-node" "^2.2.0" - "@smithy/util-defaults-mode-browser" "^2.1.0" - "@smithy/util-defaults-mode-node" "^2.1.0" - "@smithy/util-endpoints" "^1.1.0" - "@smithy/util-retry" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/client-sts@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.495.0.tgz#b444e9951efb1d9ea58a91fd993a818b5d76d29a" - integrity sha512-lXQIx7D1MQ5+F8PaSYV7UiSxgP9M5ba/YFx1rcxi5l1GlbAWuHWhrk15qKe9d6vLxa2eTjJFiVzbO7pJqRBEWw== +"@aws-sdk/client-sts@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.496.0.tgz#e0c142cf8bb1aec7a9c7b09dd9739f6773d94fd0" + integrity sha512-3pSdqgegdwbK3CT1WvGHhA+Bf91R9cr8G1Ynp+iU2wZvy8ueJfMUk0NYfjo3EEv0YhSbMLKuduzZfvQHFHXYhw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/core" "3.495.0" - "@aws-sdk/credential-provider-node" "3.495.0" - "@aws-sdk/middleware-host-header" "3.495.0" - "@aws-sdk/middleware-logger" "3.495.0" - "@aws-sdk/middleware-recursion-detection" "3.495.0" - "@aws-sdk/middleware-user-agent" "3.495.0" - "@aws-sdk/region-config-resolver" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@aws-sdk/util-endpoints" "3.495.0" - "@aws-sdk/util-user-agent-browser" "3.495.0" - "@aws-sdk/util-user-agent-node" "3.495.0" - "@smithy/config-resolver" "^2.1.0" - "@smithy/core" "^1.3.0" - "@smithy/fetch-http-handler" "^2.4.0" - "@smithy/hash-node" "^2.1.0" - "@smithy/invalid-dependency" "^2.1.0" - "@smithy/middleware-content-length" "^2.1.0" - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-retry" "^2.1.0" - "@smithy/middleware-serde" "^2.1.0" - "@smithy/middleware-stack" "^2.1.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/node-http-handler" "^2.3.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" - "@smithy/util-base64" "^2.1.0" - "@smithy/util-body-length-browser" "^2.1.0" - "@smithy/util-body-length-node" "^2.2.0" - "@smithy/util-defaults-mode-browser" "^2.1.0" - "@smithy/util-defaults-mode-node" "^2.1.0" - "@smithy/util-endpoints" "^1.1.0" - "@smithy/util-middleware" "^2.1.0" - "@smithy/util-retry" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/credential-provider-node" "3.496.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/core@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.495.0.tgz#28f667bc1f3386ee1a5f9dcf173d14b2dd67d99b" - integrity sha512-TI/jq1cSUR+r1prJ9xXtxMO0u2/jXrWjf3Z2ekForsCObPtR9qkJCYyezargupoSJqZA60KUpOhxrKW/dFJ1rw== +"@aws-sdk/core@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.496.0.tgz#ec1394753b6b2f6e38aea593e30b2db5c7390969" + integrity sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A== dependencies: - "@smithy/core" "^1.3.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/signature-v4" "^2.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" + "@smithy/core" "^1.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/signature-v4" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-env@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.495.0.tgz#341640da6bc88112622e1f8d13a49ebd934e9f7d" - integrity sha512-2CKlHiQRXyVA7t3VGXo39a/UwRrZs/VG0jYZFu60dK9afxesRkA4XOJto765VenT/eR3LkeVW+RBzOISHUFg0Q== +"@aws-sdk/credential-provider-env@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz#5055bd2e3a169e5c10b37c40e0f356046947e707" + integrity sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-ini@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.495.0.tgz#ab1c8f4b181319a769b0cb3e8607bd5c0faafe8b" - integrity sha512-DGRfND+FIacuQQNozMa8fS4yUrWZgkB6CEH4ghiqUvtE7h2sGMMVEerlaCGgTnQlpWWvDS656orzwEO3vuMTVw== +"@aws-sdk/credential-provider-ini@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.496.0.tgz#4de82fc173ba1581af4bf6fcad610f2fc0fd8ca1" + integrity sha512-2nD1jp1sIwcQaWK1y/9ruQOkW16RUxZpzgjbW/gnK3iiUXwx+/FNQWxshud+GTSx3Q4x6eIhqsbjtP4VVPPuUA== dependencies: - "@aws-sdk/credential-provider-env" "3.495.0" - "@aws-sdk/credential-provider-process" "3.495.0" - "@aws-sdk/credential-provider-sso" "3.495.0" - "@aws-sdk/credential-provider-web-identity" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@smithy/credential-provider-imds" "^2.2.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/credential-provider-env" "3.496.0" + "@aws-sdk/credential-provider-process" "3.496.0" + "@aws-sdk/credential-provider-sso" "3.496.0" + "@aws-sdk/credential-provider-web-identity" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.495.0.tgz#39bc4592125ad622d3295a8086501fc2210b09c7" - integrity sha512-OH3lV7erPLNxkZQ+QBEgX353mseelBaHutyJNFKdgCYMZUhENu2DNTvkasGtwA24TqG0sRiuO2yNhpqP8IF+LA== +"@aws-sdk/credential-provider-node@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.496.0.tgz#734fc5aa824c387c893ff5624b201c0243ea1c7c" + integrity sha512-IVF9RvLePfRa5S5/eBIRChJCWOzQkGwM8P/L79Gl84u/cH2oSG4NtUI/YTDlrtmnYn7YsGhINSV0WnzfF2twfQ== dependencies: - "@aws-sdk/credential-provider-env" "3.495.0" - "@aws-sdk/credential-provider-ini" "3.495.0" - "@aws-sdk/credential-provider-process" "3.495.0" - "@aws-sdk/credential-provider-sso" "3.495.0" - "@aws-sdk/credential-provider-web-identity" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@smithy/credential-provider-imds" "^2.2.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/credential-provider-env" "3.496.0" + "@aws-sdk/credential-provider-ini" "3.496.0" + "@aws-sdk/credential-provider-process" "3.496.0" + "@aws-sdk/credential-provider-sso" "3.496.0" + "@aws-sdk/credential-provider-web-identity" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-process@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.495.0.tgz#0c0a6fa406cf95b5460d75eb5a3c70278a75c6ad" - integrity sha512-AouHJtg5qXeqzlY5plqbBkQPea1Kd3/tz9wfN+d5gbTUsDBlV7R6IinzhJWWgniS0jsaEOronlCXLIEOWUzTsw== +"@aws-sdk/credential-provider-process@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz#1d623bed61229767f389feab560e3a3117bf2d26" + integrity sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-sso@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.495.0.tgz#244a2eabd59db44626c9657e7b78a0ad33fa75ec" - integrity sha512-brbgLtws+jmBPm6FrQ0CT2mHCgFKdopwxJj/4+j//OH0aAgzBH5gOztoDu1R556KU9K8Co220J79gJWV3s40zQ== +"@aws-sdk/credential-provider-sso@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.496.0.tgz#1c5f2d25b64936b79095f49cabbcd7832fb87087" + integrity sha512-eP7GxpT2QYubSDG7uk1GJW4eNymZCq65IxDyEFCXOP/kfqkxriCY+iVEFG6/Mo3LxvgrgHXU4jxrCAXMAWN43g== dependencies: - "@aws-sdk/client-sso" "3.495.0" - "@aws-sdk/token-providers" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/client-sso" "3.496.0" + "@aws-sdk/token-providers" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-web-identity@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.495.0.tgz#2a3416acb7ca3869fb4ec7e0ac378a8ea91560d6" - integrity sha512-w4S01mdQZ8kQn4J6CM2Fgral9xtNBh8h5i4DWSOwFxfiokott59zDoFMWJRUdUHzXsnAGULC8+wJ4VeiZZBq1Q== +"@aws-sdk/credential-provider-web-identity@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz#7ad6d755445d1616a80dfa286a78c84dc1c3f14b" + integrity sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-host-header@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.495.0.tgz#7a9deb549d2b7a034951d3a182c70a6c398ff955" - integrity sha512-qqE6mVxbyJwn59NQMvtYyaZT3GEZnmsvBUry3sDtU7Be1g9w5OKhY4CnAAQyXZI288iQUtyxxDh+hnSLy6RFjA== +"@aws-sdk/middleware-host-header@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz#e17de11d553548872566c72669c5ea2e7164722b" + integrity sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-logger@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.495.0.tgz#943f89c417ec9a3d65617778d373d7d2e898fec0" - integrity sha512-sgmr9fpCSg3rFvMnvfKeN7dhY+AmUpZPPWyc+s1kgQONeLUUxQkbdqR2/V+tz2ZPxUBD2dToTG/JhtMcIKmt4Q== +"@aws-sdk/middleware-logger@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz#96f867ae50144eb6bae91a427e315a0f0eb783b0" + integrity sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-recursion-detection@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.495.0.tgz#14dd2820c86a443aeb91d3d0e4ab058e04029143" - integrity sha512-jhuOcLsMrHengJy/oz6Waumwx/vtSMKnEbROR7qZ7CaTDHRUbriPYXGen7CHCs/6aWN0UeI3JBAqwlnSW5tpIg== +"@aws-sdk/middleware-recursion-detection@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz#c14e1bbe609e4af3ec9037c2379e2b64d660e4dd" + integrity sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-signing@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.495.0.tgz#68183c14a8c8a1118a00f3c048a21c3162b0b35c" - integrity sha512-QZuWRo6JQ7UKeHzqqnP/qmUXirVKXSMXSEFtpOHio/JkQPASVlD1TNs5L6RL7dKrnqLrg/jpTiw4b0UdAU8kOw== +"@aws-sdk/middleware-signing@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz#265cb5a9d7825c111c53bb555e5cb2619f804dd1" + integrity sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/signature-v4" "^2.1.0" - "@smithy/types" "^2.9.0" - "@smithy/util-middleware" "^2.1.0" + "@aws-sdk/types" "3.496.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/signature-v4" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/middleware-user-agent@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.495.0.tgz#9355d7fd3828a394603b005c7dd83869385f7180" - integrity sha512-n+lC43Z7+LyAF7b63bR+e5pBmBqPaqh4gupEmrORc4wKsX7U4OncDPiVn5jPD7ZC3IZbLeTuDsjQOK8Ev+Hraw== +"@aws-sdk/middleware-user-agent@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz#82b49fd8613ae5a9ceafc9117c34271615d0f002" + integrity sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w== dependencies: - "@aws-sdk/types" "3.495.0" - "@aws-sdk/util-endpoints" "3.495.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/region-config-resolver@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.495.0.tgz#54852c510e951ea134a6da3e68a8b6b72815766d" - integrity sha512-ZgixNb+8dWUvc42Uso2fh38U7W7wW4OESUmQIFQzYW58B1ylZ4xuq/mo0xSY5b5j6u/+pJadvlIpx/QYBafVHg== +"@aws-sdk/region-config-resolver@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz#133c8a4a6d5e7672077ba124751f40b2d6efc3ed" + integrity sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/types" "^2.9.0" - "@smithy/util-config-provider" "^2.2.0" - "@smithy/util-middleware" "^2.1.0" + "@aws-sdk/types" "3.496.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/token-providers@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.495.0.tgz#484c40544756b4a4fcc511a988c9eaf29d1067b8" - integrity sha512-1JSEx82FMKNNtPoV5NRpFxi0XHgfvonCKb4+2lR/k4nljqeysZPnOaIW/7C1eAwhoJ6buEIVxoHscemBtdKo+A== +"@aws-sdk/token-providers@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.496.0.tgz#5b5baf0801fd591de4a28146afbdc8250197f9fa" + integrity sha512-fyi8RcObEa1jNETJdc2H6q9VHrrdKCj/b6+fbLvymb7mUVRd0aWUn+24SNUImnSOnrwYnwaMfyyEC388X4MbFQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.495.0" - "@aws-sdk/middleware-logger" "3.495.0" - "@aws-sdk/middleware-recursion-detection" "3.495.0" - "@aws-sdk/middleware-user-agent" "3.495.0" - "@aws-sdk/region-config-resolver" "3.495.0" - "@aws-sdk/types" "3.495.0" - "@aws-sdk/util-endpoints" "3.495.0" - "@aws-sdk/util-user-agent-browser" "3.495.0" - "@aws-sdk/util-user-agent-node" "3.495.0" - "@smithy/config-resolver" "^2.1.0" - "@smithy/fetch-http-handler" "^2.4.0" - "@smithy/hash-node" "^2.1.0" - "@smithy/invalid-dependency" "^2.1.0" - "@smithy/middleware-content-length" "^2.1.0" - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-retry" "^2.1.0" - "@smithy/middleware-serde" "^2.1.0" - "@smithy/middleware-stack" "^2.1.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/node-http-handler" "^2.3.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" - "@smithy/util-base64" "^2.1.0" - "@smithy/util-body-length-browser" "^2.1.0" - "@smithy/util-body-length-node" "^2.2.0" - "@smithy/util-defaults-mode-browser" "^2.1.0" - "@smithy/util-defaults-mode-node" "^2.1.0" - "@smithy/util-endpoints" "^1.1.0" - "@smithy/util-retry" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@aws-sdk/middleware-host-header" "3.496.0" + "@aws-sdk/middleware-logger" "3.496.0" + "@aws-sdk/middleware-recursion-detection" "3.496.0" + "@aws-sdk/middleware-user-agent" "3.496.0" + "@aws-sdk/region-config-resolver" "3.496.0" + "@aws-sdk/types" "3.496.0" + "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/util-user-agent-browser" "3.496.0" + "@aws-sdk/util-user-agent-node" "3.496.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/types@3.495.0", "@aws-sdk/types@^3.222.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.495.0.tgz#a8659d9795af5d62e35b396d483aa81adeb1c4f8" - integrity sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A== +"@aws-sdk/types@3.496.0", "@aws-sdk/types@^3.222.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.496.0.tgz#cdde44a94a57cf8f97cf05e4d0bdce2f56ce4eeb" + integrity sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.495.0.tgz#c0f9ebce45ba196474ea06b4b2128692e857ccff" - integrity sha512-pMJ6rb16y51I4G33xtinkXAXH/2mQ0WZCwoh1sNkCM2MUfZDw9zAyP+PvB2tpEytQX8Fc7bR4qIP+td+pPEXAg== +"@aws-sdk/util-endpoints@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz#5ce7d3efd7ab67db556e2c199e73826c44d22ecd" + integrity sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/types" "^2.9.0" - "@smithy/util-endpoints" "^1.1.0" + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" + "@smithy/util-endpoints" "^1.1.1" tslib "^2.5.0" "@aws-sdk/util-locate-window@^3.0.0": @@ -554,24 +554,24 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.495.0.tgz#a005fa4553ca36273ab37a1dcdad01451f091b63" - integrity sha512-CIlY54aKahUqF4kygbMkDkFRc9t+8Km/r+IWapy91h0Exy84V+S47MJdAelsMg8Id6hZ47jWmuuzz5UcjU/+sQ== +"@aws-sdk/util-user-agent-browser@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz#494b086dd8b07acdd6be65034c51545e5bcee37b" + integrity sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/types" "^2.9.1" bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-user-agent-node@3.495.0": - version "3.495.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.495.0.tgz#3f7f1cd04aab12b5a06543c1c48c65cd2a8c5403" - integrity sha512-BbEwwh9SCtMrcNES0u4q5/8BjAKkOiHGia0gDSlQHOmEzXxYvhx0ByRMaPeprL06iESFa6HcleJWenWktfxk3g== +"@aws-sdk/util-user-agent-node@3.496.0": + version "3.496.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz#db14e02cf82af556c826570efc7db1e57de3262d" + integrity sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg== dependencies: - "@aws-sdk/types" "3.495.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/types" "^2.9.0" + "@aws-sdk/types" "3.496.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" "@aws-sdk/util-utf8-browser@^3.0.0": @@ -2090,381 +2090,381 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@smithy/abort-controller@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.0.tgz#fdf2efb104d2878299384e5667bb939ba2ca532b" - integrity sha512-fyPlWpzXyKzDVRRMUbsfH7AV/2xX+dyZ5RqeEo6Hjz9YUvDMGVSnm88iHH0zqZ+XmH4+sH4+mhwRL76HXX65uw== +"@smithy/abort-controller@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.1.tgz#bb68596a7c8213c2ef259bc7fb0f0c118c67ea9d" + integrity sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/config-resolver@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.0.tgz#8e03e28c3e318e93201daf4111542136efd77bed" - integrity sha512-NcR1Hw2uZgwHT7/KFsQH76YHb/mNGLFu+hS0ODnoFUpViE8ddIVOXm/8sgwdh0QvFPtWGzPn0Wcp19Cm31wv2A== +"@smithy/config-resolver@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.1.tgz#fc6b036084b98fd26a8ff01a5d7eb676e41749c7" + integrity sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw== dependencies: - "@smithy/node-config-provider" "^2.2.0" - "@smithy/types" "^2.9.0" - "@smithy/util-config-provider" "^2.2.0" - "@smithy/util-middleware" "^2.1.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" + "@smithy/util-config-provider" "^2.2.1" + "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@smithy/core@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.0.tgz#7b1bb4984d18290acd80b97dc99e9a915585eb9f" - integrity sha512-XoU9eiICwhxZIyAdugijyD/YqsumDQ3FgGyFSJibO60qoUkdfMGSjnIvrTemjFBdnDsj4B26F/ZRxSR3PUJbJQ== +"@smithy/core@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.1.tgz#ecedc564e68453b02c20db9e8435d59005c066d8" + integrity sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q== dependencies: - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-retry" "^2.1.0" - "@smithy/middleware-serde" "^2.1.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/util-middleware" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@smithy/credential-provider-imds@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.0.tgz#72a78714e91096f635b01856e315f116e3665b4b" - integrity sha512-uqoRizHR8rKih6SuWcJRSv46tdqZk1zPEk6r909O87XO85j21MfUcxRKzbkORM2JOlaFhCH4geRcvlvYfK6EyQ== +"@smithy/credential-provider-imds@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz#4805bf5e104718b959cf8699113fa9de6ddeeafa" + integrity sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA== dependencies: - "@smithy/node-config-provider" "^2.2.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" tslib "^2.5.0" -"@smithy/eventstream-codec@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.0.tgz#0cb1e2b995c2414cd6c45adba88146306e91f34d" - integrity sha512-1yQnf8bSycsZ5ICXVMf8pEj1DQSUsw6/3H4nEdzH2+E3RZdNGPjVecQEm9kWPW7fvXvNvzT8MvZOQdk1IWoVTg== +"@smithy/eventstream-codec@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz#4405ab0f9c77d439c575560c4886e59ee17d6d38" + integrity sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw== dependencies: "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^2.9.0" - "@smithy/util-hex-encoding" "^2.1.0" + "@smithy/types" "^2.9.1" + "@smithy/util-hex-encoding" "^2.1.1" tslib "^2.5.0" -"@smithy/fetch-http-handler@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.0.tgz#007cc090fc944377037404409e6791db1f1c9a80" - integrity sha512-fLhPNfbWG8vTcS9PsR1wjHaA54kDcSiAZKVuVAfjHleS7QDWjrCr1SDUqCB2yAc9NBLe2lIDbDL8+i9yoYhxoQ== +"@smithy/fetch-http-handler@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz#b4d73bbc1449f61234077d58c705b843a8587bf0" + integrity sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg== dependencies: - "@smithy/protocol-http" "^3.1.0" - "@smithy/querystring-builder" "^2.1.0" - "@smithy/types" "^2.9.0" - "@smithy/util-base64" "^2.1.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/querystring-builder" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-base64" "^2.1.1" tslib "^2.5.0" -"@smithy/hash-node@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.0.tgz#3799e2cfdd623cb0890d72aba9672cac9cfdb543" - integrity sha512-/B7b6NNjw+i4PlwsrYHmxmmrTxp2oRejgZH26HhXE77XWwAiPEI9iHu7GZR9fYhm7Fsj66Z9Bk6JA9aEvUC9/w== +"@smithy/hash-node@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.1.tgz#0f8a22d97565ca948724f72267e4d3a2f33740a8" + integrity sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg== dependencies: - "@smithy/types" "^2.9.0" - "@smithy/util-buffer-from" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@smithy/types" "^2.9.1" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@smithy/invalid-dependency@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.0.tgz#aa3af949eb31d498d9ba1012ed52621c4feff3a3" - integrity sha512-hvryGI0KChV4jMgK/kwr6U4/HaYldzjiQAZ+c//QAMDoCp0KkP0Xt94XqAkr7Uq08577mAMW5U70YCaAx+KjSQ== +"@smithy/invalid-dependency@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz#bd69fa24dd35e9bc65a160bd86becdf1399e4463" + integrity sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/is-array-buffer@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.0.tgz#f379a26d98ee4450111b1b15f9677fcb465cd705" - integrity sha512-XnQvn/6ie5kjFyeW94NqSjGGOdMuB2WnNmDWKHHLVMCR/Emu7B8pcAZX4k8H3tjDujXAQvfBrEgmPRq6FgqmZg== +"@smithy/is-array-buffer@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz#07b4c77ae67ed58a84400c76edd482271f9f957b" + integrity sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ== dependencies: tslib "^2.5.0" -"@smithy/middleware-content-length@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.0.tgz#36e941020e4c1d13a96707a36d90986e3b171363" - integrity sha512-XYhKZPuS8nnecdx0IGGUt1Nt2/ekoVOw1zal4c0ARRaLJEw+umFLxwHUelIeBocbdOcPCeZRE6pdk35Y2T2wpw== +"@smithy/middleware-content-length@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz#df767de12d594bc5622009fb0fc8343522697d8c" + integrity sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g== dependencies: - "@smithy/protocol-http" "^3.1.0" - "@smithy/types" "^2.9.0" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/middleware-endpoint@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.0.tgz#9dcc7a230b404f586492f7c68850fcbf772b7282" - integrity sha512-GMebLCihCxIlbPdA/l6WDpNJppIgW5OeTJkIAbqVArg1vFxZ92XhW+UwN12av5OAXswySGJ80/fpDFP7HmSyYg== +"@smithy/middleware-endpoint@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz#9e500df4d944741808e92018ccd2e948b598a49f" + integrity sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q== dependencies: - "@smithy/middleware-serde" "^2.1.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/url-parser" "^2.1.0" - "@smithy/util-middleware" "^2.1.0" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@smithy/middleware-retry@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.0.tgz#9a5db6edc0fb950ccb9dcb7e4a0a3bdb5f5a0728" - integrity sha512-lGEVds90hFyIAvypH58rwC6j9mrCR2ZwYbcxow7AgW6sWCCoBppz5FtLpgSg6QV/CTRh8K7w4kxGVx8LqINQBg== +"@smithy/middleware-retry@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz#ddc749dd927f136714f76ca5a52dcfb0993ee162" + integrity sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA== dependencies: - "@smithy/node-config-provider" "^2.2.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/service-error-classification" "^2.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/util-middleware" "^2.1.0" - "@smithy/util-retry" "^2.1.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/service-error-classification" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-retry" "^2.1.1" tslib "^2.5.0" uuid "^8.3.2" -"@smithy/middleware-serde@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.0.tgz#b7fddbdea1b879d2834615c6cca41f0904b4d184" - integrity sha512-iysAUIDKsc354HMnYVQxMJEzNaOrQQvE86b1oSl2fRwcFqn+9TTi028a37PLFE+ccAiyVGjBjB8PBsAz9plUug== +"@smithy/middleware-serde@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz#2c5750f76e276a5249720f6c3c24fac29abbee16" + integrity sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/middleware-stack@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.0.tgz#c184f4c8b44d55518f2e4c9b91696914e7c88467" - integrity sha512-y5Ph/TWfO7oTfxNqKU+uAK5cFRTYeP16ReOmDweq+zQ8NQODDg7LSxsfQT4Wp0mhIvm0bt3pZp66T1YMtnihWw== +"@smithy/middleware-stack@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz#67f992dc36e8a6861f881f80a81c1c30956a0396" + integrity sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/node-config-provider@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.0.tgz#cfc2dfabd255ef019b9b9f496f2ed0ce3f71c285" - integrity sha512-rU82PFR32Bxo4EMGUJ2BGG+K97zUp9j6SWjG83T2itmbXwA/+DoCc4xCON8kcmdej822x1yLcSzFiTeg0b472w== +"@smithy/node-config-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz#c440c7948d58d72f0e212aa1967aa12f0729defd" + integrity sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg== dependencies: - "@smithy/property-provider" "^2.1.0" - "@smithy/shared-ini-file-loader" "^2.3.0" - "@smithy/types" "^2.9.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/shared-ini-file-loader" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/node-http-handler@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.3.0.tgz#36631b0a0961abf6bde66bebff38ecfa05433876" - integrity sha512-8jcQaOdrD/X0VihhM2W/KtJ5fvKaT8UpNf/pl/epvLQ6MkAttIMaCLex6xk31BpFSPvS2+q65ZdBBjQ3cMOSiA== +"@smithy/node-http-handler@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz#77d23279ff0a12cbe7cde93c5e7c0e86ad56dd20" + integrity sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA== dependencies: - "@smithy/abort-controller" "^2.1.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/querystring-builder" "^2.1.0" - "@smithy/types" "^2.9.0" + "@smithy/abort-controller" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/querystring-builder" "^2.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/property-provider@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.0.tgz#a074383ad02efd559d15ee39780540f49f43576c" - integrity sha512-6cpCSsgwbKHnl567SrthpqLgZ7e5jc7qPHG6wz9U2T24vcUp2yiG0vdAlH1QdTH20+/PGamKR0ZM35a08X1Tbg== +"@smithy/property-provider@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.1.tgz#0f7ffc5e43829eaca5b2b5aae8554807a52b30f3" + integrity sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/protocol-http@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.1.0.tgz#17115deac9cb818da1fb78306c812627c91e06a9" - integrity sha512-CGNzkKza1yUga7sv+U4gx3jbwSh5x42/9vy0E/NoR2HTFken2MuMc/bClxXAO0Z6EQoTYHHA6FMCREXwSP04lg== +"@smithy/protocol-http@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.1.1.tgz#eee522d0ed964a72b735d64925e07bcfb7a7806f" + integrity sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/querystring-builder@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.0.tgz#17c37a21db8c6af6fb073a30aa1873526a986f88" - integrity sha512-8QColSkqn9TbvpX40zW0T8IrKcLXg7Um4bczm9qIYDRPh8T873WNIOWzYBw8chI8SWizMXbsSR95PFCP/YlgYw== +"@smithy/querystring-builder@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz#b9693448ad3f8e0767d84cf5cae29f35514591fb" + integrity sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg== dependencies: - "@smithy/types" "^2.9.0" - "@smithy/util-uri-escape" "^2.1.0" + "@smithy/types" "^2.9.1" + "@smithy/util-uri-escape" "^2.1.1" tslib "^2.5.0" -"@smithy/querystring-parser@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.0.tgz#5abb0e0831edce826cf4b54db76ea5ad155e4dba" - integrity sha512-+l17LQQxelslo5CHsLXwSw2F1J6Qmf64OgByreNnLR82gHkJ91ZbMFhxZeLTo2qXxEu0uqraMc4uNw8qE9A6bw== +"@smithy/querystring-parser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz#a4282a66cc56844317dbff824e573f469bbfc032" + integrity sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/service-error-classification@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.0.tgz#a59e705af94e7a241d38a70a28cbc4616b703948" - integrity sha512-yBMJk4IfYqUxsPmc8P0YtWHd/Kbd0PP+kU0dgFksH6eiE2ZQJl7478xNtkUKp2QJLcooYEbA3gBFUza6ukXMiA== +"@smithy/service-error-classification@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz#dd24e1ec529ae9ec8e87d8b15f0fc8f7e17f3d02" + integrity sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" -"@smithy/shared-ini-file-loader@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.0.tgz#caaccfb0fb5a20d34b453f17b98998648827828e" - integrity sha512-jgm7cjj0d08jIB9cp4idtpIUY590Twecv4xpijgl2IzkrPfBddzKTH4Zk+Zwfyk8ecz2T/7ihqtnNcq7Qdj9lw== +"@smithy/shared-ini-file-loader@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz#a2e28b4d85f8a8262a84403fa2b74a086b3a7703" + integrity sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/signature-v4@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.0.tgz#e0cc528bb978114673caba78f225123fb633f52b" - integrity sha512-ONi89MBjxNtl497obaO/qGixsOedikTV3CAj3ZBPGY3IKykS8wQ2Wkctsx2T1J5B9OnynH0KuGGmgG91utX/7w== +"@smithy/signature-v4@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.1.tgz#6080171e3d694f40d3f553bbc236c5c433efd4d2" + integrity sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg== dependencies: - "@smithy/eventstream-codec" "^2.1.0" - "@smithy/is-array-buffer" "^2.1.0" - "@smithy/types" "^2.9.0" - "@smithy/util-hex-encoding" "^2.1.0" - "@smithy/util-middleware" "^2.1.0" - "@smithy/util-uri-escape" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@smithy/eventstream-codec" "^2.1.1" + "@smithy/is-array-buffer" "^2.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-middleware" "^2.1.1" + "@smithy/util-uri-escape" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@smithy/smithy-client@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.3.0.tgz#bfafb0bde47ac7bf2579e13ff9310a5f6481a013" - integrity sha512-oEaLdVmHcbdK8IHQ4yE7xOYK2nSkF2xXp6nRr5NhfKB5QTKNzpNsXLiGJgfmm7j0ol1S6BhjyBhi7tZ8M0JJtg== +"@smithy/smithy-client@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.3.1.tgz#0c3a4a0d3935c7ad2240cc23181f276705212b1f" + integrity sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA== dependencies: - "@smithy/middleware-endpoint" "^2.4.0" - "@smithy/middleware-stack" "^2.1.0" - "@smithy/protocol-http" "^3.1.0" - "@smithy/types" "^2.9.0" - "@smithy/util-stream" "^2.1.0" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/types" "^2.9.1" + "@smithy/util-stream" "^2.1.1" tslib "^2.5.0" -"@smithy/types@^2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.9.0.tgz#634a1736d6b0583baafcb0e1123d4618325ebbec" - integrity sha512-ST1M87Lf2cLHRI+irEFRIHXGY08HHTAUbiRFYkmFyJdTMg3VDxkcm7DwW9/EgV3X8M6wDPrbIkx/RXONyttrQg== +"@smithy/types@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.9.1.tgz#ed04d4144eed3b8bd26d20fc85aae8d6e357ebb9" + integrity sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw== dependencies: tslib "^2.5.0" -"@smithy/url-parser@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.0.tgz#6b4be07e9e96f7959720a282e1d089a1466d0bd2" - integrity sha512-V3FMzNFCDwQNAgJdxI6Gj48qP9WAyvK59WE90hOoya3m8ey02uLDhWjZkl+505s7iTVVmJ7Mr7nKwG5vU2NIMQ== +"@smithy/url-parser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.1.tgz#a30de227b6734650d740b6dff74d488b874e85e3" + integrity sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q== dependencies: - "@smithy/querystring-parser" "^2.1.0" - "@smithy/types" "^2.9.0" + "@smithy/querystring-parser" "^2.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/util-base64@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.0.tgz#8ba206c8db2133639b5b9f72359ada754202b073" - integrity sha512-zjXlHFm7S+TEDVA3j1rWGpuNDTlTxIWDqzwIfWUENT0VqCGDAdJITd8RYVjduf3u8HWMlgALkrY6B62UTESQ5w== +"@smithy/util-base64@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.1.1.tgz#af729085cc9d92ebd54a5d2c5d0aa5a0c31f83bf" + integrity sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g== dependencies: - "@smithy/util-buffer-from" "^2.1.0" + "@smithy/util-buffer-from" "^2.1.1" tslib "^2.5.0" -"@smithy/util-body-length-browser@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.0.tgz#e5ec5ca675b04ab2130e5fce0097ec1fda1d0a9d" - integrity sha512-fkLY8W+jXGSkymLNe9NB7u6lGflHz6w1R+a3RxLOK6UrtwU4LBLskAP5Ag/zVPUNd5tmfv3/W6cTVzk8IBJuiw== +"@smithy/util-body-length-browser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz#1fc77072768013ae646415eedb9833cd252d055d" + integrity sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag== dependencies: tslib "^2.5.0" -"@smithy/util-body-length-node@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.0.tgz#a6a2514b6d5f97002e164affb1a52dcef1f1b1ab" - integrity sha512-ZLsqYH+s71y6Oc2Auws6zYI4LzsSi6N8+W+Gq7CwXaZm7QIKGiCeEunEwxo50OGAqJs0g6F9kCIwNxhlK1s4Aw== +"@smithy/util-body-length-node@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz#a6f5c9911f1c3e23efb340d5ce7a590b62f2056e" + integrity sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg== dependencies: tslib "^2.5.0" -"@smithy/util-buffer-from@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.0.tgz#7e697dc0821952244eae01995bb623844c2638f9" - integrity sha512-3w7AM0moGyBmr9gMBGE7+pqG3cjboRvmMyRhpesbJoOUHO0BV1Qrk00M/wQ3EHJAQXM3dehQfFNUf7sR6nT6+Q== +"@smithy/util-buffer-from@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz#f9346bf8b23c5ba6f6bdb61dd9db779441ba8d08" + integrity sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg== dependencies: - "@smithy/is-array-buffer" "^2.1.0" + "@smithy/is-array-buffer" "^2.1.1" tslib "^2.5.0" -"@smithy/util-config-provider@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.0.tgz#0a10e067215fceee27352260b7b797ff0bdb6f82" - integrity sha512-D3Gx0BWXjsn1E25ikUt0+yc8oZnViTa5IHZ1JvD9J1NyyVS4c3IgHqbG64XRverEMnhzUb0EhqMTwQTY12in+w== +"@smithy/util-config-provider@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz#aea0a80236d6cedaee60473802899cff4a8cc0ba" + integrity sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw== dependencies: tslib "^2.5.0" -"@smithy/util-defaults-mode-browser@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.0.tgz#c64a96d967d0ce0df11ace504ea8ae2989c13c62" - integrity sha512-zmXL4aKeBGBz02kDZdks2QfG+HGq99Tp4/ICPmu2OvSbwTOLjmlCnUrtZJTmLhX4etP3o0voOL9gFEa2PSjlJg== +"@smithy/util-defaults-mode-browser@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz#be9ac82acee6ec4821b610e7187b0e147f0ba8ff" + integrity sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA== dependencies: - "@smithy/property-provider" "^2.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" + "@smithy/property-provider" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" bowser "^2.11.0" tslib "^2.5.0" -"@smithy/util-defaults-mode-node@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.0.tgz#0bf0c8e2aaf7c18e7e008521bd6f57a11aaccd57" - integrity sha512-pVBaw2fBJMjjJj+AR69xQhjzYLZ5u9azdKyaAAjR16dthdBOcnczBClBVCfhb/Moj0ivIHnaXJ5AXCdbDok94g== +"@smithy/util-defaults-mode-node@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.1.tgz#0910ee00aac3e8a08aac3e6ae8794e52f3efef02" + integrity sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA== dependencies: - "@smithy/config-resolver" "^2.1.0" - "@smithy/credential-provider-imds" "^2.2.0" - "@smithy/node-config-provider" "^2.2.0" - "@smithy/property-provider" "^2.1.0" - "@smithy/smithy-client" "^2.3.0" - "@smithy/types" "^2.9.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/credential-provider-imds" "^2.2.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/util-endpoints@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.0.tgz#fd6382893711875d58e43ce467e6e7b53e83b21b" - integrity sha512-gKzfdj5pyEOg1fVOsZVpVPRWAXbWqt9JgZdwU4cjKlJ57Fuccfk0ui5twh1TYvuJWtR2Tw3GwUmUuBM3qRWJJg== +"@smithy/util-endpoints@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz#45426dba6fb42282a0ad955600b2b3ba050d118f" + integrity sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw== dependencies: - "@smithy/node-config-provider" "^2.2.0" - "@smithy/types" "^2.9.0" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/util-hex-encoding@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.0.tgz#a23028fe429cbdd1c2e2cba2fe8b38fe5164e5b3" - integrity sha512-haxSIaBxn3p/lK+bEyqC32myHffacBLD61/HHzBGcG1Vo8dFTm5y0vhdR5R4wakW7H8Tr/czx+uckDOWZ1Km9Q== +"@smithy/util-hex-encoding@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz#978252b9fb242e0a59bae4ead491210688e0d15f" + integrity sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg== dependencies: tslib "^2.5.0" -"@smithy/util-middleware@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.0.tgz#520bdf956b953e982590cf06fe671ff56dffa84e" - integrity sha512-bKfhAsdjRyGmYDsJUW5hPsL3qofgPgLPsuV+V6nNGyD/kjMobwstiIpA3ddGFT+XDwVOIUHElg7I06/wOpwKiQ== +"@smithy/util-middleware@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.1.tgz#903ba19bb17704f4b476fb9ade9bf9eb0174bc3d" + integrity sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA== dependencies: - "@smithy/types" "^2.9.0" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/util-retry@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.0.tgz#6c50dc4f91ec72388d2f79ffe9665f028f0b026d" - integrity sha512-igJw+/olhAUtocMbEMBjy8SKRTHfefS+qcgmMUVEBLFgLjqMfpc8EDVB1BebNBQ1rre5yLDbi2UHUz48eZNkPQ== +"@smithy/util-retry@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.1.tgz#f2d3566b6e5b841028c7240c852007d4037e49b2" + integrity sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA== dependencies: - "@smithy/service-error-classification" "^2.1.0" - "@smithy/types" "^2.9.0" + "@smithy/service-error-classification" "^2.1.1" + "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@smithy/util-stream@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.0.tgz#342293372618c0b4955e61170fe4062b7d0bc4fd" - integrity sha512-lcw9JVXLHvRawaXnfxdnGRw5pQM5c9XMEkBuMec+fIhGuPHIezqhQq7oO0jJcj0xwupJzW6HAvinktr9ozdKyg== +"@smithy/util-stream@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.1.tgz#3ae0e88c3a1a45899e29c1655d2e5a3865b6c0a6" + integrity sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ== dependencies: - "@smithy/fetch-http-handler" "^2.4.0" - "@smithy/node-http-handler" "^2.3.0" - "@smithy/types" "^2.9.0" - "@smithy/util-base64" "^2.1.0" - "@smithy/util-buffer-from" "^2.1.0" - "@smithy/util-hex-encoding" "^2.1.0" - "@smithy/util-utf8" "^2.1.0" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-buffer-from" "^2.1.1" + "@smithy/util-hex-encoding" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@smithy/util-uri-escape@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.0.tgz#69901d60d2bed22d5da0fd6db6d28704b51a1a8d" - integrity sha512-ZHYFGyF9o/MHGMGtsHfkxnn2DhGRZlDIFGNgipu4K3x8jMEVahQ+tGnlkFVMM2QrSQHCcjICbBTJ5JEgaD5+Jg== +"@smithy/util-uri-escape@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz#7eedc93b73ecda68f12fb9cf92e9fa0fbbed4d83" + integrity sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw== dependencies: tslib "^2.5.0" -"@smithy/util-utf8@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.0.tgz#4c21d1c07b18a855417777863d66ecc6b4fb7ef2" - integrity sha512-RnNNedYLpsNPQocMhr0nGEz0mGKdzI5dBi0h7vvmimULtBlyElgX1/hXozlkurIgx8R3bSy14/oRtmDsFClifg== +"@smithy/util-utf8@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.1.1.tgz#690018dd28f47f014114497735e51417ea5900a6" + integrity sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A== dependencies: - "@smithy/util-buffer-from" "^2.1.0" + "@smithy/util-buffer-from" "^2.1.1" tslib "^2.5.0" "@swc/helpers@0.5.2": From db8fa68b8d06b4295110cfeee39402fd52b4322b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 04:30:21 +0000 Subject: [PATCH 0181/1313] build(deps): bump i18next from 23.7.16 to 23.7.18 Bumps [i18next](https://github.com/i18next/i18next) from 23.7.16 to 23.7.18. - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v23.7.16...v23.7.18) --- updated-dependencies: - dependency-name: i18next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/lab/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/lab/package.json b/sites/lab/package.json index 415718a2005..507820358e8 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -36,7 +36,7 @@ "d3-drag": "3.0.0", "d3-selection": "3.0.0", "daisyui": "4.6.0", - "i18next": "23.7.16", + "i18next": "23.7.18", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", diff --git a/sites/sde/package.json b/sites/sde/package.json index f7d81960df8..2b967e91f4f 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -54,7 +54,7 @@ "echarts": "5.4.3", "echarts-for-react": "3.0.2", "file-saver": "2.0.5", - "i18next": "23.7.16", + "i18next": "23.7.18", "jotai": "2.6.2", "jotai-location": "0.5.2", "js-yaml": "4.1.0", diff --git a/yarn.lock b/yarn.lock index 9c73cd300f3..6b87aa4ba8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7153,10 +7153,10 @@ i18next-fs-backend@^2.3.1: resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-2.3.1.tgz#0c7d2459ff4a039e2b3228131809fbc0e74ff1a8" integrity sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg== -i18next@23.7.16: - version "23.7.16" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.16.tgz#7026d18b7a3ac9e2ecfeb78da5e4da5ca33312ef" - integrity sha512-SrqFkMn9W6Wb43ZJ9qrO6U2U4S80RsFMA7VYFSqp7oc7RllQOYDCdRfsse6A7Cq/V8MnpxKvJCYgM8++27n4Fw== +i18next@23.7.18: + version "23.7.18" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.18.tgz#4f219e3702b08342c5519bc2cda7d09c67edebb9" + integrity sha512-b9N2KjRCYQNlUvE1Kc83g8knyUkL5NiZQOp9BsTR/v/LXk6Fzz+doOzTg2/826XK28mCgBkYLNAtixjE58qpCw== dependencies: "@babel/runtime" "^7.23.2" From 4a66e00431ce3df218482501dd2fcf738cb2b691 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 04:30:42 +0000 Subject: [PATCH 0182/1313] build(deps): bump react-i18next from 13.5.0 to 14.0.1 Bumps [react-i18next](https://github.com/i18next/react-i18next) from 13.5.0 to 14.0.1. - [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/react-i18next/compare/v13.5.0...v14.0.1) --- updated-dependencies: - dependency-name: react-i18next dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- sites/lab/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/lab/package.json b/sites/lab/package.json index 415718a2005..30dd7fb9f2d 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -46,7 +46,7 @@ "react": "18.2.0", "react-copy-to-clipboard": "5.1.0", "react-hotkeys-hook": "4.4.4", - "react-i18next": "13.5.0", + "react-i18next": "14.0.1", "react-instantsearch-dom": "6.40.4", "react-swipeable": "7.0.1", "react-timeago": "7.2.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index f7d81960df8..90305da3e6b 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -71,7 +71,7 @@ "react-dom": "18.2.0", "react-copy-to-clipboard": "5.1.0", "react-hotkeys-hook": "4.4.4", - "react-i18next": "13.5.0", + "react-i18next": "14.0.1", "react-dropzone": "14.2.3", "react-swipeable": "7.0.1", "react-timeago": "7.2.0", diff --git a/yarn.lock b/yarn.lock index 9c73cd300f3..dbb09ab935b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11605,10 +11605,10 @@ react-hotkeys-hook@4.4.4: resolved "https://registry.yarnpkg.com/react-hotkeys-hook/-/react-hotkeys-hook-4.4.4.tgz#5f055f39113218fe5e23f8723db68ccf99d155ab" integrity sha512-wzZmqb/Obr0ds9Myc1sIFPJ52GA/Eeg/vXBWV0HA1LvHlVAW5Va3KB0q6EZNlNSHQWscWZ2K8+6w0GYSie2o7A== -react-i18next@13.5.0: - version "13.5.0" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-13.5.0.tgz#44198f747628267a115c565f0c736a50a76b1ab0" - integrity sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA== +react-i18next@14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.0.1.tgz#75351b25be076ad7391360b5a111b59ca87e0b63" + integrity sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw== dependencies: "@babel/runtime" "^7.22.5" html-parse-stringify "^3.0.1" From 64250532b2727fe192061d4a54114ebe65d01031 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 04:31:01 +0000 Subject: [PATCH 0183/1313] build(deps): bump dotenv from 16.3.1 to 16.3.2 Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.3.1 to 16.3.2. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.3.1...v16.3.2) --- updated-dependencies: - dependency-name: dotenv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index e4978d6c976..156a3b56653 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -32,7 +32,7 @@ "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", - "dotenv": "16.3.1", + "dotenv": "16.3.2", "express": "4.18.2", "js-yaml": "4.1.0", "lodash.get": "4.4.2", diff --git a/yarn.lock b/yarn.lock index 9c73cd300f3..1013ab9c40a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5019,10 +5019,10 @@ dotenv-expand@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== -dotenv@16.3.1, dotenv@~16.3.1: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== +dotenv@16.3.2, dotenv@~16.3.1: + version "16.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" + integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" From 9a1399b99d9b2064f67c30f296452f0a7e431912 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 19:17:47 +0100 Subject: [PATCH 0184/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/pledge/fr.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/fr.md b/markdown/org/docs/about/pledge/fr.md index 78eb633d425..355d1bff966 100644 --- a/markdown/org/docs/about/pledge/fr.md +++ b/markdown/org/docs/about/pledge/fr.md @@ -20,7 +20,8 @@ La promesse est faite et appliquée par le responsable de FreeSewing (joost). Vo | `` `10.736,82` `` | 2020 | | `` `10.070,77` `` | 2021 | | `` `29.489,40` `` | 2022 | -| `€38.814,94` | **Euro donné à [MSF](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Euro donné à [MSF](https://msf.org/)** | From 73055db5d6dc04b65f377478da71aeac5604e3c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 19:40:56 +0100 Subject: [PATCH 0185/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/pledge/es.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/es.md b/markdown/org/docs/about/pledge/es.md index 28711d4c368..b208b43f6f6 100644 --- a/markdown/org/docs/about/pledge/es.md +++ b/markdown/org/docs/about/pledge/es.md @@ -20,7 +20,8 @@ La promesa es hecha y ejecutada por el mantenedor de FreeSewing (joost). Puedes | `` `10.736,82` `` | 2020 | | `` `10.070,77` `` | 2021 | | `€9.489,40` | 2022 | -| `€38.814,94` | **************************Euro donado a MSF************************** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **************************Euro donado a MSF************************** | From c651470ef02267b8a0b973b6aac0118816f4cbd9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 20:03:57 +0100 Subject: [PATCH 0186/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/pledge/de.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/de.md b/markdown/org/docs/about/pledge/de.md index 632f9ed4325..ba07eeb5c49 100644 --- a/markdown/org/docs/about/pledge/de.md +++ b/markdown/org/docs/about/pledge/de.md @@ -20,7 +20,8 @@ Das Versprechen wird vom FreeSewing-Maintainer (joost) getätigt und umgesetzt. | `` `10.736,82` `` | 2020 | | `` `10.070,77` `` | 2021 | | `` `29.489,40` `` | 2022 | -| `€38.814,94` | **Euro gespendet an [MSF](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Euro gespendet an [MSF](https://msf.org/)** | From dd8fd06454bc8d1b86e0973c9bc288f30f46e84a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 20:26:47 +0100 Subject: [PATCH 0187/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/pledge/nl.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/nl.md b/markdown/org/docs/about/pledge/nl.md index db34399ea32..cc630c851f5 100644 --- a/markdown/org/docs/about/pledge/nl.md +++ b/markdown/org/docs/about/pledge/nl.md @@ -20,7 +20,8 @@ De onderhouder van FreeSewing (joost) heeft de belofte gedaan en deze belofte oo | `` `10.736,82` `` | 2020 | | `` `10.070,77` `` | 2021 | | `` `29.489,40` `` | 2022 | -| `€38.814,94` | **Euro gedoneerd aan [Artsen zonder Grenzen](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Euro gedoneerd aan [Artsen zonder Grenzen](https://msf.org/)** | From 99edc5e0b65c902278865224c7222276ca80eedc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 20:49:28 +0100 Subject: [PATCH 0188/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/pledge/uk.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/uk.md b/markdown/org/docs/about/pledge/uk.md index 2069ba268fc..c461dbcdce4 100644 --- a/markdown/org/docs/about/pledge/uk.md +++ b/markdown/org/docs/about/pledge/uk.md @@ -20,7 +20,8 @@ title: Застава доходу від FreeSewing | `€10.736,82` | 2020 | | `€10.070,77` | 2021 | | `€9.325,54` | `29.489,40` | -| `€38.814,94` | **Євро, пожертвувані на рахунок [MSF](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Євро, пожертвувані на рахунок [MSF](https://msf.org/)** | From 62509f309db15eef6f7f275e79a40bd07df1e453 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 22 Jan 2024 20:59:27 +0100 Subject: [PATCH 0189/1313] Update source file en.md skip-build --- markdown/org/docs/about/pledge/en.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/about/pledge/en.md b/markdown/org/docs/about/pledge/en.md index a62f58cae44..41fb165db61 100644 --- a/markdown/org/docs/about/pledge/en.md +++ b/markdown/org/docs/about/pledge/en.md @@ -21,7 +21,8 @@ You can read about [their motivations for doing so on this page](/docs/about/ple | `€10.736,82` | 2020 | | `€10.070,77` | 2021 | | `€9.325,54` | 2022 | -| `€38.814,94` | **Euro donated to [MSF](https://msf.org/)** | +| `€10.222,07` | 2023 | +| `€49.030,01` | **Euro donated to [MSF](https://msf.org/)** | From 1d6b18fa812abe9dc7108a57132553b18ab113c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= Date: Tue, 23 Jan 2024 02:09:43 +0200 Subject: [PATCH 0190/1313] Fix typo in newsletter settings --- sites/shared/components/account/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/account/en.yaml b/sites/shared/components/account/en.yaml index 7b2f2ce3ad2..c44585b0818 100644 --- a/sites/shared/components/account/en.yaml +++ b/sites/shared/components/account/en.yaml @@ -120,7 +120,7 @@ imgPasteUrlHere: Paste an image location (url) here imgSelectImage: Select an image # newsletter -newsletterTitle: Would you like to reveice the FreeSewing newsletter? +newsletterTitle: Would you like to receive the FreeSewing newsletter? newsletterYes: Yes, I would like to receive the newsletter newsletterYesd: Once every 3 months you'll receive an email from us with honest wholesome content. No tracking, no ads, no nonsense. newsletterNod: You can always change your mind later. But until you do, we will not send you any newsletters. From 90cd7f8a4f468d14eaf645e7a164b17380add178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= Date: Tue, 23 Jan 2024 02:12:16 +0200 Subject: [PATCH 0191/1313] Remove duplicate paragraph when logged-in in /newsletter --- sites/shared/components/newsletter/index.mjs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/sites/shared/components/newsletter/index.mjs b/sites/shared/components/newsletter/index.mjs index bc646c3e40a..21d9b1d5bf4 100644 --- a/sites/shared/components/newsletter/index.mjs +++ b/sites/shared/components/newsletter/index.mjs @@ -43,13 +43,7 @@ export const SubscribeToNewsletter = ({ hideWhenSubscribed = false }) => { if (account.newsletter && hideWhenSubscribed) return

note

//null - if (account.username) - return ( -
-

{t('newsletter:subscribePitch')}

- -
- ) + if (account.username) return if (sent) return ( From 4828762d87c9b5ab97d6e931572f1ee6f5b44118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= Date: Tue, 23 Jan 2024 03:02:43 +0200 Subject: [PATCH 0192/1313] MVP of showing newsletters on the website --- sites/org/pages/newsletter/[dir].mjs | 62 ++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 sites/org/pages/newsletter/[dir].mjs diff --git a/sites/org/pages/newsletter/[dir].mjs b/sites/org/pages/newsletter/[dir].mjs new file mode 100644 index 00000000000..3307e172b95 --- /dev/null +++ b/sites/org/pages/newsletter/[dir].mjs @@ -0,0 +1,62 @@ +import { nsMerge, localePath } from 'shared/utils.mjs' +import { pages as posts } from 'site/prebuild/newsletter.posts.mjs' +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import { loadMdxAsStaticProps } from 'shared/mdx/load.mjs' +import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' +import { PostLayout, ns as layoutNs } from 'site/components/layouts/post.mjs' + +const ns = nsMerge(pageNs, layoutNs) + +const NewsletterPage = ({ dir, page, mdx, frontmatter }) => { + return ( + ( + + )} + /> + ) +} + +export async function getStaticProps({ params, locale }) { + const { dir } = params + + // if the dir isn't present in the prebuilt posts, return 404 + if (!Object.keys(posts[locale]).includes(`newsletter/${dir}`)) return { notFound: true } + + return { + props: { + dir, + locale, + ...(await serverSideTranslations(locale, ns)), + ...(await loadMdxAsStaticProps({ + language: locale, + site: 'org', + slug: `newsletter/${params.dir}`, + })), + page: { + locale, + path: ['newsletter', dir], + }, + }, + } +} + +export const getStaticPaths = async () => { + const paths = [] + for (const lang in posts) { + paths.push(...Object.keys(posts[lang]).map((slug) => localePath(lang, slug))) + } + return { paths, fallback: false } +} + +export default NewsletterPage From 663ea485818659e1af5ecd1d0ce8a4e6a85e381e Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 21 Jan 2024 12:24:56 -0800 Subject: [PATCH 0193/1313] fix(markdown): Fix typos in designs documentation --- .../org/docs/designs/aaron/instructions/en.md | 4 +-- markdown/org/docs/designs/aaron/notes/en.md | 4 +-- .../designs/aaron/options/bindingwidth/en.md | 4 +-- markdown/org/docs/designs/bee/cutting/en.md | 2 +- markdown/org/docs/designs/bee/fabric/en.md | 2 +- .../org/docs/designs/bee/instructions/en.md | 8 ++--- markdown/org/docs/designs/bee/notes/en.md | 2 +- markdown/org/docs/designs/bella/notes/en.md | 4 +-- .../org/docs/designs/benjamin/notes/en.md | 2 +- .../bent/options/shoulderslopereduction/en.md | 2 +- .../org/docs/designs/bob/instructions/en.md | 2 +- .../docs/designs/bob/options/widthratio/en.md | 2 +- .../org/docs/designs/breanna/options/en.md | 2 +- .../breanna/options/shoulderdart/en.md | 2 +- .../breanna/options/sleevecapease/en.md | 2 +- .../breanna/options/sleevecapq3spread1/en.md | 2 +- .../designs/breanna/options/waistdart/en.md | 2 +- markdown/org/docs/designs/brian/notes/en.md | 4 +-- markdown/org/docs/designs/brian/options/en.md | 2 +- .../designs/brian/options/sleevecapease/en.md | 2 +- .../brian/options/sleevecapq3spread1/en.md | 2 +- .../org/docs/designs/bruce/instructions/en.md | 4 +-- .../org/docs/designs/bruce/options/rise/en.md | 2 +- .../docs/designs/carlita/instructions/en.md | 2 +- .../docs/designs/carlton/instructions/en.md | 2 +- markdown/org/docs/designs/carlton/notes/en.md | 4 +-- .../carlton/options/sleevecapease/en.md | 2 +- markdown/org/docs/designs/cathrin/notes/en.md | 2 +- .../docs/designs/charlie/instructions/en.md | 18 +++++----- markdown/org/docs/designs/charlie/notes/en.md | 2 +- .../charlie/options/backpocketwidth/en.md | 2 +- .../designs/charlie/options/beltloops/en.md | 2 +- .../designs/charlie/options/crotchdrop/en.md | 2 +- .../charlie/options/crotchseamcurvebend/en.md | 2 +- .../designs/charlie/options/flylength/en.md | 2 +- .../org/docs/designs/cornelius/fabric/en.md | 2 +- .../docs/designs/cornelius/instructions/en.md | 12 +++---- .../diana/options/shoulderseamlength/en.md | 2 +- .../designs/diana/options/sleevecapease/en.md | 2 +- .../diana/options/sleevecapq3spread1/en.md | 2 +- .../org/docs/designs/florence/fabric/en.md | 2 +- .../org/docs/designs/florence/notes/en.md | 2 +- .../org/docs/designs/florent/cutting/en.md | 2 +- markdown/org/docs/designs/hi/notes/en.md | 4 +-- .../org/docs/designs/hi/options/hungry/en.md | 2 +- .../org/docs/designs/holmes/cutting/en.md | 4 +-- .../docs/designs/holmes/instructions/en.md | 20 +++++------ markdown/org/docs/designs/hortensia/en.md | 2 +- .../org/docs/designs/hortensia/fabric/en.md | 2 +- .../docs/designs/hortensia/instructions/en.md | 6 ++-- .../org/docs/designs/hortensia/needs/en.md | 2 +- .../hortensia/options/zippersize/en.md | 2 +- .../org/docs/designs/huey/instructions/en.md | 8 ++--- .../designs/huey/options/sleevecapease/en.md | 2 +- .../huey/options/sleevecapq3spread1/en.md | 2 +- .../org/docs/designs/hugo/instructions/en.md | 2 +- .../docs/designs/jaeger/instructions/en.md | 34 +++++++++---------- markdown/org/docs/designs/jaeger/needs/en.md | 2 +- .../jaeger/options/centerbackdart/en.md | 2 +- .../org/docs/designs/lucy/measurements/en.md | 2 +- markdown/org/docs/designs/lucy/notes/en.md | 2 +- .../docs/designs/lumira/instructions/en.md | 4 +-- .../docs/designs/lumira/options/ease/en.md | 4 +-- .../org/docs/designs/lunetius/notes/en.md | 2 +- .../org/docs/designs/naomiwu/fabric/en.md | 2 +- markdown/org/docs/designs/naomiwu/needs/en.md | 2 +- markdown/org/docs/designs/naomiwu/notes/en.md | 2 +- .../designs/naomiwu/options/flywidth/en.md | 2 +- .../designs/naomiwu/options/invertfly/en.md | 4 +-- .../naomiwu/options/mindartwidth/en.md | 2 +- .../naomiwu/options/waistbandwidth/en.md | 2 +- markdown/org/docs/designs/noble/notes/en.md | 2 +- .../noble/options/upperdartlength/en.md | 2 +- .../designs/octoplushy/instructions/en.md | 4 +-- .../org/docs/designs/octoplushy/notes/en.md | 2 +- .../org/docs/designs/onyx/instructions/en.md | 4 +-- markdown/org/docs/designs/onyx/notes/en.md | 2 +- .../org/docs/designs/paco/instructions/en.md | 4 +-- .../designs/paco/options/crotchdrop/en.md | 2 +- .../paco/options/crotchseamcurvebend/en.md | 2 +- .../org/docs/designs/penelope/fabric/en.md | 2 +- .../docs/designs/penelope/instructions/en.md | 12 +++---- .../org/docs/designs/penelope/notes/en.md | 4 +-- markdown/org/docs/designs/sandy/fabric/en.md | 2 +- .../org/docs/designs/sandy/instructions/en.md | 4 +-- markdown/org/docs/designs/sandy/needs/en.md | 4 +-- .../docs/designs/shelly/instructions/en.md | 6 ++-- markdown/org/docs/designs/shin/fabric/en.md | 2 +- .../org/docs/designs/shin/instructions/en.md | 8 ++--- markdown/org/docs/designs/shin/needs/en.md | 2 +- .../org/docs/designs/shin/options/rise/en.md | 2 +- .../docs/designs/shin/options/stretch/en.md | 2 +- .../org/docs/designs/simon/instructions/en.md | 2 +- .../designs/simon/options/collargap/en.md | 2 +- .../options/seperatebuttonholeplacket/en.md | 4 +-- .../simon/options/seperatebuttonplacket/en.md | 4 +-- .../designs/simon/options/sleevecapease/en.md | 2 +- .../simon/options/sleevecapq3spread1/en.md | 2 +- markdown/org/docs/designs/simone/notes/en.md | 2 +- .../designs/simone/options/collargap/en.md | 2 +- .../options/seperatebuttonholeplacket/en.md | 4 +-- .../options/seperatebuttonplacket/en.md | 4 +-- .../simone/options/sleevecapease/en.md | 2 +- .../simone/options/sleevecapq3spread1/en.md | 2 +- markdown/org/docs/designs/skully/fabric/en.md | 4 +-- .../docs/designs/skully/instructions/en.md | 6 ++-- .../docs/designs/skully/options/size/en.md | 4 +-- .../org/docs/designs/sven/instructions/en.md | 6 ++-- .../designs/sven/options/sleevecapease/en.md | 2 +- .../sven/options/sleevecapq3spread1/en.md | 2 +- .../docs/designs/tamiko/instructions/en.md | 2 +- .../docs/designs/teagan/instructions/en.md | 4 +-- .../designs/teagan/options/fitwaist/en.md | 2 +- .../teagan/options/sleevecapease/en.md | 2 +- .../teagan/options/sleevecapq3spread1/en.md | 2 +- .../org/docs/designs/tiberius/notes/en.md | 4 +-- markdown/org/docs/designs/titan/notes/en.md | 2 +- .../designs/titan/options/crotchdrop/en.md | 2 +- .../titan/options/crotchseamcurvebend/en.md | 2 +- markdown/org/docs/designs/uma/cutting/en.md | 2 +- markdown/org/docs/designs/uma/notes/en.md | 2 +- .../org/docs/designs/wahid/instructions/en.md | 10 +++--- .../org/docs/designs/walburga/needs/en.md | 2 +- .../org/docs/designs/walburga/notes/en.md | 2 +- markdown/org/docs/designs/waralee/notes/en.md | 2 +- .../designs/waralee/options/backraise/en.md | 2 +- .../waralee/options/waistoverlap/en.md | 2 +- .../org/docs/designs/yuri/instructions/en.md | 18 +++++----- .../designs/yuri/options/sleevecapease/en.md | 2 +- .../yuri/options/sleevecapq3spread1/en.md | 2 +- 130 files changed, 228 insertions(+), 228 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/en.md b/markdown/org/docs/designs/aaron/instructions/en.md index 15a0f8a5884..0a9f7bec298 100644 --- a/markdown/org/docs/designs/aaron/instructions/en.md +++ b/markdown/org/docs/designs/aaron/instructions/en.md @@ -106,7 +106,7 @@ With about 6cm left to go before we complete our circle, it's time to sew the en ![Mark binding ends](step03f.png) -Take one of the edges, and stretch it along the 3cm seperating it from the start point as you would while sewing. +Take one of the edges, and stretch it along the 3cm separating it from the start point as you would while sewing. Mark the binding where it reaches the start point. Do the same for the other end. @@ -116,7 +116,7 @@ Mark the binding where it reaches the start point. Do the same for the other end Fold your A-shirt in whatever way makes it easier for you to place both binding ends with good sides together, aligning the marks. Sew them together on the mark. -> 6 cm is not much, but should be enough to get both edges comfortably under your sewing machine to sew them togther. +> 6 cm is not much, but should be enough to get both edges comfortably under your sewing machine to sew them together. ### Finish last 6cm of binding diff --git a/markdown/org/docs/designs/aaron/notes/en.md b/markdown/org/docs/designs/aaron/notes/en.md index 3b40401afe1..a341eba014d 100644 --- a/markdown/org/docs/designs/aaron/notes/en.md +++ b/markdown/org/docs/designs/aaron/notes/en.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt: Designer Notes" --- -Aaron is -- like most patterns I design -- born out of nessesity. I needed a +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. @@ -14,7 +14,7 @@ block](/designs/brian) and has an array of options to tweak the outcome, There's a few things that are *special* about Aaron, FreeSewing trivia if you will: -- Aaron is what I refer designers to when they have questions on how to do something. It's always first in the list (because it starts with double A), always the frirst to get new feautres, be migrated to a new version, and so on. Aaron is sort of FreeSerwing's canary design. Everything that happens happens to Aaron first. +- Aaron is what I refer designers to when they have questions on how to do something. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Everything that happens happens to Aaron first. - I named this design `aaron` in memory of [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Rest in peace brother. joost diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/en.md b/markdown/org/docs/designs/aaron/options/bindingwidth/en.md index 0722435b1d9..78043a4612e 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/en.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/en.md @@ -2,7 +2,7 @@ title: Binding width --- -Controls the width of the kniw binding on Aaron. +Controls the width of the knit binding on Aaron. The default knit binding width is 6 x the seam allowance. For metric users with the default 1cm seam allowance, this results in a 1.5cm wide knit binding which is a good value. @@ -11,5 +11,5 @@ For imperial users (who have a default seam allowance of 0.5") or users who choo -This option is expressed in percetage of the seam allowance. So the default s600%, or 6 time the seam allowance,. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. diff --git a/markdown/org/docs/designs/bee/cutting/en.md b/markdown/org/docs/designs/bee/cutting/en.md index b3669ce33e9..a750e997a58 100644 --- a/markdown/org/docs/designs/bee/cutting/en.md +++ b/markdown/org/docs/designs/bee/cutting/en.md @@ -38,6 +38,6 @@ There are three variations of this pattern. **One Colour**, which is where the b -This pattern is easily made reversible by buying a similar fabric to the main fabric and using it as contrast. To save confusion on instructions it will be refered to as the lining fabric. +This pattern is easily made reversible by buying a similar fabric to the main fabric and using it as contrast. To save confusion on instructions it will be referred to as the lining fabric. diff --git a/markdown/org/docs/designs/bee/fabric/en.md b/markdown/org/docs/designs/bee/fabric/en.md index 8a9179dbee0..83adef7aef3 100644 --- a/markdown/org/docs/designs/bee/fabric/en.md +++ b/markdown/org/docs/designs/bee/fabric/en.md @@ -8,6 +8,6 @@ The main and lining fabric are the same type of material. Bee is made with swimw -You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a constrasting fabric. Otherwise you can cut all the required pieces from your main fabric. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Otherwise you can cut all the required pieces from your main fabric. diff --git a/markdown/org/docs/designs/bee/instructions/en.md b/markdown/org/docs/designs/bee/instructions/en.md index 6a5d36fbe8c..f0d190ff587 100644 --- a/markdown/org/docs/designs/bee/instructions/en.md +++ b/markdown/org/docs/designs/bee/instructions/en.md @@ -8,7 +8,7 @@ Make sure to use a stretch stitch -When making a reversible top the second colour will be refered to as the lining fabric. +When making a reversible top the second colour will be referred to as the lining fabric. The notches in this pattern act more like dots so **do not** clip them to mark them. @@ -30,7 +30,7 @@ The notches in this pattern act more like dots so **do not** clip them to mark t - Trim the seam allowances and clip the corners. - Turn inside out. Press. -Repeat this for the the remaining neck tie pieces +Repeat this for the remaining neck tie pieces ### Step 2: The Cups @@ -53,7 +53,7 @@ The notches in this pattern act more like dots so **do not** clip them to mark t If your seam allowance is wide you may find that you need to trim the gaps' seam allowances a little to reduce bulk. If you are having trouble turning the cups you can try one of these methods: -- Create a 2.5cm (1") gap in the front or side seam and turn throught that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Widen one of the existing gaps and turn through that. Then when turned _edgestitch_ or _slipstitch_ the widened part closed.
@@ -85,7 +85,7 @@ There are also notches on either side of the band piece's midpoint to help give -You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the otuer notches and lay their fronts pass the midpoint with the left on top. +You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the other notches and lay their fronts pass the midpoint with the left on top. diff --git a/markdown/org/docs/designs/bee/notes/en.md b/markdown/org/docs/designs/bee/notes/en.md index 73e9e972089..eeade76bb48 100644 --- a/markdown/org/docs/designs/bee/notes/en.md +++ b/markdown/org/docs/designs/bee/notes/en.md @@ -5,7 +5,7 @@ title: "Bee bikini top: Designer Notes" I made Bee together with Prudencerabbit, as they wanted to make a swimwear pattern that went along with a previous freesewing pattern. It is based on a garment they made and wanted to make available for other people make as well. We worked of FreeSewing's body block Bella as a base, converting it to a single dart block to make the top. -During pattern testing one of our contributors TangerineShark made a vartiant with crossover back ties which we found so cool we added it to Bee! +During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! You can get this variation by using [option Cross Back Ties](/docs/designs/bee/options/crossbackties/). Bee can also be made reversible by using options [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). With the previous pattern being retired you can use [Uma](docs/designs/uma) to make a matching bikini bottom. diff --git a/markdown/org/docs/designs/bella/notes/en.md b/markdown/org/docs/designs/bella/notes/en.md index 58f18a22233..7e7ff024325 100644 --- a/markdown/org/docs/designs/bella/notes/en.md +++ b/markdown/org/docs/designs/bella/notes/en.md @@ -5,9 +5,9 @@ title: "Bella body block: Designer Notes" This block was a collaboration between myself and an industry insider who prefers to remain anonymous because of her profession. It is the parametric version of a base block for womenswear that is used in the industry in Italy to design womenswear. -However, while the block will adapt to your measurments, the original block that it is based on is in really not suitable for a very wide sizing range. +However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -So your milage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). diff --git a/markdown/org/docs/designs/benjamin/notes/en.md b/markdown/org/docs/designs/benjamin/notes/en.md index d60280237d0..dc5a203d701 100644 --- a/markdown/org/docs/designs/benjamin/notes/en.md +++ b/markdown/org/docs/designs/benjamin/notes/en.md @@ -8,7 +8,7 @@ him. This seemed like something I could undertake. Since I had no experience wit my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md index 0b9f1dbb133..4993e59e036 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md @@ -2,7 +2,7 @@ title: "Shoulder slope reduction" --- -This pattern adapts to sloped shoulder by taking the shoulder slope measurment into account. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. However, for jackets or coats, you may want to create more room at the shoulders to allow for shoulder pads. This option lets you create extra room at the shoulders by reducing the amount the shoulders are sloped. diff --git a/markdown/org/docs/designs/bob/instructions/en.md b/markdown/org/docs/designs/bob/instructions/en.md index 78e104e995a..7eba53c03fe 100644 --- a/markdown/org/docs/designs/bob/instructions/en.md +++ b/markdown/org/docs/designs/bob/instructions/en.md @@ -28,7 +28,7 @@ finish later. ## Step 2: Apply bias tape -Wer're going to apply bias tape as a finish around the entire edge of the bib. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. diff --git a/markdown/org/docs/designs/bob/options/widthratio/en.md b/markdown/org/docs/designs/bob/options/widthratio/en.md index db2b00e7621..948832c593b 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/en.md +++ b/markdown/org/docs/designs/bob/options/widthratio/en.md @@ -5,7 +5,7 @@ title: Width ratio Controls the width of the bib. - Increase the percentage to widen the width of the bib. -- Decrease the precentage to constrict the width of the bib. +- Decrease the percentage to constrict the width of the bib. diff --git a/markdown/org/docs/designs/breanna/options/en.md b/markdown/org/docs/designs/breanna/options/en.md index d532a18a051..6d9a7a3732a 100644 --- a/markdown/org/docs/designs/breanna/options/en.md +++ b/markdown/org/docs/designs/breanna/options/en.md @@ -52,7 +52,7 @@ the exact value. But there are two options that control the shape of our sleevec - [Sleevecap top X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Controls the horizontal placement of point 3 and 4 - [Sleevecap top Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Controls the vertical placement of point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### The inflection points diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/en.md b/markdown/org/docs/designs/breanna/options/shoulderdart/en.md index c938167d4ea..71ba14d6d5f 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/en.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/en.md @@ -2,7 +2,7 @@ title: "Shoulder dart" --- -Whether or not to inlude a back shoulder dart to round the back. +Whether or not to include a back shoulder dart to round the back. diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/en.md b/markdown/org/docs/designs/breanna/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/breanna/options/waistdart/en.md b/markdown/org/docs/designs/breanna/options/waistdart/en.md index 68d60beb315..76239f5c6a6 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/en.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/en.md @@ -2,7 +2,7 @@ title: "Waist dart" --- -Whether or not to inlude a back waist dart to round the back. +Whether or not to include a back waist dart to round the back. diff --git a/markdown/org/docs/designs/brian/notes/en.md b/markdown/org/docs/designs/brian/notes/en.md index ccf75d8ff20..058ce8297b2 100644 --- a/markdown/org/docs/designs/brian/notes/en.md +++ b/markdown/org/docs/designs/brian/notes/en.md @@ -7,8 +7,8 @@ It underpins many of our designs and has done so for many years. It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder -seam backward and foward on both collar and shoulder side, as well as a highly -configureable sleevecap. +seam backward and forward on both collar and shoulder side, as well as a highly +configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. It's just straight down from the chest. No fitting of the waist diff --git a/markdown/org/docs/designs/brian/options/en.md b/markdown/org/docs/designs/brian/options/en.md index 7a6814690ae..cbf05b630a7 100644 --- a/markdown/org/docs/designs/brian/options/en.md +++ b/markdown/org/docs/designs/brian/options/en.md @@ -52,7 +52,7 @@ the exact value. But there are two options that control the shape of our sleevec - [Sleevecap top X](/docs/designs/brian/options/sleevecaptopfactorx/) : Controls the horizontal placement of point 3 and 4 - [Sleevecap top Y](/docs/designs/brian/options/sleevecaptopfactory/) : Controls the vertical placement of point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### The inflection points diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/en.md b/markdown/org/docs/designs/brian/options/sleevecapease/en.md index 76f2808bb0d..85ed2cfb3f7 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/en.md @@ -8,7 +8,7 @@ This option determines the amount of ease at the sleevecap. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md index bb548d5cf04..5c950e19b64 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md @@ -4,7 +4,7 @@ title: "Sleevecap Q3 upward spread" *** -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/bruce/instructions/en.md b/markdown/org/docs/designs/bruce/instructions/en.md index 4b602f81999..5468d0a05cc 100644 --- a/markdown/org/docs/designs/bruce/instructions/en.md +++ b/markdown/org/docs/designs/bruce/instructions/en.md @@ -169,7 +169,7 @@ Take it slow, and be **very aware** of where your serger blade is cutting into. ![Hem the first leg](step11.png) -Time to hem the legs. Hem them as you would do any other stretchy knit. Go for a flexible stitch. You can use a zig-zag stitch or twin needle if you don't have a coverlock or specific flexible stich setting. +Time to hem the legs. Hem them as you would do any other stretchy knit. Go for a flexible stitch. You can use a zig-zag stitch or twin needle if you don't have a coverlock or specific flexible stitch setting. @@ -212,7 +212,7 @@ If you're using a coverlock, put the elastic on top of the good side of the fabr -The length of your elastic will probably difffer from the fabric length, as they stretch differently. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Pinning will help you achieve an even stretch. Divide both your elastic and boxer waistline into 4 (or 8) parts. Pin elastic and fabric together at these points. diff --git a/markdown/org/docs/designs/bruce/options/rise/en.md b/markdown/org/docs/designs/bruce/options/rise/en.md index e4f4cb5029c..0c165178df0 100644 --- a/markdown/org/docs/designs/bruce/options/rise/en.md +++ b/markdown/org/docs/designs/bruce/options/rise/en.md @@ -4,7 +4,7 @@ title: "Rise" ![The rise option on Bruce](./rise.svg) -This option controls the overal height of the waist. +This option controls the overall height of the waist. > The higher the rise, the higher your waist. diff --git a/markdown/org/docs/designs/carlita/instructions/en.md b/markdown/org/docs/designs/carlita/instructions/en.md index 8e4aeb62268..05356f9af90 100644 --- a/markdown/org/docs/designs/carlita/instructions/en.md +++ b/markdown/org/docs/designs/carlita/instructions/en.md @@ -43,7 +43,7 @@ Don't forget the seam allowance for these pieces when cutting if you are making - Trace off of **Back** part. - Cut along the orange line. - Discard lower piece. -- Remove the seam allowamces (if included) of the upper piece. +- Remove the seam allowances (if included) of the upper piece. - The upper piece is now the **Back shoulder** part. #### Cutting diff --git a/markdown/org/docs/designs/carlton/instructions/en.md b/markdown/org/docs/designs/carlton/instructions/en.md index bc4351f35a5..139bf827f13 100644 --- a/markdown/org/docs/designs/carlton/instructions/en.md +++ b/markdown/org/docs/designs/carlton/instructions/en.md @@ -51,7 +51,7 @@ Don't forget the seam allowance for these pieces when cutting if you are making - Trace off of **Back** part. - Cut along the orange line. - Discard lower piece. -- Remove the seam allowamces (if included) of the upper piece. +- Remove the seam allowances (if included) of the upper piece. - The upper piece is now the **Back shoulder** part. #### Cutting diff --git a/markdown/org/docs/designs/carlton/notes/en.md b/markdown/org/docs/designs/carlton/notes/en.md index 7879213c148..95bdeda2c84 100644 --- a/markdown/org/docs/designs/carlton/notes/en.md +++ b/markdown/org/docs/designs/carlton/notes/en.md @@ -2,8 +2,8 @@ title: "Carlton coat: Designer Notes" --- -Carlon is the reverse-engineerd version of the coat worn by benedict -cumberbatch in [the Sherlock +Carlon is the reverse-engineered version of the coat worn by Benedict +Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/en.md b/markdown/org/docs/designs/carlton/options/sleevecapease/en.md index ceee42517d4..3e3025c2fba 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/en.md @@ -8,7 +8,7 @@ How much sleevecap ease do you want? > #### What's the point? > -> The amount of sleevecap ease determines how the sleeves rolls from the shouder. +> The amount of sleevecap ease determines how the sleeves rolls from the shoulder. > > More ease makes the sleeve curl into the seam as you would expect from a coat. Less ease makes the sleeve lie flatter. diff --git a/markdown/org/docs/designs/cathrin/notes/en.md b/markdown/org/docs/designs/cathrin/notes/en.md index 86c621924d5..0801d1ec1ce 100644 --- a/markdown/org/docs/designs/cathrin/notes/en.md +++ b/markdown/org/docs/designs/cathrin/notes/en.md @@ -10,7 +10,7 @@ So I did some research online, and I found [this tutorial by Cathrin on drafting an underbust corset. So, I essentially implemented those instructions in code, and the rest is -history as the original project got abaondoned. +history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. diff --git a/markdown/org/docs/designs/charlie/instructions/en.md b/markdown/org/docs/designs/charlie/instructions/en.md index 74a7ee4004a..cf654e91889 100644 --- a/markdown/org/docs/designs/charlie/instructions/en.md +++ b/markdown/org/docs/designs/charlie/instructions/en.md @@ -198,7 +198,7 @@ When you're done, press open the inseam. Double check that your right and left legs match the pattern markings. The right leg's crotch should extend slightly beyond the left. Refer to the pattern and cut excess on the left leg if necessary. -It can be valuable to mark with chalk or thread mark the **Center Front** on each leg. This will help you make sure the peices are in the right place duing fly construction. +It can be valuable to mark with chalk or thread mark the **Center Front** on each leg. This will help you make sure the pieces are in the right place during fly construction. @@ -286,14 +286,14 @@ Remember that the seam allowance starts slightly right of the center front, the Ensure you place the folded edge of the right leg just left of the zipper teeth to prevent fabric from being caught in the zipper. -Stop sewing at the top 'fly extention' notch, slightly above the cross seam, and be sure to backstitch. If you don't do this you won't be able to keep the extension out of the way when sewing the J-Seam. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. If you don't do this you won't be able to keep the extension out of the way when sewing the J-Seam. ![Attach Extension to Right Leg](AttachExtensionToRightLeg.svg) ### Attach the zipper to the fly facing. -Be careful to align the leg left on the right center front. It can be valuable to pin or baste through the facing and right zide of the zipper tape. (We need to sew the left side of the zipper tape to the left leg). +Be careful to align the leg left on the right center front. It can be valuable to pin or baste through the facing and right side of the zipper tape. (We need to sew the left side of the zipper tape to the left leg). Ensuring everything is lined, sew the fly facing to the left side of the zipper. Try to get close to the zipper, but not too close. ![Attach Facing to Zipper](AttachFacingToZipper.svg) @@ -303,15 +303,15 @@ Ensuring everything is lined, sew the fly facing to the left side of the zipper. -Use a peice of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Now topstitch the so-called J-seam of the fly. Make sure to keep the fly extension out of the way. Since you didn't sew all the way along the fly extention, you should be able to pin it out of the way. +Now topstitch the so-called J-seam of the fly. Make sure to keep the fly extension out of the way. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Bar tack the bottom of the fly -Now, bartack the very botton of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. You can choose to add an additional bar tack along the J-Seam as well (shown in purple). ![Sew the J-Seam](SewTheJSeam.svg) @@ -322,7 +322,7 @@ You can choose to add an additional bar tack along the J-Seam as well (shown in -For efficiency, we will contruct one long strip of belt loop that we'll divide into 8 parts. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -377,7 +377,7 @@ Place the waistband with good sides together along the waist. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -Also make sure to leave suffucient seam allowance beyond the start and end of the waistband. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Sew along the entirety of the waist, attaching the waist band and sewing down the belt loops in one go. @@ -415,7 +415,7 @@ This will catch the back of the waistband which we've made to extend slightly fu ### Sew the belt loops down to make them wider -It's best to make the belt loops a bit wider than the waistband, to accomodate wider belts. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. For this, let the waistband lie flat, and sew it down with a bartack 1.5cm or so (half an inch) below the waistband. diff --git a/markdown/org/docs/designs/charlie/notes/en.md b/markdown/org/docs/designs/charlie/notes/en.md index 1a55711960d..be6a7eb4ee8 100644 --- a/markdown/org/docs/designs/charlie/notes/en.md +++ b/markdown/org/docs/designs/charlie/notes/en.md @@ -14,7 +14,7 @@ one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. It's a bit of unusual and creative design that I guess I did because I can? -Anyway, it's something to be mind ful of because if you do not expect it the +Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md index e1878f3efcc..13d9a0108df 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md @@ -2,7 +2,7 @@ title: "Back pocket width" --- -Constrols the width of the back pockets. +Controls the width of the back pockets. diff --git a/markdown/org/docs/designs/charlie/options/beltloops/en.md b/markdown/org/docs/designs/charlie/options/beltloops/en.md index f84045584dc..b30f55512f1 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/en.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/en.md @@ -2,7 +2,7 @@ title: "Belt loops" --- -Constrol how many beltloops we'll generate. +Control how many beltloops we'll generate. diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/en.md b/markdown/org/docs/designs/charlie/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. diff --git a/markdown/org/docs/designs/charlie/options/flylength/en.md b/markdown/org/docs/designs/charlie/options/flylength/en.md index 672bbb3f2ef..2db89902eeb 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/en.md +++ b/markdown/org/docs/designs/charlie/options/flylength/en.md @@ -2,7 +2,7 @@ title: "Fly length" --- -Constrols the length of the fly. +Controls the length of the fly. diff --git a/markdown/org/docs/designs/cornelius/fabric/en.md b/markdown/org/docs/designs/cornelius/fabric/en.md index 1fab76bc3fd..74de5ef14b9 100644 --- a/markdown/org/docs/designs/cornelius/fabric/en.md +++ b/markdown/org/docs/designs/cornelius/fabric/en.md @@ -4,7 +4,7 @@ title: "Cornelius cycling breeches: Fabric Options" ### Main Fabric -Any **bottom (trouser) weight material** will work fine for this pattern. Generally you want to avoid anything that is over 7oz (230gsm) as this will more likely be too stiff and uncomfortable. You want something that provides a bit of warmth whilst still being able to drape such as **Corduroy** or **Medium Weight Suiting** fabrics. If you are looking for someting more historically correct, then **Medium weight wool suiting** is the way to go. **Linen** is also an option, especially if you would like something that isn't too warm. +Any **bottom (trouser) weight material** will work fine for this pattern. Generally you want to avoid anything that is over 7oz (230gsm) as this will more likely be too stiff and uncomfortable. You want something that provides a bit of warmth whilst still being able to drape such as **Corduroy** or **Medium Weight Suiting** fabrics. If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **Linen** is also an option, especially if you would like something that isn't too warm. diff --git a/markdown/org/docs/designs/cornelius/instructions/en.md b/markdown/org/docs/designs/cornelius/instructions/en.md index 4fdbe166486..c9c3daf9040 100644 --- a/markdown/org/docs/designs/cornelius/instructions/en.md +++ b/markdown/org/docs/designs/cornelius/instructions/en.md @@ -4,13 +4,13 @@ title: "Cornelius cycling breeches: Sewing Instructions" ### Step 1: The Front Pockets -- Press under the seam allowances of the non-notched edges of the pokcet facings. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Matching notches, pin the wrong sides of pocket facings to right side of pocket bags, _Edgestitch_ the folded edges to the pocket bags. - _Baste_ the seam allowances of the notched edges of the pocket facings to the pocket bags. - With right sides together matching double notches sew the pocket bags to the front and then press to the wrong side. - Fold the pockets in half along the fold line, right sides together. Stitch the bottom of the pocket bag together. - Alternatively you can _French Seam_ the bottom seams of the pocket bags together if you prefer. -- _Baste_ the top and side of the pocket bags to the front seam allowances mathcing notches. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Use the method of the cuff style you chose as they are different depending on wh - Press the top seam allowance to the wrong side of the remaining leg band pieces. Trim the top seam allowance. - With right sides together sew the remaining leg and pieces to the attached leg bands along the bottoms and sides. - Turn the leg bands out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. @@ -89,7 +89,7 @@ If you are worried about a draft you can create a triangle piece of fabric that - Press the top seam allowance to the wrong side of the remaining leg band pieces. Trim the top seam allowance. - With right sides together sew the remaining leg and pieces to the attached leg bands along the bottoms and sides. - Turn the leg bands out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. @@ -108,13 +108,13 @@ You can _Edgestitch_ the leg bands together like a modern waistband if you prefe ### Step 5: Waistband -- Face one of the waistband pieces using your preffered method. +- Face one of the waistband pieces using your preferred method. - Sew the faced waistband piece to the top of the legs right sides together. - Press the waistband and seam allowance up and away from leg. Trim the seam allowance to reduce bulk. - Press the bottom seam allowance to the wrong side of the remaining waistband piece. Trim the bottom seam allowance. - With right sides together sew the remaining waistband to the faced waistband along the top and sides. - Turn the waistband out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md index 633d16eddae..ebbe6d12ad9 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md @@ -4,7 +4,7 @@ title: "Shoulder seam length" ![The shoulder seam length option on Diana](./shoulderseamlength.svg) -This option determines how wide the neck opening is, by controllign the length of the shoulder seam. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/en.md b/markdown/org/docs/designs/diana/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/florence/fabric/en.md b/markdown/org/docs/designs/florence/fabric/en.md index 5dae79599e8..184001300ec 100644 --- a/markdown/org/docs/designs/florence/fabric/en.md +++ b/markdown/org/docs/designs/florence/fabric/en.md @@ -6,7 +6,7 @@ The goal of our mask is to stop droplets. So you want to go for something that f Then again, you need to be able to breath through your mask, so we want fabric that breathes, without letting droplets through. In addition, we want the inside to be comfortable on our skin. So here I'd suggest a tightly woven cotton or viscose/rayon. -For the outter fabric, cotton again, or a tightly woven wool. +For the outer fabric, cotton again, or a tightly woven wool. diff --git a/markdown/org/docs/designs/florence/notes/en.md b/markdown/org/docs/designs/florence/notes/en.md index c8546d46f4c..a4efa94e765 100644 --- a/markdown/org/docs/designs/florence/notes/en.md +++ b/markdown/org/docs/designs/florence/notes/en.md @@ -6,7 +6,7 @@ When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. So I set out to design this pattern, and also ended up making a whole bunch of -them for the local university hostpital. Because I was rather early to fill +them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. diff --git a/markdown/org/docs/designs/florent/cutting/en.md b/markdown/org/docs/designs/florent/cutting/en.md index b2fa3f71a17..b3516f747ef 100644 --- a/markdown/org/docs/designs/florent/cutting/en.md +++ b/markdown/org/docs/designs/florent/cutting/en.md @@ -2,7 +2,7 @@ title: "Florent flat cap: Cutting Instructions" --- -To make Floren, cut out the following parts: +To make Florent, cut out the following parts: - **Main fabric** - Cut **1 top** on the fold but don't include the center seam allowance, or **2 top** with the center seam allowance. diff --git a/markdown/org/docs/designs/hi/notes/en.md b/markdown/org/docs/designs/hi/notes/en.md index 71c6c810202..c3767f89691 100644 --- a/markdown/org/docs/designs/hi/notes/en.md +++ b/markdown/org/docs/designs/hi/notes/en.md @@ -12,11 +12,11 @@ It turned out that no one in the community had ever taken a Blåhaj apart, and n Blåhaj in my household was my daughter's, and I couldn't touch that one. This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I -made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards +made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +It can be scaled up and down between 50 cm and 5 meter. So there is a shark for everyone. diff --git a/markdown/org/docs/designs/hi/options/hungry/en.md b/markdown/org/docs/designs/hi/options/hungry/en.md index f447e823f94..b1a13581521 100644 --- a/markdown/org/docs/designs/hi/options/hungry/en.md +++ b/markdown/org/docs/designs/hi/options/hungry/en.md @@ -2,7 +2,7 @@ title: "Hungry" --- -This setting determins how long it has been since your Hi has had +This setting determine how long it has been since your Hi has had something to eat. More hungry results in a leaner shark. diff --git a/markdown/org/docs/designs/holmes/cutting/en.md b/markdown/org/docs/designs/holmes/cutting/en.md index 97d851e1af7..7cdf80ca9f8 100644 --- a/markdown/org/docs/designs/holmes/cutting/en.md +++ b/markdown/org/docs/designs/holmes/cutting/en.md @@ -17,7 +17,7 @@ The **crown** pattern piece needs to be cut on the fold to create a whole piece. ### Optional Fabric Ties -If you don't wish to use ribbon for your ties you can make them out of fabric. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your choosen + seam allowances wide and sew two tubes leaving one of the short sides open for turning. Clip the corners and trim seams. Turn out an press. If desired you can _Edgestitch_ or _Topstitch_ the tubes to stop the fabric from shifting. The raw edge of the tubes can then be concealed in the ear flap seam when constructing the ear flaps. +If you don't wish to use ribbon for your ties you can make them out of fabric. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Clip the corners and trim seams. Turn out an press. If desired you can _Edgestitch_ or _Topstitch_ the tubes to stop the fabric from shifting. The raw edge of the tubes can then be concealed in the ear flap seam when constructing the ear flaps. @@ -26,6 +26,6 @@ It is recommended to draft the pattern nett and use the pattern to trace the sea -It is recommended to make a mock-up with your crown pattern first before cutting your fabrics. This is to test the length and ease of the crown piece. Make sure to cut off the bottom seam allowance before trying it on. If it is too tight who will need to re-draft the pattern with more head ease just remember the ease is split across each crown. If the peak is too high you may want to re-draft the pattern with the crown length reduced. Once re-drafted make another mock-up to check whether you are satified with the changes or not. Repeat again if you are not satisfied. +It is recommended to make a mock-up with your crown pattern first before cutting your fabrics. This is to test the length and ease of the crown piece. Make sure to cut off the bottom seam allowance before trying it on. If it is too tight who will need to re-draft the pattern with more head ease just remember the ease is split across each crown. If the peak is too high you may want to re-draft the pattern with the crown length reduced. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Repeat again if you are not satisfied. diff --git a/markdown/org/docs/designs/holmes/instructions/en.md b/markdown/org/docs/designs/holmes/instructions/en.md index 34d8742ae76..7dc47fd69fb 100644 --- a/markdown/org/docs/designs/holmes/instructions/en.md +++ b/markdown/org/docs/designs/holmes/instructions/en.md @@ -31,7 +31,7 @@ These instructions assume you have marked your seam lines. They may be harder to - Press seams open. You made need to use a tailors ham for this, if you do not have one you can use flannels or towels instead. - (Optional) _Edgestitch_ both sides of the seam, making sure to catch the seam allowances. - Repeat until you have two halves. If half the number of crown pieces is an odd number you will have to sew a single piece to each half. e.g. If you have 6 crown pieces, you make two halves of 3 sewing one piece to two sewn together pieces. -- With right sides together, matchinig seam lines and peaks, sew the two halves together. You may find it easier to handstitch the peak together due to bulk or for precision. This seam will be refered to as the "centre crown seam" going forward. +- With right sides together, matching seam lines and peaks, sew the two halves together. You may find it easier to handstitch the peak together due to bulk or for precision. This seam will be referred to as the "centre crown seam" going forward. - (Optional) _Edgestitch_ both sides of the centre crown seam, making sure to catch the seam allowances. @@ -44,7 +44,7 @@ Depending on your seam allowance you may want to trim seams as you go to reduce #### Ear Flaps with Ties -- Cut two 12" (30cm) - 16" (40cm) length of ribbon. These will be refered to as ties going forward. +- Cut two 12" (30cm) - 16" (40cm) length of ribbon. These will be referred to as ties going forward. - _Baste_ a tie to the right side of an ear flap (the interfaced one if using). Repeat for other tie. - With right sides together, matching seam lines, sew a tie ear flap to a non-tie ear flap. - Clip and trim seam allowance. @@ -74,7 +74,7 @@ If you prefer you can make your custom ties with fabric, [see Holmes cutting](/d - Turn inside out and press. - (Optional) _Topstitch_ or _Edgestitch_ the folded edge. - _Baste_ the raw edges together. -- Sew the buttonhole in your prefered method. +- Sew the buttonhole in your preferred method. - Repeat for the remaining ear flap. @@ -98,7 +98,7 @@ There are two methods for constructing the visors. This is due to the different #### The Visors Method 1 - Place visor insert on one visor piece inside seam lines. -- Temporarily secure visor insert to visor with temporary _pad Stitches_. This will be refered to as "faced visor" going forward. +- Temporarily secure visor insert to visor with temporary _pad Stitches_. This will be referred to as "faced visor" going forward. - _Baste_ along the seam line of the inner curve of the faced visor, making sure not to catch the visor insert. - With right sides together, matching seam lines and centre fronts, sew the faced visor to another visor piece along the outer curve close to the visor insert, making sure not to catch the visor Insert. - Notch and trim the outer curve making sure not to clip the stitching. (You may wish to turn and check the shape before this step) @@ -120,10 +120,10 @@ If preferred you can temporarily attach the visor insert another way that does n #### The Visors Method 2 -- With rights sides together, matching seam lines and centre fronts, sew the outer curver of two visor pieces together. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Notch and trim (if needed) the outer curve making sure not to clip the stitching. (You may wish to turn and check the shape before this step) - Turn inside out and press. -- Insert visor insert in to sewn visor tightly so there is no gap on the outer curver and the seam allowances are all one on side of the visor insert. This will be the upper side of the visor. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. This will be the upper side of the visor. - Pin the inner curve together making sure that the outer edge is pulled tightly over the visor insert. - _Baste_ as close as you can to the inner curve of the visor insert, making sure you pull the fabric tightly over the outer edge as you sew. - Repeat for the remaining visor pieces. @@ -144,7 +144,7 @@ Once again there are two methods for final assembly and lining. Read both method - Remove all pad and basting stitches. - Press the seam allowances inwards, making sure the stitching is not visible on the outside. - (Optional) Loosely _whipstitch_ the seams to the inside of the crown making sure the stitching does not show on the outside. -- Construct lining the same way as the crown ommitting _edgestitching_. +- Construct lining the same way as the crown omitting _edgestitching_. - Fold and Press under the bottom seam allowance of the lining. You may find you need to press under more to prevent the lining from showing. You may also find you need to _baste_ the seam allowance down. - Matching centre crown seams and panel seams, pin the lining into the hat wrong sides together. Placing the folded edge along the stitching lines. - _Slipstitch_ or _whipstitch_ the lining to the seam allowance of the hat. @@ -160,8 +160,8 @@ Once again there are two methods for final assembly and lining. Read both method - Hand-baste the visor to the crown matching the visor basting lines to the crown seam lines. It easier to _baste_ the centre down first and then work from the centre out. - (Optional) Machine-baste the visor to the crown along seam lines. - Repeat for the remaining visor on the opposite side of the centre crown seam. -- Construct lining the same way as the crown ommitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. -- With right sides together, matching centre crown seams, panel seams and seam lines. Sew the lining to the the crown along seam lines. If bulky you may want to trim either the lining seams or both seams. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- With right sides together, matching centre crown seams, panel seams and seam lines. Sew the lining to the crown along seam lines. If bulky you may want to trim either the lining seams or both seams. - Turn hat inside out, pressing lining to inside. - (Optional/Alternate) _Understitch_ lining. - Slipstitch lining opening closed. @@ -226,7 +226,7 @@ Unless you are doing the Buttonhole Ear Flaps you do not have to sew a button on Whilst certainly optional, you may find that a button is what is missing from the hat to finish the look. So if you are uncertain of the look at this point, make up a quick button and place it on temporarily to see if this is what is missing. If it is, attach it permanently. -Whilst a covered button is recommeneded you can use whatever button you desire, feel free to experiment! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! diff --git a/markdown/org/docs/designs/hortensia/en.md b/markdown/org/docs/designs/hortensia/en.md index 3ef2b5a3e0c..91f2576f528 100644 --- a/markdown/org/docs/designs/hortensia/en.md +++ b/markdown/org/docs/designs/hortensia/en.md @@ -3,7 +3,7 @@ title: "Hortensia handbag" --- Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, -and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +and had made the paper designs. She did not have any coding experience, and I volunteered my time. The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can diff --git a/markdown/org/docs/designs/hortensia/fabric/en.md b/markdown/org/docs/designs/hortensia/fabric/en.md index d7233d8e1ef..88a01359196 100644 --- a/markdown/org/docs/designs/hortensia/fabric/en.md +++ b/markdown/org/docs/designs/hortensia/fabric/en.md @@ -6,7 +6,7 @@ title: "Hortensia handbag: Fabric Options" The key fabric choices for Hortensia are non-stretch, durable and strong enough to hold items. -Your main fabric choice ultimately comes down to your personal style and what you wish to use your handbag for. Due to Hortensia having a size option it can also be enlarged and used for things such as a gym bag which does not need to be as fancy as an upmarket handbag. So you may just simply want to go with **Cottons**, **Linens** or have a little fun with **Printed Cottons**. If you want something more fancy you can try going for **Brocades** and other luxe fabrics. If you want something that will be very durable you can try **Upholstery fabrics**. You can also try **Leather** but this will be harder to sew especially if it is thick so only use it if you know what you are doing. Remember if you wish to use it all the time, favour practicality over design, as the goal should be to make it last rather than make it fancy. If you do not care about the look at all then this may be an oppurtunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. +Your main fabric choice ultimately comes down to your personal style and what you wish to use your handbag for. Due to Hortensia having a size option it can also be enlarged and used for things such as a gym bag which does not need to be as fancy as an upmarket handbag. So you may just simply want to go with **Cottons**, **Linens** or have a little fun with **Printed Cottons**. If you want something more fancy you can try going for **Brocades** and other luxe fabrics. If you want something that will be very durable you can try **Upholstery fabrics**. You can also try **Leather** but this will be harder to sew especially if it is thick so only use it if you know what you are doing. Remember if you wish to use it all the time, favour practicality over design, as the goal should be to make it last rather than make it fancy. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. diff --git a/markdown/org/docs/designs/hortensia/instructions/en.md b/markdown/org/docs/designs/hortensia/instructions/en.md index eee2995fc77..5ce7025e1da 100644 --- a/markdown/org/docs/designs/hortensia/instructions/en.md +++ b/markdown/org/docs/designs/hortensia/instructions/en.md @@ -32,7 +32,7 @@ The placement of the straps are not on the pattern and need to be determined. Yo If using bag strap webbing instead of fabric made straps do the following, -- Cut the webbing to the the length of the straps with seam allowance. +- Cut the webbing to the length of the straps with seam allowance. - Press under the short edge seam allowance. - Attach the webbing the same way as the fabric straps. @@ -83,8 +83,8 @@ It is recommended to leave the gap for turning on the side rather than the top o - With _good sides together_ sew the front and back lining panels to the bottom lining panel. - With _good sides together_ attach the lining side panels. - Press under the top seam allowances. -- Alernatively you can bind the top edges. -- Place the lining inside the bag _wrong sides facing_ eachother. +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Slipstitch_ or _Whipstitch_ the lining to the zipper panel. ### Step 10: Enjoy! diff --git a/markdown/org/docs/designs/hortensia/needs/en.md b/markdown/org/docs/designs/hortensia/needs/en.md index 6ef8aa9dddd..97635f0d082 100644 --- a/markdown/org/docs/designs/hortensia/needs/en.md +++ b/markdown/org/docs/designs/hortensia/needs/en.md @@ -8,7 +8,7 @@ To make Hortensia, you will need the following: - About 0.5 - 2 metres (0.6 - 2.2 yards) of a suitable fabric ([see Hortensia Fabric options](/docs/designs/hortensia/fabric/)) - About 0.5 - 2 metres (0.6 - 2.2 yards) of lining fabric ([see Hortensia Fabric options](/docs/designs/hortensia/fabric/)) - A zipper shorter in length than the zipper panel and matching the [coil width](/docs/designs/hortensia/options/zippersize/) selected -- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias biniding if you want to bind the side panel edges on the outside. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Optional) Bag strap webbing double the length of the strap part with seam allowance and similar width if you don't wish to make your own straps - (Optional) Interfacing if needed to strengthen fabric and/or for the strap diff --git a/markdown/org/docs/designs/hortensia/options/zippersize/en.md b/markdown/org/docs/designs/hortensia/options/zippersize/en.md index 94e05edc3c6..eb03c2e4980 100644 --- a/markdown/org/docs/designs/hortensia/options/zippersize/en.md +++ b/markdown/org/docs/designs/hortensia/options/zippersize/en.md @@ -12,7 +12,7 @@ Size guide for Hortensia: | Option | Size in Millimetres (mm) | | ---- | ----------- | -| #Invisble | 0 | +| #Invisible | 0 | | #3 | 4.8 | | #4 | 5.4 | | #4.5 | 5.9 | diff --git a/markdown/org/docs/designs/huey/instructions/en.md b/markdown/org/docs/designs/huey/instructions/en.md index b7994eef378..89212735f35 100644 --- a/markdown/org/docs/designs/huey/instructions/en.md +++ b/markdown/org/docs/designs/huey/instructions/en.md @@ -53,7 +53,7 @@ The drawstrings will be threaded after the hoodie is constructed. - Turn good sides out. - Baste the front and bottom raw edges together. - Create a casing for the drawstring by stitching about 2.5cm (1 inch) away from the inner edge on the side with the drawstring holes. -- (Optionaly) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ A neckband can be useful to stablise and cover the neck seams but it is optional - Press the seam allowance up. - _Topstitch_ or _Edgestitch_ waistband seam allowance to the body. -### Step 8: Attching the cuffs +### Step 8: Attaching the cuffs -- With _good sides together_ sew the short egdes of the cuffs together to create two bands. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Press open the seam allowances. - (Optional) _Edgestitch_ the seam allowances down. - Fold the cuffs in half lengthwise matching wrong sides. Press. @@ -104,7 +104,7 @@ A neckband can be useful to stablise and cover the neck seams but it is optional - Unzip the zipper part way. - Fold the top of the zipper tape down to the _good side_ of the zipper tape. Trim if need be. - Pin the zipper along one of the front edges of the hood, front and waistband. Making sure the zipper pull is faced the _good sides_ of the hoodie and the bottoms are lined up. The zipper teeth should just be slightly over the seam line with the edge of the tape either matching or being slightly over from the hoodie edge. -- Using a zipper foot stitch the zipper to the hoodie using you seam allownace width. When you reach the zipper pull, stop, put your needle down, lift the presser foot, pull the zipper pull past the presser foot, lower the presser foot. Then you can continue sewing the seam. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. When you reach the zipper pull, stop, put your needle down, lift the presser foot, pull the zipper pull past the presser foot, lower the presser foot. Then you can continue sewing the seam. - Unzip the zipper. - Pin and sew the unattached zipper tape to the other side of the hoodie the same way. - Press the seams to the inside being careful not to melt the zipper teeth with your iron. diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/en.md b/markdown/org/docs/designs/huey/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/hugo/instructions/en.md b/markdown/org/docs/designs/hugo/instructions/en.md index bf0322c53b1..732de4f9c21 100644 --- a/markdown/org/docs/designs/hugo/instructions/en.md +++ b/markdown/org/docs/designs/hugo/instructions/en.md @@ -113,5 +113,5 @@ This 6-episode series shows you how to make your hoodie start to finish: - Serge (or zig-zag stitch) the ribbing to the cuff, stretching gently until the ribbing and cuff are the same length. Remove pins before they enter the serger. - Trim the bottom edge of the pocket if it extends past the waistband edge. - Ensure the ribbing is gathered as uniformly as possible around the waistband. -- Serge or zig-zag the waistband, again gently stretching untill the ribbing and waistband are the same length. Stitch with the hoodie on top so you can see it gets caught in the seam. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Stitch with the hoodie on top so you can see it gets caught in the seam. - Topstitch the lower pocket edges to the body of the shirt to anchor the bottom of the pocket. diff --git a/markdown/org/docs/designs/jaeger/instructions/en.md b/markdown/org/docs/designs/jaeger/instructions/en.md index b1ec5389a83..1f565f9ae1c 100644 --- a/markdown/org/docs/designs/jaeger/instructions/en.md +++ b/markdown/org/docs/designs/jaeger/instructions/en.md @@ -103,7 +103,7 @@ to attach the welt, since you marked 0.5cm inwards from the corners. ![Press the chest pocket](pressChestPocket.svg) Now cut open your welt in the middle of both seamlines. -Don't cut to the edge, but create a trianngular shape there. +Don't cut to the edge, but create a triangular shape there. Flip the pocket bag and welt to the backside by passing both of them through the opening you just created. @@ -126,7 +126,7 @@ Thread a needle and hand-finish the chest pocket by sewing down the sides of the Finally, close the pocket bag by sewing the sides. Do this by placing the front down with the good side up. Then fold over each side and sew the pocket bag. While sewing these sides, make sure to catch those triangular little pieces of the opening. This will reinforce the pocket opening. -Baste the chest pocket closed while we contruct the jacket. +Baste the chest pocket closed while we construct the jacket. ### Prepare the fronts @@ -188,10 +188,10 @@ Keep in mind that: ![Close the sides](closeSides.svg) Place your front with the good side up, and your side on it with the good side down. -Align the front/side seams, pin them in place if you feel like it, and sew them togther. +Align the front/side seams, pin them in place if you feel like it, and sew them together. Place this down with the good side up, and place your back on top with the good side down. -Align the back/side seams, pin them in place if you feel like it, and sew them togther. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Make sure the canvas does not get caught in the seam. @@ -206,7 +206,7 @@ Align the back/side seams, pin them in place if you feel like it, and sew them t ![Close the back seam](closeBack.svg) -Aling your two half-jackets with the good sides together, and close the back seam. +Align your two half-jackets with the good sides together, and close the back seam. @@ -242,7 +242,7 @@ So make sure to align the notches. It's what they're there for. ### Make the collar -In order to look real crisp, the collar should be symetrical on both sides. +In order to look real crisp, the collar should be symmetrical on both sides. About 5mm difference is already visible to a collar, so the more precise you do these steps, the better. ### Add markings to both collars @@ -253,12 +253,12 @@ Measure 2 times to make sure the remaining collars and the location of the corne #### Add interfacing or canvas to the outside collar stand and under collar -Either use a fusable interfacing, or, if you want to be hardcore use a horsehair canvas. -Stich it to the outside collor stand using the same technique as when adding canvas to the lapel. -![Add canvas to the collor](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. +Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. +![Add canvas to the collar](collarWithCanvas.svg) #### Sew the outside collarstand to the under collar, and add to jacket -Make sure the outside collarstand and under collar are alligend and sew together +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit @@ -267,7 +267,7 @@ Cut the seam allowance in the corners diagonally for a better fit ### Sleeves -Sew the uppersleeve to the undersleeve untill the split +Sew the uppersleeve to the undersleeve until the split #### Create the split at the eng of the sleeve @@ -283,23 +283,23 @@ Please see images at the front pockets for details Locate the position of the pocket on the left inner lining with basting -Add some fusible interfacting around the area +Add some fusible interfacing around the area Draw the pocket on the interfacing. Add the welts to the upper and lower side of the pocket Sew the welts on the line on both sides of the pocket. -Make use the welts end exactly on top of eachother. +Make use the welts end exactly on top of each other. Cut the pocket entrance to about 1 or 2 cm from the end. -Cut the last part diagonally so you get a fish bone fcut +Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Lining -Sew the lining back seam untill the split +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) -Add the from lining to the front facing. LEave about 5cm open from the bottom +Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners @@ -312,7 +312,7 @@ Sew around the collar and continue all the way to the front facing Turn the jacket right side out Fold the sleeves in place (make sure they are not turned!!) Add the sleeves lining to the sleeves split -Make sure the collars are straight on top of each other (they allign) and add the seam allowences to each other by hand. +Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Add in a few places front SA to lining SA by hand from the inside of the jacket Create the backsplit and manually add the lining to the main fabric Add buttonholes and buttons diff --git a/markdown/org/docs/designs/jaeger/needs/en.md b/markdown/org/docs/designs/jaeger/needs/en.md index b9f8a396af1..3c4e465c76f 100644 --- a/markdown/org/docs/designs/jaeger/needs/en.md +++ b/markdown/org/docs/designs/jaeger/needs/en.md @@ -19,7 +19,7 @@ To make Jaeger, you will need the following: ###### Where to get all this stuff -Making Jaeger is a fun and rewarning project, but getting all the required bits +Making Jaeger is a fun and rewarding project, but getting all the required bits and pieces can be challenging. That is because this kind of project is somewhat more ambitious than the diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md index 92bf6a906a9..35bd1532711 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md @@ -4,7 +4,7 @@ title: "Center back dart" ![Center back dart](centerbackdart.svg) -The reduction at the center back from shoulders to neck, which accomodates for a curved upper back. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. diff --git a/markdown/org/docs/designs/lucy/measurements/en.md b/markdown/org/docs/designs/lucy/measurements/en.md index ca492b976e5..e2dedb9525b 100644 --- a/markdown/org/docs/designs/lucy/measurements/en.md +++ b/markdown/org/docs/designs/lucy/measurements/en.md @@ -3,5 +3,5 @@ title: "Lucy tie-on pocket: Required measurements" --- -Luci does not require any measurements +Lucy does not require any measurements diff --git a/markdown/org/docs/designs/lucy/notes/en.md b/markdown/org/docs/designs/lucy/notes/en.md index fbb5abb78e9..a772100fa92 100644 --- a/markdown/org/docs/designs/lucy/notes/en.md +++ b/markdown/org/docs/designs/lucy/notes/en.md @@ -2,4 +2,4 @@ title: "Lucy tie-on pocket: Designer Notes" --- -This is a 18th century pocket pattern based on the hanging pocket in Patterns of Fashion 1 pp. 73. I made it so people could have a historical pocket pattern that is easily adjustable. I would like historical patterns and resources to be more accesible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. +This is a 18th century pocket pattern based on the hanging pocket in Patterns of Fashion 1 pp. 73. I made it so people could have a historical pocket pattern that is easily adjustable. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. diff --git a/markdown/org/docs/designs/lumira/instructions/en.md b/markdown/org/docs/designs/lumira/instructions/en.md index 26030bb32fc..112cd3d5e3a 100644 --- a/markdown/org/docs/designs/lumira/instructions/en.md +++ b/markdown/org/docs/designs/lumira/instructions/en.md @@ -1,4 +1,4 @@ ---- +-- title: "Lumira leggings: Sewing Instructions" --- @@ -60,4 +60,4 @@ pieces. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -You're all done! Enjoy your Lumina leggings! +You're all done! Enjoy your Lumira leggings! diff --git a/markdown/org/docs/designs/lumira/options/ease/en.md b/markdown/org/docs/designs/lumira/options/ease/en.md index db88ee61374..783eaa8fe29 100644 --- a/markdown/org/docs/designs/lumira/options/ease/en.md +++ b/markdown/org/docs/designs/lumira/options/ease/en.md @@ -3,10 +3,10 @@ title: "Ease" --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. diff --git a/markdown/org/docs/designs/lunetius/notes/en.md b/markdown/org/docs/designs/lunetius/notes/en.md index 719d2d5b6e5..207203c8c89 100644 --- a/markdown/org/docs/designs/lunetius/notes/en.md +++ b/markdown/org/docs/designs/lunetius/notes/en.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Why? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. diff --git a/markdown/org/docs/designs/naomiwu/fabric/en.md b/markdown/org/docs/designs/naomiwu/fabric/en.md index 5bcaab97ebc..ba59a932d6d 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/en.md +++ b/markdown/org/docs/designs/naomiwu/fabric/en.md @@ -3,7 +3,7 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- A cargo skirt is work wear, so you want to go with fabric that can stand the -wear and tear of screwdrivers being wiped clean on them, nuts and bolds +wear and tear of screwdrivers being wiped clean on them, nuts and bolts rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a diff --git a/markdown/org/docs/designs/naomiwu/needs/en.md b/markdown/org/docs/designs/naomiwu/needs/en.md index bfd260688c6..dcbcd1a5de3 100644 --- a/markdown/org/docs/designs/naomiwu/needs/en.md +++ b/markdown/org/docs/designs/naomiwu/needs/en.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - About 0.75 meters (0.8 yards) of a suitable fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon diff --git a/markdown/org/docs/designs/naomiwu/notes/en.md b/markdown/org/docs/designs/naomiwu/notes/en.md index c8dec530fbf..2ad26ecc149 100644 --- a/markdown/org/docs/designs/naomiwu/notes/en.md +++ b/markdown/org/docs/designs/naomiwu/notes/en.md @@ -54,7 +54,7 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and [YouTube channel]( +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and [YouTube channel]( www.youtube.com/c/SexyCyborg) have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/en.md b/markdown/org/docs/designs/naomiwu/options/flywidth/en.md index 6368711734b..8b17d2d404a 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/en.md @@ -4,6 +4,6 @@ title: "Fly width" This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/en.md b/markdown/org/docs/designs/naomiwu/options/invertfly/en.md index 411e52ba447..9e69ea2a266 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/en.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/en.md @@ -5,8 +5,8 @@ title: "Invert the side of the fly" This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. The side at which the button goes is not functionally relevant, but some -garment (typically tops) have the buttons on teh right side for menswear, and -the left sife for womenswear. +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md index 225a8646db7..697e44d1086 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md @@ -2,7 +2,7 @@ title: "Minimal dart width" --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md index c4592a35d6e..ad6075f8739 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md @@ -4,7 +4,7 @@ title: "Waist band width" This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. diff --git a/markdown/org/docs/designs/noble/notes/en.md b/markdown/org/docs/designs/noble/notes/en.md index ea680f3e794..28e0ba4f5fd 100644 --- a/markdown/org/docs/designs/noble/notes/en.md +++ b/markdown/org/docs/designs/noble/notes/en.md @@ -4,7 +4,7 @@ title: "Noble body block: Designer Notes" Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/en.md b/markdown/org/docs/designs/noble/options/upperdartlength/en.md index 74bed49c61f..2a790f863e8 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/en.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/en.md @@ -4,7 +4,7 @@ title: "Upper Dart Length" *** -The **Upper Dart Length** controls the length of the upper dart, 100% is all teh way to the bust point. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. diff --git a/markdown/org/docs/designs/octoplushy/instructions/en.md b/markdown/org/docs/designs/octoplushy/instructions/en.md index 0269484d138..d38ebc78192 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/en.md +++ b/markdown/org/docs/designs/octoplushy/instructions/en.md @@ -71,13 +71,13 @@ stuffing later. - With _good sides together_ match up the leg parts with the body parts. - Sew each leg from notch B/D down and back around to notch B/D. -- If the leg part is slightly shorter than the leg on the head partsm you will have to ease it in while matching it up. Notches have been provided to make this easier. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Notches have been provided to make this easier. It is easiest to sew one leg almost to the next B/D notch, stop sewing, pin the next leg, and continue sewing rather than trying to pin and sew all the legs in one go. -Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your originial stitching to secure it. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. diff --git a/markdown/org/docs/designs/octoplushy/notes/en.md b/markdown/org/docs/designs/octoplushy/notes/en.md index 80c9c578bab..82c120ce4d4 100644 --- a/markdown/org/docs/designs/octoplushy/notes/en.md +++ b/markdown/org/docs/designs/octoplushy/notes/en.md @@ -3,7 +3,7 @@ title: "Octoplushy, the plushy octopus: Designer Notes" --- Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, -so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden +so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. diff --git a/markdown/org/docs/designs/onyx/instructions/en.md b/markdown/org/docs/designs/onyx/instructions/en.md index 58a3cdff43c..84ffd468957 100644 --- a/markdown/org/docs/designs/onyx/instructions/en.md +++ b/markdown/org/docs/designs/onyx/instructions/en.md @@ -4,9 +4,9 @@ title: "Onyx one-piece: Sewing Instructions" -The use of a serger/overlocker is recommended, to keep the size of the finished seams small and to allow the seams to stretch. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommeded. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. +The use of a serger/overlocker is recommended, to keep the size of the finished seams small and to allow the seams to stretch. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. -Unless otherwise stated, use stretch steams for contruction of this garment. A 4-thread overlock stitch is recommended, or an overlock foot on a sewing machine if a serger is unavailable. +Unless otherwise stated, use stretch steams for construction of this garment. A 4-thread overlock stitch is recommended, or an overlock foot on a sewing machine if a serger is unavailable. Hems or cuffs are optional (since knit doesn't fray), but if you do make hems or add cuffs, make sure they can stretch. These instructions describe how to make a single-fold hem with a double needle, which is suitable for swimwear or lightweight garments, and how to make a rib knit cuff, which is suitable for fleece pajamas or kigurumi. diff --git a/markdown/org/docs/designs/onyx/notes/en.md b/markdown/org/docs/designs/onyx/notes/en.md index 987ed962635..2bd82d417e5 100644 --- a/markdown/org/docs/designs/onyx/notes/en.md +++ b/markdown/org/docs/designs/onyx/notes/en.md @@ -10,7 +10,7 @@ The skirt was added in for modesty, primarily for the swimwear, though it does a Onyx does copy a number of Shelly's features, including raglan sleeves for mobility and the use of symmetrical front and back parts, except for the neck and head. -Onyx is named after the gemstone and its deep black color, which not coincidentially is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. A bit of history: Onyx may never have been born had it not been for the anti-LGBTQ+ protests and boycotts in the spring of 2023, which led to a unisuit that I particularly liked being pulled from the shelves of a major US retailer, and me needing a suitable replacement. diff --git a/markdown/org/docs/designs/paco/instructions/en.md b/markdown/org/docs/designs/paco/instructions/en.md index 4262852a837..a7e5e7b109b 100644 --- a/markdown/org/docs/designs/paco/instructions/en.md +++ b/markdown/org/docs/designs/paco/instructions/en.md @@ -246,7 +246,7 @@ not the inside of your waistband. Next, align the center backs and pin in place, adding additional pins around the waistband as needed. -Sew the waistband to the pants, as close to the the elastic as you can, but don’t sew into the elastic. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Waistband sewn with simple method](step13.svg) @@ -343,7 +343,7 @@ there are enough.
-Sew the cuff to the pants opening, as close to the the elastic as you can, but don’t sew into the elastic. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Cuffs sewn with simple method](step16.svg) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/en.md b/markdown/org/docs/designs/paco/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. diff --git a/markdown/org/docs/designs/penelope/fabric/en.md b/markdown/org/docs/designs/penelope/fabric/en.md index 0054093b572..b44300073f4 100644 --- a/markdown/org/docs/designs/penelope/fabric/en.md +++ b/markdown/org/docs/designs/penelope/fabric/en.md @@ -8,7 +8,7 @@ A pencil skirt is a rather formal cut, and most commonly is made in a suiting ma More casual options among **medium weight** fabrics include **cotton** or **denim**. Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about -as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretchs. +as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Lining Fabric diff --git a/markdown/org/docs/designs/penelope/instructions/en.md b/markdown/org/docs/designs/penelope/instructions/en.md index 7bb1d36a8d9..f05d447f737 100644 --- a/markdown/org/docs/designs/penelope/instructions/en.md +++ b/markdown/org/docs/designs/penelope/instructions/en.md @@ -38,7 +38,7 @@ part of the seam where the zipper is behaves differently than the part without i you want to try to make it invisible also in movement. Traditionally, an invisible zipper is used in a pencil skirt but a regular zipper will work just as well. -You can even use a zipper that constrast your fabric if the fancy takes you. +You can even use a zipper that contrasts your fabric if the fancy takes you. Choose what works for you and the style you're going for. Be creative (or not) it is entirely up to you! All though if your fabric is on the heavier side you might want to opt for a different closure entirely. @@ -67,7 +67,7 @@ darts will be included in the front and back pieces. We're not going to go into a full explanation on how to create all the individual details that make up a pencil skirt. These instructions assume that you know how to sew a dart, insert an invisible zipper, make a vent, etc. If not, there are numerous excellent articles available on the -web, both in writen form, and on video. If you do get stuck, you can always reach out to +web, both in written form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. @@ -76,7 +76,7 @@ web, both in writen form, and on video. If you do get stuck, you can always reac - Sew all the darts. - Press the darts towards the back. - - For the back piece(s), that means you press the darts towards eachother. + - For the back piece(s), that means you press the darts towards each other. - For the front piece, that means you press the darts towards the side seams. ### Step 2: The zipper @@ -102,11 +102,11 @@ You can skip this step if not making a lining. - Follow Step 1 - 4 to construct the lining with the following changes: - Adjust the darts to compensate for the extra 'ease' in the lining pieces. - Do not include the zipper but leave the opening in the zipper seam. -- Attach the lining to the body in your prefered way. You will need to construct the vent during this and connect the lining to the zipper. +- Attach the lining to the body in your preferred way. You will need to construct the vent during this and connect the lining to the zipper. -How to distribute the extra 'ease' is up to you. You can either add it to the darts by increasing them. or you can add another dart or box pleat in the middle. +How to distribute the extra 'ease' is up to you. You can either add it to the darts by increasing them. Or you can add another dart or box pleat in the middle. @@ -142,7 +142,7 @@ This step is only needed if you have not lined your skirt as the hem and vents w - If desired, face the hem and vents. - Construct the vents with your preferred method - Press under the hem allowances of the skirt. -- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent farying. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Secure the hem in place with your preferred method. For instance you can sew from the outside or _Slipstitch_ from the inside. This comes down to how you want the finished product to look. diff --git a/markdown/org/docs/designs/penelope/notes/en.md b/markdown/org/docs/designs/penelope/notes/en.md index 1c89170e288..2caaa9378a5 100644 --- a/markdown/org/docs/designs/penelope/notes/en.md +++ b/markdown/org/docs/designs/penelope/notes/en.md @@ -4,7 +4,7 @@ title: "Penelope pencil skirt: Designer Notes" Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like -the apropriate thing to do. I found a drafting method online and made het a skirt. This +the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious @@ -12,7 +12,7 @@ choice. I used the same basis for the drafting, but changed everything to percen it would scale from dolls to giants. The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, -specially if you line the skirt (whic I would recommend). +specially if you line the skirt (which I would recommend). Wouter diff --git a/markdown/org/docs/designs/sandy/fabric/en.md b/markdown/org/docs/designs/sandy/fabric/en.md index 7164486c0e8..97d889b16ab 100644 --- a/markdown/org/docs/designs/sandy/fabric/en.md +++ b/markdown/org/docs/designs/sandy/fabric/en.md @@ -6,7 +6,7 @@ title: "Sandy circle skirt: Fabric Options" A circle skirt is a very versatile garment and can be made from a variety of fabric. It all depends on your intended use and preferred style. -- If you wish for an everday, easy to wash skirt then **Linen** and **Cotton** is the way to go. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - If you are looking for something more formal you may want to try **Suiting Fabrics**. - If you want something warm for the winter you can try **Wools**. - If wish for something flowy that drapes you can try lightweight materials such as **Chiffon**. diff --git a/markdown/org/docs/designs/sandy/instructions/en.md b/markdown/org/docs/designs/sandy/instructions/en.md index 9c86981c38b..fe07ed76fd9 100644 --- a/markdown/org/docs/designs/sandy/instructions/en.md +++ b/markdown/org/docs/designs/sandy/instructions/en.md @@ -5,7 +5,7 @@ title: "Sandy circle skirt: Sewing Instructions" Due to the different styles and configurations of Sandy you may find you need to skip or re-order certain steps. -We're not going to go into a full explanation on how to create all the individual details that make up a circle skirt. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in writen form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. +We're not going to go into a full explanation on how to create all the individual details that make up a circle skirt. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in written form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. @@ -111,7 +111,7 @@ Hem the skirt in one of the following ways: -There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. diff --git a/markdown/org/docs/designs/sandy/needs/en.md b/markdown/org/docs/designs/sandy/needs/en.md index 86f66c9c6cc..0dbce63e5b3 100644 --- a/markdown/org/docs/designs/sandy/needs/en.md +++ b/markdown/org/docs/designs/sandy/needs/en.md @@ -16,7 +16,7 @@ Due to the many different styles of Sandy it is difficult to precisely say what ##### Main Fabric -The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficent with 2 - 2.5 metres whearas a floor length will require more. If in doubt buy a metre more than you think. Also don't be afraid to piece if your fabric is not wide or long enough, it is better to have an extra seam than not to use the fabric you like. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. If in doubt buy a metre more than you think. Also don't be afraid to piece if your fabric is not wide or long enough, it is better to have an extra seam than not to use the fabric you like. @@ -42,7 +42,7 @@ To add flare/keep the hems shape you may wish to add a facing to the bottom of t ##### Closures If not making an elasticated Sandy you will need some type of closure. -This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an openining, placket or zipper at the top of the seam. +This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Elastic diff --git a/markdown/org/docs/designs/shelly/instructions/en.md b/markdown/org/docs/designs/shelly/instructions/en.md index 29d043fbc23..8995c4204e8 100644 --- a/markdown/org/docs/designs/shelly/instructions/en.md +++ b/markdown/org/docs/designs/shelly/instructions/en.md @@ -4,13 +4,13 @@ title: "Shelly shirt: Sewing Instructions" -The use of a serger or an overlocking foot is recommended, to keep the size of the finished seams small. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommeded. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. +The use of a serger or an overlocking foot is recommended, to keep the size of the finished seams small. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. All seams, including the neckband, can be done with the same stitch, whether it be a serger, an overlock stitch, or a stretch stitch. Hems are optional (since knit doesn't fray), but if you do make hems, make sure they can stretch. -Make sure to use a stitch that can stretch. If sewing stretch fabric, adjust your tension to allow for extra stretch. On a serger, this will usually mean lowering the needle tension, especially the right needle, and adjusting the looper tension as needed to keep the stitch looking decent. On a regular sewing machine, lower the tension. Test your choice of stitch first on scrap fabric, and try to shap the test seam by stretching the seam along its length. It should only snap after stretching quite a bit. If it pops too easily, keep playing with your stitches/tension settings until you get something that can survive some abuse. +Make sure to use a stitch that can stretch. If sewing stretch fabric, adjust your tension to allow for extra stretch. On a serger, this will usually mean lowering the needle tension, especially the right needle, and adjusting the looper tension as needed to keep the stitch looking decent. On a regular sewing machine, lower the tension. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. It should only snap after stretching quite a bit. If it pops too easily, keep playing with your stitches/tension settings until you get something that can survive some abuse. For making t-shirts or other shirts with 2-way stretch, regular settings with a stitch that stretches should be fine. @@ -102,4 +102,4 @@ For making t-shirts or other shirts with 2-way stretch, regular settings with a ### Step 5: Enjoy your new shirt! -- It's time to take your new shirt for a swim, or to show it off at the beach! \ No newline at end of file +- It's time to take your new shirt for a swim, or to show it off at the beach! diff --git a/markdown/org/docs/designs/shin/fabric/en.md b/markdown/org/docs/designs/shin/fabric/en.md index b711779c1f1..e66a357c9bb 100644 --- a/markdown/org/docs/designs/shin/fabric/en.md +++ b/markdown/org/docs/designs/shin/fabric/en.md @@ -6,6 +6,6 @@ Swim trunks should be made out of a material with stretch that is suitable for b Typically, this falls apart in a few categories: -- Nylon mixed with elastene, spandex, or lycra is soft and stretchy. This is what most casual swimwear is made from. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. This is what most casual swimwear is made from. - Polyester mixed with PBT (polybutylene terephthalate) is less soft to the touch, but resistant to chlorine and salt water. This is what a lot of competitive swimwear is made from. - Neoprene, also known as scuba, is heavier and less stretchy. It's the stuff scuba suits are made from. diff --git a/markdown/org/docs/designs/shin/instructions/en.md b/markdown/org/docs/designs/shin/instructions/en.md index c6b74b71f1b..db1fb6a7011 100644 --- a/markdown/org/docs/designs/shin/instructions/en.md +++ b/markdown/org/docs/designs/shin/instructions/en.md @@ -9,13 +9,13 @@ title: "Shin swim trunks: Sewing Instructions" ## Step 1: Join the backs -Put your two backs on top of each other with the good sides together, and sew them together allong the center back seam. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Step 2: Join the fronts ### Sew the front seam -Put two of your fronts on top of each other with the good sides together, and sew them together allong the center front seam. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Repeat with the two other fronts so you have two identical sets. @@ -45,7 +45,7 @@ Mark the middle of your waistband length. Fold the waistband double, and mark th (do not take the seam allowance into account). A bit to the left and right of this, you can add two eyelets to pass a drawstring through. -This will avoid an embarassing situation when you go for that big dive and now suddenly find your +This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### It's best to add some reinforcement @@ -84,7 +84,7 @@ with the front seam. Pin this in place too. Now make your way around the swim trunks waist, pinning the waistband in place. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, diff --git a/markdown/org/docs/designs/shin/needs/en.md b/markdown/org/docs/designs/shin/needs/en.md index 13f7140eac2..4d6715fd7ad 100644 --- a/markdown/org/docs/designs/shin/needs/en.md +++ b/markdown/org/docs/designs/shin/needs/en.md @@ -13,4 +13,4 @@ To make Shin, you will need the following: > As with all stretch fabrics, a serger/overlock will make your life easier. > > If you do not have one of those, don't despair. You don't really need it. -> You can use another technique for stretch seams, such as a zig-zag stich, twin needle, or elastic thread. +> You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. diff --git a/markdown/org/docs/designs/shin/options/rise/en.md b/markdown/org/docs/designs/shin/options/rise/en.md index a13d0453a33..40b27a1eeca 100644 --- a/markdown/org/docs/designs/shin/options/rise/en.md +++ b/markdown/org/docs/designs/shin/options/rise/en.md @@ -2,7 +2,7 @@ title: "Rise" --- -This option controls the overal height of the waist. +This option controls the overall height of the waist. > The higher the rise, the higher your waist. diff --git a/markdown/org/docs/designs/shin/options/stretch/en.md b/markdown/org/docs/designs/shin/options/stretch/en.md index 0848156c4f9..ebd4d534e66 100644 --- a/markdown/org/docs/designs/shin/options/stretch/en.md +++ b/markdown/org/docs/designs/shin/options/stretch/en.md @@ -2,7 +2,7 @@ title: "Stretch" --- -The amount of overal (horizontal) stretch. +The amount of overall (horizontal) stretch. diff --git a/markdown/org/docs/designs/simon/instructions/en.md b/markdown/org/docs/designs/simon/instructions/en.md index 2befb02631f..06c8f6096ef 100644 --- a/markdown/org/docs/designs/simon/instructions/en.md +++ b/markdown/org/docs/designs/simon/instructions/en.md @@ -646,7 +646,7 @@ Now that your collar is attached, give it a good press. ### Step 20: Hem your shirt ![Fold over and press](20a.png) -![FOld over again, and press again](20b.png) +![Fold over again, and press again](20b.png) ![Sew the hem](20c.png) Time to finish the hem (that's the part you tuck in your trousers). diff --git a/markdown/org/docs/designs/simon/options/collargap/en.md b/markdown/org/docs/designs/simon/options/collargap/en.md index 00f49cfea1b..92e0aa3d563 100644 --- a/markdown/org/docs/designs/simon/options/collargap/en.md +++ b/markdown/org/docs/designs/simon/options/collargap/en.md @@ -8,7 +8,7 @@ Distance the collar sits apart when closed. -This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accomodate a wider tie (knot). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md index 84e07e708dc..cfe77081855 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate buttonhole placket" --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Whether or not you want the buttonhole placket to be a seperate pattern part. +Whether or not you want the buttonhole placket to be a separate pattern part. ## Effect of this option on the pattern diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md index 5337da23870..0c144f42969 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate button placket" --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) -Whether or not you want the button placket to be a seperate pattern part. +Whether or not you want the button placket to be a separate pattern part. ## Effect of this option on the pattern diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/en.md b/markdown/org/docs/designs/simon/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/simone/notes/en.md b/markdown/org/docs/designs/simone/notes/en.md index 9e335755354..34c56b94776 100644 --- a/markdown/org/docs/designs/simone/notes/en.md +++ b/markdown/org/docs/designs/simone/notes/en.md @@ -2,7 +2,7 @@ title: "Simone shirt: Designer Notes" --- -Simone is essentally [Simon](/designs/simon) with a full-bust adjustment. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt diff --git a/markdown/org/docs/designs/simone/options/collargap/en.md b/markdown/org/docs/designs/simone/options/collargap/en.md index 00f49cfea1b..92e0aa3d563 100644 --- a/markdown/org/docs/designs/simone/options/collargap/en.md +++ b/markdown/org/docs/designs/simone/options/collargap/en.md @@ -8,7 +8,7 @@ Distance the collar sits apart when closed. -This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accomodate a wider tie (knot). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md index 9af007f9114..9431fd60c46 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate buttonhole placket" --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Whether or not you want the buttonhole placket to be a seperate pattern part. +Whether or not you want the buttonhole placket to be a separate pattern part. ## Effect of this option on the pattern diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md index 737e6701a9c..1f8e14b51e5 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate button placket" --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) -Whether or not you want the button placket to be a seperate pattern part. +Whether or not you want the button placket to be a separate pattern part. ## Effect of this option on the pattern diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/en.md b/markdown/org/docs/designs/simone/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/skully/fabric/en.md b/markdown/org/docs/designs/skully/fabric/en.md index d3361fe60f1..bcaa13c265e 100644 --- a/markdown/org/docs/designs/skully/fabric/en.md +++ b/markdown/org/docs/designs/skully/fabric/en.md @@ -10,7 +10,7 @@ the shape will change considerably due to tensions from the stuffing. ## Hair -Skully needs hair. Embrodery floss works very well, and can be had in all colors. +Skully needs hair. Embroidery floss works very well, and can be had in all colors. ## Stuffing @@ -18,4 +18,4 @@ Since this is a plush toy, it will need to be stuffed with material. Most of the ## Needle -Skully has traded his sword for a needle. A needle this size is mostly sold as upholstery needles. This will come in handy when doing some of the touch-ups at the end of the construction. \ No newline at end of file +Skully has traded his sword for a needle. A needle this size is mostly sold as upholstery needles. This will come in handy when doing some of the touch-ups at the end of the construction. diff --git a/markdown/org/docs/designs/skully/instructions/en.md b/markdown/org/docs/designs/skully/instructions/en.md index b1c24411ac6..a55895a7661 100644 --- a/markdown/org/docs/designs/skully/instructions/en.md +++ b/markdown/org/docs/designs/skully/instructions/en.md @@ -91,13 +91,13 @@ Turn it right sides out. ## Step 5: Hair -Now is the time to add hair to skully. When putting the embroidery floss in, make sure you add knots on the inside, or else it is very easy to pull Skully's hair out later. +Now is the time to add hair to Skully. When putting the embroidery floss in, make sure you add knots on the inside, or else it is very easy to pull Skully's hair out later. ## Step 6: Stuffing - Fill the plush toy with stuffing through the opening you left, making sure to fill all the parts well. The areas in the front are the hardest to get to. -- _Slipsticth_ or _whipstitch_ the opening closed. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Step 7: Tweaks @@ -107,4 +107,4 @@ It is also a good idea to add stitches between seams 5 and 14, along the length ## Step 7: Enjoy! -That's it, you are all done. Start planning what pirate sewing ship you'll be joining! \ No newline at end of file +That's it, you are all done. Start planning what pirate sewing ship you'll be joining! diff --git a/markdown/org/docs/designs/skully/options/size/en.md b/markdown/org/docs/designs/skully/options/size/en.md index 77bb4ae0f34..c3007d1d3d6 100644 --- a/markdown/org/docs/designs/skully/options/size/en.md +++ b/markdown/org/docs/designs/skully/options/size/en.md @@ -4,5 +4,5 @@ title: "Size" Skully can be made in different sizes. The default is about 75% of a normal human head (about 16cm high). -If you set the percentage to 100%, and you enter your own head measurwement, Skully will -be approximately the size of your head. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will +be approximately the size of your head. diff --git a/markdown/org/docs/designs/sven/instructions/en.md b/markdown/org/docs/designs/sven/instructions/en.md index 2caec412bf8..0d1e9e339ca 100644 --- a/markdown/org/docs/designs/sven/instructions/en.md +++ b/markdown/org/docs/designs/sven/instructions/en.md @@ -4,7 +4,7 @@ title: "Sven sweatshirt: Sewing Instructions" ### Step 1: Close shoulder seams -- Place the back and front on top of each other with the good sides toghether. +- Place the back and front on top of each other with the good sides together. - Align the shoulder seam, and sew/serge it at the standard seam allowance. - Repeat for the other shoulder seam. @@ -38,7 +38,7 @@ title: "Sven sweatshirt: Sewing Instructions" - Measure the width of the sleeve at the cuff - Cut a piece of ribbing that is (twice this length - 2cm/1inch) and 7cm/3inch wide -- Fold the ribbing double along the longest side, and sew together the edge so you have a continous ring +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Turn your Sven inside-out - Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven sleeve - Align the cut off side of the ribbing with the edge of the sleeve and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the sleeve. @@ -51,7 +51,7 @@ title: "Sven sweatshirt: Sewing Instructions" - Measure the width of Sven at the hem - Cut a piece of ribbing that 1.9 times this length and 7cm/3inch wide - You may need to attach different pieces if your ribbing fabric isn't wide enough -- Fold the ribbing double along the longest side, and sew together the edge so you have a continous ring +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Turn your Sven inside-out - Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven body - Align the cut off side of the ribbing with the edge of the body and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the body. diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/en.md b/markdown/org/docs/designs/sven/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/tamiko/instructions/en.md b/markdown/org/docs/designs/tamiko/instructions/en.md index 564b1b6d0d5..2519a654f07 100644 --- a/markdown/org/docs/designs/tamiko/instructions/en.md +++ b/markdown/org/docs/designs/tamiko/instructions/en.md @@ -4,7 +4,7 @@ title: "Tamiko top: Sewing Instructions" ### Step 1: Finish the armhole seam -![Finsh the armhole seam](step03.png) +![Finish the armhole seam](step03.png) - Finish the armhole seam with a narrow hem. diff --git a/markdown/org/docs/designs/teagan/instructions/en.md b/markdown/org/docs/designs/teagan/instructions/en.md index 22e7b50bdb8..c31b461fb53 100644 --- a/markdown/org/docs/designs/teagan/instructions/en.md +++ b/markdown/org/docs/designs/teagan/instructions/en.md @@ -77,7 +77,7 @@ Now it's time to sew the ends of our knit band together. - Now that your band ends are joined together, it’s time to finish the last 6 cm, by stretching and sewing down the band as you did for the rest. -Hurray! You've finished the trickiest part! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a sig-zag or coverlock stitch. This is not required, but it is a detail that you'll see on many ready-to-wear T-shirts, and it can help your neck band lie flat. +Hurray! You've finished the trickiest part! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. This is not required, but it is a detail that you'll see on many ready-to-wear T-shirts, and it can help your neck band lie flat. ![Sew down knit band to secure](step03i.svg) @@ -85,7 +85,7 @@ Hurray! You've finished the trickiest part! Optionally, you can secure the raw e -A more extensive how-to on knit binding can be found in the [Aaron Instuctions](/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/en.md b/markdown/org/docs/designs/teagan/options/fitwaist/en.md index ac11eebacb7..9dbc148dc0a 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/en.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/en.md @@ -4,7 +4,7 @@ title: "Fit the waist" Enable this option to fit the waist of your Teagan, rather than draft a straight T-shirt shape. -This will yield best results for those with a smaller waist who are looking for a more hourglass-shapped fitted T-shirt. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. If your waist is larger than your hips, you should not enable this option as you may end up with a T-shirt that you can't get in to. diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/en.md b/markdown/org/docs/designs/teagan/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. diff --git a/markdown/org/docs/designs/tiberius/notes/en.md b/markdown/org/docs/designs/tiberius/notes/en.md index 7dfaff4f46d..3ebd5d1ee62 100644 --- a/markdown/org/docs/designs/tiberius/notes/en.md +++ b/markdown/org/docs/designs/tiberius/notes/en.md @@ -2,12 +2,12 @@ title: "Tiberius Tunica: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). -One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. diff --git a/markdown/org/docs/designs/titan/notes/en.md b/markdown/org/docs/designs/titan/notes/en.md index 2bbd3c0c851..5318b71a31d 100644 --- a/markdown/org/docs/designs/titan/notes/en.md +++ b/markdown/org/docs/designs/titan/notes/en.md @@ -6,7 +6,7 @@ I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. I had started on this a couple of times on my own, but for various reasons was -never happy and abondoned the effort more than once. +never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/en.md b/markdown/org/docs/designs/titan/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. diff --git a/markdown/org/docs/designs/uma/cutting/en.md b/markdown/org/docs/designs/uma/cutting/en.md index 3b718c8192c..a8e2c8debf3 100644 --- a/markdown/org/docs/designs/uma/cutting/en.md +++ b/markdown/org/docs/designs/uma/cutting/en.md @@ -3,7 +3,7 @@ title: "Uma undies: Cutting Instructions" --- Uma typically consists of a front, a back, and a lined gusset. -In that constallation, this is the cut list: +In that constellation, this is the cut list: - **Main fabric** - Part 1: Cut **1 front** diff --git a/markdown/org/docs/designs/uma/notes/en.md b/markdown/org/docs/designs/uma/notes/en.md index adaf9642896..226748efa14 100644 --- a/markdown/org/docs/designs/uma/notes/en.md +++ b/markdown/org/docs/designs/uma/notes/en.md @@ -11,7 +11,7 @@ on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. Since it's a rather nice design not to mention a popular one, we agreed that I -would reincarnate the pattern. While at it, I also mase some changes that +would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Long story short: diff --git a/markdown/org/docs/designs/wahid/instructions/en.md b/markdown/org/docs/designs/wahid/instructions/en.md index 17192e40e29..3cca9576f87 100644 --- a/markdown/org/docs/designs/wahid/instructions/en.md +++ b/markdown/org/docs/designs/wahid/instructions/en.md @@ -141,7 +141,7 @@ Flip the pocket facing to the back side and press it down. ![Press down the triangles at the short sides](05h.png) -Move your pocket facing out of the way to reveal those little traingles at the side of your pocket. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Fold them back making sure you to keep your pocket opening a clean rectangle, and press them down. @@ -216,7 +216,7 @@ Place your lining in your waistcoat, good sides together. In other words, the wa #### Pin lining to fabric -![Pin linng to fabric](09b.png) +![Pin lining to fabric](09b.png) Align the lining with the fabric edge, and pin it in place. @@ -224,7 +224,7 @@ Start at center back, and follow the neckline down the front closure. Work your #### Sew lining to fabric -![Sew linng to fabric](09c.png) +![Sew lining to fabric](09c.png) With your lining pinned neatly in place, sew lining and fabric together. @@ -232,7 +232,7 @@ Do not forget to leave that 15cm gap at the center back. #### Turn waistcoat and press edges -![Turn waistcoat and press edgess](09d.png) +![Turn waistcoat and press edges](09d.png) Reach through the gap you left open at the hem, and turn your waistcoat. @@ -254,7 +254,7 @@ Now fold back your lining a bit before the edge of the armhole and pin it down. #### Hand-sew the lining to the fabric -![Hand-sew teh lining to the farbric](10c.png) +![Hand-sew the lining to the fabric](10c.png) Use a slipstitch to hand-sew the lining to the fabric all along the armhole. diff --git a/markdown/org/docs/designs/walburga/needs/en.md b/markdown/org/docs/designs/walburga/needs/en.md index e55056df248..a82bf92522e 100644 --- a/markdown/org/docs/designs/walburga/needs/en.md +++ b/markdown/org/docs/designs/walburga/needs/en.md @@ -6,4 +6,4 @@ To make Walburga, you will need the following: - [Basic sewing supplies](/docs/sewing/basic-sewing-supplies) - About 1 meter (1.1 yards) of a suitable fabric (see [Fabric options](/docs/designs/walburga/fabric)) -- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finsh the raw edges +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges diff --git a/markdown/org/docs/designs/walburga/notes/en.md b/markdown/org/docs/designs/walburga/notes/en.md index 6a5f5c265fa..23501370e47 100644 --- a/markdown/org/docs/designs/walburga/notes/en.md +++ b/markdown/org/docs/designs/walburga/notes/en.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. diff --git a/markdown/org/docs/designs/waralee/notes/en.md b/markdown/org/docs/designs/waralee/notes/en.md index bbcdb0728a8..62fefdce009 100644 --- a/markdown/org/docs/designs/waralee/notes/en.md +++ b/markdown/org/docs/designs/waralee/notes/en.md @@ -10,7 +10,7 @@ The construction is easy when you make it without pockets. And with them, it's s that hard for a practiced sewist. Keep in mind that `waralee` is basically two large rectangles, and you can easily make -them by transfering the pattern onto fabric by using the dimensions, and not +them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. diff --git a/markdown/org/docs/designs/waralee/options/backraise/en.md b/markdown/org/docs/designs/waralee/options/backraise/en.md index 4ae6aec8d67..8f3aefe17c5 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/en.md +++ b/markdown/org/docs/designs/waralee/options/backraise/en.md @@ -2,7 +2,7 @@ title: "Back Raise" --- -This setting raises the waist in the back. Our waist does not sit horizontally, but is angled up at the back. This seting allows you to raise this in the back if you need it for a good fit. +This setting raises the waist in the back. Our waist does not sit horizontally, but is angled up at the back. This setting allows you to raise this in the back if you need it for a good fit. diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/en.md b/markdown/org/docs/designs/waralee/options/waistoverlap/en.md index 0e9efefa4ff..df086eaa679 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/en.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/en.md @@ -2,7 +2,7 @@ title: "Waist Overlap" --- -This dicates how much you want the leg flaps to overlap at the waist. A setting of 0 would have them meet at the side seam, and a setting of 100 makes them meet at the front/back. +This dictates how much you want the leg flaps to overlap at the waist. A setting of 0 would have them meet at the side seam, and a setting of 100 makes them meet at the front/back. diff --git a/markdown/org/docs/designs/yuri/instructions/en.md b/markdown/org/docs/designs/yuri/instructions/en.md index e6a3ff19dfb..ce8b0434dd2 100644 --- a/markdown/org/docs/designs/yuri/instructions/en.md +++ b/markdown/org/docs/designs/yuri/instructions/en.md @@ -4,7 +4,7 @@ title: "Yuri hoodie: Sewing Instructions" -This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams without a overlocker/serger you can either use your prefered method or one of the methods below: +This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: ##### Finishing Method 1 @@ -14,14 +14,14 @@ This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams ##### Finishing Method 2 -- Sew the seam allowances together with either a ziz-zag, overcast or straight stitch and press to one side. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Trim to 1cm (3/8 inch) seam allowance if needed. -If using a overlocker/serger you can sew seams which need fininshing in one go rather than sewing the seam conventionally and finishing it. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ On the pattern the back notch is marked as a cross-notch (see [our pattern notat - (Optional) Overcast the raw edge of the sleeve. - Press the hem allowance to the wrong side of the fabric and baste in place close to the raw edge. - On the outside, stitch away from the folded edge, catching the hem allowance underneath using the basting as guide to where the raw edge is. -- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stich along the hem allowance. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Remove basting. @@ -94,8 +94,8 @@ It is recommended to use **Finishing Method 1** for this step regardless of whet - Sew the pinned edge together. - Trim the seam allowance to 1cm (3/8 inch) if your chosen seam allowance is bigger and you have not used and overlocker/serger. Otherwise _do not_ trim the seam. - Turn the hood good sides out and press the outer edge flat. -- On the outside Topstitch along the edge of the hood, about 1.5 - 2cm (5/8 - 3/4 inch) from the edge. Ensure that your topstiching encloses but does not go through the seam allowance of the outer hood edge. This will create a decorative rim, with the enclosed seam allowance making the rim a bit poofy. -- With raw edges together, overcast the bottom of the hood. You can either do this with an overlocker/serger or a ziz-zag or overcast stitch on a regular machine. +- On the outside Topstitch along the edge of the hood, about 1.5 - 2cm (5/8 - 3/4 inch) from the edge. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. This will create a decorative rim, with the enclosed seam allowance making the rim a bit poofy. +- With raw edges together, overcast the bottom of the hood. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ You can also make a folded band so the neckband does not have a raw edge but thi - With good sides together, starting from the centre back pin the hood to the neck, matching the centre backs and overlapping the hood ends at the centre front. - With good side of neckband to lining side of hood, pin the neckband to the hood matching middle of the neckband to the centre back. - If using an overlocker/serger, serge the neck and hood together through all layers. -- If using a sewing machine, use a zig-zag stich to sew all the neck and hood layers together. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - On the outside check around the neckline to make sure all the layers are caught. - Press seam allowances towards the body. -- On the good side, topstitch with a straight sitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Trim the excess binding from the inside. -If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch suchs as the front as an overlocker/serger may have trouble sewing these parts. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/en.md b/markdown/org/docs/designs/yuri/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 53f5161823ef7b278afb5fd624fad7b638e94216 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 22 Jan 2024 20:15:57 -0800 Subject: [PATCH 0194/1313] fix(markdown): Add yarn disambiguation to Linux tutorial --- .../getting-started-linux/dev-setup/en.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md b/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md index d10d9332813..9def2d8fb5f 100644 --- a/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md +++ b/markdown/dev/tutorials/getting-started-linux/dev-setup/en.md @@ -95,6 +95,21 @@ yarn kickstart Now you're ready to [start the development environment](/tutorials/getting-started-linux/dev-start). + + +There is another `yarn` command that comes with some Linux distributions, +installed as part of the `cmdtest` package and used for command line +scenario testing. +If you get an `ERROR: There are no scenarios; must have at least one.` +message when trying to run the `yarn` command, it may be because the wrong +`yarn` is being used. + +Possible workarounds for this include uninstalling the `cmdtest` package +or making sure that npm `yarn` is installed and comes first in your `PATH` +environment variable. + + + ## Creating a new design If you would like to create a new design, run the following command: From 4f0ab206cc1ccbec996001cc2702c7a68ba537c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 04:53:03 +0000 Subject: [PATCH 0195/1313] build(deps-dev): bump eslint-plugin-jsonc from 2.12.2 to 2.13.0 Bumps [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) from 2.12.2 to 2.13.0. - [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases) - [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md) - [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.12.2...v2.13.0) --- updated-dependencies: - dependency-name: eslint-plugin-jsonc dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 92257400205..434e903d7c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5447,9 +5447,9 @@ eslint-plugin-import@^2.27.5, eslint-plugin-import@^2.28.1: tsconfig-paths "^3.14.2" eslint-plugin-jsonc@^2.4.0: - version "2.12.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.12.2.tgz#9a01dbfa9aeb7c4476a92dd23b5be3c3c0826799" - integrity sha512-iv2BLi1bqkSxCPEvDOY6xiBXzAFi5iS2gTOU8fnXGfKxkC6MvC5Tw2XAgbP6R6WRlqV7AtFItx4Xb7mCONtmmw== + version "2.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.13.0.tgz#e05f88d3671c08ca96e87b5be6a4cfe8d66e6746" + integrity sha512-2wWdJfpO/UbZzPDABuUVvlUQjfMJa2p2iQfYt/oWxOMpXCcjuiMUSaA02gtY/Dbu82vpaSqc+O7Xq6ECHwtIxA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" eslint-compat-utils "^0.4.0" @@ -5457,6 +5457,7 @@ eslint-plugin-jsonc@^2.4.0: graphemer "^1.4.0" jsonc-eslint-parser "^2.0.4" natural-compare "^1.4.0" + synckit "^0.6.0" eslint-plugin-jsx-a11y@^6.7.1: version "6.7.1" @@ -13157,6 +13158,13 @@ swagger-ui-express@5.0.0: dependencies: swagger-ui-dist ">=5.0.0" +synckit@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.6.2.tgz#e1540b97825f2855f7170b98276e8463167f33eb" + integrity sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA== + dependencies: + tslib "^2.3.1" + tailwindcss@3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" From 141167cc80241b5be079d0d58695842f17adbecc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 04:53:43 +0000 Subject: [PATCH 0196/1313] build(deps-dev): bump @commitlint/cli from 18.4.4 to 18.5.0 Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 18.4.4 to 18.5.0. - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v18.5.0/@commitlint/cli) --- updated-dependencies: - dependency-name: "@commitlint/cli" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/yarn.lock b/yarn.lock index 92257400205..5334d21b0ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -911,13 +911,13 @@ integrity sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== "@commitlint/cli@^18.1.0": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.4.4.tgz#24bdb295f0e9e87dfe5371e9a16aacac92017c5d" - integrity sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g== + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.5.0.tgz#e485c29d51b66890cd93a4c7f3f1e5ed15101db2" + integrity sha512-g/N0mJBrHcTdiccUpJknS6/ru45eIEAZyhEy9sL2ILjzK2IVNrpzlAPtxEr8bZCZLGwPBUrQ5UCIIu4uebhImw== dependencies: "@commitlint/format" "^18.4.4" - "@commitlint/lint" "^18.4.4" - "@commitlint/load" "^18.4.4" + "@commitlint/lint" "^18.5.0" + "@commitlint/load" "^18.5.0" "@commitlint/read" "^18.4.4" "@commitlint/types" "^18.4.4" execa "^5.0.0" @@ -933,10 +933,10 @@ dependencies: conventional-changelog-conventionalcommits "^7.0.2" -"@commitlint/config-validator@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.4.4.tgz#b1f009e4a988156c938160b17a8a619403a47433" - integrity sha512-/QI8KIg/h7O0Eus36fPcEcO3QPBcdXuGfZeCF5m15k0EB2bcU8s6pHNTNEa6xz9PrAefHCL+yzRJj7w20T6Mow== +"@commitlint/config-validator@^18.5.0": + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.5.0.tgz#3ddd3f94001ebbc5a61c7190fa7a51fab289690f" + integrity sha512-mDAA6WQPjh9Ida8ACdInDylBQcqeUD2gBHE+dQu+B3OIHiWiSSrq4F2+wg3nDU9EzfcQSwPwYL+QbMmiW5SmLA== dependencies: "@commitlint/types" "^18.4.4" ajv "^8.11.0" @@ -974,24 +974,24 @@ "@commitlint/types" "^18.4.4" semver "7.5.4" -"@commitlint/lint@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.4.4.tgz#730b28a837ae26009645ed3b0a0858879c6daf23" - integrity sha512-SoyQstVxMY5Z4GnFRtRzy+NWYb+yVseXgir+7BxnpB59oH05C9XztRrhDw6OnkNeXhjINTpi1HLnuY7So+CaAQ== +"@commitlint/lint@^18.5.0": + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.5.0.tgz#83c7434e969d04aaa84c5129c17b3dcde33d4650" + integrity sha512-4VbfTGTZf/aDaOn+vednMQFu5EIKfERvv7j8La3etQCra0O2QMrZL28xugTroYekawpTkiWWvLswtpVfabIbgw== dependencies: "@commitlint/is-ignored" "^18.4.4" "@commitlint/parse" "^18.4.4" "@commitlint/rules" "^18.4.4" "@commitlint/types" "^18.4.4" -"@commitlint/load@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.4.4.tgz#1f73d1a11337c68b6cf990e111ca2a742d076041" - integrity sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ== +"@commitlint/load@^18.5.0": + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.5.0.tgz#b14eef9306c2500594d8a7f1e4a8d68cb2562439" + integrity sha512-vpyGgk7rzbFsU01NVwPNC/WetHFP0EwSYnQ1R833SJFHkEo+cWvqoVlw/VoZwBMoI6sF5/lwEdKzFDr1DHJ6+A== dependencies: - "@commitlint/config-validator" "^18.4.4" + "@commitlint/config-validator" "^18.5.0" "@commitlint/execute-rule" "^18.4.4" - "@commitlint/resolve-extends" "^18.4.4" + "@commitlint/resolve-extends" "^18.5.0" "@commitlint/types" "^18.4.4" chalk "^4.1.0" cosmiconfig "^8.3.6" @@ -1025,12 +1025,12 @@ git-raw-commits "^2.0.11" minimist "^1.2.6" -"@commitlint/resolve-extends@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.4.4.tgz#fa2975c856d77ea1931e0e3673cf20096eb3ecc7" - integrity sha512-RRpIHSbRnFvmGifVk21Gqazf1QF/yeP+Kkg/e3PlkegcOKd/FGOXp/Kx9cvSO2K7ucSn4GD/oBvgasFoy+NCAw== +"@commitlint/resolve-extends@^18.5.0": + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.5.0.tgz#ea955fc9455f70a5389cdc9633c78132c8008ed2" + integrity sha512-OxCYOMnlkOEEIkwTaRiFjHyuWBq962WBZQVHfMHej8tr3d+SfjznvqZhPmW8/SuqtfmGEiJPGWUNOxgwH+O0MA== dependencies: - "@commitlint/config-validator" "^18.4.4" + "@commitlint/config-validator" "^18.5.0" "@commitlint/types" "^18.4.4" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" From 8fd4ba8ad533007b759d4b182a6e998079a680e4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 04:54:40 +0000 Subject: [PATCH 0197/1313] build(deps-dev): bump @commitlint/config-conventional Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 18.4.4 to 18.5.0. - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v18.5.0/@commitlint/config-conventional) --- updated-dependencies: - dependency-name: "@commitlint/config-conventional" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 92257400205..dbb2c576f05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -927,9 +927,9 @@ yargs "^17.0.0" "@commitlint/config-conventional@^18.1.0": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.4.4.tgz#ad9a4fc19a848821f01e79089ee01dc9ba71766b" - integrity sha512-Bz3sPQSboBN+Et/KyZrR+OJ3z9PrHDw7Bls0/hv94PmuHBtMq1dCGxS9XzTGzxeMNlytCC4kxF083tbhPljl3Q== + version "18.5.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.5.0.tgz#b50b317dfef81f34ff46ef581a5a4a11dafcae59" + integrity sha512-XGmU4u3Z7bCn0H0nTEG9LUn6hMDUIPP4P6dun7PKFhtnt/wwiKAqmPj+QRmFiqWjkOWcmrh7w7xRiDL32cWS5g== dependencies: conventional-changelog-conventionalcommits "^7.0.2" From 6f81c005154b2bf37f5a29410a3da66c853569c1 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Tue, 23 Jan 2024 06:06:23 +0000 Subject: [PATCH 0198/1313] Fix errors found by BJB --- designs/lumina/i18n/en.json | 10 +++++----- designs/lumina/src/index.mjs | 8 -------- designs/lumina/src/leg.mjs | 8 ++++---- designs/lumina/src/waistband.mjs | 13 ++++++++++--- designs/lumira/src/shape.mjs | 2 +- markdown/org/docs/designs/lumina/fabric/en.md | 6 +++--- markdown/org/docs/designs/lumina/options/de.md | 4 ++-- .../org/docs/designs/lumina/options/ease/de.md | 8 ++++---- .../org/docs/designs/lumina/options/ease/en.md | 18 ++++++++++++++++++ .../org/docs/designs/lumina/options/ease/es.md | 8 ++++---- .../org/docs/designs/lumina/options/ease/fr.md | 8 ++++---- .../org/docs/designs/lumina/options/ease/nl.md | 14 ++++++++++++-- .../org/docs/designs/lumina/options/ease/uk.md | 8 ++++---- markdown/org/docs/designs/lumina/options/en.md | 4 ++-- markdown/org/docs/designs/lumina/options/es.md | 4 ++-- markdown/org/docs/designs/lumina/options/fr.md | 4 ++-- markdown/org/docs/designs/lumina/options/nl.md | 4 ++-- .../designs/lumina/options/sidepanelsize/en.md | 10 ++++++++++ markdown/org/docs/designs/lumina/options/uk.md | 4 ++-- 19 files changed, 91 insertions(+), 54 deletions(-) diff --git a/designs/lumina/i18n/en.json b/designs/lumina/i18n/en.json index 18e6ad9d0ca..60d27a6076b 100644 --- a/designs/lumina/i18n/en.json +++ b/designs/lumina/i18n/en.json @@ -4,15 +4,15 @@ "p": { "shape": "Shape", "leg": "Leg", - "panel": "Side Pannel", + "panel": "Side panel", "pocket": "Pocket", "waistband": "Waistband" }, "s": { - "couldNotLowerWaist": "Could not lower the waist", - "cantFitTheWaistPoint": "Cannot fit the waist point", - "couldNoFitWaistband": "Could not fit the waistband", - "couldNotCreatePocket": "Could not create the pocket", + "couldNotLowerWaist.t": "Could not lower the waist", + "cantFitTheWaistPoint.t": "Cannot fit the waist point", + "couldNoFitWaistband.t": "Could not fit the waistband", + "couldNotCreatePocket.t": "Could not create the pocket", "dimensions.d": "Dimensions", "dimensions.t": "Waistband will be {{{ waistbandlength }}} long total.\nThe length of the garment along the side will be {{{ length }}}." }, diff --git a/designs/lumina/src/index.mjs b/designs/lumina/src/index.mjs index e1082e1bb3d..85f68e79c47 100644 --- a/designs/lumina/src/index.mjs +++ b/designs/lumina/src/index.mjs @@ -18,11 +18,3 @@ const Lumina = new Design({ // Named exports export { i18n, Lumina, shape, panel, leg, waistband, pocket } - -// const classes = ['lining','canvas','mark','contrast','note','interfacing','various'] - -// http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A960%2C%22waistBack%22%3A440%2C%22hips%22%3A884%2C%22seat%22%3A980%2C%22seatBack%22%3A490%2C%22inseam%22%3A790%2C%22waistToSeat%22%3A230%2C%22waistToUpperLeg%22%3A280%2C%22waistToKnee%22%3A610%2C%22waistToHips%22%3A120%2C%22waistToFloor%22%3A1090%2C%22knee%22%3A415%2C%22ankle%22%3A230%2C%22crossSeam%22%3A800%2C%22crossSeamFront%22%3A380%2C%22heel%22%3A300%2C%22upperLeg%22%3A640%7D%7D - -// http://localhost:8000/new/lumina#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22length%22%3A1%2C%22waistreduction%22%3A0.1%2C%22waistLowering%22%3A0.012%2C%22waistlowering%22%3A0.181%7D%2C%22units%22%3A%22metric%22%7D - -// Climbing pants http://localhost:8000/new/lumina#view=%22draft%22&settings=%7B%22measurements%22%3A%7B%22waist%22%3A780%2C%22waistBack%22%3A360%2C%22hips%22%3A860%2C%22seat%22%3A980%2C%22seatBack%22%3A510%2C%22inseam%22%3A680%2C%22waistToSeat%22%3A200%2C%22waistToUpperLeg%22%3A250%2C%22waistToKnee%22%3A500%2C%22waistToHips%22%3A90%2C%22waistToFloor%22%3A890%2C%22knee%22%3A360%2C%22ankle%22%3A220%2C%22crossSeam%22%3A620%2C%22crossSeamFront%22%3A290%2C%22heel%22%3A280%2C%22upperLeg%22%3A580%7D%2C%22options%22%3A%7B%22waistreduction%22%3A0%2C%22ease%22%3A0.1%2C%22length%22%3A0.945%2C%22waistband%22%3Afalse%2C%22pocket%22%3Afalse%2C%22waistlowering%22%3A0.2%7D%2C%22sabool%22%3A1%2C%22sa%22%3A10%2C%22samm%22%3A10%7D diff --git a/designs/lumina/src/leg.mjs b/designs/lumina/src/leg.mjs index 1d5704f5492..69d98f20852 100644 --- a/designs/lumina/src/leg.mjs +++ b/designs/lumina/src/leg.mjs @@ -65,16 +65,16 @@ export const leg = { if (!points.frontSplitWaistband.sitsRoughlyOn(front)) { macro('hd', { id: 'middleToFront', - from: points.middleUpperLeg, - to: front, + from: front, + to: points.middleUpperLeg, y: top.y - sa - 35, }) } if (!points.backSplitWaistband.sitsRoughlyOn(back)) { macro('hd', { id: 'middleToBack', - from: back, - to: points.middleUpperLeg, + from: points.middleUpperLeg, + to: back, y: top.y - sa - 35, }) } diff --git a/designs/lumina/src/waistband.mjs b/designs/lumina/src/waistband.mjs index 54d7f63e133..319d9cf2e24 100644 --- a/designs/lumina/src/waistband.mjs +++ b/designs/lumina/src/waistband.mjs @@ -37,6 +37,13 @@ export const waistband = { const radius = (waistLength * 0.5) / Math.sin(angleRad) const baseAngle = waistLength < waistbandLength ? 270 : 90 let angle = utils.rad2deg(angleRad) + if (isNaN(angle)) { + log.info('lumina:couldNoFitWaistband') + store.flag.note({ + msg: `lumina:couldNoFitWaistband`, + }) + return part.hide() + } let diff = 0 let iter = 0 @@ -114,10 +121,10 @@ export const waistband = { .setClass('hidden') let top = paths.waist.edge('top') - if (top.y == points.waistFront.y) { + if (top.y == points.waistBack.y) { top = paths.waist.edge('bottom') } - let bottom = paths.waistband.edge('bottom') + let bottom = paths.waistband.shiftFractionAlong(0.5) if (bottom.y == points.waistbandFront.y) { bottom = paths.waistband.edge('top') } @@ -167,7 +174,7 @@ export const waistband = { id: 'bottom', from: points.waistbandBack, to: points.waistbandFront, - y: Math.max(points.waistbandFront.y, bottom.y) + sa + 15, + y: Math.max(points.waistbandFront.y, Math.max(bottom.y, points.waistbandBack.y)) + sa + 15, }) macro('vd', { id: 'top', diff --git a/designs/lumira/src/shape.mjs b/designs/lumira/src/shape.mjs index 15aa0c06812..1693277241b 100644 --- a/designs/lumira/src/shape.mjs +++ b/designs/lumira/src/shape.mjs @@ -28,7 +28,7 @@ export const controlPoints = (p1, p2, p3, cpDistanceDivider) => { return { cp1: p1.clone(), cp2: cp2 } } if (p3 !== undefined && p2.sitsRoughlyOn(p3)) { - return { cp1: cp1.clone(), cp2: p3.clone() } + return { cp1: cp1, cp2: p3.clone() } } return { cp1: cp1, cp2: cp2 } } diff --git a/markdown/org/docs/designs/lumina/fabric/en.md b/markdown/org/docs/designs/lumina/fabric/en.md index a5d75a18050..e1246c5d5be 100644 --- a/markdown/org/docs/designs/lumina/fabric/en.md +++ b/markdown/org/docs/designs/lumina/fabric/en.md @@ -13,15 +13,15 @@ getting a good fit. If the ease setting is larger than 0 (positive ease), any type of knit fabric can be used. Keep in mind that even with the ease -set at the maximum, you probably will not be able to use a fabric with no stretch at all (a wovel fabric). +set at the maximum, you probably will not be able to use a fabric with no stretch at all (a woven fabric). -These fabrics come in different weights. Pick one that works for how you intent to use it. Thicker fabrics provide more support +These fabrics come in different weights. Pick one that works for how you intend to use it. Thicker fabrics provide more support and warmth. For yoga pants, take something that has a medium thickness. Supplex is a good choice for this. It also works well for cycling. For -other athletic use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. +other athletics use fabrics that would be appropriate for that. Most fabrics that contain spandex will work. diff --git a/markdown/org/docs/designs/lumina/options/de.md b/markdown/org/docs/designs/lumina/options/de.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/de.md +++ b/markdown/org/docs/designs/lumina/options/de.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + diff --git a/markdown/org/docs/designs/lumina/options/ease/de.md b/markdown/org/docs/designs/lumina/options/ease/de.md index 1cf4921212d..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/de.md +++ b/markdown/org/docs/designs/lumina/options/ease/de.md @@ -4,16 +4,16 @@ title: "Ease" *** -Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. -With a positive ease, these leggings will tuirn into slightly loose fitting pants +With a positive ease, these leggings will turn into slightly loose fitting pants diff --git a/markdown/org/docs/designs/lumina/options/ease/en.md b/markdown/org/docs/designs/lumina/options/ease/en.md index 8b137891791..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/en.md +++ b/markdown/org/docs/designs/lumina/options/ease/en.md @@ -1 +1,19 @@ +--- +title: "Ease" +--- +*** + +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. + + +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will turn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/ease/es.md b/markdown/org/docs/designs/lumina/options/ease/es.md index 1cf4921212d..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/es.md +++ b/markdown/org/docs/designs/lumina/options/ease/es.md @@ -4,16 +4,16 @@ title: "Ease" *** -Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. -With a positive ease, these leggings will tuirn into slightly loose fitting pants +With a positive ease, these leggings will turn into slightly loose fitting pants diff --git a/markdown/org/docs/designs/lumina/options/ease/fr.md b/markdown/org/docs/designs/lumina/options/ease/fr.md index 1cf4921212d..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/fr.md +++ b/markdown/org/docs/designs/lumina/options/ease/fr.md @@ -4,16 +4,16 @@ title: "Ease" *** -Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. -With a positive ease, these leggings will tuirn into slightly loose fitting pants +With a positive ease, these leggings will turn into slightly loose fitting pants diff --git a/markdown/org/docs/designs/lumina/options/ease/nl.md b/markdown/org/docs/designs/lumina/options/ease/nl.md index 4ae9e35b387..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/nl.md +++ b/markdown/org/docs/designs/lumina/options/ease/nl.md @@ -4,6 +4,16 @@ title: "Ease" *** -Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narrower than the measurements would dictate. +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. + +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease +too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease +negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all +places, without being too tight. + + + +With a positive ease, these leggings will turn into slightly loose fitting pants + diff --git a/markdown/org/docs/designs/lumina/options/ease/uk.md b/markdown/org/docs/designs/lumina/options/ease/uk.md index 1cf4921212d..46458170021 100644 --- a/markdown/org/docs/designs/lumina/options/ease/uk.md +++ b/markdown/org/docs/designs/lumina/options/ease/uk.md @@ -4,16 +4,16 @@ title: "Ease" *** -Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +Controls the amount of ease built into the pattern. Since these are leggings that are to be made of stretch fabric, +the ease is nagative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. -With a positive ease, these leggings will tuirn into slightly loose fitting pants +With a positive ease, these leggings will turn into slightly loose fitting pants diff --git a/markdown/org/docs/designs/lumina/options/en.md b/markdown/org/docs/designs/lumina/options/en.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/en.md +++ b/markdown/org/docs/designs/lumina/options/en.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + diff --git a/markdown/org/docs/designs/lumina/options/es.md b/markdown/org/docs/designs/lumina/options/es.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/es.md +++ b/markdown/org/docs/designs/lumina/options/es.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + diff --git a/markdown/org/docs/designs/lumina/options/fr.md b/markdown/org/docs/designs/lumina/options/fr.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/fr.md +++ b/markdown/org/docs/designs/lumina/options/fr.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + diff --git a/markdown/org/docs/designs/lumina/options/nl.md b/markdown/org/docs/designs/lumina/options/nl.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/nl.md +++ b/markdown/org/docs/designs/lumina/options/nl.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + diff --git a/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md b/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md index 8b137891791..80e25f47b11 100644 --- a/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md +++ b/markdown/org/docs/designs/lumina/options/sidepanelsize/en.md @@ -1 +1,11 @@ +--- +title: "Side panel side" +--- + +*** + +Controls the width of the side panel. This is a percentage of the waist. + + + diff --git a/markdown/org/docs/designs/lumina/options/uk.md b/markdown/org/docs/designs/lumina/options/uk.md index 28b2581450d..7b6330f3b63 100644 --- a/markdown/org/docs/designs/lumina/options/uk.md +++ b/markdown/org/docs/designs/lumina/options/uk.md @@ -1,5 +1,5 @@ --- -title: "Lumira leggings: Design Options" +title: "Lumina leggings: Design Options" --- - + From 09f127df73b439e4c3bb7a481004858f09639fe0 Mon Sep 17 00:00:00 2001 From: BenJamesBen <109869956+BenJamesBen@users.noreply.github.com> Date: Tue, 23 Jan 2024 05:50:49 -0800 Subject: [PATCH 0199/1313] Update markdown/org/docs/designs/bee/instructions/en.md Co-authored-by: bobgeorgethe3rd --- markdown/org/docs/designs/bee/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/instructions/en.md b/markdown/org/docs/designs/bee/instructions/en.md index f0d190ff587..9180880a3af 100644 --- a/markdown/org/docs/designs/bee/instructions/en.md +++ b/markdown/org/docs/designs/bee/instructions/en.md @@ -85,7 +85,7 @@ There are also notches on either side of the band piece's midpoint to help give -You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the other notches and lay their fronts pass the midpoint with the left on top. +You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From fc8bf5b4d6e7adf236656c6fda421b3a8cf63576 Mon Sep 17 00:00:00 2001 From: BenJamesBen <109869956+BenJamesBen@users.noreply.github.com> Date: Tue, 23 Jan 2024 05:51:00 -0800 Subject: [PATCH 0200/1313] Update markdown/org/docs/designs/hi/options/hungry/en.md Co-authored-by: bobgeorgethe3rd --- markdown/org/docs/designs/hi/options/hungry/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/en.md b/markdown/org/docs/designs/hi/options/hungry/en.md index b1a13581521..b7295868b53 100644 --- a/markdown/org/docs/designs/hi/options/hungry/en.md +++ b/markdown/org/docs/designs/hi/options/hungry/en.md @@ -2,7 +2,7 @@ title: "Hungry" --- -This setting determine how long it has been since your Hi has had +This setting determines how long it has been since your Hi has had something to eat. More hungry results in a leaner shark. From c8134b18c76adfa21aaad9033d82cdc576f72eed Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 23 Jan 2024 08:14:43 -0800 Subject: [PATCH 0201/1313] fix(org): Fix web page typos --- sites/org/components/crowdin/suggest-language.mjs | 4 ++-- sites/org/pages/confirm/signup-aea.mjs | 2 +- sites/org/pages/confirm/signup.mjs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sites/org/components/crowdin/suggest-language.mjs b/sites/org/components/crowdin/suggest-language.mjs index 460159ecc01..268a5061e46 100644 --- a/sites/org/components/crowdin/suggest-language.mjs +++ b/sites/org/components/crowdin/suggest-language.mjs @@ -113,7 +113,7 @@ export const SuggestLanguageForm = () => {
Are you looking to suggest a language that is not in the list?

The list of languages above does obviously not include all languages. Instead, - it is limimted to the list of langauges that are supported by{' '} + it is limited to the list of langauges that are supported by{' '} , a machine-learning tool that can help translators with suggestions that make for an efficient translation experience.

@@ -124,7 +124,7 @@ export const SuggestLanguageForm = () => {

If you are committed to translating FreeSewing to a language not in the list above, - please . + please .

)} diff --git a/sites/org/pages/confirm/signup-aea.mjs b/sites/org/pages/confirm/signup-aea.mjs index 0b33fc83263..2d99594de65 100644 --- a/sites/org/pages/confirm/signup-aea.mjs +++ b/sites/org/pages/confirm/signup-aea.mjs @@ -15,7 +15,7 @@ import { Popout } from 'shared/components/popout/index.mjs' // Translation namespaces used on this page const ns = nsMerge(pageNs, layoutNs, 'confirm', 'locales', 'themes', 'susi') -const SignupLinkExpired = () => Implement SignupLinkExpired compnonent +const SignupLinkExpired = () => Implement SignupLinkExpired component const ActiveSignUpPage = () => { const backend = useBackend() diff --git a/sites/org/pages/confirm/signup.mjs b/sites/org/pages/confirm/signup.mjs index 2fc0e66ebb1..0024e40fab9 100644 --- a/sites/org/pages/confirm/signup.mjs +++ b/sites/org/pages/confirm/signup.mjs @@ -18,7 +18,7 @@ import { ConsentForm, ns as gdprNs } from 'shared/components/gdpr/form.mjs' // Translation namespaces used on this page const ns = nsMerge(pageNs, layoutNs, gdprNs, 'confirm', 'susi') -const SignupLinkExpired = () => Implement SignupLinkExpired compnonent +const SignupLinkExpired = () => Implement SignupLinkExpired component const ConfirmSignUpPage = () => { // Hooks From 720d1225ae695acb47547c0b3353da0dce52d646 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Wed, 24 Jan 2024 02:17:41 +0000 Subject: [PATCH 0202/1313] Fix Ben's findings. --- designs/noble/src/frontinside.mjs | 2 - designs/tristan/src/backinside.mjs | 33 +++++++++++---- designs/tristan/src/backoutside.mjs | 26 +++++++++--- designs/tristan/src/frontinside.mjs | 40 +++++++++++-------- designs/tristan/src/frontoutside.mjs | 35 +++++++++++----- designs/tristan/src/index.mjs | 4 -- .../tristan/options/cutroundnessback/de.md | 2 +- .../tristan/options/cutroundnessback/en.md | 2 +- .../tristan/options/cutroundnessback/es.md | 2 +- .../tristan/options/cutroundnessback/fr.md | 2 +- .../tristan/options/cutroundnessback/nl.md | 2 +- .../tristan/options/cutroundnessback/uk.md | 2 +- .../tristan/options/cutroundnessfront/de.md | 2 +- .../tristan/options/cutroundnessfront/en.md | 2 +- .../tristan/options/cutroundnessfront/es.md | 2 +- .../tristan/options/cutroundnessfront/fr.md | 2 +- .../tristan/options/cutroundnessfront/nl.md | 2 +- .../tristan/options/cutroundnessfront/uk.md | 2 +- .../tristan/options/lacinglocation/de.md | 6 +-- .../tristan/options/lacinglocation/en.md | 6 +-- .../tristan/options/lacinglocation/es.md | 6 +-- .../tristan/options/lacinglocation/fr.md | 6 +-- .../tristan/options/lacinglocation/nl.md | 6 +-- .../tristan/options/lacinglocation/uk.md | 6 +-- .../tristan/options/peplumfullness/en.md | 2 +- .../tristan/options/upperdartlength/en.md | 2 +- .../tristan/options/zipperlocation/de.md | 6 +-- .../tristan/options/zipperlocation/en.md | 6 +-- .../tristan/options/zipperlocation/es.md | 6 +-- .../tristan/options/zipperlocation/fr.md | 6 +-- .../tristan/options/zipperlocation/nl.md | 6 +-- .../tristan/options/zipperlocation/uk.md | 6 +-- 32 files changed, 142 insertions(+), 98 deletions(-) diff --git a/designs/noble/src/frontinside.mjs b/designs/noble/src/frontinside.mjs index 158a33cbe85..149adfab83c 100644 --- a/designs/noble/src/frontinside.mjs +++ b/designs/noble/src/frontinside.mjs @@ -30,8 +30,6 @@ export const frontInside = { delete points.bustDartMiddle delete points.bustDartEdge - points.shoulderDartTipCpDownInside.addCircle(5) - if (options.dartPosition == 'shoulder') { paths.insideSeam = new Path() .move(points.cfHem) diff --git a/designs/tristan/src/backinside.mjs b/designs/tristan/src/backinside.mjs index 1036230f5ac..d1deb383abf 100644 --- a/designs/tristan/src/backinside.mjs +++ b/designs/tristan/src/backinside.mjs @@ -50,18 +50,20 @@ export const backInside = { .addClass('note dashed') .addText('hem', 'center note') } else { - paths.hem = new Path().move(points.waistCenter).line(points.dartBottomLeft).hide() + paths.hem = new Path() + .move(lacing ? points.lacingWaist : points.waistCenter) + .line(points.dartBottomLeft) + .hide() } - paths.seam = new Path() - .move(points.strapInside) - .join(paths.cut) - .join(paths.hem) + paths.seamSA = new Path() + .move(points.dartBottomLeft) .curve(points.dartLeftCp, points.shoulderDartCpDown, points.dartTip) .curve(points.shoulderDartCpUp, points.shoulderDart, points.shoulderDart) .line(points.strapInside) - .close() - .attr('class', 'fabric') + .join(paths.cut) + + paths.seam = paths.seamSA.clone().join(paths.hem).close().attr('class', 'fabric') points.grainlineFrom = new Point(points.dartBottomLeft.x - 10, points.cbCut.y) points.grainlineTo = new Point(points.dartBottomLeft.x - 10, points.waistSide.y) @@ -83,7 +85,22 @@ export const backInside = { }) if (sa) { - paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + if (options.hem && !options.peplum) { + paths.sa = new Path() + .move(points.dartBottomLeftHem) + .join( + new Path() + .move(points.dartBottomLeftHem) + .line(points.dartBottomLeft) + .join(paths.seamSA) + .line(points.waistCenterHem) + .offset(sa) + ) + .line(points.waistCenterHem) + .attr('class', 'fabric sa') + } else { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } } macro('hd', { diff --git a/designs/tristan/src/backoutside.mjs b/designs/tristan/src/backoutside.mjs index ecf2c9afee0..5a5cfed4a68 100644 --- a/designs/tristan/src/backoutside.mjs +++ b/designs/tristan/src/backoutside.mjs @@ -32,14 +32,13 @@ export const backOutside = { } else { paths.hem = new Path().move(points.dartBottomRight).line(points.waistSide).hide() } - paths.seam = new Path() - .move(points.dartBottomRight) - .join(paths.hem) + paths.seamSA = new Path() + .move(points.waistSide) .curve_(points.waistSideCp2, points.armhole) .join(paths.cut) .join(paths.dart) - .close() - .attr('class', 'fabric') + + paths.seam = paths.seamSA.clone().join(paths.hem).close().attr('class', 'fabric') points.grainlineTo = new Point(points.dartBottomRight.x * 1.1, points.dartBottomRight.y * 0.95) points.grainlineFrom = new Point(points.grainlineTo.x, points.dartTip.y) @@ -60,7 +59,22 @@ export const backOutside = { }) if (sa) { - paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + if (options.hem && !options.peplum) { + paths.sa = new Path() + .move(points.waistSideHem) + .join( + new Path() + .move(points.waistSideHem) + .line(points.waistSide) + .join(paths.seamSA) + .line(points.dartBottomRightHem) + .offset(sa) + ) + .line(points.dartBottomRightHem) + .attr('class', 'fabric sa') + } else { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } } const pLeft = paths.dart.edge('left') diff --git a/designs/tristan/src/frontinside.mjs b/designs/tristan/src/frontinside.mjs index 74e0e25346f..4f98fb57b0e 100644 --- a/designs/tristan/src/frontinside.mjs +++ b/designs/tristan/src/frontinside.mjs @@ -45,9 +45,7 @@ export const frontInside = { if (options.hem && !options.peplum) { paths.insideSeam = new Path() - .move(lacing ? points.lacingWaist : points.cfWaist) - .line(points.cfHem) - .line(points.waistDartLeftHem) + .move(points.waistDartLeftHem) .line(points.waistDartLeft) .join(paths.insideSeamTemp) paths.hemFold = new Path() @@ -62,14 +60,14 @@ export const frontInside = { .join(paths.insideSeamTemp) } - paths.seam = paths.insideSeam - .join( - lacing - ? new Path().move(points.lacingCut).line(points.lacingWaist) - : new Path().move(points.cfCut).line(points.cfWaist) - ) - .close() - .attr('class', 'fabric') + const lacingPath = lacing + ? new Path().move(points.lacingCut).line(points.lacingWaist) + : new Path().move(points.cfCut).line(points.cfWaist) + if (options.hem && !options.peplum) { + lacingPath.line(points.cfHem) + } + + paths.seam = paths.insideSeam.clone().join(lacingPath).close().attr('class', 'fabric') store.set( 'shoulderDartTipNotch', @@ -138,13 +136,21 @@ export const frontInside = { if (sa) { if ('front' == options.zipperLocation) { - paths.sa = paths.seam - .offset(sa) - .line(lacing ? points.lacingCut : points.cfCut) - .attr('class', 'fabric sa') + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') } else { - paths.sa = paths.insideSeam.offset(sa).line(points.cfCut).attr('class', 'fabric sa') - paths.sa = paths.sa.move(points.cfWaist).line(paths.sa.start()) + if (options.hem && !options.peplum) { + paths.sa = new Path() + .move(points.waistDartLeftHem) + .join(paths.insideSeam.offset(sa)) + .line(lacing ? points.lacingCut : points.cfCut) + .attr('class', 'fabric sa') + } else { + paths.sa = new Path() + .move(lacing ? points.lacingWaist : points.cfWaist) + .join(paths.insideSeam.offset(sa)) + .line(lacing ? points.lacingCut : points.cfCut) + .attr('class', 'fabric sa') + } } } diff --git a/designs/tristan/src/frontoutside.mjs b/designs/tristan/src/frontoutside.mjs index a67e059b0ba..9b66adc8fd1 100644 --- a/designs/tristan/src/frontoutside.mjs +++ b/designs/tristan/src/frontoutside.mjs @@ -14,9 +14,6 @@ export const frontOutside = { delete points.bustB delete points.bustDartEdge - // macro('rmcutonfold') - // store.cutlist.removeCut() - paths.cut = new Path() .move(points.armhole) .curve(points.armholeCutCp, points.strapOutsideCp, points.strapOutside) @@ -51,19 +48,19 @@ export const frontOutside = { .addClass('note dashed') .addText('hem', 'center note') } else { - paths.hem = new Path().move(points.waistDartRight).hide() + paths.hem = new Path().move(points.waistDartRight).line(points.sideWaist).hide() } - paths.seam = new Path() - .move(points.waistDartRight) - .join(paths.hem) - .line(points.sideWaist) + paths.seamSA = new Path() + .move(points.sideWaist) .line(points.armhole) .join(paths.cut) .line(points.shoulderDartOutside) .join(paths.princessSeam) - .close() - .attr('class', 'fabric') + .line(points.waistDartRight) + .hide() + + paths.seam = paths.seamSA.clone().join(paths.hem).close().unhide().attr('class', 'fabric') points.grainTop = points.armhole.shift(225, 20) points.grainBottom = points.sideWaistInitial.shift(135, 20) @@ -93,7 +90,23 @@ export const frontOutside = { points.scaleboxAnchor.x = points.titleAnchor.x macro('miniscale', { at: points.scaleboxAnchor }) - if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + if (sa) { + if (options.hem && !options.peplum) { + paths.sa = new Path() + .move(points.sideWaistHem) + .join( + new Path() + .move(points.sideWaistHem) + .join(paths.seamSA) + .line(points.waistDartRightHem) + .offset(sa) + ) + .line(points.waistDartRightHem) + .attr('class', 'fabric sa') + } else { + paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + } + } const pLeft = paths.princessSeam.edge('left') macro('hd', { diff --git a/designs/tristan/src/index.mjs b/designs/tristan/src/index.mjs index 2a8ae4785ab..bf3a9aab97d 100644 --- a/designs/tristan/src/index.mjs +++ b/designs/tristan/src/index.mjs @@ -41,7 +41,3 @@ export { i18n, Tristan, } - -// http://localhost:8000/new/tristan#view=%22draft%22&settings=%7B%22measurements%22%3A%7B%22highBust%22%3A790%2C%22chest%22%3A840%2C%22underbust%22%3A735%2C%22waist%22%3A711%2C%22waistBack%22%3A358%2C%22bustSpan%22%3A190%2C%22neck%22%3A311%2C%22hpsToBust%22%3A245%2C%22hpsToWaistFront%22%3A415%2C%22hpsToWaistBack%22%3A410%2C%22shoulderToShoulder%22%3A390%2C%22shoulderSlope%22%3A15%7D%7D - -// lasermonkey12: http://localhost:8000/new/tristan#view=%22inspect%22&settings=%7B%22measurements%22%3A%7B%22highBust%22%3A889%2C%22chest%22%3A940%2C%22underbust%22%3A797%2C%22waist%22%3A787%2C%22waistBack%22%3A362%2C%22bustSpan%22%3A203%2C%22neck%22%3A381%2C%22hpsToBust%22%3A292%2C%22hpsToWaistFront%22%3A457%2C%22hpsToWaistBack%22%3A438%2C%22shoulderToShoulder%22%3A406%2C%22shoulderSlope%22%3A26%7D%2C%22options%22%3A%7B%22cutRoundnessFront%22%3A0.829%2C%22cutDepthFront%22%3A0.668%2C%22cutDepthBack%22%3A0.166%2C%22cutRoundnessBack%22%3A0.248%2C%22strapWidth%22%3A0.6%7D%7D diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/de.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/en.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/es.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/fr.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/nl.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md b/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md index 97e47a84305..23c941ab9a0 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessback/uk.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the back" *** The **Roundness of the cut in the back** controls the shape of the neckline will be in the back. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/de.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/en.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/es.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/fr.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/nl.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md b/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md index f3204c59b65..11d3564969c 100644 --- a/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md +++ b/markdown/org/docs/designs/tristan/options/cutroundnessfront/uk.md @@ -5,7 +5,7 @@ title: "Roundness of the cut in the front" *** The **Roundness of the cut in the front** controls the shape of the neckline will be in the front. -This will go fron V-neck to U- shaped, with a round option between those extremes. +This will go from V-neck to U- shaped, with a round option between those extremes. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/de.md b/markdown/org/docs/designs/tristan/options/lacinglocation/de.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/de.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/de.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/en.md b/markdown/org/docs/designs/tristan/options/lacinglocation/en.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/en.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/en.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/es.md b/markdown/org/docs/designs/tristan/options/lacinglocation/es.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/es.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/es.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md b/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/fr.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md b/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/nl.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md b/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md index 7868421791b..b536cf52a9b 100644 --- a/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md +++ b/markdown/org/docs/designs/tristan/options/lacinglocation/uk.md @@ -1,11 +1,11 @@ --- -title: "Zipper location" +title: "Lacing location" --- *** -The **zipper location** controls where the zipper should be inserted. -Options are in the front, in the back, or in the side seam. +The **lacing location** controls where the **lacing** option will be implemented. +Options are in the front, or in the back. diff --git a/markdown/org/docs/designs/tristan/options/peplumfullness/en.md b/markdown/org/docs/designs/tristan/options/peplumfullness/en.md index 9458ea05914..6513201ea49 100644 --- a/markdown/org/docs/designs/tristan/options/peplumfullness/en.md +++ b/markdown/org/docs/designs/tristan/options/peplumfullness/en.md @@ -4,7 +4,7 @@ title: "Peplum fullness" *** -The **peplum fullness** determins the amount of wrinkles in the peplum. This can +The **peplum fullness** determines the amount of wrinkles in the peplum. This can vary between 180 to 360 degree. Think of it as a half-circle to a full-circle skirt. diff --git a/markdown/org/docs/designs/tristan/options/upperdartlength/en.md b/markdown/org/docs/designs/tristan/options/upperdartlength/en.md index 74bed49c61f..2a790f863e8 100644 --- a/markdown/org/docs/designs/tristan/options/upperdartlength/en.md +++ b/markdown/org/docs/designs/tristan/options/upperdartlength/en.md @@ -4,7 +4,7 @@ title: "Upper Dart Length" *** -The **Upper Dart Length** controls the length of the upper dart, 100% is all teh way to the bust point. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/de.md b/markdown/org/docs/designs/tristan/options/zipperlocation/de.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/de.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/de.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/en.md b/markdown/org/docs/designs/tristan/options/zipperlocation/en.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/en.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/en.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/es.md b/markdown/org/docs/designs/tristan/options/zipperlocation/es.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/es.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/es.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md b/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/fr.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md b/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/nl.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. diff --git a/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md b/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md index b536cf52a9b..7868421791b 100644 --- a/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md +++ b/markdown/org/docs/designs/tristan/options/zipperlocation/uk.md @@ -1,11 +1,11 @@ --- -title: "Lacing location" +title: "Zipper location" --- *** -The **lacing location** controls where the **lacing** option will be implemented. -Options are in the front, or in the back. +The **zipper location** controls where the zipper should be inserted. +Options are in the front, in the back, or in the side seam. From 2bdf91e5e8a291cf9c669c2bb1e457f6d66866cf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 04:30:44 +0000 Subject: [PATCH 0203/1313] build(deps-dev): bump esbuild from 0.19.11 to 0.19.12 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.19.11 to 0.19.12. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.19.11...v0.19.12) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 238 ++++++++++++++++++------------------- 2 files changed, 120 insertions(+), 120 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 34120c2ad83..d96923b0bdd 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -49,7 +49,7 @@ "devDependencies": { "chai": "4.3.10", "chai-http": "4.4.0", - "esbuild": "0.19.11", + "esbuild": "0.19.12", "mocha": "10.2.0", "mocha-steps": "1.3.0", "nodemon": "3.0.3", diff --git a/yarn.lock b/yarn.lock index 92257400205..dd2d53b6ddc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1072,120 +1072,120 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/aix-ppc64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3" - integrity sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g== +"@esbuild/aix-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" + integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== -"@esbuild/android-arm64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz#b45d000017385c9051a4f03e17078abb935be220" - integrity sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q== +"@esbuild/android-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" + integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== -"@esbuild/android-arm@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz#f46f55414e1c3614ac682b29977792131238164c" - integrity sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw== +"@esbuild/android-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" + integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== -"@esbuild/android-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz#bfc01e91740b82011ef503c48f548950824922b2" - integrity sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg== +"@esbuild/android-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" + integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== -"@esbuild/darwin-arm64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz#533fb7f5a08c37121d82c66198263dcc1bed29bf" - integrity sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ== +"@esbuild/darwin-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" + integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== -"@esbuild/darwin-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz#62f3819eff7e4ddc656b7c6815a31cf9a1e7d98e" - integrity sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g== +"@esbuild/darwin-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" + integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== -"@esbuild/freebsd-arm64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz#d478b4195aa3ca44160272dab85ef8baf4175b4a" - integrity sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA== +"@esbuild/freebsd-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" + integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== -"@esbuild/freebsd-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz#7bdcc1917409178257ca6a1a27fe06e797ec18a2" - integrity sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw== +"@esbuild/freebsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" + integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== -"@esbuild/linux-arm64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz#58ad4ff11685fcc735d7ff4ca759ab18fcfe4545" - integrity sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg== +"@esbuild/linux-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" + integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== -"@esbuild/linux-arm@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz#ce82246d873b5534d34de1e5c1b33026f35e60e3" - integrity sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q== +"@esbuild/linux-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" + integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== -"@esbuild/linux-ia32@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz#cbae1f313209affc74b80f4390c4c35c6ab83fa4" - integrity sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA== +"@esbuild/linux-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" + integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== -"@esbuild/linux-loong64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz#5f32aead1c3ec8f4cccdb7ed08b166224d4e9121" - integrity sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg== +"@esbuild/linux-loong64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" + integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== -"@esbuild/linux-mips64el@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz#38eecf1cbb8c36a616261de858b3c10d03419af9" - integrity sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg== +"@esbuild/linux-mips64el@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" + integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== -"@esbuild/linux-ppc64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz#9c5725a94e6ec15b93195e5a6afb821628afd912" - integrity sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA== +"@esbuild/linux-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" + integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== -"@esbuild/linux-riscv64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz#2dc4486d474a2a62bbe5870522a9a600e2acb916" - integrity sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ== +"@esbuild/linux-riscv64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" + integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== -"@esbuild/linux-s390x@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz#4ad8567df48f7dd4c71ec5b1753b6f37561a65a8" - integrity sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q== +"@esbuild/linux-s390x@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" + integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== -"@esbuild/linux-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz#b7390c4d5184f203ebe7ddaedf073df82a658766" - integrity sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA== +"@esbuild/linux-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" + integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== -"@esbuild/netbsd-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz#d633c09492a1721377f3bccedb2d821b911e813d" - integrity sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ== +"@esbuild/netbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" + integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== -"@esbuild/openbsd-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz#17388c76e2f01125bf831a68c03a7ffccb65d1a2" - integrity sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw== +"@esbuild/openbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" + integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== -"@esbuild/sunos-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz#e320636f00bb9f4fdf3a80e548cb743370d41767" - integrity sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ== +"@esbuild/sunos-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" + integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== -"@esbuild/win32-arm64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz#c778b45a496e90b6fc373e2a2bb072f1441fe0ee" - integrity sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ== +"@esbuild/win32-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" + integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== -"@esbuild/win32-ia32@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz#481a65fee2e5cce74ec44823e6b09ecedcc5194c" - integrity sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg== +"@esbuild/win32-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" + integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== -"@esbuild/win32-x64@0.19.11": - version "0.19.11" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz#a5d300008960bb39677c46bf16f53ec70d8dee04" - integrity sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw== +"@esbuild/win32-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" + integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" @@ -5300,34 +5300,34 @@ esbuild-plugin-yaml@^0.0.1: fs-extra "^9.1.0" js-yaml "^4.0.0" -esbuild@0.19.11, esbuild@^0.19.0: - version "0.19.11" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.11.tgz#4a02dca031e768b5556606e1b468fe72e3325d96" - integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== +esbuild@0.19.12, esbuild@^0.19.0: + version "0.19.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" + integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== optionalDependencies: - "@esbuild/aix-ppc64" "0.19.11" - "@esbuild/android-arm" "0.19.11" - "@esbuild/android-arm64" "0.19.11" - "@esbuild/android-x64" "0.19.11" - "@esbuild/darwin-arm64" "0.19.11" - "@esbuild/darwin-x64" "0.19.11" - "@esbuild/freebsd-arm64" "0.19.11" - "@esbuild/freebsd-x64" "0.19.11" - "@esbuild/linux-arm" "0.19.11" - "@esbuild/linux-arm64" "0.19.11" - "@esbuild/linux-ia32" "0.19.11" - "@esbuild/linux-loong64" "0.19.11" - "@esbuild/linux-mips64el" "0.19.11" - "@esbuild/linux-ppc64" "0.19.11" - "@esbuild/linux-riscv64" "0.19.11" - "@esbuild/linux-s390x" "0.19.11" - "@esbuild/linux-x64" "0.19.11" - "@esbuild/netbsd-x64" "0.19.11" - "@esbuild/openbsd-x64" "0.19.11" - "@esbuild/sunos-x64" "0.19.11" - "@esbuild/win32-arm64" "0.19.11" - "@esbuild/win32-ia32" "0.19.11" - "@esbuild/win32-x64" "0.19.11" + "@esbuild/aix-ppc64" "0.19.12" + "@esbuild/android-arm" "0.19.12" + "@esbuild/android-arm64" "0.19.12" + "@esbuild/android-x64" "0.19.12" + "@esbuild/darwin-arm64" "0.19.12" + "@esbuild/darwin-x64" "0.19.12" + "@esbuild/freebsd-arm64" "0.19.12" + "@esbuild/freebsd-x64" "0.19.12" + "@esbuild/linux-arm" "0.19.12" + "@esbuild/linux-arm64" "0.19.12" + "@esbuild/linux-ia32" "0.19.12" + "@esbuild/linux-loong64" "0.19.12" + "@esbuild/linux-mips64el" "0.19.12" + "@esbuild/linux-ppc64" "0.19.12" + "@esbuild/linux-riscv64" "0.19.12" + "@esbuild/linux-s390x" "0.19.12" + "@esbuild/linux-x64" "0.19.12" + "@esbuild/netbsd-x64" "0.19.12" + "@esbuild/openbsd-x64" "0.19.12" + "@esbuild/sunos-x64" "0.19.12" + "@esbuild/win32-arm64" "0.19.12" + "@esbuild/win32-ia32" "0.19.12" + "@esbuild/win32-x64" "0.19.12" escalade@^3.1.1: version "3.1.1" From 556f01e046ea7dcb288cb148c3e3775fe6eb1ad4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 04:32:01 +0000 Subject: [PATCH 0204/1313] build(deps): bump dotenv from 16.3.2 to 16.4.0 Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.3.2 to 16.4.0. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.3.2...v16.4.0) --- updated-dependencies: - dependency-name: dotenv dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 34120c2ad83..0dc03383631 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -32,7 +32,7 @@ "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", - "dotenv": "16.3.2", + "dotenv": "16.4.0", "express": "4.18.2", "js-yaml": "4.1.0", "lodash.get": "4.4.2", diff --git a/yarn.lock b/yarn.lock index 92257400205..1a6edc848d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5019,7 +5019,12 @@ dotenv-expand@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== -dotenv@16.3.2, dotenv@~16.3.1: +dotenv@16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.0.tgz#ac21c3fcaad2e7832a1cd0c0e4e8e52225ecda0e" + integrity sha512-WvImr5kpN5NGNn7KaDjJnLTh5rDVLZiDf/YLA8T1ZEZEBZNEDOE+mnkS0PVjPax8ZxBP5zC5SLMB3/9VV5de9g== + +dotenv@~16.3.1: version "16.3.2" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.2.tgz#3cb611ce5a63002dbabf7c281bc331f69d28f03f" integrity sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ== From 27754b8a36ecd235355d5423e95778b8d8a456f1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 08:24:44 +0100 Subject: [PATCH 0205/1313] Update markdown/org/docs/designs/charlie/options/beltloops/en.md Co-authored-by: bobgeorgethe3rd --- markdown/org/docs/designs/charlie/options/beltloops/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/en.md b/markdown/org/docs/designs/charlie/options/beltloops/en.md index b30f55512f1..e4f7166ff2d 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/en.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/en.md @@ -2,7 +2,7 @@ title: "Belt loops" --- -Control how many beltloops we'll generate. +Controls how many beltloops we'll generate. From 8f2d3978711c4873948e8f3330bbd998098fc49b Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 07:38:16 +0000 Subject: [PATCH 0206/1313] docs: update CONTRIBUTORS.md [skip ci] --- CONTRIBUTORS.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index efc60d595e1..b0623bc3859 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -113,55 +113,56 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
SoneaTheBest
SoneaTheBest

🌍 Sophia
Sophia

💻 Stefan Sydow
Stefan Sydow

🌍 📖 💻 + Stefano
Stefano

📖 Sushmita Biswas
Sushmita Biswas

💻 - Tanay Toshniwal
Tanay Toshniwal

💻 + Tanay Toshniwal
Tanay Toshniwal

💻 Trent Trama
Trent Trama

💻 Tríona
Tríona

📖 Unmutual
Unmutual

📖 Vili Sinervä
Vili Sinervä

💻 Vili Sinervä
Vili Sinervä

💻 Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧 - Yash Anil Ambekar
Yash Anil Ambekar

📖 + Yash Anil Ambekar
Yash Anil Ambekar

📖 amysews
amysews

📖 anna-puk
anna-puk

💻 beautifulsummermoon
beautifulsummermoon

🌍 berce
berce

📖 biou
biou

💻 bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨 - brmlyklr
brmlyklr

📖 + brmlyklr
brmlyklr

📖 chri5b
chri5b

💻 ⚠️ dingcycle
dingcycle

🌍 drowned-in-books
drowned-in-books

💬 econo202
econo202

📖 ericamattos
ericamattos

🌍 evilrobotfromouterspace
evilrobotfromouterspace

🐛 - fightingrabbit
fightingrabbit

💻 + fightingrabbit
fightingrabbit

💻 gaylyndie
gaylyndie

📖 grimlokason
grimlokason

💻 hellgy
hellgy

🎨 jackseye
jackseye

📖 marckiesel
marckiesel

🌍 marpants
marpants

💻 - mergerg
mergerg

📖 + mergerg
mergerg

📖 mesil
mesil

🐛 starfetch
starfetch

💻 📖 🌍 🎨 timorl
timorl

💻 ttimearl
ttimearl

🖋 tuesgloomsday
tuesgloomsday

📖 valadaptive
valadaptive

💻 - viocky
viocky

🌍 + viocky
viocky

🌍 woolishboy
woolishboy

💻 yc
yc

🌍 From 57c5165ecf4742892131d4747f9ec256b95777d5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 07:38:17 +0000 Subject: [PATCH 0207/1313] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 7457c70f90f..cdfa650abf8 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1131,6 +1131,15 @@ "contributions": [ "bug" ] + }, + { + "login": "LunaticMuch", + "name": "Stefano", + "avatar_url": "https://avatars.githubusercontent.com/u/1659414?v=4", + "profile": "https://stefanocislaghi.com", + "contributions": [ + "doc" + ] } ], "skipCi": true, From 5f67c7af97ebd32c6357c87c6deb4aff6c914740 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:21:39 +0100 Subject: [PATCH 0208/1313] New translations en.md (French) skip-build --- markdown/org/docs/measurements/bustfront/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/fr.md b/markdown/org/docs/measurements/bustfront/fr.md index fe4788bfce8..4f1262a154f 100644 --- a/markdown/org/docs/measurements/bustfront/fr.md +++ b/markdown/org/docs/measurements/bustfront/fr.md @@ -4,5 +4,5 @@ title: Largeur de poitrine avant La **largeur de poitrine avant** est la partie avant de votre tour de poitrine. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From fe2c280c9344aa7d9d79c9e8b1d4635be9b89609 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:21:55 +0100 Subject: [PATCH 0209/1313] New translations en.md (French) skip-build --- markdown/org/docs/measurements/shoulderslope/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/fr.md b/markdown/org/docs/measurements/shoulderslope/fr.md index 97048777e15..dead187e2e7 100644 --- a/markdown/org/docs/measurements/shoulderslope/fr.md +++ b/markdown/org/docs/measurements/shoulderslope/fr.md @@ -6,7 +6,7 @@ La mesure de **pente d'épaule** est un indicateur de la façon dont vos épaule Pour mesurer la pente de votre épaule, vous devez déterminer l'angle à partir duquel votre ligne d'épaule descend. -Une bonne façon de mesurer votre pente d'épaule est de prendre un selfie et de le faire pivoter jusqu'à ce que votre ligne d'épaule soit horizontale. +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. L'angle que vous avez dû tourner est votre pente des épaules. From a2390b4676e1436aec370cd79ed15e1503b336e5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:22:11 +0100 Subject: [PATCH 0210/1313] New translations en.md (French) skip-build --- markdown/org/docs/sewing/double-welt-pockets/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/fr.md b/markdown/org/docs/sewing/double-welt-pockets/fr.md index ef45515969d..8c92742d5d6 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/fr.md +++ b/markdown/org/docs/sewing/double-welt-pockets/fr.md @@ -114,7 +114,7 @@ Marquez la poche passepoilée de la façon suivante : - Alignez l'ouverture centrale de la poche avec une ligne horizontale. Laissez-la dépasser pour vous aider à aligner les rabats plus tard - Marquez deux lignes horizontales parallèles à la ligne centrale, à un écart égal à la hauteur d'un rabat (0,5cm dans notre exemple) -La partie des lignes horizontales parallèle à la ligne centrale qui se situe entre les lignes verticales est l'endroit où nous coudrons nos rabats en place. Cela est illustré par les lignes rouges. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. Cela est illustré par les lignes rouges. ### Étape 3 : Pliez et pressez les rabats From 1b4e4424ac9f2b0b0d4c3114f5bd10ab33a91a73 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:22:13 +0100 Subject: [PATCH 0211/1313] New translations en.md (French) skip-build --- markdown/org/docs/sewing/edgestitching/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/fr.md b/markdown/org/docs/sewing/edgestitching/fr.md index ddfa567e944..c0f65cf7d5c 100644 --- a/markdown/org/docs/sewing/edgestitching/fr.md +++ b/markdown/org/docs/sewing/edgestitching/fr.md @@ -2,7 +2,7 @@ title: Surpiqûre nervure --- -La surpiqûre nervure est un type spécifique de _surpiqûre_. Elle est spécifique en raison de son emplacement. Faire une surpiqûre nervure signifie faire une surpiqûre juste à côté d'une couture, généralement environ 3 mm ou 1/8 de pouce à côté de celle-ci. +Edgestitching is a specific type of _topstitching_. Elle est spécifique en raison de son emplacement. Faire une surpiqûre nervure signifie faire une surpiqûre juste à côté d'une couture, généralement environ 3 mm ou 1/8 de pouce à côté de celle-ci. ![Surpiqûre nervure sur un sweat à capuche Hugo de FreeSewing](edgestitching.jpg) From 1120afeb89c3a74aef0fb67fe4ce91ce986ff5f5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:16 +0100 Subject: [PATCH 0212/1313] New translations en.yaml (French) skip-build --- sites/org/components/footer/fr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/fr.yaml b/sites/org/components/footer/fr.yaml index 198ebbc924a..cc9ba336f10 100644 --- a/sites/org/components/footer/fr.yaml +++ b/sites/org/components/footer/fr.yaml @@ -1,7 +1,7 @@ cc: Le contenu de FreeSewing.org est disponible sous une licence Creative Commons -mit: Le code source de FreeSewing est disponible sur Github sous la licence MIT +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing est sponsorisé par ces entreprises géniales algolia: Recherche alimentée par Algolia crowdin: Traduction optimisée par Crowdin -bugsnag: Traitement des erreurs par Bugsnag +bugsnag: Error handling by BugSnag vercel: Constructions et hébergement par Vercel From 98072173e75a8c8e10b69b91df84d7187f074753 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:17 +0100 Subject: [PATCH 0213/1313] New translations en.yaml (French) skip-build --- sites/org/pages/translation/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/fr.yaml b/sites/org/pages/translation/fr.yaml index 2120e1d74a2..70ebd4b7bc0 100644 --- a/sites/org/pages/translation/fr.yaml +++ b/sites/org/pages/translation/fr.yaml @@ -8,7 +8,7 @@ translatedOnly: Traduit mais pas (encore) approuvé par un relecteur notTranslated: Pas (encore) traduit defaultLanguage: C'est notre langue source et la langue de travail du projet FreeSewing addLanguage1: Tu veux ajouter une langue ? -addLanguage2: Nous aimerions que FreeSewing soit disponible dans plus de langues. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: Si tu souhaites lancer un nouvel effort de traduction, n'hésite pas à nous contacter. globalRanking: Classement mondial groupByLanguage: Groupe par langue From 49ed8bf2a0b18cf7f01481ef8701e979de4c4201 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:18 +0100 Subject: [PATCH 0214/1313] New translations en.yaml (French) skip-build --- sites/shared/components/account/fr.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/fr.yaml b/sites/shared/components/account/fr.yaml index 0805a7bc6ff..378336dd1a3 100644 --- a/sites/shared/components/account/fr.yaml +++ b/sites/shared/components/account/fr.yaml @@ -108,10 +108,10 @@ controlTitle: Quelle expérience utilisateur préfères-tu ? #img imgTitle: Que dirais-tu d'une photo ? imgDragAndDropImageHere: Glisse et dépose une image ici -imgPasteUrlHere: Colle ici l'emplacement d'une image (url) +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Sélectionne une image #newsletter -newsletterTitle: Veux-tu recevoir la lettre d'information de FreeSewing ? +newsletterTitle: Voulez-vous recevoir la newsletter de FreeSewing ? newsletterYes: Oui, je souhaite recevoir la lettre d'information newsletterYesd: Une fois tous les trois mois, tu recevras un courriel de notre part avec un contenu sain et honnête. Pas de suivi, pas de publicité, pas de bêtises. newsletterNod: Tu peux toujours changer d'avis plus tard. Mais tant que tu ne l'auras pas fait, nous ne t'enverrons pas de bulletin d'information. @@ -202,7 +202,7 @@ public: Public publicSet: Les mesures publiques sont fixées privateSet: Ensemble de mesures privées publicSetDesc: D'autres personnes sont autorisées à utiliser ces mesures pour générer ou tester des modèles. -privateSetDesc: Ces mesures ne peuvent pas être utilisées par d'autres utilisateurs ou visiteurs +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Lien permanent editThing: Modifier {thing} saveThing: Enregistrer {thing} @@ -211,8 +211,8 @@ noFilter: Ne pas filtrer filterByDesignDocs: Si tu as un modèle spécifique en tête, tu peux filtrer par modèle pour ne répertorier que les mesures nécessaires à ce modèle. setLacksMeasiesForDesign: Il manque à cet ensemble les mesures nécessaires pour ce modèle setHasMeasiesForDesign: Ce set contient toutes les mesures nécessaires pour ce modèle -someSetsLacking: Some of your sets lack the measurments required to generate this pattern -theseSetsReady: Ces ensembles ont toutes les mesures requises pour générer ce motif +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Choisis un ensemble de mesures patternForWhichSet: Pour quel ensemble de mesures devons-nous générer un modèle ? bookmarkedSets: Jeux de mesures que tu as mis en favoris @@ -222,7 +222,7 @@ curateCuratedSets: Consulte notre sélection d'ensembles de mesures curatées. useThisSet: Utilise cette série de mesures ownSets: Tes propres jeux de mesures noOwnSets: Tu n'as pas (encore) de jeux de mesures propres. -pleaseMtm: Comme nos patrons sont faits sur mesure, nous te conseillons vivement de prendre des mesures exactes. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: Tu peux enregistrer tes mesures sous forme de jeu de mesures, après quoi tu pourras générer autant de motifs que tu le souhaites pour ces mesures. measurements: Mensurations chooseASet: Choisis un ensemble de mesures @@ -253,7 +253,7 @@ blogNewInfo: Si tu souhaites écrire sur le blog FreeSewing, tu peux commencer u imgNew: Génère une image sur les médias sociaux imgNewInfo: Utilise notre générateur pour créer une image que tu pourras partager sur les médias sociaux, prend en charge les formats large (classique), carré (Instagram) ou haut (stories/TikTok). csetNew: Suggère un nouvel ensemble de mesures curatives -csetNewInfo: Nous conservons une collection d'ensembles de mesures approuvés que nous utilisons pour tester les modèles. Tu peux suggérer un ensemble de mesures ici. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Suggère un nouveau pack d'options opackNewInfo: Nous rassemblons une collection de packs d'options approuvés pour chacun de nos modèles. Tu peux suggérer tes options ici. newPopular: Les plus populaires From 978a893a4dbc216204730a41f8ba9316b18ac48c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:25 +0100 Subject: [PATCH 0215/1313] New translations en.yaml (French) skip-build --- sites/shared/components/workbench/menus/core-settings/fr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/fr.yaml b/sites/shared/components/workbench/menus/core-settings/fr.yaml index 98d559c92c9..7c083460736 100644 --- a/sites/shared/components/workbench/menus/core-settings/fr.yaml +++ b/sites/shared/components/workbench/menus/core-settings/fr.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Génère un modèle complet completeYes.d: Cela générera un modèle complet avec toutes les notations, les lignes et les marques. Utilise cette fonction si tu n'es pas certain de ce que tu dois choisir. completeNo.t: Génère une ébauche de modèle -completeNo.d: Ne génère que le contour des pièces du modèle. Utilise cette option si tu souhaites utiliser une découpeuse laser ou si tu as d'autres besoins spécifiques. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Développe toutes les parties du modèle expandYes.d: Cela permet de générer un modèle où toutes les parties du modèle sont dessinées à leur taille réelle, même s'il s'agit de simples rectangles. expandNo.t: Dans la mesure du possible, les motifs doivent être compacts. @@ -52,7 +52,7 @@ metric.d: Utilise ceci si tu utilises le système métrique et si les centimètr imperial.t: Utilise les unités impériales imperial.d: Utilise ceci si les pouces et les fractions de pouces te sont plus familiers que les centimètres. C'est souvent le choix préféré des personnes basées au Royaume-Uni et aux États-Unis. saNo.t: Ne pas inclure la marge de couture -saNo.d: Cela génère un patron qui ne comprend pas de marge de couture. La taille de la marge de couture n'a pas d'importance car aucune marge de couture ne sera incluse. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Inclure la marge de couture saYes.d: Cela génère un modèle qui comprendra une marge de couture. La taille de la marge de couture est définie individuellement. clearSettingsNotMeasurements: Efface les paramètres, mais conserve les mesures From 1e9f1b8379124ad99adbd2b827862e45c83e7c81 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:27 +0100 Subject: [PATCH 0216/1313] New translations en.yaml (French) skip-build --- sites/shared/components/workbench/menus/ui-settings/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/fr.yaml b/sites/shared/components/workbench/menus/ui-settings/fr.yaml index 9154acec583..be03a1569be 100644 --- a/sites/shared/components/workbench/menus/ui-settings/fr.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/fr.yaml @@ -4,7 +4,7 @@ renderer.t: Moteur de Rendu renderer.d: Contrôle comment le patron est restitué (dessiné) à l'écran renderWithReact.t: Rendu avec les composants React de FreeSewing renderWithReact.d: Rendu en tant que SVG par l'intermédiaire de nos composants React. Permet l'interactivité et est optimisé pour l'écran. Utilise ceci si tu n'es pas sûr de ce que tu dois choisir. -renderWithCore.t: Rendu avec la bibliothèque Core de Freesewing +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Rendu directement en SVG à partir de Core. Ne permet aucune interactivité et est optimisé pour l'impression. Utilise-le si tu veux savoir à quoi il ressemblera une fois exporté. control.t: Expérience de l'utilisateur control.d: Quelle expérience utilisateur préfères-tu ? Note qu'il s'agit d'un paramètre de compte, il aura donc un impact sur l'ensemble du site Web. From bb721d680681f12968319a5dbac77444c4f7c648 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:32 +0100 Subject: [PATCH 0217/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/docs/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/fr.yaml b/sites/shared/i18n/docs/fr.yaml index e98eb587fc0..5ac2e13f230 100644 --- a/sites/shared/i18n/docs/fr.yaml +++ b/sites/shared/i18n/docs/fr.yaml @@ -3,7 +3,7 @@ docs: Documentation controltip.t: Le pouvoir face à la simplicité controltip.d1: Le paramètre Power versus Simplicity de ton compte FreeSewing aura un impact sur ton expérience du site FreeSewing. controltip.d2: Par défaut, certaines des fonctionnalités les plus avancées de ce site sont cachées pour permettre aux nouveaux utilisateurs de s'y retrouver plus facilement. -controltip.d3: Si tu veux sacrifier une partie de cette simplicité pour gagner en puissance, tu peux mettre à jour ton paramètre Puissance contre Simplicité en conséquence. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Aide-nous à améliorer notre documentation authors: Les auteurs maintainers: Mainteneurs From 541ced7d01c970f17228c70c49ccb6549da33bc8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:36 +0100 Subject: [PATCH 0218/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/sections/fr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/fr.yaml b/sites/shared/i18n/sections/fr.yaml index 735f58e95e6..27464cfe09a 100644 --- a/sites/shared/i18n/sections/fr.yaml +++ b/sites/shared/i18n/sections/fr.yaml @@ -5,11 +5,11 @@ showcaseAbout: Exemples et inspiration de la communauté FreeSewing utilisant no docs: Documentation docsAbout: Documentation approfondie pour toutes nos conceptions, notre site web, et bien plus encore. account: Ton compte -accountAbout: Gérer les paramètres et les préférences de ton compte, ainsi que tes données personnelles. +accountAbout: Manage your account settings and preferences, and your personal data designs: Designs designsAbout: Notre bibliothèque de motifs que tu peux transformer en patrons sur mesure en quelques clics. community: Communauté -communityAbout: Plus d'informations sur les personnes à l'origine de FreeSewing et sur les endroits où l'on peut trouver des créateurs partageant les mêmes idées. +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Documentation pour notre bibliothèque d'API de base et notre API REST dorsale. designAbout: Tout ce que tu dois savoir pour commencer à concevoir des patrons de couture paramétriques. contributeAbout: Tu veux contribuer à FreeSewing ? C'est par ici. From 7357f0ae801359ad4f44f9c78bb2321999e157fd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:38 +0100 Subject: [PATCH 0219/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/status/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/fr.yaml b/sites/shared/i18n/status/fr.yaml index a681f8958e8..3c2dcf93295 100644 --- a/sites/shared/i18n/status/fr.yaml +++ b/sites/shared/i18n/status/fr.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Copié dans le presse-papier dataLoaded: Données chargées depuis le backend de FreeSewing generatingPdf: Générer ton PDF, un moment s'il te plaît nailedIt: C'est parfait! -pdfFailed: Une erreur inattendue s'est produite lors de la génération de ton PDF +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: PDF générés processingUpdate: Mise à jour du traitement settingsSaved: Paramètres sauvegardés From e4d34b92968bf0aa9f3f48d94a2a30f4e1f06028 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:39 +0100 Subject: [PATCH 0220/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/homepage/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/fr.yaml b/sites/shared/i18n/homepage/fr.yaml index f7328a5f69a..59f5f20c2e7 100644 --- a/sites/shared/i18n/homepage/fr.yaml +++ b/sites/shared/i18n/homepage/fr.yaml @@ -4,7 +4,7 @@ howDoesItWork: Comment cela fonctionne-t-il ? whatIsFreeSewing: Qu'est-ce que FreeSewing ? whatIsFreeSewingNot: Qu'est-ce que FreeSewing n'est pas ? what1: FreeSewing est un logiciel open source permettant de générer des patrons de couture sur mesure, adoré par les couturières à domicile et les entrepreneurs de la mode. -what2: FreeSewing.org met ce logiciel à ta disposition en tant qu'outil en ligne, avec une facilité d'utilisation et une flexibilité inégalées. Nous avons plus de 50 modèles et nous en ajoutons régulièrement de nouveaux. Tu peux choisir n'importe quel modèle et générer un patron à tes mesures exactes. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Les tailles de l'industrie sont un ramassis de mensonges. Rejoins la révolution de la slow fashion et profite de vêtements qui te vont. whatNot1: FreeSewing n'est pas une entreprise. Nous ne vendons rien. Nous n'avons pas de personnel ni d'employés. Nous n'avons pas de bureau. Nous ne sommes pas payés. whatNot2: Notre site web ne contient pas de publicité. Nous ne te suivons pas et ne vendons pas tes données personnelles. Nous ne violons pas ta vie privée. From d81c73efe69e4c063cadccf5b69c3f97e3b73217 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:40 +0100 Subject: [PATCH 0221/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/support/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/fr.yaml b/sites/shared/i18n/support/fr.yaml index 1840faef315..7ceb1414773 100644 --- a/sites/shared/i18n/support/fr.yaml +++ b/sites/shared/i18n/support/fr.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: How can you support FreeSewing? issueAssigned: Issue assigned issueClosed: Issue closed issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Soutien au mainteneur maintainerSupport1: Si tu es un patron de FreeSewing, tu peux aller directement au sommet et contacter Joost directement. maintainerSupport2: Bien que Joost traite les demandes de ses clients en priorité, il a aussi besoin de sommeil. Garde donc cela à l'esprit, surtout si tu te trouves dans un autre fuseau horaire. From bc26109111f9efa61f3e5200b8e3e2d5741b924b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:44 +0100 Subject: [PATCH 0222/1313] New translations en.md (French) skip-build --- markdown/org/docs/measurements/waisttoarmpit/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/fr.md b/markdown/org/docs/measurements/waisttoarmpit/fr.md index eb803eb22ca..b3ec0e17599 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/fr.md +++ b/markdown/org/docs/measurements/waisttoarmpit/fr.md @@ -4,7 +4,7 @@ title: De la taille à l'aisselle Le **de la taille à l'aisselle** est la mesure de ta taille jusqu'à ton aisselle, mesurée sur le côté de ton corps. -Étant donné que _aisselles_ est un peu ambigüe, nous te recommandons de trouver la hauteur qui correspondrait à la manche la plus serrée possible qui pourrait encore fonctionner. La hauteur des ganglions lymphatiques sous-capulaires/postérieurs est généralement un bon point. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. La hauteur des ganglions lymphatiques sous-capulaires/postérieurs est généralement un bon point. Ou, si tu n'es pas certain de l'emplacement des ganglions lymphatiques sous ton bras, tu peux suivre cette approche : @@ -12,7 +12,7 @@ Ou, si tu n'es pas certain de l'emplacement des ganglions lymphatiques sous ton - Lève ton bras dominant (le droit si tu es droitier, ou le gauche si tu es gaucher) d'environ 30 degrés sur le côté, loin de ton corps. - Tends maintenant le côté de ton corps avec l'autre main, en plaçant la paume de ta main contre le côté, et ton pouce sur ta poitrine en pointant vers le haut. - Fais glisser ta main vers le haut aussi loin que possible sans avoir à pousser quoi que ce soit. -- Ton index se trouve maintenant dans l'aisselle, ce qui est un peu trop haut. Mais ton majeur est un bon point à marquer comme étant le début de ton aisselle. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From 14f2f4ebe0ec272911453453a9af5bf5651c447f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:26:45 +0100 Subject: [PATCH 0223/1313] New translations en.yaml (French) skip-build --- sites/shared/components/susi/fr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/fr.yaml b/sites/shared/components/susi/fr.yaml index ffea03f7396..a8fc8f31cd0 100644 --- a/sites/shared/components/susi/fr.yaml +++ b/sites/shared/components/susi/fr.yaml @@ -8,7 +8,7 @@ checkYourInbox: Va vérifier dans ta boîte de réception si tu as reçu un cour clickSigninLink: Clique sur le lien de connexion dans cet e-mail pour te connecter à ton compte FreeSewing. clickSignupLink: Clique sur ton lien d'inscription personnel dans cet e-mail pour créer ton compte FreeSewing. consentLacking: Nous n'avons pas le consentement nécessaire pour traiter tes données -consentLackingMsg: Obtenir ton consentement fait partie de la procédure d'inscription. Cherche l'e-mail que tu as reçu lorsque tu t'es inscrit aux instractions. Tu peux t'inscrire à nouveau avec la même adresse e-mail pour recevoir à nouveau l'e-mail. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Contacter l'assistance contactingGithub: Contacter GitHub contactingGoogle: Contacter Google From b98de6b15014bd58555f1a11a146e065f73b9ac3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:27:45 +0100 Subject: [PATCH 0224/1313] New translations en.md (French) skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/fr.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/fr.md index b3184643b2b..cca8722714a 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/fr.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/fr.md @@ -24,7 +24,7 @@ C'est là que ça se terminerait. À l'exception d'un détail technique qui a au C'est plus technique et plus difficile à comprendre -Another reason is that while we could make it so that clicking the link in your email would immeadiatly subcribe you, it would be in violation of internet standards. Plus précisément, la définition de la méthode GET du protocole HTTP ____ ____ qui stipule ce qui suit : +Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. Plus précisément, la définition de la méthode GET du protocole HTTP ____ ____ qui stipule ce qui suit : From 4eeb43b2b66f08f780e17e5355d98bbac4a3fb7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:27:46 +0100 Subject: [PATCH 0225/1313] New translations en.md (French) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/fr.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/fr.md index 05088671f52..e355750812e 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/fr.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/fr.md @@ -2,7 +2,7 @@ title: Why do I have to click again to confirm I want to unsubscribe from the newsletter? --- -While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Plus précisément, la définition de la méthode GET du protocole HTTP ____ ____ qui stipule ce qui suit : +While we could make it so that clicking the link in your email would immediately unsubscribe you, it would be in violation of internet standards. Plus précisément, la définition de la méthode GET du protocole HTTP ____ ____ qui stipule ce qui suit : From 6492ecdd9dc93ef28211e19c8afe2271ee7f6129 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:27:49 +0100 Subject: [PATCH 0226/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/guide/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/fr.md b/markdown/org/docs/about/guide/fr.md index 771aac88903..90f7d1590a9 100644 --- a/markdown/org/docs/about/guide/fr.md +++ b/markdown/org/docs/about/guide/fr.md @@ -40,7 +40,7 @@ FreeSewing.org est notre atout le plus visible, et pour beaucoup de gens, leur p ## Modèles et conceptions -Si tu es venue sur ce site à la recherche de patrons de couture et que tu n'as pas trouvé immédiatement un endroit où les télécharger, c'est parce que tous les patrons de couture de FreeSewing sont **faits sur mesure**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. Nous ne faisons pas de mise à l'échelle ou de gradation des patrons. Au lieu de cela, FreeSewing dessine un modèle fait à tes mesures. Cela se produit en temps réel, dans votre navigateur. @@ -89,6 +89,6 @@ FreeSewing propose également des **ensembles de mesures sélectionnées**. Ce s ## Vers qui se tourner pour obtenir de l'aide ? -Si tu es bloqué, consule [la page d'assistance](/support/) pour les différentes options d'assistance. +If you get stuck, consult [the support page](/support/) for various support options. From 2546009dfc99183dab33237a9134c6332324081f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:03 +0100 Subject: [PATCH 0227/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/account/username/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/fr.md b/markdown/org/docs/about/site/account/username/fr.md index 5c197ccdf65..e4e340181ce 100644 --- a/markdown/org/docs/about/site/account/username/fr.md +++ b/markdown/org/docs/about/site/account/username/fr.md @@ -6,5 +6,5 @@ Ton nom d'utilisateur est un nom spécial qui t'identifie de façon unique. Tu peux choisir ton propre nom d'utilisateur, alors tout est permis. -Pour éviter les consusions, les noms d'utilisateurs doivent être uniques lorsqu'ils sont écrits en minuscules. En d'autres termes, le nom d'utilisateur `Joost` ne sera pas disponible si un utilisateur `joost` existe. +To avoid confusion, usernames must be unique when lowercased. En d'autres termes, le nom d'utilisateur `Joost` ne sera pas disponible si un utilisateur `joost` existe. From d4b836ee317e7ba901f9eca28f0151e6d8475053 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:05 +0100 Subject: [PATCH 0228/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/apikeys/expiry/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/fr.md b/markdown/org/docs/about/site/apikeys/expiry/fr.md index c3e1ca05ea5..3a0f37dc0ae 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/fr.md +++ b/markdown/org/docs/about/site/apikeys/expiry/fr.md @@ -7,6 +7,6 @@ Chaque clé API a une date d'expiration **** après laquelle la clé cessera de Par défaut, les clés API expirent au bout d'un mois, mais nous prenons en charge jusqu'à deux ans. -Lorsque ta clé est sur le point d'expirer, tu dois la remplacer par une nouvelle. +When your key is about to expire, you must replace it with a new one. Tu ne peux pas prolonger la date d'expiration d'une clé une fois qu'elle a été définie. From 82f058fd048eb1b3ac00a22c40124508028c0be1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:08 +0100 Subject: [PATCH 0229/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/bookmarks/location/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/fr.md b/markdown/org/docs/about/site/bookmarks/location/fr.md index 14697d18264..621dad577ed 100644 --- a/markdown/org/docs/about/site/bookmarks/location/fr.md +++ b/markdown/org/docs/about/site/bookmarks/location/fr.md @@ -2,7 +2,7 @@ title: Lieu de travail --- -Chaque signet possède un attribut **loation** qui est obligatoire. Il contient l'URL du signet. +Every bookmark has a **location** attribute that is mandatory. Il contient l'URL du signet. Un signet sans emplacement ou URL est inutile, car il contient l'emplacement vers lequel le signet doit pointer. From f82e62f57a32b6dd91a99becc4f6645e2cd9fea9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:11 +0100 Subject: [PATCH 0230/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/csets/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/fr.md b/markdown/org/docs/about/site/csets/fr.md index 14b3c10e5c2..e29495c57e6 100644 --- a/markdown/org/docs/about/site/csets/fr.md +++ b/markdown/org/docs/about/site/csets/fr.md @@ -20,7 +20,7 @@ We now no longer present users who want to try out the site a range of *standard Nous comptons sur notre communauté pour soumettre des ensembles de mesures à la curation. Si tu as un ensemble de mesures publiques sur le site, tu peux le suggérer pour la curation. -Pour faire partie de notre collection d'ensembles de mesures curatées, tu dois fournir les éléments suivants : +To be part of our curated measurements sets collection, you should provide the following: - **Toutes les mesures** de la personne. Nous n'acceptons pas les ensembles incomplets, car cela signifierait que certains dessins ne fonctionneraient pas avec eux. - **La taille** de la personne. Cela aide les utilisateurs à sélectionner un ensemble de mesures le plus proche de leur propre corps. From b075813597ed8c14a5938e4ef5a3b22bff785c5a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:14 +0100 Subject: [PATCH 0231/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/fr.md b/markdown/org/docs/about/site/draft/core-settings/locale/fr.md index b2826f44849..4ce8d26b908 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/fr.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/fr.md @@ -12,5 +12,5 @@ FreeSewing prend actuellement en charge les langues suivantes : - Allemand - Néerlandais -Vous pouvez choisir l'une de ces langues et votre modèle sera traduit dans cette langue. +You can pick any of these and your pattern will be translated in this language. From c5c9b61409b011b49a2ccd534e8b5ea2b424cec3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:19 +0100 Subject: [PATCH 0232/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/fr.md b/markdown/org/docs/about/site/draft/core-settings/scale/fr.md index a90ed76e6b6..2ad511d71a0 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/fr.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/fr.md @@ -4,5 +4,5 @@ title: Mise à l'échelle Les paramètres d'échelle vous permettent de mettre à l'échelle les parties d'un motif qui ne s'adaptent pas aux mesures. Des éléments tels que les logos, la largeur des lignes, la taille des polices, etc. -Ce paramètre a été ajouté à la demande de personnes qui aiment utiliser nos patrons pour confectionner des vêtements de poupée. Lorsque l'on génère un motif aussi petit, les pointes de flèches, les titres, etc. ont tendance à masquer une grande partie du motif. Ce paramètre vous permet de les réduire ou, si vous le souhaitez, de les augmenter. +Ce paramètre a été ajouté à la demande de personnes qui aiment utiliser nos patrons pour confectionner des vêtements de poupée. Lorsque l'on génère un motif aussi petit, les pointes de flèches, les titres, etc. ont tendance à masquer une grande partie du motif. This setting allows you to scale them down or -- if you so wish -- scale them up. From 1c35c2897eb4f0c9558e884e49bbf08dcc95161a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:23 +0100 Subject: [PATCH 0233/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/fr.md b/markdown/org/docs/about/site/fr.md index 384a9407c60..ae2b3ec1e93 100644 --- a/markdown/org/docs/about/site/fr.md +++ b/markdown/org/docs/about/site/fr.md @@ -12,7 +12,7 @@ Sur ces pages, nous te donnons un aperçu de la façon dont tu peux tirer le mei Il peut être frustrant pour les visiteurs qui viennent ici en s'attendant à trouver un site Web où ils peuvent télécharger des patrons de couture qu'ils ne parviennent pas à trouver les patrons de couture à télécharger. C'est comme si le fait de cacher le *bouton de téléchargement* était un stratagème élaboré pour leur faire perdre leur temps. Je ne sais pas vraiment comment régler ce problème car je ne peux pas contrôler les attentes des gens. -FreeSewing.org est _très_ différent d'un site web avec des liens vers des patrons de couture en PDF. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. Alors si c'est ce à quoi tu t'attends, nous devons presque te désentraver avant de pouvoir parler de ce que ce site offre. Je ne vais donc pas le faire. Je vais supposer que tu lis avec un esprit ouvert. @@ -51,7 +51,7 @@ J'aimerais en souligner quelques-unes qui méritent ton attention : ### Expérience de l'utilisateur -Le réglage de l'expérience utilisateur [](/account/control/) te permet de révéler progressivement plus de complexité. Si tu es un peu submergé par tout ce que FreeSewing.org a à offrir, en réglant ce paramètre sur une valeur inférieure, tu masqueras progressivement plus de fonctions dans un souci de simplicité. Mais en définissant une valeur plus élevée ici, tu afficheras plus de caractéristiques et de fonctionnalités. +Le réglage de l'expérience utilisateur [](/account/control/) te permet de révéler progressivement plus de complexité. If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. Mais en définissant une valeur plus élevée ici, tu afficheras plus de caractéristiques et de fonctionnalités. Diminue ce paramètre si tu veux une expérience plus simple. Monte le son si tu veux plus de puissance, ou si certaines choses dont tu connais l'existence ne sont pas affichées sur ton écran. From 2d89e323594d5e28365cb8f7096e4213de661d70 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:27 +0100 Subject: [PATCH 0234/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/patterns/public/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/fr.md b/markdown/org/docs/about/site/patterns/public/fr.md index 1bdea8af963..b44c87d0e13 100644 --- a/markdown/org/docs/about/site/patterns/public/fr.md +++ b/markdown/org/docs/about/site/patterns/public/fr.md @@ -4,4 +4,4 @@ title: Public Ce paramètre détermine si ton modèle sera accessible au public **** ou non. -Par défaut, les modèles sont privés et tu es le seul à pouvoir accéder à tes propres modèles. Si tu souhaites partager ton modèle avec d'autres personnes - peut-être parce qu'elles ont montré de l'intérêt ou parce que tu cherches des commentaires - tu dois d'abord le rendre public. +Par défaut, les modèles sont privés et tu es le seul à pouvoir accéder à tes propres modèles. If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From 811b2947b209523c0509ab5c5fdd16bc3d363b47 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:31 +0100 Subject: [PATCH 0235/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/sets/public/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/fr.md b/markdown/org/docs/about/site/sets/public/fr.md index e93ff50dd9a..e8a2f75c29c 100644 --- a/markdown/org/docs/about/site/sets/public/fr.md +++ b/markdown/org/docs/about/site/sets/public/fr.md @@ -2,11 +2,11 @@ title: Public --- -Chaque jeu de mesures possède un attribut **public** qui détermine si le jeu de mesures est public ou non. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. Par défaut, les jeux de mesures sont privés et tu es le seul à pouvoir les utiliser. -But, you can choose to make your measurments set public which allows other users to utilize the measurements in this set to generate or test their own patterns. +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. Si tu rends ton jeu de mesures public, cela s'applique à toutes les données du jeu de mesures. From 3d86be75e4d2672d58d0afb1accc4c605848060e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:28:32 +0100 Subject: [PATCH 0236/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/sets/units/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/sets/units/fr.md b/markdown/org/docs/about/site/sets/units/fr.md index 0bb3c09b7d6..964d7911dc2 100644 --- a/markdown/org/docs/about/site/sets/units/fr.md +++ b/markdown/org/docs/about/site/sets/units/fr.md @@ -4,7 +4,7 @@ title: Unités Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. -While each FreeSewing user has a **units** setting in their account that controls their overal preference between imperial or metric units, it is common to also have measurements sets for differnet people, and those different people might have other preferences. +While each FreeSewing user has a **units** setting in their account that controls their overall preference between imperial or metric units, it is common to also have measurements sets for different people, and those different people might have other preferences. C'est pourquoi nous te permettons de régler les unités sur chaque ensemble de mesures. From e5dfedf076b777e9bb6443a5084f668bd8976ccf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:46:34 +0100 Subject: [PATCH 0237/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/measurements/bustfront/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/es.md b/markdown/org/docs/measurements/bustfront/es.md index c324f194ec2..1ec17a8dd4e 100644 --- a/markdown/org/docs/measurements/bustfront/es.md +++ b/markdown/org/docs/measurements/bustfront/es.md @@ -4,5 +4,5 @@ title: Frente del busto El **frente del busto** es la parte frontal de la circunferencia del pecho. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From bdd4f8e6648c344a556caf9fc4f78a238bcc0dce Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:46:51 +0100 Subject: [PATCH 0238/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/measurements/shoulderslope/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/es.md b/markdown/org/docs/measurements/shoulderslope/es.md index 66aaa54a1de..50c901cf3ab 100644 --- a/markdown/org/docs/measurements/shoulderslope/es.md +++ b/markdown/org/docs/measurements/shoulderslope/es.md @@ -6,7 +6,7 @@ La medición de **pendiente del hombro** es un indicador de la cantidad con la q Para medir la pendiente del hombro, es necesario determinar el ángulo en el que la línea del hombro tiene pendiente hacia abajo. -A good way to measure your shoulder slope is to take a a selfie and rotate it until your shoulder line is horizontal. +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. El ángulo que tenías que girar es la pendiente de tu hombro. From 04120d551341957ff8acddbba3ac6be85c225346 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:47:08 +0100 Subject: [PATCH 0239/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/sewing/double-welt-pockets/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/es.md b/markdown/org/docs/sewing/double-welt-pockets/es.md index 8ad70ed5df1..8f7c902db6d 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/es.md +++ b/markdown/org/docs/sewing/double-welt-pockets/es.md @@ -114,7 +114,7 @@ Marca el pocket de la siguiente forma: - Alinear la apertura central del bolsillo con una línea horizontal. Deja que se extienda para ayudarte a alinear las soldaduras más tarde - Marca dos líneas horizontales paralelas a la línea central, en un desplazamiento igual a la altura de la soldadura (0,5 cm en nuestro ejemplo) -La parte de las líneas horizontales paralelas a la línea central que caen entre las líneas de vértices es donde cosecharemos nuestras soldaduras en su lugar. Esto se ve reflejado en las líneas rojas. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. Esto se ve reflejado en las líneas rojas. ### Paso 3: Plegar y pulsar las soldaduras From cedb2caeb47571efa934779350f09686e548bd6d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:47:11 +0100 Subject: [PATCH 0240/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/sewing/edgestitching/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/es.md b/markdown/org/docs/sewing/edgestitching/es.md index 4034076742b..9572c975c7a 100644 --- a/markdown/org/docs/sewing/edgestitching/es.md +++ b/markdown/org/docs/sewing/edgestitching/es.md @@ -2,7 +2,7 @@ title: Costura de bordes --- -El pespunte es un tipo especial de _pespunte_. Es específico por su ubicación. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. +Edgestitching is a specific type of _topstitching_. Es específico por su ubicación. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. ![Bordado en una sudadera Hugo de FreeSewing](edgestitching.jpg) From 304117f11ebcd0cba5a5ad9cde56f36701224778 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:11 +0100 Subject: [PATCH 0241/1313] New translations en.yaml (Spanish) skip-build --- sites/org/components/footer/es.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/es.yaml b/sites/org/components/footer/es.yaml index cdc0fbc6bfd..769c305c7b2 100644 --- a/sites/org/components/footer/es.yaml +++ b/sites/org/components/footer/es.yaml @@ -1,7 +1,7 @@ cc: El contenido de FreeSewing.org está disponible bajo una licencia Creative Commons -mit: El código fuente de FreeSewing está disponible en Github bajo la licencia MIT +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing está patrocinado por estas increíbles empresas algolia: Búsqueda con Algolia crowdin: Traducción realizada por Crowdin -bugsnag: Tratamiento de errores por Bugsnag +bugsnag: Error handling by BugSnag vercel: Creación y alojamiento por Vercel From eb4f725c0aab254c9328473b58a8bf451c786843 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:12 +0100 Subject: [PATCH 0242/1313] New translations en.yaml (Spanish) skip-build --- sites/org/pages/translation/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/es.yaml b/sites/org/pages/translation/es.yaml index ee52f47b0be..9b507026f00 100644 --- a/sites/org/pages/translation/es.yaml +++ b/sites/org/pages/translation/es.yaml @@ -8,7 +8,7 @@ translatedOnly: Traducido pero (aún) no aprobado por un corrector notTranslated: No traducido (todavía) defaultLanguage: Este es nuestro lenguaje fuente y el lenguaje de trabajo del proyecto FreeSewing addLanguage1: '¿Quieres añadir una lengua?' -addLanguage2: Nos encantaría que FreeSewing estuviera disponible en más idiomas. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: Si estás interesado en iniciar un nuevo esfuerzo de traducción, ponte en contacto con nosotros. globalRanking: Clasificación mundial groupByLanguage: Agrupar por idioma From dc9019d32eea9b2128d4e0ce1b4a315f247dbb1d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:14 +0100 Subject: [PATCH 0243/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/components/account/es.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/es.yaml b/sites/shared/components/account/es.yaml index 9598fde2932..26ab31702d6 100644 --- a/sites/shared/components/account/es.yaml +++ b/sites/shared/components/account/es.yaml @@ -108,10 +108,10 @@ controlTitle: '¿Qué experiencia de usuario prefieres?' #img imgTitle: '¿Qué tal una foto?' imgDragAndDropImageHere: Arrastra y suelta una imagen aquí -imgPasteUrlHere: Pega aquí la ubicación de una imagen (url) +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Selecciona una imagen #newsletter -newsletterTitle: '¿Quieres recibir el boletín de FreeSewing?' +newsletterTitle: '¿Le gustaría recibir el boletín de noticias FreeSewing?' newsletterYes: Sí, deseo recibir el boletín newsletterYesd: Una vez cada 3 meses recibirás un correo electrónico nuestro con contenido sano y honesto. Sin seguimiento, sin anuncios, sin tonterías. newsletterNod: Siempre puedes cambiar de opinión más adelante. Pero hasta que no lo hagas, no te enviaremos ningún boletín. @@ -202,7 +202,7 @@ public: Público publicSet: Conjunto de medidas públicas privateSet: Conjunto de medidas privadas publicSetDesc: A otros se les permite utilizar estas mediciones para generar o probar patrones -privateSetDesc: Estas medidas no pueden ser utilizadas por otros usuarios o visitantes +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Permalink editThing: Editar {thing} saveThing: Guardar {thing} @@ -211,8 +211,8 @@ noFilter: No filtrar filterByDesignDocs: Si tienes en mente un diseño concreto, puedes filtrar por diseño para que sólo aparezcan las medidas necesarias para ese diseño. setLacksMeasiesForDesign: A este conjunto le faltan las medidas necesarias para este patrón setHasMeasiesForDesign: Este set tiene todas las medidas necesarias para este patrón -someSetsLacking: Some of your sets lack the measurments required to generate this pattern -theseSetsReady: Estos conjuntos tienen todas las medidas necesarias para generar este patrón +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Elige una serie de medidas patternForWhichSet: '¿Para qué conjunto de medidas debemos generar un patrón?' bookmarkedSets: Conjuntos de medidas que has marcado como favoritos @@ -222,7 +222,7 @@ curateCuratedSets: Curar nuestra selección de conjuntos de medidas curadas useThisSet: Utiliza este conjunto de medidas ownSets: Tus propios conjuntos de medidas noOwnSets: No tienes ningún conjunto de medidas propias (todavía) -pleaseMtm: Como nuestros patrones son a medida, te recomendamos encarecidamente que tomes las medidas exactas. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: Puedes almacenar tus medidas como un conjunto de medidas, tras lo cual puedes generar tantos patrones como quieras para ellas. measurements: Medidas chooseASet: Elige un conjunto de medidas @@ -253,7 +253,7 @@ blogNewInfo: Si quieres escribir en el blog de FreeSewing, puedes iniciar un bor imgNew: Generar una imagen en las redes sociales imgNewInfo: Utiliza nuestro generador para crear una imagen que puedas compartir en las redes sociales, admite los formatos ancho (clásico), cuadrado (Instagram) o alto (stories/TikTok). csetNew: Sugerir un nuevo conjunto de medidas curadas -csetNewInfo: Seleccionamos una colección de conjuntos de mediciones verificados que utilizamos para probar patrones. Puedes sugerir un conjunto de medidas aquí. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Sugerir un nuevo paquete de opciones opackNewInfo: Seleccionamos una colección de paquetes de opciones para cada uno de nuestros diseños. Puedes sugerir tus opciones aquí. newPopular: Más populares From 7c32fae6b655b1fb9577ea66a5afe6bbc093cc6c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:20 +0100 Subject: [PATCH 0244/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/components/workbench/menus/core-settings/es.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/es.yaml b/sites/shared/components/workbench/menus/core-settings/es.yaml index b43fc4bad54..9a41d3b327c 100644 --- a/sites/shared/components/workbench/menus/core-settings/es.yaml +++ b/sites/shared/components/workbench/menus/core-settings/es.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Generar un patrón completo completeYes.d: Esto generará un patrón completo con todas las anotaciones, líneas y marcas. Utilízalo si no estás seguro de qué elegir. completeNo.t: Generar un esquema de patrón -completeNo.d: Genera sólo el contorno de las piezas del patrón. Utilízalo si quieres utilizar una cortadora láser o tienes otras necesidades específicas. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Expandir todas las partes del patrón expandYes.d: Esto generará un patrón en el que todas las partes del patrón se dibujarán a su tamaño completo, aunque sean simples rectángulos. expandNo.t: Mantén los patrones compactos siempre que sea posible @@ -52,7 +52,7 @@ metric.d: Utilízalo si usas el sistema métrico decimal, y los centímetros y m imperial.t: Utiliza unidades imperiales imperial.d: Utilízalo si las pulgadas y fracciones o centímetros te resultan más familiares que los centímetros. Suele ser la opción preferida por las personas que viven en el Reino Unido y EE.UU. saNo.t: No incluyas el margen de costura -saNo.d: Esto genera un patrón que no incluye ningún margen de costura. El tamaño del margen de costura no importa, ya que no se incluirá ningún margen de costura. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Incluir margen de costura saYes.d: Esto genera un patrón que incluirá el margen de costura. El tamaño del margen de costura se ajusta individualmente. clearSettingsNotMeasurements: Borra los ajustes, pero conserva las mediciones From 61f42d7b52346dd0e4f73df0fc792a8192e2c869 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:21 +0100 Subject: [PATCH 0245/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/components/workbench/menus/ui-settings/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/es.yaml b/sites/shared/components/workbench/menus/ui-settings/es.yaml index ba2a193bedc..46bda5666ea 100644 --- a/sites/shared/components/workbench/menus/ui-settings/es.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/es.yaml @@ -4,7 +4,7 @@ renderer.t: Motor de renderizado renderer.d: Controla cómo se representa (dibuja) el patrón en la pantalla renderWithReact.t: Renderiza con los componentes React de FreeSewing renderWithReact.d: Renderiza como SVG a través de nuestros componentes React. Permite la interactividad y está optimizado para la pantalla. Utilízalo si no estás seguro de qué elegir. -renderWithCore.t: Renderiza con la biblioteca Core de Freesewing +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Renderiza directamente a SVG desde Core. No permite interactividad y está optimizado para impresión. Utilízalo si quieres saber qué aspecto tendrá cuando se exporte. control.t: Experiencia del usuario control.d: '¿Qué experiencia de usuario prefieres? Ten en cuenta que se trata de una configuración de cuenta, por lo que afectará a todo el sitio web.' From 3af6c858c4b0dc4f0455ca9751ab1865a155777a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:26 +0100 Subject: [PATCH 0246/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/docs/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/es.yaml b/sites/shared/i18n/docs/es.yaml index f442abde615..c3eda4fd274 100644 --- a/sites/shared/i18n/docs/es.yaml +++ b/sites/shared/i18n/docs/es.yaml @@ -3,7 +3,7 @@ docs: Documentación controltip.t: Poder frente a sencillez controltip.d1: La configuración Power versus Simplicity de tu cuenta de FreeSewing influirá en cómo experimentes el sitio web de FreeSewing. controltip.d2: Por defecto, algunas de las funciones más avanzadas de este sitio están ocultas para facilitar la orientación de los nuevos usuarios. -controltip.d3: Si quieres sacrificar parte de esa simplicidad para ganar más potencia, puedes actualizar en consecuencia tu ajuste Potencia frente a Simplicidad. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Ayúdanos a mejorar nuestra documentación authors: Autores maintainers: Mantenedores From 6201eefc61c074437cbee94afac5e28712c8b147 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:28 +0100 Subject: [PATCH 0247/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/sections/es.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/es.yaml b/sites/shared/i18n/sections/es.yaml index 9d80af5c98e..a54c1a68784 100644 --- a/sites/shared/i18n/sections/es.yaml +++ b/sites/shared/i18n/sections/es.yaml @@ -5,11 +5,11 @@ showcaseAbout: Ejemplos e inspiración de la comunidad FreeSewing utilizando nue docs: Documentación docsAbout: Documentación exhaustiva de todos nuestros diseños, nuestro sitio web y mucho más account: Tu cuenta -accountAbout: Gestionar la configuración y preferencias de tu cuenta, y tus datos personales +accountAbout: Manage your account settings and preferences, and your personal data designs: Diseños designsAbout: Nuestra biblioteca de diseños que puedes convertir en patrones a medida con unos pocos clics community: Comunidad -communityAbout: Más información sobre la gente que está detrás de FreeSewing y dónde encontrar a creadores afines +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Documentación para nuestra biblioteca API central y nuestra API REST backend. designAbout: Todo lo que necesitas saber para empezar a diseñar patrones de costura paramétricos. contributeAbout: '¿Quieres contribuir a FreeSewing? Hazlo por aquí.' From 86615aabdbd8fa26ac86f6ec0f65ca698120d5ce Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:31 +0100 Subject: [PATCH 0248/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/status/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/es.yaml b/sites/shared/i18n/status/es.yaml index f259dbf62e5..31417f29a6d 100644 --- a/sites/shared/i18n/status/es.yaml +++ b/sites/shared/i18n/status/es.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Copiado al portapapeles dataLoaded: Datos cargados desde el backend de FreeSewing generatingPdf: Generando tu PDF, un momento por favor nailedIt: Clavado! -pdfFailed: Se ha producido un error inesperado al generar tu PDF +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: Generados en PDF processingUpdate: Actualización del proceso settingsSaved: Ajustes guardados From 5ea2fe9c4d3a2e2414e2a2ff134b9e4a9cb0ebe0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:32 +0100 Subject: [PATCH 0249/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/homepage/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/es.yaml b/sites/shared/i18n/homepage/es.yaml index dc76595bab0..79e9fb52e24 100644 --- a/sites/shared/i18n/homepage/es.yaml +++ b/sites/shared/i18n/homepage/es.yaml @@ -4,7 +4,7 @@ howDoesItWork: '¿Cómo funciona?' whatIsFreeSewing: '¿Qué es FreeSewing?' whatIsFreeSewingNot: '¿Qué no es FreeSewing?' what1: FreeSewing es un software de código abierto para generar patrones de costura a medida, adorado tanto por las costureras domésticas como por las empresarias de la moda. -what2: FreeSewing.org pone este software a tu disposición como una herramienta en línea con una custimización y flexibilidad inigualables. Tenemos más de 50 diseños, y añadimos nuevos con regularidad. Puedes elegir cualquier diseño y generar un patrón con tus medidas exactas. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: El tallaje industrial es un montón de mentiras. Únete a la revolución de la moda lenta y disfruta de ropa que te quede bien. whatNot1: FreeSewing no es una empresa. No vendemos nada. No tenemos personal ni empleados. No tenemos oficina. No nos pagan. whatNot2: Nuestro sitio web no contiene publicidad. No te rastreamos ni vendemos tus datos personales. No violamos tu privacidad. From 00fbbbb8004317277ee28e6d9ec2ca29f8b3c507 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:33 +0100 Subject: [PATCH 0250/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/support/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/es.yaml b/sites/shared/i18n/support/es.yaml index c2da9d5c76d..5d9cbb1b024 100644 --- a/sites/shared/i18n/support/es.yaml +++ b/sites/shared/i18n/support/es.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: How can you support FreeSewing? issueAssigned: Issue assigned issueClosed: Issue closed issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Apoyo a los mantenedores maintainerSupport1: Si eres un patrón de FreeSewing, puedes ir directamente a la parte superior y ponerte en contacto con Joost directamente. maintainerSupport2: Aunque Joost tratará las peticiones de los usuarios con prioridad, también necesita dormir. Así que tenlo en cuenta, especialmente cuando estés en una zona horaria diferente. From df260ccd35dbd45bc979c46b3260e011b19a1d14 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:38 +0100 Subject: [PATCH 0251/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/measurements/waisttoarmpit/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/es.md b/markdown/org/docs/measurements/waisttoarmpit/es.md index 946ff834b97..b9b17cdcc17 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/es.md +++ b/markdown/org/docs/measurements/waisttoarmpit/es.md @@ -4,7 +4,7 @@ title: De la cintura a la axila El **de la cintura a la axila** es la medida desde la cintura hacia la axila, medida en el lado de tu cuerpo. -Puesto que _axila_ es un poco ambigua, te recomendamos que encuentres la altura de la manga más ajustada posible que aún pueda funcionar. La altura de los ganglios linfáticos subcapulares/posteriores suele ser un buen punto. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. La altura de los ganglios linfáticos subcapulares/posteriores suele ser un buen punto. O, si no estás segura de dónde están los ganglios linfáticos de la axila, puedes seguir este planteamiento: @@ -12,7 +12,7 @@ O, si no estás segura de dónde están los ganglios linfáticos de la axila, pu - Levanta el brazo dominante (el derecho si eres diestro, o el izquierdo si eres zurdo) unos 30 grados hacia un lado, alejándolo del cuerpo. - Ahora extiende la otra mano hacia el costado de tu cuerpo, colocando la palma de la mano contra el costado y el pulgar sobre el pecho apuntando hacia arriba. - Desliza la mano hacia arriba todo lo que puedas sin tener que empujar nada. -- Tu dedo índice estará ahora en el sobaco, que está un poco demasiado alto. Pero tu dedo corazón es un buen punto para marcar como inicio de tu axila. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From 660b5ec4f9a8fe7739595727974398c96e50b5f1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:51:39 +0100 Subject: [PATCH 0252/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/components/susi/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/es.yaml b/sites/shared/components/susi/es.yaml index 189a8be00fd..791c53a6ed5 100644 --- a/sites/shared/components/susi/es.yaml +++ b/sites/shared/components/susi/es.yaml @@ -8,7 +8,7 @@ checkYourInbox: Busca en tu bandeja de entrada un correo electrónico de clickSigninLink: Haz clic en el enlace de inicio de sesión de ese correo electrónico para acceder a tu cuenta de FreeSewing. clickSignupLink: Haz clic en el enlace de registro personal de ese correo electrónico para crear tu cuenta de FreeSewing. consentLacking: Carecemos de consentimiento para tratar tus datos -consentLackingMsg: Obtener tu consentimiento forma parte del proceso de inscripción. Busca el correo electrónico que recibiste cuando te inscribiste en instracciones. Puedes inscribirte de nuevo con la misma dirección de correo electrónico para volver a recibirlo. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Contactar con asistencia contactingGithub: Contactar con GitHub contactingGoogle: Contactar con Google From c611a7cda996a2c2cfb7b46cb4cb7f02c2b7df5b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:52:39 +0100 Subject: [PATCH 0253/1313] New translations en.md (Spanish) skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/es.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/es.md index 17dbebd654d..abff7b1b18c 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/es.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/es.md @@ -24,7 +24,7 @@ Ahí se acabaría todo. Excepto por un detalle técnico que también es importan Esto es más técnico y más difícil de entender -Another reason is that while we could make it so that clicking the link in your email would immeadiatly subcribe you, it would be in violation of internet standards. ____ En concreto, la definición del método GET __del protocolo HTTP__ que establece que: +Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. ____ En concreto, la definición del método GET __del protocolo HTTP__ que establece que: From b2f8b0761f84175d48988b9d8b70a753b2f3a587 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:52:40 +0100 Subject: [PATCH 0254/1313] New translations en.md (Spanish) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/es.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/es.md index b1a16093cef..4c806b7882e 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/es.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/es.md @@ -2,7 +2,7 @@ title: Why do I have to click again to confirm I want to unsubscribe from the newsletter? --- -While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. ____ En concreto, la definición del método GET __del protocolo HTTP__ que establece que: +While we could make it so that clicking the link in your email would immediately unsubscribe you, it would be in violation of internet standards. ____ En concreto, la definición del método GET __del protocolo HTTP__ que establece que: From 519f0ab93dba1443d747e66cedf53869ff8612de Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:52:43 +0100 Subject: [PATCH 0255/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/guide/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/es.md b/markdown/org/docs/about/guide/es.md index 09ccfcc1b08..a6b11abf66c 100644 --- a/markdown/org/docs/about/guide/es.md +++ b/markdown/org/docs/about/guide/es.md @@ -40,7 +40,7 @@ FreeSewing.org es nuestro activo más visible, y para muchas personas su primer ## Patrones vs Diseños -Si has llegado a este sitio buscando patrones de costura __ y no has encontrado inmediatamente un lugar para descargarlos, es porque todos los patrones de costura de FreeSewing son **hechos a medida**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. No escalamos ni clasificamos patrones. En su lugar, FreeSewing convierte un diseño en un patrón hecho a tu medida. Eso sucede en tiempo real, en tu navegador. @@ -89,6 +89,6 @@ FreeSewing también proporciona **conjuntos de medidas curadas**. Se trata de me ## Dónde pedir ayuda -Si te quedas atascado, consule [la página de asistencia](/support/) para conocer las distintas opciones de asistencia. +If you get stuck, consult [the support page](/support/) for various support options. From 18e5f2d91bb80ddd2a66f9809c4ff97e9a94ee88 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:52:56 +0100 Subject: [PATCH 0256/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/account/username/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/es.md b/markdown/org/docs/about/site/account/username/es.md index 213bab38519..8d44439b86c 100644 --- a/markdown/org/docs/about/site/account/username/es.md +++ b/markdown/org/docs/about/site/account/username/es.md @@ -6,5 +6,5 @@ Tu nombre de usuario es un nombre especial que te identifica de forma única. Puedes elegir tu propio nombre de usuario, así que todo vale. -Para evitar confusiones, los nombres de usuario deben ser únicos si se escriben en minúsculas. En otras palabras, el nombre de usuario `Joost` no estará disponible si existe un usuario `joost` . +To avoid confusion, usernames must be unique when lowercased. En otras palabras, el nombre de usuario `Joost` no estará disponible si existe un usuario `joost` . From f3814796fe8a1e9e432ca5b1c2d2bb0e2ce35ede Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:52:58 +0100 Subject: [PATCH 0257/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/apikeys/expiry/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/es.md b/markdown/org/docs/about/site/apikeys/expiry/es.md index d40c2d1eb32..a7c3b297a31 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/es.md +++ b/markdown/org/docs/about/site/apikeys/expiry/es.md @@ -7,6 +7,6 @@ Cada clave API tiene una fecha de caducidad **** después de la cual la clave de Por defecto, las claves API caducan al cabo de 1 mes, pero admitimos hasta dos años. -Cuando tu llave esté a punto de caducar, debes sustituirla por una nueva. +When your key is about to expire, you must replace it with a new one. No puedes ampliar la fecha de caducidad de una clave una vez fijada. From a5a0cdc8f1335846e72e1c7cb437e522de3cf048 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:02 +0100 Subject: [PATCH 0258/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/bookmarks/location/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/es.md b/markdown/org/docs/about/site/bookmarks/location/es.md index d84a2d891ec..17f626db109 100644 --- a/markdown/org/docs/about/site/bookmarks/location/es.md +++ b/markdown/org/docs/about/site/bookmarks/location/es.md @@ -2,7 +2,7 @@ title: Ubicación --- -Cada marcador tiene un atributo **loation** que es obligatorio. Contiene la URL del marcador. +Every bookmark has a **location** attribute that is mandatory. Contiene la URL del marcador. Un marcador sin una ubicación o URL es inútil, ya que ésta contiene la ubicación a la que debe apuntar el marcador. From 090f470ef76c83f98566f67faf338c352bdefea6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:04 +0100 Subject: [PATCH 0259/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/csets/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/es.md b/markdown/org/docs/about/site/csets/es.md index f81e6877e80..f48dd19284f 100644 --- a/markdown/org/docs/about/site/csets/es.md +++ b/markdown/org/docs/about/site/csets/es.md @@ -20,7 +20,7 @@ We now no longer present users who want to try out the site a range of *standard Confiamos en nuestra comunidad para que nos envíe conjuntos de medidas para su curación. Si tienes una medida pública establecida en el sitio, puedes sugerirla para su curación. -Para formar parte de nuestra colección de conjuntos de medidas curadas, debes proporcionar lo siguiente: +To be part of our curated measurements sets collection, you should provide the following: - **Todas las medidas** de la persona. No aceptamos conjuntos incompletos, ya que eso significaría que algunos diseños no funcionarían con ellos. - **La altura** de la persona. Esto ayuda a los usuarios a seleccionar el conjunto de medidas más cercano a su propio cuerpo. From 9cd6baae45316668ca20a93e18939cd697543b1b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:08 +0100 Subject: [PATCH 0260/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/es.md b/markdown/org/docs/about/site/draft/core-settings/locale/es.md index 521389b48ee..17d4216c09d 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/es.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/es.md @@ -12,5 +12,5 @@ FreeSewing admite actualmente los siguientes idiomas: - Alemán - Holandés -Puedes elegir cualquiera de ellas y tu patrón se traducirá a esa lengua. +You can pick any of these and your pattern will be translated in this language. From 0bb7ae5d259b1bb2e400062e82bdb03f9e6d86d1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:13 +0100 Subject: [PATCH 0261/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/es.md b/markdown/org/docs/about/site/draft/core-settings/scale/es.md index 08f928d5738..5758b50ee4f 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/es.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/es.md @@ -4,5 +4,5 @@ title: Escala Los ajustes de escala te permiten escalar las partes de un patrón que no se escalan con las medidas. Cosas como logotipos, anchos de línea, tamaños de letra, etc. -Este ajuste se añadió a petición de las personas a las que les gusta utilizar nuestros patrones para hacer ropa para muñecas. Al generar un patrón tan pequeño, las puntas de flecha, los títulos y demás tienden a oscurecer gran parte del patrón. Este ajuste te permite reducirlas o, si lo deseas, aumentarlas. +Este ajuste se añadió a petición de las personas a las que les gusta utilizar nuestros patrones para hacer ropa para muñecas. Al generar un patrón tan pequeño, las puntas de flecha, los títulos y demás tienden a oscurecer gran parte del patrón. This setting allows you to scale them down or -- if you so wish -- scale them up. From 09293751f2c96e2a5d782c537284b18edc5a6cc2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:16 +0100 Subject: [PATCH 0262/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/es.md b/markdown/org/docs/about/site/es.md index 8dd2984aea6..21c46f63c4a 100644 --- a/markdown/org/docs/about/site/es.md +++ b/markdown/org/docs/about/site/es.md @@ -30,7 +30,7 @@ It can be frustrating for visitors who come here expecting a website where they It can be frustrating for visitors who come here expecting a website where they can download sewing patterns that they can't seem to find the sewing patterns to download. Casi como si ocultar el *botón de descarga* fuera una elaborada estratagema para hacerles perder el tiempo. Realmente no sé cómo solucionar esto porque no puedo controlar las expectativas de la gente. -FreeSewing.org es _muy_ diferente de un sitio web con algunos enlaces a patrones de costura en PDF. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. Así que si eso es lo que esperas, casi tenemos que desentrenarte antes de hablar de lo que ofrece este sitio. Así que no voy a hacerlo. Voy a suponer que lees con la mente abierta. @@ -69,7 +69,7 @@ Me gustaría destacar un par de ellas que merecen tu atención: ### Experiencia del usuario -El ajuste [Experiencia de usuario](/account/control/) te permite revelar gradualmente una mayor complejidad. Si estás un poco abrumado con todo lo que FreeSewing.org tiene que ofrecer, configurando esto a un valor más bajo ocultará gardualmente más funciones en aras de la simplicidad. Pero si estableces aquí un valor más alto, se mostrarán más características y funcionalidades. +El ajuste [Experiencia de usuario](/account/control/) te permite revelar gradualmente una mayor complejidad. If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. Pero si estableces aquí un valor más alto, se mostrarán más características y funcionalidades. Baja este ajuste si quieres una experiencia más sencilla. Súbelo si quieres más potencia, o algunas cosas que sabes que existen no se muestran en tu pantalla. From a0d986710a875b92924ae30f1a85579e6bf0d91e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:20 +0100 Subject: [PATCH 0263/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/patterns/public/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/es.md b/markdown/org/docs/about/site/patterns/public/es.md index b1add26258b..61c136b88f2 100644 --- a/markdown/org/docs/about/site/patterns/public/es.md +++ b/markdown/org/docs/about/site/patterns/public/es.md @@ -4,4 +4,4 @@ title: Público Esta configuración controla si tu patrón será accesible por el público de **** o no. -Por defecto, los patrones son privados y sólo tú puedes acceder a tus propios patrones. Si quieres compartir tu patrón con otras personas -quizás porque han mostrado interés o porque buscas opiniones-, primero debes hacerlo público. +Por defecto, los patrones son privados y sólo tú puedes acceder a tus propios patrones. If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From 6062469576b24cb33132f1fbe525d33f9f8bdead Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:24 +0100 Subject: [PATCH 0264/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/sets/public/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/es.md b/markdown/org/docs/about/site/sets/public/es.md index 1afd935d3e1..87e5cba09f8 100644 --- a/markdown/org/docs/about/site/sets/public/es.md +++ b/markdown/org/docs/about/site/sets/public/es.md @@ -2,11 +2,11 @@ title: Público --- -Cada conjunto de medidas tiene un atributo **public** que controla si el conjunto de medidas es público o no. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. Por defecto, los conjuntos de medidas son privados y sólo tú puedes utilizarlos. -But, you can choose to make your measurments set public which allows other users to utilize the measurements in this set to generate or test their own patterns. +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. Si haces público tu conjunto de medidas, esto se aplica a todos los datos del conjunto de medidas. From 03e27e951f06b51de651fd1867ad0498bbae4d0a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 11:53:25 +0100 Subject: [PATCH 0265/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/sets/units/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/sets/units/es.md b/markdown/org/docs/about/site/sets/units/es.md index 9b9648d27e9..4ee0e06e6d3 100644 --- a/markdown/org/docs/about/site/sets/units/es.md +++ b/markdown/org/docs/about/site/sets/units/es.md @@ -4,7 +4,7 @@ title: Unidades Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. -While each FreeSewing user has a **units** setting in their account that controls their overal preference between imperial or metric units, it is common to also have measurements sets for differnet people, and those different people might have other preferences. +While each FreeSewing user has a **units** setting in their account that controls their overall preference between imperial or metric units, it is common to also have measurements sets for different people, and those different people might have other preferences. Por eso te permitimos establecer las unidades en cada conjunto de medidas. From bb09626d29354e6a3cab60955b75303521b20c9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:10:42 +0100 Subject: [PATCH 0266/1313] New translations en.md (German) skip-build --- markdown/org/docs/measurements/bustfront/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/de.md b/markdown/org/docs/measurements/bustfront/de.md index a694f7064d8..bd03998abfd 100644 --- a/markdown/org/docs/measurements/bustfront/de.md +++ b/markdown/org/docs/measurements/bustfront/de.md @@ -4,5 +4,5 @@ title: Vordere Oberweite Die **vordere Oberweite** ist der vordere Teil deines Brustumfangs. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From 1e66f6caf46172e995cfab731ab4ceb282cf78de Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:10:58 +0100 Subject: [PATCH 0267/1313] New translations en.md (German) skip-build --- markdown/org/docs/measurements/shoulderslope/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/de.md b/markdown/org/docs/measurements/shoulderslope/de.md index 62a70a1c5a0..c1c6402bd6e 100644 --- a/markdown/org/docs/measurements/shoulderslope/de.md +++ b/markdown/org/docs/measurements/shoulderslope/de.md @@ -6,7 +6,7 @@ Die **Schulterneigung** ist ein Indikator dafür, wie stark sich deine Schulter Um deine Schulterneigung zu messen, musst du den Winkel bestimmen, unter dem sich deine Schulterlinie nach unten neigt. -Eine gute Methode, um deine Schulterneigung zu messen ist ein Selfie aufzunehmen und es zu rotieren, bis deine Schulterlinie horizontal ist. +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. Der Winkel, um den du das Bild drehen musstest, ist deine Schulterneigung. From a5737e00a4005819202fdf43b46fe17511775633 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:11:13 +0100 Subject: [PATCH 0268/1313] New translations en.md (German) skip-build --- markdown/org/docs/sewing/double-welt-pockets/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/de.md b/markdown/org/docs/sewing/double-welt-pockets/de.md index 98f263fc7ab..0aedff5e39b 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/de.md +++ b/markdown/org/docs/sewing/double-welt-pockets/de.md @@ -114,7 +114,7 @@ Markiere die Paspeltasche wie folgt: - Richte die Mitte der Taschenöffnung an einer horizontalen Linie aus. Mache diese Linien etwas länger, damit sie dir später beim Ausrichten der Paspeln helfen - Markiere zwei horizontale Linien parallel zur Mittellinie, um die Paspelhöhe versetzt (0,5cm in unserem Beispiel) -Der Teil der horizontalen Linien parallel zur Mittellinie, die zwischen den Vertikellinien fallen, ist, wo wir unsere Schweissen nähen. Dies wird durch die roten Linien veranschaulicht. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. Dies wird durch die roten Linien veranschaulicht. ### Schritt 3: Falte und bügele die Paspeln From ab386686f5a203ec2abdd9fdd6146b5ce6e60390 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:11:14 +0100 Subject: [PATCH 0269/1313] New translations en.md (German) skip-build --- markdown/org/docs/sewing/edgestitching/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/de.md b/markdown/org/docs/sewing/edgestitching/de.md index 9ed549d8c7a..f22056f053f 100644 --- a/markdown/org/docs/sewing/edgestitching/de.md +++ b/markdown/org/docs/sewing/edgestitching/de.md @@ -2,7 +2,7 @@ title: Randnaht --- -Die Kantensteppung ist eine besondere Form der _Absteppung_. Sie ist aufgrund ihrer Lage besonders. Hierbei wird je nach Abstand zur Naht unter anderem das knappkantige (ca. 3mm bzw. 1/8 inch), oder auch das füßchenbreite (Nähfußkante als Abstandhalter) Absteppen unterschieden. +Edgestitching is a specific type of _topstitching_. Sie ist aufgrund ihrer Lage besonders. Hierbei wird je nach Abstand zur Naht unter anderem das knappkantige (ca. 3mm bzw. 1/8 inch), oder auch das füßchenbreite (Nähfußkante als Abstandhalter) Absteppen unterschieden. ![Kantenstich an einem FreeSewing Hugo Hoodie](edgestitching.jpg) From c87b15ee46368f18f20006e0c1b5cee29e8e6320 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:14:54 +0100 Subject: [PATCH 0270/1313] New translations en.yaml (German) skip-build --- sites/org/components/footer/de.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/de.yaml b/sites/org/components/footer/de.yaml index 613439b2bbe..25fa7003d13 100644 --- a/sites/org/components/footer/de.yaml +++ b/sites/org/components/footer/de.yaml @@ -1,7 +1,7 @@ cc: Die Inhalte auf FreeSewing.org sind unter einer Creative-Commons-Lizenz verfügbar -mit: Der Quellcode von FreeSewing ist auf Github unter der MIT-Lizenz verfügbar +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing wird von diesen großartigen Unternehmen gesponsert algolia: Suche powered by Algolia crowdin: Übersetzung powered by Crowdin -bugsnag: Fehlermanagement durch Bugsnag +bugsnag: Error handling by BugSnag vercel: Aufbauen & Hosten durch Vercel From a1b7280fb177727af9776dc421a4266bab1c356b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:14:56 +0100 Subject: [PATCH 0271/1313] New translations en.yaml (German) skip-build --- sites/org/pages/translation/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/de.yaml b/sites/org/pages/translation/de.yaml index 3186a138914..d23275465a7 100644 --- a/sites/org/pages/translation/de.yaml +++ b/sites/org/pages/translation/de.yaml @@ -8,7 +8,7 @@ translatedOnly: Übersetzt, aber (noch) nicht von Korrekturleser/-innen genehmig notTranslated: (noch) nicht übersetzt defaultLanguage: Dies ist unsere Ausgangssprache und die Arbeitssprache des FreeSewing-Projekts addLanguage1: Willst du eine Sprache hinzufügen? -addLanguage2: Wir würden FreeSewing gerne in mehr Sprachen verfügbar machen. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: Wenn du daran interessiert bist, ein neues Übersetzungsunterfangen zu beginnen, melde dich bitte bei uns. globalRanking: Globale Rangliste groupByLanguage: Nach Sprache gruppieren From 4849e10de63ebe930bbf06c8c814aa2c04fb0f29 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:14:57 +0100 Subject: [PATCH 0272/1313] New translations en.yaml (German) skip-build --- sites/shared/components/account/de.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/de.yaml b/sites/shared/components/account/de.yaml index dadd541b841..3a3509b0348 100644 --- a/sites/shared/components/account/de.yaml +++ b/sites/shared/components/account/de.yaml @@ -108,10 +108,10 @@ controlTitle: Welches Nutzererlebnis bevorzugst du? #img imgTitle: Wie wäre es mit einem Bild? imgDragAndDropImageHere: Ziehe ein Bild hierher und lege es ab -imgPasteUrlHere: Füge hier einen Bildstandort (url) ein +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Ein Bild auswählen #newsletter -newsletterTitle: Möchtest du den FreeSewing-Newsletter abonnieren? +newsletterTitle: Würdest du gerne den FreeSewing-Newsletter erhalten? newsletterYes: Ja, ich möchte den Newsletter erhalten newsletterYesd: Alle 3 Monate erhältst du von uns eine E-Mail mit ehrlichen, gesunden Inhalten. Kein Tracking, keine Werbung, kein Blödsinn. newsletterNod: Du kannst deine Meinung später immer noch ändern. Aber bis du das tust, werden wir dir keine Newsletter schicken. @@ -202,7 +202,7 @@ public: Öffentlich publicSet: Öffentliche Messungen eingestellt privateSet: Private Messungen eingestellt publicSetDesc: Andere dürfen diese Messungen nutzen, um Muster zu erstellen oder zu testen -privateSetDesc: Diese Messungen können nicht von anderen Nutzern oder Besuchern verwendet werden +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Permalink editThing: '{thing} bearbeiten' saveThing: '{thing} speichern' @@ -211,8 +211,8 @@ noFilter: Nicht filtern filterByDesignDocs: Wenn du einen bestimmten Entwurf im Kopf hast, kannst du auf nach dem Entwurf filtern und nur die Maße auflisten, die für diesen Entwurf erforderlich sind. setLacksMeasiesForDesign: In diesem Set fehlen die für dieses Muster erforderlichen Maße setHasMeasiesForDesign: Dieses Set enthält alle für dieses Muster benötigten Maße -someSetsLacking: Some of your sets lack the measurments required to generate this pattern -theseSetsReady: Diese Sets haben alle erforderlichen Messungen, um dieses Muster zu erzeugen +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Bitte wähle einen Satz von Messungen patternForWhichSet: Für welchen Satz von Messungen sollten wir ein Muster erstellen? bookmarkedSets: Maßnahmesets, die du mit einem Lesezeichen versehen hast @@ -222,7 +222,7 @@ curateCuratedSets: Kuratiere unsere Auswahl an kuratierten Messreihen useThisSet: Verwende diesen Satz von Messungen ownSets: Deine eigenen Messgeräte noOwnSets: Du hast (noch) keine eigenen Messreihen -pleaseMtm: Da unsere Schnittmuster maßgeschneidert sind, empfehlen wir dir dringend, genaue Maße zu nehmen. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: Du kannst deine Messungen als Messdatensatz speichern und dann beliebig viele Muster für sie erstellen. measurements: Maße chooseASet: Wähle eine Messreihe @@ -253,7 +253,7 @@ blogNewInfo: Wenn du im FreeSewing-Blog schreiben möchtest, kannst du hier eine imgNew: Erzeuge ein Image in den sozialen Medien imgNewInfo: Verwende unseren Generator, um ein Bild zu erstellen, das du in den sozialen Medien teilen kannst. Er unterstützt die Formate breit (klassisch), quadratisch (Instagram) oder hoch (Stories/TikTok). csetNew: Ein neues kuratiertes Messgerät vorschlagen -csetNewInfo: Wir stellen eine Sammlung geprüfter Messwerte zusammen, die wir zum Testen von Mustern verwenden. Du kannst hier eine Messreihe vorschlagen. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Ein neues Optionspaket vorschlagen opackNewInfo: Wir stellen für jedes unserer Designs eine Sammlung geprüfter Optionspakete zusammen. Hier kannst du deine Optionen vorschlagen. newPopular: Am beliebtesten From f2a96aab1a9e0b7f45a5d88bbcd3d97ed2a87478 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:04 +0100 Subject: [PATCH 0273/1313] New translations en.yaml (German) skip-build --- sites/shared/components/workbench/menus/core-settings/de.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/de.yaml b/sites/shared/components/workbench/menus/core-settings/de.yaml index 7bde24909b1..82b2f8c0ddf 100644 --- a/sites/shared/components/workbench/menus/core-settings/de.yaml +++ b/sites/shared/components/workbench/menus/core-settings/de.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Ein vollständiges Muster generieren completeYes.d: Dadurch wird ein vollständiges Muster mit allen Notationen, Linien und Markierungen erstellt. Verwende dies, wenn du dir nicht sicher bist, was du wählen sollst. completeNo.t: Erstelle einen Musterumriss -completeNo.d: Erstelle nur die Umrisse der Musterteile. Verwende dies, wenn du einen Lasercutter verwenden möchtest oder andere spezielle Anforderungen hast. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Erweitere alle Musterteile expandYes.d: Dadurch wird ein Muster erzeugt, bei dem alle Teile des Musters in ihrer vollen Größe gezeichnet werden, auch wenn es sich um einfache Rechtecke handelt. expandNo.t: Halte die Musterteile so kompakt wie möglich @@ -52,7 +52,7 @@ metric.d: Verwende dies, wenn du das metrische System verwendest und mit Zentime imperial.t: Imperiale Einheiten verwenden imperial.d: Verwende dies, wenn dir Zoll und Bruchteile von Zoll vertrauter sind als Zentimeter. Dies ist oft die bevorzugte Wahl für Menschen in Großbritannien und den USA. saNo.t: Nahtzugabe nicht berücksichtigen -saNo.d: Dadurch wird ein Muster erstellt, das keine Nahtzugabe enthält. Die Größe der Nahtzugabe spielt keine Rolle, da keine Nahtzugabe enthalten ist. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Nahtzugabe hinzufügen saYes.d: Dadurch wird ein Muster erstellt, das die Nahtzugabe enthält. Die Größe der Nahtzugabe wird individuell festgelegt. clearSettingsNotMeasurements: Einstellungen löschen, aber Messungen beibehalten From 745d870233d64932271e415a4f79d547ac637db1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:05 +0100 Subject: [PATCH 0274/1313] New translations en.yaml (German) skip-build --- sites/shared/components/workbench/menus/ui-settings/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/de.yaml b/sites/shared/components/workbench/menus/ui-settings/de.yaml index d3b9c8715b4..68e6571be8b 100644 --- a/sites/shared/components/workbench/menus/ui-settings/de.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/de.yaml @@ -4,7 +4,7 @@ renderer.t: Rendering Engine renderer.d: Legt fest, wie das Muster auf dem Bildschirm gerendert (gezeichnet) wird renderWithReact.t: Rendern mit den React-Komponenten von FreeSewing renderWithReact.d: Rendere als SVG durch unsere React-Komponenten. Ermöglicht Interaktivität und ist für den Bildschirm optimiert. Verwende sie, wenn du dir nicht sicher bist, was du wählen sollst. -renderWithCore.t: Rendering mit der Core-Bibliothek von Freesewing +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Rendere direkt aus Core in SVG. Erlaubt keine Interaktivität und ist für den Druck optimiert. Verwende dies, wenn du wissen willst, wie es nach dem Export aussehen wird. control.t: Benutzererfahrung control.d: Welches Benutzererlebnis bevorzugst du? Bitte beachte, dass dies eine Kontoeinstellung ist, die sich auf die gesamte Website auswirkt. From a03787c149f4f8fd6d3e729c612cab2da661fe0d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:10 +0100 Subject: [PATCH 0275/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/docs/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/de.yaml b/sites/shared/i18n/docs/de.yaml index 7138a36f04e..1e35c045636 100644 --- a/sites/shared/i18n/docs/de.yaml +++ b/sites/shared/i18n/docs/de.yaml @@ -3,7 +3,7 @@ docs: Dokumentation controltip.t: Kontrolle versus Einfachheit controltip.d1: Die Einstellung Power versus Simplicity deines FreeSewing-Kontos hat Auswirkungen darauf, wie du die FreeSewing-Website erlebst. controltip.d2: Standardmäßig sind einige der fortgeschrittenen Funktionen dieser Website ausgeblendet, um es neuen Nutzern leichter zu machen, sich zurechtzufinden. -controltip.d3: Wenn du etwas von der Einfachheit opfern willst, um mehr Leistung zu erhalten, kannst du die Einstellung Leistung gegen Einfachheit entsprechend anpassen. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Hilf uns, unsere Dokumentation zu verbessern authors: Autoren maintainers: Maintainer From a78fd0eb08870a268af02b34f6ef09c601e85610 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:12 +0100 Subject: [PATCH 0276/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/sections/de.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/de.yaml b/sites/shared/i18n/sections/de.yaml index 4991e822eab..8cccab34cd0 100644 --- a/sites/shared/i18n/sections/de.yaml +++ b/sites/shared/i18n/sections/de.yaml @@ -5,11 +5,11 @@ showcaseAbout: Beispiele und Inspirationen aus der FreeSewing-Community, die uns docs: Dokumentation docsAbout: Ausführliche Dokumentation für alle unsere Designs, unsere Website und vieles mehr account: Dein Konto -accountAbout: Verwalte deine Kontoeinstellungen und Präferenzen sowie deine persönlichen Daten +accountAbout: Manage your account settings and preferences, and your personal data designs: Entwurf designsAbout: Unsere Bibliothek mit Designs, die du mit ein paar Klicks in maßgeschneiderte Muster verwandeln kannst community: Community -communityAbout: Mehr Informationen über die Menschen hinter FreeSewing und wo du Gleichgesinnte findest +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Dokumentation für unsere Kern-API-Bibliothek und unsere Backend-REST-API. designAbout: Alles, was du wissen musst, um parametrische Nähmuster zu entwerfen. contributeAbout: Du willst zu FreeSewing beitragen? Hier geht's lang. From 9e7e32127a00887d3e188233bcdc94a46f357267 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:14 +0100 Subject: [PATCH 0277/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/status/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/de.yaml b/sites/shared/i18n/status/de.yaml index fc1a713afd7..c397bae0f88 100644 --- a/sites/shared/i18n/status/de.yaml +++ b/sites/shared/i18n/status/de.yaml @@ -6,7 +6,7 @@ copiedToClipboard: In die Zwischenablage kopiert dataLoaded: Geladene Daten aus dem FreeSewing Backend generatingPdf: Erstelle dein PDF, einen Moment bitte nailedIt: Geschafft! -pdfFailed: Bei der Erstellung deiner PDF-Datei ist ein unerwarteter Fehler aufgetreten +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: PDF generiert processingUpdate: Update der Verarbeitung settingsSaved: Einstellungen gespeichert From 510baec1e803ceddd5db2ec438fa04d816e13f6b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:15 +0100 Subject: [PATCH 0278/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/homepage/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/de.yaml b/sites/shared/i18n/homepage/de.yaml index fc026ff5d5a..9bafb287bb5 100644 --- a/sites/shared/i18n/homepage/de.yaml +++ b/sites/shared/i18n/homepage/de.yaml @@ -4,7 +4,7 @@ howDoesItWork: Wie funktioniert es? whatIsFreeSewing: Was ist FreeSewing? whatIsFreeSewingNot: Was ist FreeSewing nicht? what1: FreeSewing ist eine Open-Source-Software zum Erstellen von maßgeschneiderten Nähmustern, die von Heimnäherinnen und Modeunternehmern gleichermaßen geschätzt wird. -what2: FreeSewing.org stellt dir diese Software als Online-Tool mit unübertroffener Anpassungsfähigkeit und Flexibilität zur Verfügung. Wir haben über 50 Designs und fügen regelmäßig neue hinzu. Du kannst jedes Design auswählen und ein Schnittmuster nach deinen genauen Maßen erstellen. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Die Größenangaben der Industrie sind ein Haufen Lügen. Mach mit bei der Slow Fashion Revolution und genieße Kleidung, die dir passt. whatNot1: FreeSewing ist kein Unternehmen. Wir verkaufen nichts. Wir haben keine Mitarbeiter oder Angestellten. Wir haben kein Büro. Wir werden nicht bezahlt. whatNot2: Unsere Website enthält keine Werbung. Wir verfolgen dich nicht und verkaufen deine persönlichen Daten nicht. Wir verletzen nicht deine Privatsphäre. From 74266e245f5e71c1b4b156af46cffaf98db1cc0a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:16 +0100 Subject: [PATCH 0279/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/support/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/de.yaml b/sites/shared/i18n/support/de.yaml index fea71b0412b..08240144eec 100644 --- a/sites/shared/i18n/support/de.yaml +++ b/sites/shared/i18n/support/de.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: Wie kannst du FreeSewing unterstützen? issueAssigned: Eintrag zugewiesen issueClosed: Eintrag geschlossen issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Maintainer-Unterstützung maintainerSupport1: Wenn du ein FreeSewing-Gönner bist, kannst du direkt nach oben gehen und Joost direkt kontaktieren. maintainerSupport2: Auch wenn Joost die Anfragen seiner Kunden mit Priorität behandelt, braucht er auch Schlaf. Behalte das also im Hinterkopf, vor allem, wenn du dich in einer anderen Zeitzone befindest. From a1c76c87ff8b60feed892000b72153e9529baf31 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:21 +0100 Subject: [PATCH 0280/1313] New translations en.md (German) skip-build --- markdown/org/docs/measurements/waisttoarmpit/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/de.md b/markdown/org/docs/measurements/waisttoarmpit/de.md index bc27de75700..c4b52362c65 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/de.md +++ b/markdown/org/docs/measurements/waisttoarmpit/de.md @@ -4,7 +4,7 @@ title: Taille bis Achselhöhle Die **Taille bis zur Achselhöhle** ist das Maß von der Taille bis zur Achselhöhle, gemessen an der Seite deines Körpers. -Da _Achselhöhle_ ein wenig zweideutig ist, empfehlen wir, die Höhe des Ärmels zu finden, der so eng wie möglich ist und trotzdem funktioniert. Die Höhe der subkapulären/posterioren Lymphknoten ist in der Regel eine gute Stelle. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. Die Höhe der subkapulären/posterioren Lymphknoten ist in der Regel eine gute Stelle. Wenn du dir nicht sicher bist, wo sich die Lymphknoten unter deinem Arm befinden, kannst du auch so vorgehen: @@ -12,7 +12,7 @@ Wenn du dir nicht sicher bist, wo sich die Lymphknoten unter deinem Arm befinden - Hebe deinen dominanten Arm (den rechten, wenn du Rechtshänder bist, oder den linken, wenn du Linkshänder bist) etwa 30 Grad seitlich von deinem Körper weg. - Greife nun mit der anderen Hand zur Seite deines Körpers, lege die Handfläche an die Seite und den Daumen auf die Brust, so dass er nach oben zeigt. - Schiebe deine Hand so weit wie möglich nach oben, ohne dass du etwas wegschieben musst. -- Dein Zeigefinger sitzt jetzt in der Achselhöhle, die ein bisschen zu hoch ist. Aber dein Mittelfinger ist eine gute Stelle, um den Beginn deiner Achselhöhle zu markieren. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From e44da164519727a8276212682cd43f4fcce25976 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:15:22 +0100 Subject: [PATCH 0281/1313] New translations en.yaml (German) skip-build --- sites/shared/components/susi/de.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/de.yaml b/sites/shared/components/susi/de.yaml index 75b972c87fb..06f8d67a7cb 100644 --- a/sites/shared/components/susi/de.yaml +++ b/sites/shared/components/susi/de.yaml @@ -8,7 +8,7 @@ checkYourInbox: Schau in deinem Posteingang nach einer E-Mail von clickSigninLink: Klicke auf den Anmeldelink in dieser E-Mail, um dich bei deinem FreeSewing-Konto anzumelden. clickSignupLink: Klicke auf deinen persönlichen Anmeldelink in dieser E-Mail, um dein FreeSewing-Konto zu erstellen. consentLacking: Uns fehlt die Zustimmung zur Verarbeitung deiner Daten -consentLackingMsg: Die Einholung deiner Zustimmung ist Teil des Anmeldeprozesses. Schau nach der E-Mail, die du erhalten hast, als du dich für Schulungen angemeldet hast. Du kannst dich mit der gleichen E-Mail-Adresse erneut anmelden, um die E-Mail erneut zu erhalten. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Kontakt Unterstützung contactingGithub: Kontaktaufnahme mit GitHub contactingGoogle: Kontaktaufnahme mit Google From 4a88092c74d14d1d66f569551d695a00df9cd60b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:20 +0100 Subject: [PATCH 0282/1313] New translations en.md (German) skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/de.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/de.md index 0d703632bcb..8a946fb295d 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/de.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/de.md @@ -24,7 +24,7 @@ Dort wäre es dann vorbei. Bis auf ein technisches Detail, das auch wichtig ist: Dies ist technischer und schwieriger zu verstehen -Another reason is that while we could make it so that clicking the link in your email would immeadiatly subcribe you, it would be in violation of internet standards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: +Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: From 333a6b9f56aacb20cdbe425bd2f4365ef8d55b9b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:22 +0100 Subject: [PATCH 0283/1313] New translations en.md (German) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md index a5a9bff808f..7060d44605b 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/de.md @@ -2,7 +2,7 @@ title: Warum muss ich erneut klicken, um zu bestätigen, dass ich den Newsletter abbestellen möchte? --- -While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: +While we could make it so that clicking the link in your email would immediately unsubscribe you, it would be in violation of internet standards. Insbesondere die Definition der __GET-Methode__ des __HTTP__ Protokolls, die besagt, dass: From 641a493e3867a3d4be48278dcb9acaab8871bb30 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:25 +0100 Subject: [PATCH 0284/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/guide/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/de.md b/markdown/org/docs/about/guide/de.md index d8caf6daff3..4ee0337e4f1 100644 --- a/markdown/org/docs/about/guide/de.md +++ b/markdown/org/docs/about/guide/de.md @@ -40,7 +40,7 @@ FreeSewing.org ist unser sichtbarster Aktivposten und für viele Menschen die er ## Muster vs. Designs -Wenn du auf diese Seite gekommen bist, um nach _Nähmustern_ zu suchen, und nicht sofort einen Ort gefunden hast, an dem du sie herunterladen kannst, dann liegt das daran, dass alle Nähmuster von FreeSewing **nach Maß gefertigt werden**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. Wir skalieren oder gradieren keine Schnittmuster. Stattdessen entwirft FreeSewing ein Design in ein Muster, das nach deinen Maßen angefertigt wird. Das passiert in Echtzeit, in deinem Browser. @@ -89,6 +89,6 @@ FreeSewing bietet auch **kuratierte Maßsets**. Das sind Messungen von echten Me ## An wen du dich für Hilfe wenden kannst -[Wenn du nicht weiterkommst, kannst du dich auf der Supportseite](/support/) über die verschiedenen Supportoptionen informieren. +If you get stuck, consult [the support page](/support/) for various support options. From f641b87caf6e7a256a94f02d3490488db975bf73 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:38 +0100 Subject: [PATCH 0285/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/account/username/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/de.md b/markdown/org/docs/about/site/account/username/de.md index 86c1c28aa0f..8a7692af442 100644 --- a/markdown/org/docs/about/site/account/username/de.md +++ b/markdown/org/docs/about/site/account/username/de.md @@ -6,5 +6,5 @@ Dein Nutzername ist ein spezieller Name, der dich eindeutig identifiziert. Du kannst deinen eigenen Benutzernamen wählen, also ist alles erlaubt. -Um Verwechslungen zu vermeiden, müssen Benutzernamen eindeutig sein, wenn sie kleingeschrieben werden. Mit anderen Worten: Der Benutzername `Joost` wird nicht verfügbar sein, wenn ein Benutzer `joost` existiert. +To avoid confusion, usernames must be unique when lowercased. Mit anderen Worten: Der Benutzername `Joost` wird nicht verfügbar sein, wenn ein Benutzer `joost` existiert. From 75f08f5394149162ae74dd83db01f5bb4d72f339 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:40 +0100 Subject: [PATCH 0286/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/apikeys/expiry/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/de.md b/markdown/org/docs/about/site/apikeys/expiry/de.md index a3585d80683..1e0d109a071 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/de.md +++ b/markdown/org/docs/about/site/apikeys/expiry/de.md @@ -7,6 +7,6 @@ Jeder API-Schlüssel hat ein **Ablaufdatum** , nach dem der Schlüssel nicht meh Standardmäßig laufen die API-Schlüssel nach einem Monat ab, aber wir unterstützen bis zu zwei Jahre. -Wenn dein Schlüssel bald abläuft, musst du ihn durch einen neuen ersetzen. +When your key is about to expire, you must replace it with a new one. Du kannst das Ablaufdatum eines einmal festgelegten Schlüssels nicht verlängern. From 12a3edd38e470c4c207425dcfefa9518c2a9944b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:43 +0100 Subject: [PATCH 0287/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/bookmarks/location/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/de.md b/markdown/org/docs/about/site/bookmarks/location/de.md index 6e32ddf123b..ffb25bfd92e 100644 --- a/markdown/org/docs/about/site/bookmarks/location/de.md +++ b/markdown/org/docs/about/site/bookmarks/location/de.md @@ -2,7 +2,7 @@ title: Standort --- -Jedes Lesezeichen hat ein **loation** Attribut, das obligatorisch ist. Sie enthält die URL des Lesezeichens. +Every bookmark has a **location** attribute that is mandatory. Sie enthält die URL des Lesezeichens. Ein Lesezeichen ohne einen Ort oder eine URL ist nutzlos, da dies den Ort enthält, auf den das Lesezeichen zeigen soll. From 9b4b79d052426ee9a59665f4e216b92495cae0d2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:45 +0100 Subject: [PATCH 0288/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/csets/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/de.md b/markdown/org/docs/about/site/csets/de.md index 8f7a2ed1f7c..1dad141ccc7 100644 --- a/markdown/org/docs/about/site/csets/de.md +++ b/markdown/org/docs/about/site/csets/de.md @@ -20,7 +20,7 @@ We now no longer present users who want to try out the site a range of *standard Wir sind darauf angewiesen, dass unsere Community Messreihen zur Kuratierung einreicht. Wenn du eine öffentliche Messung auf der Website eingestellt hast, kannst du sie zur Kuratierung vorschlagen. -Um Teil unserer kuratierten Messgeräte-Sammlung zu werden, solltest du folgende Angaben machen: +To be part of our curated measurements sets collection, you should provide the following: - **Alle Messungen** der Person. Wir akzeptieren keine unvollständigen Sets, da dies bedeuten würde, dass einige Designs nicht mit ihnen funktionieren würden. - **Die Größe** der Person. So können die Nutzerinnen und Nutzer die Maße auswählen, die ihrem eigenen Körper am nächsten kommen. From b75a2721daf6b597fa051bfe4ee1723afffd9ebe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:48 +0100 Subject: [PATCH 0289/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/de.md b/markdown/org/docs/about/site/draft/core-settings/locale/de.md index 537bd689c32..49b42de8338 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/de.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/de.md @@ -12,5 +12,5 @@ FreeSewing unterstützt derzeit die folgenden Sprachen: - Deutsch - Holländisch -Du kannst eine dieser Sprachen auswählen und dein Muster wird in diese Sprache übersetzt. +You can pick any of these and your pattern will be translated in this language. From 75c9037aff116ff3f19258d06a26f5dbde078077 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:54 +0100 Subject: [PATCH 0290/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/de.md b/markdown/org/docs/about/site/draft/core-settings/scale/de.md index a5f449e2464..3f77262c235 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/de.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/de.md @@ -4,5 +4,5 @@ title: Skalierung Mit den Skalierungseinstellungen kannst du die Teile eines Musters skalieren, die nicht mit den Maßen übereinstimmen. Dinge wie Logos, Linienstärken, Schriftgrößen und so weiter. -Diese Einstellung wurde auf Wunsch von Leuten hinzugefügt, die unsere Schnittmuster gerne für Puppenkleidung verwenden. Wenn du ein so kleines Muster erstellst, verdecken die Pfeilspitzen, Titel usw. einen Großteil des Musters. Mit dieser Einstellung kannst du sie verkleinern oder - wenn du willst - vergrößern. +Diese Einstellung wurde auf Wunsch von Leuten hinzugefügt, die unsere Schnittmuster gerne für Puppenkleidung verwenden. Wenn du ein so kleines Muster erstellst, verdecken die Pfeilspitzen, Titel usw. einen Großteil des Musters. This setting allows you to scale them down or -- if you so wish -- scale them up. From a933767c6644b75c0ed96727dfbdd9351608de27 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:16:57 +0100 Subject: [PATCH 0291/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/de.md b/markdown/org/docs/about/site/de.md index fbd87eef97e..ea30c427142 100644 --- a/markdown/org/docs/about/site/de.md +++ b/markdown/org/docs/about/site/de.md @@ -12,7 +12,7 @@ Auf diesen Seiten zeigen wir dir, wie du das Beste aus der FreeSewing.org-Websit Es kann frustrierend sein, wenn Besucher, die hierher kommen und eine Website erwarten, auf der sie Nähmuster herunterladen können, diese nicht finden. Es ist fast so, als ob das Verstecken des *Download-Buttons* ein ausgeklügelter Plan ist, um ihre Zeit zu verschwenden. Ich weiß nicht wirklich, wie ich das in Ordnung bringen kann, weil ich die Erwartungen der Leute nicht kontrollieren kann. -FreeSewing.org unterscheidet sich _sehr_ von einer Website mit einigen Links zu PDF-Nähmustern. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. Wenn du also genau das erwartest, müssen wir dich fast umschulen, bevor wir darüber reden können, was diese Seite bietet. Also werde ich das nicht tun. Ich gehe davon aus, dass du mit offenem Geist liest. @@ -51,7 +51,7 @@ Ich möchte ein paar von ihnen hervorheben, die deine Aufmerksamkeit verdienen: ### Benutzererfahrung -Die Einstellung [User Experience](/account/control/) ermöglicht es dir, schrittweise mehr Komplexität zu enthüllen. Wenn du mit dem Angebot von FreeSewing.org ein wenig überfordert bist, kannst du hier einen niedrigeren Wert einstellen, um der Einfachheit halber mehr Funktionen auszublenden. Wenn du hier einen höheren Wert einstellst, werden mehr Features und Funktionen angezeigt. +Die Einstellung [User Experience](/account/control/) ermöglicht es dir, schrittweise mehr Komplexität zu enthüllen. If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. Wenn du hier einen höheren Wert einstellst, werden mehr Features und Funktionen angezeigt. Stelle diese Einstellung herunter, wenn du es einfacher haben willst. Drehe ihn auf, wenn du mehr Leistung brauchst oder Dinge, von denen du weißt, dass es sie gibt, nicht auf deinem Bildschirm angezeigt werden. From c5e25aa4a638da2fe01e88f0857886f31a89ec7a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:17:01 +0100 Subject: [PATCH 0292/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/patterns/public/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/de.md b/markdown/org/docs/about/site/patterns/public/de.md index 6429642361c..b7c71c9b256 100644 --- a/markdown/org/docs/about/site/patterns/public/de.md +++ b/markdown/org/docs/about/site/patterns/public/de.md @@ -4,4 +4,4 @@ title: Öffentlich Diese Einstellung legt fest, ob dein Muster über **öffentlich zugänglich ist** oder nicht. -Standardmäßig sind die Muster privat und nur du kannst auf deine eigenen Muster zugreifen. Wenn du dein Muster mit anderen teilen möchtest - vielleicht weil sie Interesse gezeigt haben oder du nach Anregungen suchst - solltest du es zuerst veröffentlichen. +Standardmäßig sind die Muster privat und nur du kannst auf deine eigenen Muster zugreifen. If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From a79e39ce51864975ad09f922f540ac13ea0d981d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:17:05 +0100 Subject: [PATCH 0293/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/sets/public/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/de.md b/markdown/org/docs/about/site/sets/public/de.md index 1a97fdd4d09..86c9961e656 100644 --- a/markdown/org/docs/about/site/sets/public/de.md +++ b/markdown/org/docs/about/site/sets/public/de.md @@ -2,11 +2,11 @@ title: Öffentlich --- -Jeder Messdatensatz hat ein **public** Attribut, das bestimmt, ob der Messdatensatz öffentlich ist oder nicht. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. Standardmäßig sind Messreihen privat und du bist der Einzige, der sie nutzen kann. -But, you can choose to make your measurments set public which allows other users to utilize the measurements in this set to generate or test their own patterns. +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. Wenn du deinen Messdatensatz öffentlich machst, gilt dies für alle Daten im Messdatensatz. From 2ae4e417fd5a959dc0804ecec684aae45d98d45e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:17:06 +0100 Subject: [PATCH 0294/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/sets/units/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/sets/units/de.md b/markdown/org/docs/about/site/sets/units/de.md index bb2c414ff10..d0f04f8b88e 100644 --- a/markdown/org/docs/about/site/sets/units/de.md +++ b/markdown/org/docs/about/site/sets/units/de.md @@ -4,7 +4,7 @@ title: Einheiten Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. -While each FreeSewing user has a **units** setting in their account that controls their overal preference between imperial or metric units, it is common to also have measurements sets for differnet people, and those different people might have other preferences. +While each FreeSewing user has a **units** setting in their account that controls their overall preference between imperial or metric units, it is common to also have measurements sets for different people, and those different people might have other preferences. Deshalb kannst du die Einheiten bei jedem Messgerät einstellen. From a09eec335f14865721795a239474b117560fccf2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:33:31 +0100 Subject: [PATCH 0295/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/bustfront/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/nl.md b/markdown/org/docs/measurements/bustfront/nl.md index 1b9bd1ed11a..101bf72010b 100644 --- a/markdown/org/docs/measurements/bustfront/nl.md +++ b/markdown/org/docs/measurements/bustfront/nl.md @@ -4,5 +4,5 @@ title: Buste voor De **bustenfront** is het voorste deel van je borstomtrek. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From 9115d330fc7214737700bf947af78ec30615b23c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:33:46 +0100 Subject: [PATCH 0296/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/shoulderslope/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/nl.md b/markdown/org/docs/measurements/shoulderslope/nl.md index 7b7baab8bd2..0e436e38d99 100644 --- a/markdown/org/docs/measurements/shoulderslope/nl.md +++ b/markdown/org/docs/measurements/shoulderslope/nl.md @@ -6,7 +6,7 @@ De **schouderhelling** maat geeft aan hoe scherp je schouders naar beneden helle Om je schouderhelling te meten moet je bepalen in welke hoek je schouderlijn naar beneden loopt. -A good way to measure your shoulder slope is to take a a selfie and rotate it until your shoulder line is horizontal. +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. De hoek waaronder je de foto hebt moeten roteren is je schouderhelling. From 475583556d39c7422f6dc1fbbf43481b2a8527b4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:34:00 +0100 Subject: [PATCH 0297/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/sewing/double-welt-pockets/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/nl.md b/markdown/org/docs/sewing/double-welt-pockets/nl.md index e65aa1f7b4c..ce9d21cc22e 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/nl.md +++ b/markdown/org/docs/sewing/double-welt-pockets/nl.md @@ -114,7 +114,7 @@ Markeer de paspelzak op deze manier: - Markeer het midden van de zakopening met een horizontale lijn. Laat ook deze lijn iets verder doorlopen om het je later makkelijker te maken - Markeer twee horizontale lijnen, parallel aan de middenlijn, op dezelfde afstand als de paspelhoogte (in ons voorbeeld is dit 0.5 cm) -Het deel van de twee horizontale lijnen parallel met de middenlijn dat tussen de twee verticale lijnen valt is waar we de paspels vast zullen stikken. Dit is aangeduid met de rode lijnen. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. Dit is aangeduid met de rode lijnen. ### Stap 3: Vouw en strijk de paspels From 1deaf277e99cfccdfec095a95305ce4739ad44fd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:34:02 +0100 Subject: [PATCH 0298/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/sewing/edgestitching/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/nl.md b/markdown/org/docs/sewing/edgestitching/nl.md index dea8af54eb6..08861b2a6bd 100644 --- a/markdown/org/docs/sewing/edgestitching/nl.md +++ b/markdown/org/docs/sewing/edgestitching/nl.md @@ -2,7 +2,7 @@ title: Stiksels --- -Kantstikken is een speciaal type _doorstikken_. Het is specifiek vanwege de locatie. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. +Edgestitching is a specific type of _topstitching_. Het is specifiek vanwege de locatie. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. ![Kantstikken op een FreeSewing Hugo Hoodie](edgestitching.jpg) From 3f0c9de1ac1f4996ee6591e581f718d63e1965a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vili=20Sinerv=C3=A4?= Date: Wed, 24 Jan 2024 13:34:21 +0200 Subject: [PATCH 0299/1313] Hide 'missing image' icon from newsletters --- sites/org/components/layouts/post.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sites/org/components/layouts/post.mjs b/sites/org/components/layouts/post.mjs index 0049c567290..f515f5fb077 100644 --- a/sites/org/components/layouts/post.mjs +++ b/sites/org/components/layouts/post.mjs @@ -90,7 +90,9 @@ export const PostLayout = ({ mdx, frontmatter, type, dir }) => {

{frontmatter.title}

- + {type === 'newsletter' ? null : ( + + )}
From 4c1a360a82c96eb3d1b38c4cca39e4286553591b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:37:47 +0100 Subject: [PATCH 0300/1313] New translations en.yaml (Dutch) skip-build --- sites/org/components/footer/nl.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/nl.yaml b/sites/org/components/footer/nl.yaml index 5d685ec7072..a702f060f44 100644 --- a/sites/org/components/footer/nl.yaml +++ b/sites/org/components/footer/nl.yaml @@ -1,7 +1,7 @@ cc: Inhoud op FreeSewing.org is beschikbaar onder een Creative Commons licentie -mit: De broncode van FreeSewing is beschikbaar op Github onder de MIT-licentie +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing wordt gesponsord door deze geweldige bedrijven algolia: Zoekfunctie door Algolia crowdin: Vertaalsoftware door Crowdin -bugsnag: Fout rapportage door Bugsnag +bugsnag: Error handling by BugSnag vercel: Builds & Hosting door Vercel From d5090c78487ad1563459b16a3f65f4bbd0d49c05 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:37:48 +0100 Subject: [PATCH 0301/1313] New translations en.yaml (Dutch) skip-build --- sites/org/pages/translation/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/nl.yaml b/sites/org/pages/translation/nl.yaml index 44d613d952c..22b14abf260 100644 --- a/sites/org/pages/translation/nl.yaml +++ b/sites/org/pages/translation/nl.yaml @@ -8,7 +8,7 @@ translatedOnly: Vertaald maar (nog) niet goedgekeurd door een proeflezer notTranslated: (Nog) Niet vertaald defaultLanguage: Dit is onze brontaal en de werktaal van het FreeSewing project addLanguage1: Wil je een taal toevoegen? -addLanguage2: We zouden FreeSewing graag in meer talen beschikbaar maken. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: Als je geïnteresseerd bent in het starten van een nieuwe vertaal-inspanning, neem dan contact met ons op. globalRanking: Globaal klassement groupByLanguage: Groepeer op taal From d4e55f93446d6623dc0dc0125c1d4279c7926679 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:37:49 +0100 Subject: [PATCH 0302/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/account/nl.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/nl.yaml b/sites/shared/components/account/nl.yaml index 26ab5c4badf..b0633f0e7d5 100644 --- a/sites/shared/components/account/nl.yaml +++ b/sites/shared/components/account/nl.yaml @@ -108,10 +108,10 @@ controlTitle: Welke gebruikerservaring heeft jouw voorkeur? #img imgTitle: Wat denk je van een leuke foto? imgDragAndDropImageHere: Sleep hier een afbeelding naartoe -imgPasteUrlHere: Plak hier een afbeeldingslocatie (url) +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Selecteer een afbeelding #newsletter -newsletterTitle: Wil je de FreeSewing nieuwsbrief ontvangen? +newsletterTitle: Wil je graag de FreeSewing nieuwsbrief ontvangen? newsletterYes: Ja, ik wil graag de nieuwsbrief ontvangen newsletterYesd: Eens om de 3 maanden ontvang je van ons een e-mail met eerlijke, oprechte inhoud. Geen tracking, geen advertenties, geen onzin. newsletterNod: Je kunt later altijd van gedachten veranderen. Maar zolang je dat niet doet, sturen we je geen nieuwsbrieven. @@ -202,7 +202,7 @@ public: Publiek publicSet: Publieke maten set privateSet: Privé maten set publicSetDesc: Anderen kunnen deze maten gebruiken om patronen aan te maken of te testen -privateSetDesc: Deze maten mogen niet worden gebruikt door anderen om patronen aan te maken of te testen +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Link editThing: Bewerk {thing} saveThing: Bewaar {thing} @@ -211,8 +211,8 @@ noFilter: Niet filteren filterByDesignDocs: Als je een specifiek ontwerp in gedachten hebt, kun je filteren op ontwerp om alleen de metingen te tonen die nodig zijn voor dit ontwerp. setLacksMeasiesForDesign: In deze set ontbreken de afmetingen die nodig zijn voor dit patroon setHasMeasiesForDesign: Deze set heeft alle afmetingen die nodig zijn voor dit patroon -someSetsLacking: Some of your sets lack the measurments required to generate this pattern -theseSetsReady: Deze sets hebben alle vereiste metingen om dit patroon te genereren +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Kies een maten set patternForWhichSet: Voor welke maten set moeten we een patroon genereren? bookmarkedSets: Maten sets in je bladwijzers @@ -222,7 +222,7 @@ curateCuratedSets: Stel onze selectie samengestelde meetsets samen useThisSet: Gebruik deze maten set ownSets: Je eigen meetsets noOwnSets: Je hebt (nog) geen eigen meetsets -pleaseMtm: Omdat onze patronen op maat worden gemaakt, raden we je sterk aan om de maten nauwkeurig op te nemen. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: Je kunt je metingen opslaan als een meetset, waarna je er zoveel patronen voor kunt genereren als je wilt. measurements: Maten chooseASet: Kies een meetset @@ -253,7 +253,7 @@ blogNewInfo: Als je op de FreeSewing blog wilt schrijven, kun je hier een concep imgNew: Genereer een social media-imago imgNewInfo: Gebruik onze generator om een afbeelding te maken die je kunt delen op sociale media, met ondersteuning voor brede (klassiek), vierkante (Instagram) of hoge (stories/TikTok) formaten. csetNew: Een nieuwe set samengestelde metingen voorstellen -csetNewInfo: We stellen een verzameling doorgelichte meetsets samen die we gebruiken om patronen te testen. Je kunt hier een meetset voorstellen. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Een nieuw optiepakket voorstellen opackNewInfo: Voor elk van onze ontwerpen stellen we een verzameling doorgelichte optiepakketten samen. Je kunt je opties hier voorstellen. newPopular: Meest populair From 9605b87edb1a997534fd3a2e130b6452506737f9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:37:55 +0100 Subject: [PATCH 0303/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/workbench/menus/core-settings/nl.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/nl.yaml b/sites/shared/components/workbench/menus/core-settings/nl.yaml index 9e83573a224..cbe02d849f9 100644 --- a/sites/shared/components/workbench/menus/core-settings/nl.yaml +++ b/sites/shared/components/workbench/menus/core-settings/nl.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Genereer een compleet patroon completeYes.d: Dit genereert een compleet patroon met alle notaties, lijnen en markeringen. Gebruik dit als je niet zeker weet wat je moet kiezen. completeNo.t: Genereer een patroonoverzicht -completeNo.d: Genereer alleen de omtrek van de patroondelen. Gebruik dit als je een lasercutter wilt gebruiken of andere specifieke wensen hebt. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Alle patroondelen uitvouwen expandYes.d: Dit genereert een patroon waarbij alle patroondelen op ware grootte worden getekend, zelfs als het eenvoudige rechthoeken zijn. expandNo.t: Houd patronen waar mogelijk compact @@ -52,7 +52,7 @@ metric.d: Gebruik deze als je het metrische stelsel gebruikt en centimeters en m imperial.t: Gebruik imperiale eenheden imperial.d: Gebruik dit als je meer vertrouwd bent met inches en fracties of inches dan met centimeters. Dit is vaak de voorkeursoptie voor mensen in het Verenigd Koninkrijk en de Verenigde Staten. saNo.t: Exclusief naadtoeslag -saNo.d: Dit genereert een patroon zonder naadtoeslag. De grootte van de naadtoeslag maakt niet uit, omdat er geen naadtoeslag wordt opgenomen. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Inclusief naadtoeslag saYes.d: Dit genereert een patroon met naadtoeslag. De grootte van de naadtoeslag wordt individueel ingesteld. clearSettingsNotMeasurements: Instellingen wissen, maar metingen behouden From c49d327e7fe359c61ad1812429c9c733d47cab69 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:37:56 +0100 Subject: [PATCH 0304/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/workbench/menus/ui-settings/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/nl.yaml b/sites/shared/components/workbench/menus/ui-settings/nl.yaml index 08632f8bacc..54a4573213c 100644 --- a/sites/shared/components/workbench/menus/ui-settings/nl.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/nl.yaml @@ -4,7 +4,7 @@ renderer.t: Render-engine renderer.d: Bepaalt hoe het patroon wordt weergegeven (getekend) op het scherm renderWithReact.t: Renderen met de React-componenten van FreeSewing renderWithReact.d: Renderen als SVG via onze React-componenten. Maakt interactiviteit mogelijk en is geoptimaliseerd voor het scherm. Gebruik deze als je niet zeker weet wat je moet kiezen. -renderWithCore.t: Renderen met de Core-bibliotheek van Freesewing +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Render rechtstreeks naar SVG vanuit Core. Laat geen interactiviteit toe en is geoptimaliseerd voor afdrukken. Gebruik dit als je wilt weten hoe het eruit zal zien als het geëxporteerd wordt. control.t: Gebruikerservaring control.d: Welke gebruikerservaring heeft jouw voorkeur? Houd er rekening mee dat dit een accountinstelling is, dus het heeft invloed op de hele website. From 9a7e6094083b1a0d6f7a31b28f6bd72b50ed2ea6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:00 +0100 Subject: [PATCH 0305/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/docs/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/nl.yaml b/sites/shared/i18n/docs/nl.yaml index 49e06f05f12..a0bf6da4c3d 100644 --- a/sites/shared/i18n/docs/nl.yaml +++ b/sites/shared/i18n/docs/nl.yaml @@ -3,7 +3,7 @@ docs: Documentatie controltip.t: Macht versus eenvoud controltip.d1: De instelling Power versus Simplicity van je FreeSewing account heeft invloed op hoe je de FreeSewing website ervaart. controltip.d2: Standaard zijn enkele van de meer geavanceerde functies van deze site verborgen om het nieuwe gebruikers gemakkelijker te maken hun weg te vinden. -controltip.d3: Als je iets van die eenvoud wilt opofferen om meer vermogen te krijgen, kun je de instelling Power versus Simplicity aanpassen. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Help ons onze documentatie te verbeteren authors: Auteurs maintainers: Onderhouders From 6336ae7adb9b5872afead0974f38c213ffaee1d2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:02 +0100 Subject: [PATCH 0306/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/sections/nl.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/nl.yaml b/sites/shared/i18n/sections/nl.yaml index 9e324b9317d..ebe57e44f08 100644 --- a/sites/shared/i18n/sections/nl.yaml +++ b/sites/shared/i18n/sections/nl.yaml @@ -5,11 +5,11 @@ showcaseAbout: Voorbeelden en inspiratie van de FreeSewing gemeenschap met onze docs: Documentatie docsAbout: Uitgebreide documentatie voor al onze ontwerpen, onze website en nog veel meer account: Jouw account -accountAbout: Je accountinstellingen en -voorkeuren en je persoonlijke gegevens beheren +accountAbout: Manage your account settings and preferences, and your personal data designs: Designs designsAbout: Onze bibliotheek met ontwerpen die je met een paar klikken kunt omtoveren tot patronen op maat community: Gemeenschap -communityAbout: Meer informatie over de mensen achter FreeSewing en waar je gelijkgestemde makers kunt vinden +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Documentatie voor onze core API bibliotheek en onze backend REST API. designAbout: Alles wat je moet weten om te beginnen met het ontwerpen van parametrische naaipatronen. contributeAbout: Wil je bijdragen aan FreeSewing? Doe het op deze manier. From cc8237160d8413af9020497dd861baabd8208e23 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:05 +0100 Subject: [PATCH 0307/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/status/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/nl.yaml b/sites/shared/i18n/status/nl.yaml index e9bbee2bfd3..7171452a448 100644 --- a/sites/shared/i18n/status/nl.yaml +++ b/sites/shared/i18n/status/nl.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Gekopieerd naar het klembord dataLoaded: Geladen gegevens van het FreeSewing backend generatingPdf: PDF genereren, een ogenblik geduld alstublieft nailedIt: Dat is ook weer geregeld! -pdfFailed: Er is een onverwachte fout opgetreden tijdens het genereren van je PDF +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: PDF gegenereerd processingUpdate: Verwerking bijwerken settingsSaved: Instellingen opgeslagen From 1fe604c716c72908d1ef9351932e9d5d462ab361 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:06 +0100 Subject: [PATCH 0308/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/homepage/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/nl.yaml b/sites/shared/i18n/homepage/nl.yaml index de08e5f0b26..d9c0e9648e0 100644 --- a/sites/shared/i18n/homepage/nl.yaml +++ b/sites/shared/i18n/homepage/nl.yaml @@ -4,7 +4,7 @@ howDoesItWork: Hoe werkt het? whatIsFreeSewing: Wat is FreeSewing? whatIsFreeSewingNot: Wat is FreeSewing niet? what1: FreeSewing is open source software om op maat gemaakte naaipatronen te genereren, geliefd bij zowel thuisnaaisters als modeondernemers. -what2: FreeSewing.org maakt deze software beschikbaar als een online hulpmiddel met ongeëvenaarde beheerbaarheid en flexibiliteit. We hebben meer dan 50 ontwerpen en voegen regelmatig nieuwe toe. Je kunt een willekeurig ontwerp kiezen en een patroon op maat genereren. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Industriële maten zijn een hoop leugens. Doe mee met de slow fashion revolutie en geniet van kleding die je past. whatNot1: FreeSewing is geen bedrijf. We verkopen niets. We hebben geen personeel of werknemers. We hebben geen kantoor. We krijgen niet betaald. whatNot2: Onze website bevat geen reclame. We volgen je niet en verkopen je persoonlijke gegevens niet. We schenden je privacy niet. From b9e16fd6c4f0f682c6c7f1f80a7d3c7943526539 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:06 +0100 Subject: [PATCH 0309/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/support/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/nl.yaml b/sites/shared/i18n/support/nl.yaml index 696f6bed93e..3e592ad089f 100644 --- a/sites/shared/i18n/support/nl.yaml +++ b/sites/shared/i18n/support/nl.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: Hoe kun je FreeSewing steunen? issueAssigned: Probleem toegewezen issueClosed: Probleem gesloten issueReferenced: Probleem verwezen -issueReopened: Probleem heropend +issueReopened: Issue Re-Opened maintainerSupport: Ondersteuning voor beheerders maintainerSupport1: Als je een FreeSewing patronbent, kun je meteen naar boven gaan en rechtstreeks contact opnemen met Joost. maintainerSupport2: Hoewel Joost verzoeken van klanten met prioriteit behandelt, heeft hij ook slaap nodig. Houd daar dus rekening mee, vooral als je in een andere tijdzone bent. From a3348890e45b259df7f81de4d3751591316f83d7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:11 +0100 Subject: [PATCH 0310/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/waisttoarmpit/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/nl.md b/markdown/org/docs/measurements/waisttoarmpit/nl.md index 66d022c9b6f..6e1faf6cd64 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/nl.md +++ b/markdown/org/docs/measurements/waisttoarmpit/nl.md @@ -4,7 +4,7 @@ title: Taille tot oksel De **taille tot oksel** is de afstand tussen je middel en je oksel, gemeten aan de zijkant van je lichaam. -Omdat _oksel_ een beetje ambigu is, raden we aan om de hoogte te vinden die ongeveer de strakst mogelijke mouw is die nog kan werken. De hoogte van de subcapulaire/voorste lymfeklieren is meestal een goede plek. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. De hoogte van de subcapulaire/voorste lymfeklieren is meestal een goede plek. Of, als je niet zeker weet waar de lymfeklieren onder je arm zitten, kun je deze aanpak volgen: @@ -12,7 +12,7 @@ Of, als je niet zeker weet waar de lymfeklieren onder je arm zitten, kun je deze - Breng je dominante arm (de rechter als je rechtshandig bent, of de linker als je linkshandig bent) ongeveer 30 graden zijwaarts omhoog, weg van je lichaam. - Reik nu met je andere hand naar de zijkant van je lichaam, plaats de palm van je hand tegen de zijkant en je duim op je borst die naar boven wijst. - Schuif je hand zo ver mogelijk omhoog zonder iets weg te duwen. -- Je wijsvinger zit nu in de oksel, wat iets te hoog is. Maar je middelvinger is een goede plek om te markeren als het begin van je oksel. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From 172b809d9dd93dd626d87f98a897d4e6869ce41e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:38:12 +0100 Subject: [PATCH 0311/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/susi/nl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/nl.yaml b/sites/shared/components/susi/nl.yaml index 347daa58c95..3773f4d22cc 100644 --- a/sites/shared/components/susi/nl.yaml +++ b/sites/shared/components/susi/nl.yaml @@ -8,7 +8,7 @@ checkYourInbox: Controleer je inbox voor een e-mail van clickSigninLink: Klik op de aanmeldlink in die e-mail om je aan te melden bij je FreeSewing account. clickSignupLink: Klik op je persoonlijke aanmeldlink in die e-mail om je FreeSewing account aan te maken. consentLacking: We hebben geen toestemming om je gegevens te verwerken -consentLackingMsg: Je toestemming krijgen is onderdeel van het aanmeldingsproces. Zoek naar de e-mail die je hebt ontvangen toen je je aanmeldde voor de instellingen. Je kunt je opnieuw aanmelden met hetzelfde e-mailadres om de e-mail opnieuw te ontvangen. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Contact opnemen met ondersteuning contactingGithub: Contact opnemen met GitHub contactingGoogle: Contact opnemen met Google From 584be4e2d1758dcf57a95e22db7187fd54b93ec1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:06 +0100 Subject: [PATCH 0312/1313] New translations en.md (Dutch) skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/nl.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/nl.md index 89e0ec7371f..998bfb448bf 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/nl.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/nl.md @@ -24,7 +24,7 @@ Daar zou het afgelopen zijn. Behalve één technisch detail dat ook belangrijk i Dit is technischer en moeilijker te begrijpen -Another reason is that while we could make it so that clicking the link in your email would immeadiatly subcribe you, it would be in violation of internet standards. Specifiek de definitie van het __HTTP__ protocol __GET methode__ waarin staat dat: +Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. Specifiek de definitie van het __HTTP__ protocol __GET methode__ waarin staat dat: From 10a86aca6543347b0072c3a5ae99352fba6b9d88 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:07 +0100 Subject: [PATCH 0313/1313] New translations en.md (Dutch) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md index 1b97be8768a..c0fbf88b972 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/nl.md @@ -2,7 +2,7 @@ title: Waarom moet ik opnieuw klikken om te bevestigen dat ik me wil afmelden voor de nieuwsbrief? --- -While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Specifiek de definitie van het __HTTP__ protocol __GET methode__ waarin staat dat: +While we could make it so that clicking the link in your email would immediately unsubscribe you, it would be in violation of internet standards. Specifiek de definitie van het __HTTP__ protocol __GET methode__ waarin staat dat: From f9e8869ff2360db29fe9763279a64faaf0daceab Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:10 +0100 Subject: [PATCH 0314/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/guide/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/nl.md b/markdown/org/docs/about/guide/nl.md index 39443862202..953bf4c0202 100644 --- a/markdown/org/docs/about/guide/nl.md +++ b/markdown/org/docs/about/guide/nl.md @@ -40,7 +40,7 @@ FreeSewing.org is ons meest zichtbare bezit en voor veel mensen is het hun eerst ## Patronen vs Ontwerpen -Als je op deze site bent gekomen op zoek naar _naaipatronen_ en niet meteen een plek hebt gevonden om ze te downloaden, dan komt dat omdat alle naaipatronen van FreeSewing **op maat zijn gemaakt**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. We schalen of beoordelen patronen niet. We schalen of beoordelen patronen niet. Dat gebeurt in real-time, in je browser. @@ -89,6 +89,6 @@ FreeSewing biedt ook **verzamelde meetsets**. Dit zijn metingen van echte mensen ## Waar je terecht kunt voor hulp -Als je vastloopt, consule [de ondersteuningspagina](/support/) voor verschillende ondersteuningsopties. +If you get stuck, consult [the support page](/support/) for various support options. From a929d77279e15734cab5a6bdda4e62643c609690 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:23 +0100 Subject: [PATCH 0315/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/account/username/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/nl.md b/markdown/org/docs/about/site/account/username/nl.md index 7c6ce35fc44..f2536426fd7 100644 --- a/markdown/org/docs/about/site/account/username/nl.md +++ b/markdown/org/docs/about/site/account/username/nl.md @@ -6,5 +6,5 @@ Je gebruikersnaam is een speciale naam die jou uniek identificeert. Je kunt je eigen gebruikersnaam kiezen, dus alles kan. -Om verwarring te voorkomen, moeten gebruikersnamen uniek zijn als ze met kleine letters zijn geschreven. Met andere woorden, de gebruikersnaam `Joost` zal niet beschikbaar zijn als er een gebruiker `joost` bestaat. +To avoid confusion, usernames must be unique when lowercased. Met andere woorden, de gebruikersnaam `Joost` zal niet beschikbaar zijn als er een gebruiker `joost` bestaat. From 72b205a0e93699625bd85f07d70ab8325f53ee7a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:25 +0100 Subject: [PATCH 0316/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/apikeys/expiry/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/nl.md b/markdown/org/docs/about/site/apikeys/expiry/nl.md index ba1e1b5401e..90ab2cc0eba 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/nl.md +++ b/markdown/org/docs/about/site/apikeys/expiry/nl.md @@ -7,6 +7,6 @@ Elke API-sleutel heeft een **vervaldatum** waarna de sleutel niet meer werkt. Standaard verlopen API-sleutels na 1 maand, maar we ondersteunen tot twee jaar. -Als je sleutel op het punt staat te verlopen, moet je hem vervangen door een nieuwe. +When your key is about to expire, you must replace it with a new one. Je kunt de vervaldatum van een eenmaal ingestelde sleutel niet verlengen. From d009c988b0c56527500a35e717f03910847eef32 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:28 +0100 Subject: [PATCH 0317/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/bookmarks/location/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/nl.md b/markdown/org/docs/about/site/bookmarks/location/nl.md index e1f31dd7c58..9df58e60603 100644 --- a/markdown/org/docs/about/site/bookmarks/location/nl.md +++ b/markdown/org/docs/about/site/bookmarks/location/nl.md @@ -2,7 +2,7 @@ title: Locatie --- -Elke bladwijzer heeft een **loation** attribuut dat verplicht is. Deze bevat de URL van de bladwijzer. +Every bookmark has a **location** attribute that is mandatory. Deze bevat de URL van de bladwijzer. Een bladwijzer zonder locatie of URL is nutteloos, omdat deze de locatie bevat waarnaar de bladwijzer moet verwijzen. From 664dd013ad73a6a4b4ebe80ef42f69573d16fe29 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:31 +0100 Subject: [PATCH 0318/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/csets/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/nl.md b/markdown/org/docs/about/site/csets/nl.md index d7fa6c86eab..d727df8bf89 100644 --- a/markdown/org/docs/about/site/csets/nl.md +++ b/markdown/org/docs/about/site/csets/nl.md @@ -20,7 +20,7 @@ We now no longer present users who want to try out the site a range of *standard We vertrouwen op onze gemeenschap om meetsets in te sturen voor curatie. Als je openbare metingen op de site hebt ingesteld, kun je die voorstellen voor curatie. -Om deel uit te maken van onze verzamelde meetsets moet je het volgende opgeven: +To be part of our curated measurements sets collection, you should provide the following: - **Alle metingen** van de persoon. We accepteren geen incomplete sets, omdat dat zou betekenen dat sommige ontwerpen er niet mee zouden werken. - **De lengte** van de persoon. Dit helpt gebruikers een maatset te kiezen die het dichtst bij hun eigen lichaam ligt. From 9f9a182cfb2c02a35315386deb7070f4ae32b34d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:34 +0100 Subject: [PATCH 0319/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/nl.md b/markdown/org/docs/about/site/draft/core-settings/locale/nl.md index 1b01dc87725..c16e14ac0f3 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/nl.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/nl.md @@ -12,5 +12,5 @@ FreeSewing ondersteunt momenteel de volgende talen: - Duits - Nederlands -Je kunt een van deze kiezen en je patroon wordt in deze taal vertaald. +You can pick any of these and your pattern will be translated in this language. From 113965d8f326048ec4dd971ead6e53a395198ec7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:39 +0100 Subject: [PATCH 0320/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/nl.md b/markdown/org/docs/about/site/draft/core-settings/scale/nl.md index f0b3b8483ac..291e07dfeca 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/nl.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/nl.md @@ -4,5 +4,5 @@ title: Schaal Met de schaalinstellingen kun je die delen van een patroon schalen die niet mee schalen met de metingen. Dingen zoals logo's, lijndiktes, lettergroottes enzovoort. -Deze instelling is toegevoegd op verzoek van mensen die onze patronen graag gebruiken om poppenkleertjes te maken. Bij het genereren van zo'n klein patroon hebben de pijlpunten, titels enzovoort de neiging om veel van het patroon te verdoezelen. Met deze instelling kun je ze verkleinen of -- als je dat wilt -- vergroten. +Deze instelling is toegevoegd op verzoek van mensen die onze patronen graag gebruiken om poppenkleertjes te maken. Bij het genereren van zo'n klein patroon hebben de pijlpunten, titels enzovoort de neiging om veel van het patroon te verdoezelen. This setting allows you to scale them down or -- if you so wish -- scale them up. From b5047757127d781cc255e655b61099b34949b036 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:42 +0100 Subject: [PATCH 0321/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/nl.md b/markdown/org/docs/about/site/nl.md index a1181c89f88..3e4c8a1c09e 100644 --- a/markdown/org/docs/about/site/nl.md +++ b/markdown/org/docs/about/site/nl.md @@ -12,7 +12,7 @@ Op deze pagina's schetsen we een beeld op hoog niveau van hoe je het meeste uit Het kan frustrerend zijn voor bezoekers die hier komen in de verwachting van een website waar ze naaipatronen kunnen downloaden, dat ze de naaipatronen om te downloaden niet lijken te kunnen vinden. Bijna alsof het verbergen van de *downloadknop* een ingewikkeld plan is om hun tijd te verdoen. Ik weet niet echt hoe ik dit moet oplossen, want ik heb geen controle over de verwachtingen van mensen. -FreeSewing.org is _heel_ anders dan een website met wat links naar PDF naaipatronen. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. Dus als dat is wat je verwacht, dan moeten we je bijna onttrainen voordat we kunnen praten over wat deze site te bieden heeft. Dus dat ga ik niet doen. Ik ga ervan uit dat je met een open geest leest. @@ -51,7 +51,7 @@ Ik wil er een paar uitlichten die je aandacht waard zijn: ### Gebruikerservaring -Met de instelling [User Experience](/account/control/) kun je geleidelijk meer complexiteit onthullen. Als je een beetje overweldigd bent door alles wat FreeSewing.org te bieden heeft, verberg je door dit op een lagere waarde in te stellen meer functies omwille van de eenvoud. Maar als je hier een hogere waarde instelt, zie je meer mogelijkheden en functionaliteit. +Met de instelling [User Experience](/account/control/) kun je geleidelijk meer complexiteit onthullen. If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. Maar als je hier een hogere waarde instelt, zie je meer mogelijkheden en functionaliteit. Stel deze instelling lager in als je een eenvoudigere ervaring wilt. Zet hem harder als je meer vermogen wilt, of als sommige dingen waarvan je weet dat ze bestaan niet op je scherm worden getoond. From 800773690a6966fe804940aa7ade279962099145 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:47 +0100 Subject: [PATCH 0322/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/patterns/public/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/nl.md b/markdown/org/docs/about/site/patterns/public/nl.md index a729ffd87c0..08cb28676fe 100644 --- a/markdown/org/docs/about/site/patterns/public/nl.md +++ b/markdown/org/docs/about/site/patterns/public/nl.md @@ -4,4 +4,4 @@ title: Publiek Deze instellingen bepalen of je patroon toegankelijk is voor het **publieke** of niet. -Patronen zijn standaard privé en alleen jij hebt toegang tot je eigen patronen. Als je je patroon wilt delen met anderen -- misschien omdat ze interesse hebben getoond of omdat je op zoek bent naar input -- moet je het eerst openbaar maken. +Patronen zijn standaard privé en alleen jij hebt toegang tot je eigen patronen. If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From efae981edc069874a02c4d6d0a40b4b212f81734 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:50 +0100 Subject: [PATCH 0323/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/sets/public/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/nl.md b/markdown/org/docs/about/site/sets/public/nl.md index b67b0c94bd0..d7f874fbd5e 100644 --- a/markdown/org/docs/about/site/sets/public/nl.md +++ b/markdown/org/docs/about/site/sets/public/nl.md @@ -2,11 +2,11 @@ title: Publiek --- -Elke meetset heeft een attribuut **public** dat bepaalt of de meetset openbaar is of niet. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. Standaard zijn meetsets privé en ben jij de enige die ze kan gebruiken. -But, you can choose to make your measurments set public which allows other users to utilize the measurements in this set to generate or test their own patterns. +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. Als je je meetset openbaar maakt, geldt dit voor alle gegevens in de meetset. From ba5931d3a52c1a540ab7989123af1955af37f0b7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:39:51 +0100 Subject: [PATCH 0324/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/sets/units/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/sets/units/nl.md b/markdown/org/docs/about/site/sets/units/nl.md index 9351cff0f72..518405653df 100644 --- a/markdown/org/docs/about/site/sets/units/nl.md +++ b/markdown/org/docs/about/site/sets/units/nl.md @@ -4,7 +4,7 @@ title: Eenheden Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. -While each FreeSewing user has a **units** setting in their account that controls their overal preference between imperial or metric units, it is common to also have measurements sets for differnet people, and those different people might have other preferences. +While each FreeSewing user has a **units** setting in their account that controls their overall preference between imperial or metric units, it is common to also have measurements sets for different people, and those different people might have other preferences. Daarom kun je bij elke meetset de eenheden instellen. From dfb407612e2fc17f6217484d4bda4e56be70bcc8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:56:19 +0100 Subject: [PATCH 0325/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/measurements/bustfront/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/uk.md b/markdown/org/docs/measurements/bustfront/uk.md index 5debfe66e7f..4ea8c3b4e31 100644 --- a/markdown/org/docs/measurements/bustfront/uk.md +++ b/markdown/org/docs/measurements/bustfront/uk.md @@ -4,5 +4,5 @@ title: Передній напівобхват грудей **Передній напівобхват грудей** — це передня частина обхвату грудей. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From 1bbdb5713219c929be3c52f943309a31644fe531 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:56:34 +0100 Subject: [PATCH 0326/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/measurements/shoulderslope/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/uk.md b/markdown/org/docs/measurements/shoulderslope/uk.md index 70be65a057f..5bfaa83e49e 100644 --- a/markdown/org/docs/measurements/shoulderslope/uk.md +++ b/markdown/org/docs/measurements/shoulderslope/uk.md @@ -6,7 +6,7 @@ title: Нахил плеча Для зняття цього виміру потрібно визначити кут, під яким лінія плеча нахиляється вниз. -Хороший спосіб зняття цієї мірки — зробити селфі та прокрутити світлину до тих пір, доки лінія плеча не стане горизонтальною. +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. Кількість градусів такого повороту і буде кутом нахилу Вашого плеча. From 9c2cfbd46167164a75482abe7fb1cab1c061c352 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:56:48 +0100 Subject: [PATCH 0327/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/sewing/double-welt-pockets/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/uk.md b/markdown/org/docs/sewing/double-welt-pockets/uk.md index dde491fb735..c6cbed86f58 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/uk.md +++ b/markdown/org/docs/sewing/double-welt-pockets/uk.md @@ -114,7 +114,7 @@ title: Кишеня з подвійною листочкою - Вирівняйте центральний отвір кишені за горизонтальною лінією. Продовжіть цю лінію, щоб згодом вирівняти листочку - Проведіть дві горизонтальні лінії, паралельні до центральної, на відстані висоти листочки (5 мм у нашому випадку) -Частина горизонтальних ліній, паралельних до центральної, що знаходяться між вертикальними, — це місце, де лягатимуть наші шви. На рисунку вони зображені червоним кольором. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. На рисунку вони зображені червоним кольором. ### Крок 3: Складіть і пропрасуйте листочку From 8415b1a4841b941621b26bdd36a28256557511fc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 12:56:49 +0100 Subject: [PATCH 0328/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/sewing/edgestitching/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/uk.md b/markdown/org/docs/sewing/edgestitching/uk.md index faa6364bfe3..3ad5fed3525 100644 --- a/markdown/org/docs/sewing/edgestitching/uk.md +++ b/markdown/org/docs/sewing/edgestitching/uk.md @@ -2,7 +2,7 @@ title: Крайовий шов --- -Крайовий, або закріплювальний шов є особливим різновидом _поверхневого шва_. Він відрізняється своїм розташуванням. Крайовий шов є поверхневим швом, простьобаним відразу коло основного шва — зазвичай на відстані 3 мм чи 1/8 дюйма. +Edgestitching is a specific type of _topstitching_. Він відрізняється своїм розташуванням. Крайовий шов є поверхневим швом, простьобаним відразу коло основного шва — зазвичай на відстані 3 мм чи 1/8 дюйма. ![Крайовий шов на худі Гюґо від FreeSewing](edgestitching.jpg) From 03748e7570f4f40c24feafefd2c37b96f3e66a33 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:34 +0100 Subject: [PATCH 0329/1313] New translations en.yaml (Ukrainian) skip-build --- sites/org/components/footer/uk.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/uk.yaml b/sites/org/components/footer/uk.yaml index 4d11b4e0666..5cb98687e32 100644 --- a/sites/org/components/footer/uk.yaml +++ b/sites/org/components/footer/uk.yaml @@ -1,7 +1,7 @@ cc: Контент на FreeSewing.org доступний за ліцензією Creative Commons -mit: Вихідний код FreeSewing доступний на Github під ліцензією MIT +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: Спонсорами FreeSewing є ці чудові компанії algolia: Пошук за допомогою Algolia crowdin: Переклад зроблено за допомогою Crowdin -bugsnag: Обробка помилок за допомогою Bugsnag +bugsnag: Error handling by BugSnag vercel: Збірки та хостинг від Vercel From 16553ea01f04f05c331d53323343b79dbdaee31c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:36 +0100 Subject: [PATCH 0330/1313] New translations en.yaml (Ukrainian) skip-build --- sites/org/pages/translation/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/uk.yaml b/sites/org/pages/translation/uk.yaml index fb02ec890ca..31feaeb6eff 100644 --- a/sites/org/pages/translation/uk.yaml +++ b/sites/org/pages/translation/uk.yaml @@ -8,7 +8,7 @@ translatedOnly: Перекладено, але (ще) не затверджен notTranslated: Не (ще) перекладено defaultLanguage: Це наша вихідна мова і робоча мова проекту FreeSewing addLanguage1: Хочете додати мову? -addLanguage2: Ми б хотіли зробити FreeSewing доступним більшою кількістю мов. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: Якщо ви зацікавлені в тому, щоб розпочати нову перекладацьку діяльність, будь ласка, зв'яжіться з нами. globalRanking: Глобальний рейтинг groupByLanguage: Групування за мовою From 84a621e4fd94ac14d3c0f5e73e8d46d136610e63 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:37 +0100 Subject: [PATCH 0331/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/components/account/uk.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/uk.yaml b/sites/shared/components/account/uk.yaml index 1c585b56dcb..ec3b59596f6 100644 --- a/sites/shared/components/account/uk.yaml +++ b/sites/shared/components/account/uk.yaml @@ -108,10 +108,10 @@ controlTitle: Якому користувацькому досвіду ви на #img imgTitle: Як щодо фотографії? imgDragAndDropImageHere: Перетягніть зображення сюди -imgPasteUrlHere: Вставте місце розташування зображення (url) сюди +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Виберіть зображення #newsletter -newsletterTitle: Хочете переглянути розсилку новин FreeSewing? +newsletterTitle: Чи хочете Ви отримувати розсилку новин від FreeSewing? newsletterYes: Так, я хочу отримувати розсилку новин newsletterYesd: Раз на 3 місяці ви отримуватимете від нас лист із чесним та корисним контентом. Ніякого відстеження, ніякої реклами, ніякої нісенітниці. newsletterNod: Ви завжди можете передумати пізніше. Але поки ви цього не зробите, ми не будемо надсилати вам жодних розсилок. @@ -202,7 +202,7 @@ public: Громадськість publicSet: Публічний набір вимірювань privateSet: Набір приватних вимірів publicSetDesc: Інші можуть використовувати ці вимірювання для створення або тестування шаблонів -privateSetDesc: Ці вимірювання не можуть бути використані іншими користувачами або відвідувачами +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Перманентне посилання editThing: Коригувати {thing} saveThing: Зберегти {thing} @@ -211,8 +211,8 @@ noFilter: Не фільтрувати filterByDesignDocs: Якщо ви маєте на увазі конкретний дизайн, ви можете відфільтрувати за дизайном , щоб отримати тільки ті виміри, які потрібні для цього дизайну. setLacksMeasiesForDesign: У цьому наборі відсутні виміри, необхідні для цієї викрійки setHasMeasiesForDesign: У цьому наборі є всі мірки, необхідні для цієї викрійки -someSetsLacking: Some of your sets lack the measurments required to generate this pattern -theseSetsReady: Ці набори мають всі необхідні виміри для створення цього шаблону +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Будь ласка, оберіть набір вимірів patternForWhichSet: Для якого набору вимірів ми повинні згенерувати викрійку? bookmarkedSets: Набори вимірювань, які ви додали до закладок @@ -222,7 +222,7 @@ curateCuratedSets: Курирувати нашу добірку кураторс useThisSet: Використовуйте цей набір вимірювань ownSets: Ваші власні набори вимірів noOwnSets: У вас немає власних наборів вимірювань (поки що) -pleaseMtm: Оскільки наші лекала виготовляються на замовлення, ми наполегливо рекомендуємо вам робити точні виміри. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: Ви можете зберегти свої виміри як набір вимірів, після чого створити для них скільки завгодно лекал. measurements: Заміри chooseASet: Виберіть набір вимірювань @@ -253,7 +253,7 @@ blogNewInfo: Якщо ви хочете писати в блозі FreeSewing, imgNew: Створіть імідж у соціальних мережах imgNewInfo: Використовуйте наш генератор, щоб створити зображення, яким ви можете поділитися в соціальних мережах. Він підтримує широкий (класичний), квадратний (Instagram) або високий (stories/TikTok) формати. csetNew: Запропонуйте новий кураторський набір вимірювань -csetNewInfo: Ми куруємо колекцію перевірених наборів вимірювань, які використовуємо для тестування патернів. Ви можете запропонувати набір вимірювань тут. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Запропонуйте новий пакет опцій opackNewInfo: Ми куруємо колекцію перевірених пакетів опцій для кожного з наших дизайнів. Ви можете запропонувати свої варіанти тут. newPopular: Найпопулярніші From 34c171a6297b36563d1de8d4a7fbf0b636709b98 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:43 +0100 Subject: [PATCH 0332/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/components/workbench/menus/core-settings/uk.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/uk.yaml b/sites/shared/components/workbench/menus/core-settings/uk.yaml index 52e6ea3e5f2..0534e66cf6b 100644 --- a/sites/shared/components/workbench/menus/core-settings/uk.yaml +++ b/sites/shared/components/workbench/menus/core-settings/uk.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Створіть повний шаблон completeYes.d: В результаті буде згенеровано повну викрійку з усіма позначеннями, лініями, маркуванням. Використовуйте цю функцію, якщо ви не впевнені, що вибрати. completeNo.t: Створіть контур деталі -completeNo.d: Створюйте лише контури деталей лекал. Використовуйте цей параметр, якщо ви збираєтеся використовувати лазерний різак або маєте інші специфічні потреби. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Розгорнути всі частини деталі expandYes.d: В результаті буде створено деталь, де всі частини будуть намальовані в повний розмір, навіть якщо вони є простими прямокутниками. expandNo.t: Зберігайте деталі лекал компактними, де це можливо @@ -52,7 +52,7 @@ metric.d: Використовуйте його, якщо ви користує imperial.t: Використовуйте імперські одиниці imperial.d: Використовуйте його, якщо дюйми та дроби або дюйми більш звичні для вас, ніж сантиметри. Це часто кращий вибір для людей, які живуть у Великій Британії та США. saNo.t: Не враховувати припуски на шви -saNo.d: При цьому створюється деталь без припусків на шви. Розмір припуску на шов не має значення, оскільки він не буде врахований. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Враховувати припуски на шви saYes.d: При цьому генерується деталь з припусками на шви. Розмір припуску на шов задається індивідуально. clearSettingsNotMeasurements: Очистити налаштування, але зберегти вимірювання From 84a16a845f9b411e57e25000113e3fac31c51d5f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:45 +0100 Subject: [PATCH 0333/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/components/workbench/menus/ui-settings/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/uk.yaml b/sites/shared/components/workbench/menus/ui-settings/uk.yaml index 2e11af73cc5..0361400f78c 100644 --- a/sites/shared/components/workbench/menus/ui-settings/uk.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/uk.yaml @@ -4,7 +4,7 @@ renderer.t: Рушій рендерингу renderer.d: Керує відтворення викрійки на екрані renderWithReact.t: Рендер за допомогою React-компонентів FreeSewing renderWithReact.d: Відтворення у форматі SVG за допомогою наших React-компонентів. Дозволяє інтерактивність та оптимізований для екрану. Використовуйте його, якщо ви не впевнені, що вибрати. -renderWithCore.t: Рендер за допомогою бібліотеки Freesewing Core +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Рендер безпосередньо в SVG з Core. Не містить інтерактивності та оптимізований для друку. Використовуйте його, якщо хочете знати, як виглядатиме зображення після експорту. control.t: Користувацький досвід control.d: Якому користувацькому досвіду ви надаєте перевагу? Зверніть увагу, що це налаштування облікового запису, тому воно вплине на весь веб-сайт. From c8ae1068a5e3abf14c7ea48e971291b3fc38772b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:49 +0100 Subject: [PATCH 0334/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/docs/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/uk.yaml b/sites/shared/i18n/docs/uk.yaml index f17f0d04f02..a8ba348beb2 100644 --- a/sites/shared/i18n/docs/uk.yaml +++ b/sites/shared/i18n/docs/uk.yaml @@ -3,7 +3,7 @@ docs: Документація controltip.t: Потужність проти простоти controltip.d1: Налаштування Power versus Simplicity вашого облікового запису FreeSewing впливають на те, як ви будете користуватися сайтом FreeSewing. controltip.d2: За замовчуванням, деякі з найбільш просунутих функцій цього сайту приховані, щоб полегшити новим користувачам пошук. -controltip.d3: Якщо ви хочете пожертвувати частиною простоти, щоб отримати більшу потужність, ви можете змінити налаштування параметра "Потужність проти простоти" відповідним чином. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Допоможіть нам покращити нашу документацію authors: Автори maintainers: Майнтейнери From 392a114a4ca0071c87feb78f7a14cb896850ea42 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:51 +0100 Subject: [PATCH 0335/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/sections/uk.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/uk.yaml b/sites/shared/i18n/sections/uk.yaml index 82778c09874..fd91964ecb0 100644 --- a/sites/shared/i18n/sections/uk.yaml +++ b/sites/shared/i18n/sections/uk.yaml @@ -5,11 +5,11 @@ showcaseAbout: Приклади та натхнення від спільнот docs: Документація docsAbout: Детальна документація для всіх наших дизайнів, нашого веб-сайту та багато іншого account: Ваш обліковий запис -accountAbout: Керуйте налаштуваннями та уподобаннями свого акаунта, а також пресональними даними +accountAbout: Manage your account settings and preferences, and your personal data designs: Дизайни designsAbout: Наша бібліотека дизайнів, які ви можете перетворити на шаблони, виготовлені за індивідуальними розмірами, за кілька кліків community: Спільнота -communityAbout: Більше інформації про людей, які стоять за FreeSewing, та про те, де можна знайти однодумців +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Документація для нашої основної бібліотеки API та внутрішнього REST API. designAbout: Все, що вам потрібно знати, щоб почати створювати параметричні лекала для шиття. contributeAbout: Хочете зробити свій внесок у FreeSewing? Тоді вам сюди. From aaf8fae761d15559c23bc10843d022169d5da936 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:54 +0100 Subject: [PATCH 0336/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/status/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/uk.yaml b/sites/shared/i18n/status/uk.yaml index deb6427da1a..b699b7a9197 100644 --- a/sites/shared/i18n/status/uk.yaml +++ b/sites/shared/i18n/status/uk.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Скопійовано в буфер обміну dataLoaded: Завантажені дані з бекенду FreeSewing generatingPdf: Створюємо ваш PDF, одну хвилину, будь ласка nailedIt: Влучив! -pdfFailed: Під час створення PDF-файлу сталася несподівана помилка +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: Створено PDF-файл processingUpdate: Оновлення обробки settingsSaved: Налаштування збережено From 005d4bff11cc69375bcacc1a8826df4ddeac8ad3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:55 +0100 Subject: [PATCH 0337/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/homepage/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/uk.yaml b/sites/shared/i18n/homepage/uk.yaml index 6216e29ad2d..f52992f9afe 100644 --- a/sites/shared/i18n/homepage/uk.yaml +++ b/sites/shared/i18n/homepage/uk.yaml @@ -4,7 +4,7 @@ howDoesItWork: Як це працює? whatIsFreeSewing: Що таке FreeSewing? whatIsFreeSewingNot: Чим не є FreeSewing? what1: FreeSewing - це програмне забезпечення з відкритим вихідним кодом для створення викрійок одягу на замовлення, яке полюбляють як домашні швачки, так і підприємці, що займаються виробництвом одягу. -what2: FreeSewing.org робить це програмне забезпечення доступним для вас як онлайн-інструмент з неперевершеною кастомізацією та гнучкістю. Ми маємо понад 50 викрійок і регулярно додаємо нові. Ви можете вибрати будь-який дизайн і згенерувати викрійку за вашими точними мірками. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Індустріальні розміри - це брехня. Приєднуйтесь до революції повільної моди та насолоджуйтесь одягом, який вам підходить. whatNot1: FreeSewing не є компанією. Ми нічого не продаємо. У нас немає персоналу чи працівників. У нас немає офісу. Ми не отримуємо зарплату. whatNot2: Наш сайт не містить жодної реклами. Ми не відстежуємо вас і не продаємо ваші персональні дані. Ми не порушуємо вашу конфіденційність. From 60a6420f890112527e33e2a0fb0941ffce24df9e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:00:56 +0100 Subject: [PATCH 0338/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/support/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/uk.yaml b/sites/shared/i18n/support/uk.yaml index a9b92aa5ebe..b4898c8a058 100644 --- a/sites/shared/i18n/support/uk.yaml +++ b/sites/shared/i18n/support/uk.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: How can you support FreeSewing? issueAssigned: Issue assigned issueClosed: Issue closed issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Підтримка майнтейнерів maintainerSupport1: Якщо ви є меценатом FreeSewing, ви можете перейти прямо нагору і зв'язатися з Joost напряму. maintainerSupport2: Хоча Joost ставиться до запитів від меценатів з пріоритетом, йому також потрібно спати. Тож майте це на увазі, особливо якщо ви перебуваєте в іншому часовому поясі. From 1e7e1056aa42cadd0651c3866ee67a22f537e3bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:01:01 +0100 Subject: [PATCH 0339/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/measurements/waisttoarmpit/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/uk.md b/markdown/org/docs/measurements/waisttoarmpit/uk.md index 9594b76cb3a..d7aab222d41 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/uk.md +++ b/markdown/org/docs/measurements/waisttoarmpit/uk.md @@ -4,7 +4,7 @@ title: Від талії до пахви Вимір **від талії до пахви** — це довжина від талії до пахви, знята збоку тіла. -Оскільки поняття _пахви_ є трохи розмитим, ми рекомендуємо знайти точку найвищої можливої пройми рукава. Розташування підлопаткових лімфатичних вузлів зазвичай є хорошою початковою точкою. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. Розташування підлопаткових лімфатичних вузлів зазвичай є хорошою початковою точкою. Якщо Ви не впевнені де розташовуються ці лімфовузли, ось альтернативний спосіб: @@ -12,7 +12,7 @@ title: Від талії до пахви - Підніміть свою домінантну руку (праву, якщо Ви правша, та ліву, якщо лівша) на ≈30° убік від свого тіла. - Тепер покладіть долоню протилежної руки під пахву так, аби великий палець розміщувався вертикально на грудях, а вказівний та середній пальці розташовувалися на уявній боковій лінії тіла. - Просуньте долоню максимально вгору, не давлячи на шкіру та м'язи. -- Ваш вказівний палець сидітиме в пахвовій западині, що трохи зависоко. Але Ваш середній палець вказуватиме на вдалу пахвову точку. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From 069848d074b9316d88ba781a8a5621cfe97bcde5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:01:02 +0100 Subject: [PATCH 0340/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/components/susi/uk.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/uk.yaml b/sites/shared/components/susi/uk.yaml index 316d99854d8..2910c1973e2 100644 --- a/sites/shared/components/susi/uk.yaml +++ b/sites/shared/components/susi/uk.yaml @@ -8,7 +8,7 @@ checkYourInbox: Перевірте свою поштову скриньку на clickSigninLink: Клацніть на посилання для входу в цьому листі, щоб увійти до свого облікового запису FreeSewing. clickSignupLink: Перейдіть за персональним посиланням для реєстрації в цьому листі, щоб створити свій обліковий запис FreeSewing. consentLacking: У нас немає згоди на обробку ваших даних -consentLackingMsg: Отримання вашої згоди є частиною процесу реєстрації. Знайдіть електронний лист, який ви отримали, коли реєструвалися на курси. Ви можете зареєструватися повторно, вказавши ту саму адресу електронної пошти, щоб отримати лист ще раз. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Зверніться до служби підтримки contactingGithub: Звернення до GitHub contactingGoogle: Звернення до Google From 3da81281b12ec4eae14a4c72833f7536ede36b54 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:01:59 +0100 Subject: [PATCH 0341/1313] New translations en.md (Ukrainian) skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/uk.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/uk.md index 7760695bc40..2a6b17660d6 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/uk.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/uk.md @@ -24,7 +24,7 @@ title: Чому я маю повторно підтверджувати свою Цей пункт є більш технічним та важчим для розуміння -Другою причиною є те, що, в той час як ми могли б зробити так, щоб підписка завершилася після натискання покликання, це було б порушенням інтернет-стандартів. Зокрема, визначення __запиту GET__ протоколу __HTTP__, в якому вказується, що: +Another reason is that while we could make it so that clicking the link in your email would immediately subscribe you, it would be in violation of internet standards. Зокрема, визначення __запиту GET__ протоколу __HTTP__, в якому вказується, що: From e13d692d87a95cf0cddf42a2bd364c55513463d7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:01 +0100 Subject: [PATCH 0342/1313] New translations en.md (Ukrainian) skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/uk.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/uk.md index 7ff732d1b47..b1ee4b07828 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/uk.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/uk.md @@ -2,7 +2,7 @@ title: Why do I have to click again to confirm I want to unsubscribe from the newsletter? --- -While we could make it so that clicking the link in your email would immeadiatly unsubcribe you, it would be in violation of internet standards. Зокрема, визначення __запиту GET__ протоколу __HTTP__, в якому вказується, що: +While we could make it so that clicking the link in your email would immediately unsubscribe you, it would be in violation of internet standards. Зокрема, визначення __запиту GET__ протоколу __HTTP__, в якому вказується, що: From eecb4998e7f5f49bcb55f1324421d094a71629d2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:04 +0100 Subject: [PATCH 0343/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/guide/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/uk.md b/markdown/org/docs/about/guide/uk.md index e567e3ca8db..6415204b0b6 100644 --- a/markdown/org/docs/about/guide/uk.md +++ b/markdown/org/docs/about/guide/uk.md @@ -40,7 +40,7 @@ FreeSewing.org - наш найпомітніший актив, і для баг ## Патерни проти дизайну -Якщо ви зайшли на цей сайт у пошуках _викрійок для шиття_ і не знайшли одразу, де їх можна завантажити, це тому, що всі викрійки FreeSewing **зроблені за індивідуальними розмірами**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. Ми не масштабуємо викрійки та не градуюємо лекала. Замість цього FreeSewing перетворює дизайн на викрійку, виготовлену за вашими мірками. Це трапляється наживу у Вашому браузері. @@ -89,6 +89,6 @@ FreeSewing також надає **кураторські набори міро ## Куди звертатися за допомогою -Якщо ви застрягли, зверніться до [на сторінку підтримки](/support/) для отримання різних варіантів підтримки. +If you get stuck, consult [the support page](/support/) for various support options. From 0322ba55c0bd80b8403760c69074b9145f741ab2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:17 +0100 Subject: [PATCH 0344/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/account/username/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/uk.md b/markdown/org/docs/about/site/account/username/uk.md index 3ae31d83586..115a15745bc 100644 --- a/markdown/org/docs/about/site/account/username/uk.md +++ b/markdown/org/docs/about/site/account/username/uk.md @@ -6,5 +6,5 @@ title: Ім’я користувача Ви можете вибрати власне ім'я користувача, так що підійде що завгодно. -Щоб уникнути плутанини, імена користувачів повинні бути унікальними в нижньому регістрі. Іншими словами, ім'я користувача `Joost` буде недоступне, якщо існує користувач `joost` . +To avoid confusion, usernames must be unique when lowercased. Іншими словами, ім'я користувача `Joost` буде недоступне, якщо існує користувач `joost` . From bc46532b0a68c42d108156708d182da973528171 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:19 +0100 Subject: [PATCH 0345/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/apikeys/expiry/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/uk.md b/markdown/org/docs/about/site/apikeys/expiry/uk.md index 0db02d11b75..43fd9e45c17 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/uk.md +++ b/markdown/org/docs/about/site/apikeys/expiry/uk.md @@ -7,6 +7,6 @@ title: 'API Keys: Expiry' За замовчуванням термін дії API-ключів закінчується через 1 місяць, але ми підтримуємо до двох років. -Коли термін дії вашого ключа закінчується, ви повинні замінити його на новий. +When your key is about to expire, you must replace it with a new one. Ви не можете продовжити термін дії встановленого ключа. From 4bcae30d29e97467f38c4878b6cf5d86fe5dc1fa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:23 +0100 Subject: [PATCH 0346/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/bookmarks/location/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/uk.md b/markdown/org/docs/about/site/bookmarks/location/uk.md index b948febf494..f4446785507 100644 --- a/markdown/org/docs/about/site/bookmarks/location/uk.md +++ b/markdown/org/docs/about/site/bookmarks/location/uk.md @@ -2,7 +2,7 @@ title: Місцезнаходження --- -Кожна закладка має обов'язковий атрибут **loation** . Він містить URL-адресу закладки. +Every bookmark has a **location** attribute that is mandatory. Він містить URL-адресу закладки. Закладка без місцезнаходження або URL-адреси є марною, оскільки вона зберігає місце, на яке має вказувати закладка. From 3a32d6db3183dbf440548efb4accaf94987f254c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:25 +0100 Subject: [PATCH 0347/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/csets/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/uk.md b/markdown/org/docs/about/site/csets/uk.md index 884c95a7dbb..d1f1ee941d5 100644 --- a/markdown/org/docs/about/site/csets/uk.md +++ b/markdown/org/docs/about/site/csets/uk.md @@ -20,7 +20,7 @@ We now no longer present users who want to try out the site a range of *standard Ми покладаємося на нашу спільноту, яка надсилає набори вимірювань для кураторства. Якщо у вас є публічний набір мірок на сайті, ви можете запропонувати його для кураторства. -Щоб стати частиною нашої колекції кураторських наборів вимірювань, вам необхідно надати наступне: +To be part of our curated measurements sets collection, you should provide the following: - **Всі виміри** людини. Ми не приймаємо неповні набори, оскільки це означає, що деякі дизайни не будуть працювати з ними. - **Зріст** людини. Це допомагає користувачам вибрати набір вимірів, найбільш наближений до їхнього тіла. From 82ad6a546bd16aa82ef35839488997d5d82090c4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:28 +0100 Subject: [PATCH 0348/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/uk.md b/markdown/org/docs/about/site/draft/core-settings/locale/uk.md index fc5a05da640..27267d8ae3e 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/uk.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/uk.md @@ -12,5 +12,5 @@ title: Мова - Німецька - Голландська -Ви можете вибрати будь-яку з них, і ваш шаблон буде перекладено цією мовою. +You can pick any of these and your pattern will be translated in this language. From 0d017d86e0034d1df8437f9f00e6ac0f921a52d4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:34 +0100 Subject: [PATCH 0349/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/uk.md b/markdown/org/docs/about/site/draft/core-settings/scale/uk.md index d61092c0f8e..b4f185aeabd 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/uk.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/uk.md @@ -4,5 +4,5 @@ title: Масштаб Налаштування масштабу дають змогу масштабувати ті частини деталі, які не масштабуються разом з розмірами. Такі речі, як логотипи, ширина рядків, розміри шрифтів і так далі. -Це налаштування було додано на прохання людей, які люблять використовувати наші викрійки для виготовлення лялькового одягу. При створенні такого маленького візерунка стрілки, заголовки і т.д., як правило, затуляють більшу частину візерунка. Цей параметр дозволяє зменшити або, за бажанням, збільшити їхній масштаб. +Це налаштування було додано на прохання людей, які люблять використовувати наші викрійки для виготовлення лялькового одягу. При створенні такого маленького візерунка стрілки, заголовки і т.д., як правило, затуляють більшу частину візерунка. This setting allows you to scale them down or -- if you so wish -- scale them up. From c233d31a2a126480a6f38fed05aed79f5b898bad Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:38 +0100 Subject: [PATCH 0350/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/uk.md b/markdown/org/docs/about/site/uk.md index c02db2a3f0e..8b9fb2bf0ee 100644 --- a/markdown/org/docs/about/site/uk.md +++ b/markdown/org/docs/about/site/uk.md @@ -12,7 +12,7 @@ title: Використання веб-сайту FreeSewing.org Відвідувачі, які приходять сюди, очікуючи знайти сайт, де можна завантажити викрійки, можуть бути розчаровані тим, що не можуть знайти викрійки для скачування. Так, ніби приховування кнопки *завантажити* - це якийсь хитромудрий план, щоб змарнувати їхній час. Я не знаю, як це виправити, бо не можу контролювати очікування людей. -FreeSewing.org дуже відрізняється від сайту з посиланнями на викрійки у форматі PDF. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. Тож якщо це те, чого ви очікуєте, нам майже доведеться перенавчити вас, перш ніж ми зможемо поговорити про те, що пропонує цей сайт. Тому я не збираюся цього робити. Я припускаю, що ви читаєте з відкритим серцем. @@ -51,7 +51,7 @@ FreeSewing.org дуже відрізняється від сайту з поси ### Користувацький досвід -Налаштування [User Experience](/account/control/) дозволяє поступово розкривати складність. Якщо ви трохи перевантажені тим, що пропонує FreeSewing.org, встановлення цього параметра на меншу величину дозволить приховати більше можливостей для спрощення. Але встановлення більшого значення тут покаже більше можливостей і функціональності. +Налаштування [User Experience](/account/control/) дозволяє поступово розкривати складність. If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. Але встановлення більшого значення тут покаже більше можливостей і функціональності. Зменшіть цей параметр, якщо хочете отримати простіший досвід. Збільште його, якщо вам потрібна більша потужність, або деякі речі, про існування яких ви знаєте, не відображаються на екрані. From 31e628b67b1089eb81d5c061ae52829aba390245 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:42 +0100 Subject: [PATCH 0351/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/patterns/public/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/uk.md b/markdown/org/docs/about/site/patterns/public/uk.md index e34908b967c..b4919130841 100644 --- a/markdown/org/docs/about/site/patterns/public/uk.md +++ b/markdown/org/docs/about/site/patterns/public/uk.md @@ -4,4 +4,4 @@ title: Громадськість Цей параметр визначає, чи буде ваш шаблон доступним для **публічного** чи ні. -За замовчуванням шаблони є приватними, і лише ви маєте доступ до власних шаблонів. Якщо ви хочете поділитися своїм шаблоном з іншими - можливо, тому, що вони проявили інтерес, або ви хочете, щоб вони внесли свою лепту, - вам слід спочатку зробити його публічним. +За замовчуванням шаблони є приватними, і лише ви маєте доступ до власних шаблонів. If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From c2cd816d7bead2ea9537cfba8d95149bddcc91e3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:46 +0100 Subject: [PATCH 0352/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/sets/public/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/uk.md b/markdown/org/docs/about/site/sets/public/uk.md index fe47dfaf869..a1cf8bed74a 100644 --- a/markdown/org/docs/about/site/sets/public/uk.md +++ b/markdown/org/docs/about/site/sets/public/uk.md @@ -2,11 +2,11 @@ title: Громадськість --- -Кожен набір вимірювань має атрибут **public** , який контролює, чи є набір вимірювань публічним. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. За замовчуванням набори вимірювань є приватними, і тільки ви можете ними користуватися. -But, you can choose to make your measurments set public which allows other users to utilize the measurements in this set to generate or test their own patterns. +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. Якщо ви публікуєте свій набір вимірювань, це стосується всіх даних у наборі вимірювань. From 06e9e77b128a27c3a9c616756daf643bbecfabce Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:02:47 +0100 Subject: [PATCH 0353/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/sets/units/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/sets/units/uk.md b/markdown/org/docs/about/site/sets/units/uk.md index 947aa75b8c0..463eb79cee3 100644 --- a/markdown/org/docs/about/site/sets/units/uk.md +++ b/markdown/org/docs/about/site/sets/units/uk.md @@ -4,7 +4,7 @@ title: Одиниці вимірювання Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. -While each FreeSewing user has a **units** setting in their account that controls their overal preference between imperial or metric units, it is common to also have measurements sets for differnet people, and those different people might have other preferences. +While each FreeSewing user has a **units** setting in their account that controls their overall preference between imperial or metric units, it is common to also have measurements sets for different people, and those different people might have other preferences. Саме тому ми дозволяємо вам встановлювати одиниці виміру для кожного набору вимірювань. From 31f612a360d371a075febd2e34dbd1bf0ccaf78e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:02 +0100 Subject: [PATCH 0354/1313] Update source file en.md skip-build --- .../about/faq/newsletter/why-subscribe-multiple-clicks/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md index 6fd61d78afd..d3c79b99ec3 100644 --- a/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md +++ b/markdown/org/docs/about/faq/newsletter/why-subscribe-multiple-clicks/en.md @@ -30,7 +30,7 @@ That's where it would be over. Except for one technical detail that's also impor This is more technical and harder to understand Another reason is that while we could make it so that clicking the link in your -email would immeadiatly subcribe you, it would be in violation of internet standards. +email would immediately subscribe you, it would be in violation of internet standards. Specifically, the __HTTP__ protocol's __GET method__ definition which states that: From e11ea97c5882469340c64c22dc2d4dd350d0d34b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:03 +0100 Subject: [PATCH 0355/1313] Update source file en.md skip-build --- .../about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md index 8e8142dbb7c..bee857988cb 100644 --- a/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md +++ b/markdown/org/docs/about/faq/newsletter/why-unsubscribe-multiple-clicks/en.md @@ -3,7 +3,7 @@ title: Why do I have to click again to confirm I want to unsubscribe from the ne --- While we could make it so that clicking the link in your -email would immeadiatly unsubcribe you, it would be in violation of internet standards. +email would immediately unsubscribe you, it would be in violation of internet standards. Specifically, the __HTTP__ protocol's __GET method__ definition which states that: From 98ca6e9541e614dd14e20a70abf4c084bb32f711 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:05 +0100 Subject: [PATCH 0356/1313] Update source file en.md skip-build --- markdown/org/docs/about/guide/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/guide/en.md b/markdown/org/docs/about/guide/en.md index 4b6f354da5a..fcb620bc4bc 100644 --- a/markdown/org/docs/about/guide/en.md +++ b/markdown/org/docs/about/guide/en.md @@ -47,7 +47,7 @@ FreeSewing.org is our most visible asset, and for many people their first encoun ## Patterns vs Designs -If you came to this site looking for _sewing patterns_ and did not immeadiatly find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. +If you came to this site looking for _sewing patterns_ and did not immediately find a place to download them, that's because all of FreeSewing's sewing patterns are **made to measure**. We don’t scale or grade patterns. Instead, FreeSewing drafts a design into a pattern made to your measurements. @@ -103,6 +103,6 @@ FreeSewing also provides **curated measurements sets**. These are measurements s ## Where to turn to for help -If you get stuck, consule [the support page](/support/) for various support options. +If you get stuck, consult [the support page](/support/) for various support options. From 615b99d97eab2ebf9a12cb49deb5b86ff7f3856a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:10 +0100 Subject: [PATCH 0357/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/account/username/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/account/username/en.md b/markdown/org/docs/about/site/account/username/en.md index c3938ac766b..1fdb0953d7e 100644 --- a/markdown/org/docs/about/site/account/username/en.md +++ b/markdown/org/docs/about/site/account/username/en.md @@ -6,6 +6,6 @@ Your username is special name that uniquely identifies you. You can choose your own username, so anything goes. -To avoid consusion, usernames must be unique when lowercased. +To avoid confusion, usernames must be unique when lowercased. In other words, the username `Joost` will not be available if a user `joost` exists. From 3c32119f3eab4fbe4e2773ede00b7b6b43871953 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:10 +0100 Subject: [PATCH 0358/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/apikeys/expiry/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/apikeys/expiry/en.md b/markdown/org/docs/about/site/apikeys/expiry/en.md index 173db17fd92..cdf3ffb8da5 100644 --- a/markdown/org/docs/about/site/apikeys/expiry/en.md +++ b/markdown/org/docs/about/site/apikeys/expiry/en.md @@ -7,6 +7,6 @@ Every API key has an **expiry date** after which the key will stop working. By default, API keys expire after 1 month, but we support up to two years. -When your key is about to exire, you must replace it with a new one. +When your key is about to expire, you must replace it with a new one. You cannot extend the expiry date of a key once set. From 4a3da4e911a9f96db0a0a8b1ba34ae4c5908b8a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:12 +0100 Subject: [PATCH 0359/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/bookmarks/location/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/bookmarks/location/en.md b/markdown/org/docs/about/site/bookmarks/location/en.md index 054bf4ab6cf..1b9dad0097c 100644 --- a/markdown/org/docs/about/site/bookmarks/location/en.md +++ b/markdown/org/docs/about/site/bookmarks/location/en.md @@ -2,7 +2,7 @@ title: Location --- -Every bookmark has a **loation** attribute that is mandatory. It holds the URL of the bookmark. +Every bookmark has a **location** attribute that is mandatory. It holds the URL of the bookmark. A bookmark without a location or URL is useless, as this holds the location the bookmark should point to. From b07b279ff2cfcde22029e935a86aea9ce469b10b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:13 +0100 Subject: [PATCH 0360/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/csets/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/csets/en.md b/markdown/org/docs/about/site/csets/en.md index 771e4c63f2e..b010be66fed 100644 --- a/markdown/org/docs/about/site/csets/en.md +++ b/markdown/org/docs/about/site/csets/en.md @@ -32,7 +32,7 @@ pick the one that best represents their own body. We rely on our community to submit measurements sets for curation. If you have a public measurements set on the site, you can suggest it for curation. -To be part of our curated measurments sets collection, you should provide the following: +To be part of our curated measurements sets collection, you should provide the following: - **All measurements** of the person. We do not accept incomplete sets as that would mean some designs would not work with them. - **The height** of the person. This helps users select a measurements set closest to their own body. From f942a9fcdb857fc44c4ad60defb8fcce0dd83845 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:14 +0100 Subject: [PATCH 0361/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/en.md b/markdown/org/docs/about/site/draft/core-settings/locale/en.md index ded014c197a..8835cc37f61 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/en.md @@ -12,5 +12,5 @@ FreeSewing currently supports the following languages: - German - Dutch -You can picks any of these and your pattern will be translated in this language. +You can pick any of these and your pattern will be translated in this language. From 8043ddeac8367bed89e38ca28797a358a76e633d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:16 +0100 Subject: [PATCH 0362/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/draft/core-settings/scale/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/draft/core-settings/scale/en.md b/markdown/org/docs/about/site/draft/core-settings/scale/en.md index 5a26449f1ca..2a5b20657f2 100644 --- a/markdown/org/docs/about/site/draft/core-settings/scale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/scale/en.md @@ -7,5 +7,5 @@ Things like logos, line widths, font sizes, and so on. This setting was added at the requests of people who like to use our patterns to make doll clothes. When generating such a small pattern, the arrowheads, titles, and so on tend to obscure much of the pattern. -This setting allows you to scale them down or -- if you so wich -- scale them up. +This setting allows you to scale them down or -- if you so wish -- scale them up. From cf9b436d076ab798adde89fd238ef0831be61325 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:17 +0100 Subject: [PATCH 0363/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/en.md b/markdown/org/docs/about/site/en.md index acf5722dfb6..453f435004a 100644 --- a/markdown/org/docs/about/site/en.md +++ b/markdown/org/docs/about/site/en.md @@ -13,7 +13,7 @@ Most people will be most interested in [How to generate bespoke sewing patterns] It can be frustrating for visitors who come here expecting a website where they can download sewing patterns that they can't seem to find the sewing patterns to download. Almost like hiding the *download button* is some elaborate scheme to waste their time. I don't really know how to fix this because I cannot control people's expectations. -FreeSewing.org is _very_ different from the a website with some links to PDF sewing patterns. +FreeSewing.org is _very_ different from a website with some links to PDF sewing patterns. So if that's what you're expecting, we almost have to de-train you before we can talk about what this site offers. So I'm not going to do that. I'm going to assume you are reading with an open mind. @@ -55,7 +55,7 @@ I'd like to highlight a couple of them that are worth your attention: ### User Experience The [User Experience setting](/account/control/) allows you to gradually reveal more complexity. -If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gardually hide more features for the sake of simplicity. But setting a higher value here will show more features and functionality. +If you are a little overwhelmed with everything FreeSewing.org has to offer, setting this to a lower value will gradually hide more features for the sake of simplicity. But setting a higher value here will show more features and functionality. Dial this setting down if you want a simpler experience. Turn it up if you want more power, or some things that you know exists are not shown on your screen. From 711003b8e08b600fe00d7b049f628dc96ff28193 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:19 +0100 Subject: [PATCH 0364/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/patterns/public/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/site/patterns/public/en.md b/markdown/org/docs/about/site/patterns/public/en.md index fa542d8381b..343023df496 100644 --- a/markdown/org/docs/about/site/patterns/public/en.md +++ b/markdown/org/docs/about/site/patterns/public/en.md @@ -5,4 +5,4 @@ title: Public This settings controls whether your pattern will accessible by the **public** or not. By default, patterns are private and only you can access your own patterns. -If you'd like to share your pattern with others -- perhaps because they showed an interest or you are loooking for input -- you should first make it public. +If you'd like to share your pattern with others -- perhaps because they showed an interest or you are looking for input -- you should first make it public. From 7fe24ff8aa5c01d6376e55f8e1e43673ed7ec958 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:21 +0100 Subject: [PATCH 0365/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/sets/public/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/public/en.md b/markdown/org/docs/about/site/sets/public/en.md index f3fc1dc1b21..dde2c69b8b0 100644 --- a/markdown/org/docs/about/site/sets/public/en.md +++ b/markdown/org/docs/about/site/sets/public/en.md @@ -2,11 +2,11 @@ title: Public --- -Every measurements set has a **public** attribute that controls whether or not the measurments set is public. +Every measurements set has a **public** attribute that controls whether or not the measurements set is public. By default, measurements sets are private and you are the only one who can use them. -But, you can choose to make your measurments set public which allows other +But, you can choose to make your measurements set public which allows other users to utilize the measurements in this set to generate or test their own patterns. From 6963f54d22454d7894f7acfa4bb1a4862db0217d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:20:21 +0100 Subject: [PATCH 0366/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/sets/units/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/about/site/sets/units/en.md b/markdown/org/docs/about/site/sets/units/en.md index 9cd1b62617a..30f2aef9cab 100644 --- a/markdown/org/docs/about/site/sets/units/en.md +++ b/markdown/org/docs/about/site/sets/units/en.md @@ -6,8 +6,8 @@ Every measurements set has a **units** attribute that controls what units will be used to display measurements in the set. While each FreeSewing user has a **units** setting in their account that -controls their overal preference between imperial or metric units, it is common -to also have measurements sets for differnet people, and those different people +controls their overall preference between imperial or metric units, it is common +to also have measurements sets for different people, and those different people might have other preferences. That is why we allow you to set the units on each measurements set. From 76a142d8872921d9dd5f6737cc63170793a1600f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:25:53 +0100 Subject: [PATCH 0367/1313] Update source file en.md skip-build --- markdown/org/docs/measurements/bustfront/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/bustfront/en.md b/markdown/org/docs/measurements/bustfront/en.md index 4b4d8e03c1c..c41b9d35fe0 100644 --- a/markdown/org/docs/measurements/bustfront/en.md +++ b/markdown/org/docs/measurements/bustfront/en.md @@ -4,6 +4,6 @@ title: Bust front The **bust front** is the front part of your chest circumference. -To measure your bust front, run the tape measure horizontally accross the fullest part of your chest, +To measure your bust front, run the tape measure horizontally across the fullest part of your chest, starting at the side (seam) on one side, across your breasts to the side (seam) on the other side. From 651b7f2911451a97852e6a74463951f983f867c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:25:58 +0100 Subject: [PATCH 0368/1313] Update source file en.md skip-build --- markdown/org/docs/measurements/shoulderslope/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/shoulderslope/en.md b/markdown/org/docs/measurements/shoulderslope/en.md index 7d05129dde4..f594f13ff65 100644 --- a/markdown/org/docs/measurements/shoulderslope/en.md +++ b/markdown/org/docs/measurements/shoulderslope/en.md @@ -6,7 +6,7 @@ The **shoulder slope** measurement is an indicator for the amount with which you To measure your shoulder slope, you need to determine the angle at which your shoulder line slopes downward. -A good way to measure your shoulder slope is to take a +A good way to measure your shoulder slope is to take a selfie and rotate it until your shoulder line is horizontal. The number of degrees you had to rotate is your shoulder slope. From d1f2b5c342dad5b073ea0496ba56dceea21c6099 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:26:01 +0100 Subject: [PATCH 0369/1313] Update source file en.md skip-build --- markdown/org/docs/measurements/waisttoarmpit/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/measurements/waisttoarmpit/en.md b/markdown/org/docs/measurements/waisttoarmpit/en.md index 3bf42a9f8fb..dbb5fbaf62f 100644 --- a/markdown/org/docs/measurements/waisttoarmpit/en.md +++ b/markdown/org/docs/measurements/waisttoarmpit/en.md @@ -4,7 +4,7 @@ title: Waist to armpit The **waist to armpit** is the measurement from your waist up towards your armpit, measured on the side of your body. -Since _armpit_ is a bit ambigious, we recommend finding the height that would be about the tightest possible sleeve that could still work. +Since _armpit_ is a bit ambiguous, we recommend finding the height that would be about the tightest possible sleeve that could still work. The height of the subcapular/posterior lymph nodes is typically a good spot. Or, if you're not certain where the lymph nodes under your arm are, you can follow this approach: @@ -13,7 +13,7 @@ Or, if you're not certain where the lymph nodes under your arm are, you can foll - Raise your dominant arm (the right if you are right-handed, or the left if you are left-handed) about 30 degrees sideways, away from your body. - Now reach to the side of your body with the other hand, placing the palm of your hand against the side, and your thumb on your chest pointing upwards. - Slide your hand upwards as far as you can without having to push anything out of the way. -- Your index finger will now sit in the armput, which is a bit too high. But your middlefinger is a good spot to mark as the start of your armpit. +- Your index finger will now sit in the armpit, which is a bit too high. But your middle finger is a good spot to mark as the start of your armpit. From 097cf1541f2bdca02210f98a43a4d6d5a7ddab4b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:26:04 +0100 Subject: [PATCH 0370/1313] Update source file en.md skip-build --- markdown/org/docs/sewing/double-welt-pockets/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/double-welt-pockets/en.md b/markdown/org/docs/sewing/double-welt-pockets/en.md index b207622f151..4b85f4891e6 100644 --- a/markdown/org/docs/sewing/double-welt-pockets/en.md +++ b/markdown/org/docs/sewing/double-welt-pockets/en.md @@ -119,7 +119,7 @@ Mark the welt pocket as follows: - Align the center opening of the pocket with a horizontal line. Let it extend to help you align the welts later - Mark two horizontal lines parallel to the center line, at an offset equal to the welt height (0.5cm in our example) -The part of the horizontal lines parallel to the center line that fall in between the verticle lines is where we'll sew our welts in place. This is illustrated by the red lines. +The part of the horizontal lines parallel to the center line that fall in between the vertical lines is where we'll sew our welts in place. This is illustrated by the red lines. ### Step 3: Fold and press the welts From 0f47b395c9335f6cf5d7dd8bab850be60a46e925 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:26:05 +0100 Subject: [PATCH 0371/1313] Update source file en.md skip-build --- markdown/org/docs/sewing/edgestitching/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/edgestitching/en.md b/markdown/org/docs/sewing/edgestitching/en.md index 6bb929be782..c4cd29a4109 100644 --- a/markdown/org/docs/sewing/edgestitching/en.md +++ b/markdown/org/docs/sewing/edgestitching/en.md @@ -2,7 +2,7 @@ title: Edgestitching --- -Edgestitching is a speficic type of _topstitching_. +Edgestitching is a specific type of _topstitching_. It is specific because of its location. To edgestitch means to topstitch right next to a seam, typically about 3mm or 1/8 inch next to it. From b1a96bc94579c965e843cc13496e49d285f8cc8f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:26 +0100 Subject: [PATCH 0372/1313] Update source file en.yaml skip-build --- sites/org/components/footer/en.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/org/components/footer/en.yaml b/sites/org/components/footer/en.yaml index 2bcd541eb47..3824004d1ed 100644 --- a/sites/org/components/footer/en.yaml +++ b/sites/org/components/footer/en.yaml @@ -1,7 +1,7 @@ cc: Content on FreeSewing.org is available under a Creative Commons license -mit: The FreeSewing source code is available on Github under the MIT license +mit: The FreeSewing source code is available on GitHub under the MIT license sponsors: FreeSewing is sponsored by these awesome companies algolia: Search powered by Algolia crowdin: Translation powered by Crowdin -bugsnag: Error handling by Bugsnag +bugsnag: Error handling by BugSnag vercel: Builds & Hosting by Vercel From 386639acd342305e78f445ab3880674a71f9c7a3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:27 +0100 Subject: [PATCH 0373/1313] Update source file en.yaml skip-build --- sites/org/pages/translation/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/en.yaml b/sites/org/pages/translation/en.yaml index fd1d8e1223e..c5cc795dd91 100644 --- a/sites/org/pages/translation/en.yaml +++ b/sites/org/pages/translation/en.yaml @@ -8,7 +8,7 @@ translatedOnly: Translated but not (yet) approved by a proofreader notTranslated: Not (yet) translated defaultLanguage: This is our source language and the working language of the FreeSewing project addLanguage1: Looking to add a language? -addLanguage2: We would love to make FreeSewing available in more langauges. +addLanguage2: We would love to make FreeSewing available in more languages. addLanguage3: If you are interested in starting a new translation effort, please reach out. globalRanking: Global ranking groupByLanguage: Group by language From 3fcae831ce42eb7987746905f73df1abbd1dd070 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:28 +0100 Subject: [PATCH 0374/1313] Update source file en.yaml skip-build --- sites/shared/components/account/en.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/shared/components/account/en.yaml b/sites/shared/components/account/en.yaml index 7b2f2ce3ad2..fda157aa847 100644 --- a/sites/shared/components/account/en.yaml +++ b/sites/shared/components/account/en.yaml @@ -116,11 +116,11 @@ controlTitle: Which user experience do you prefer? # img imgTitle: How about a picture? imgDragAndDropImageHere: Drag and drop an image here -imgPasteUrlHere: Paste an image location (url) here +imgPasteUrlHere: Paste an image location (URL) here imgSelectImage: Select an image # newsletter -newsletterTitle: Would you like to reveice the FreeSewing newsletter? +newsletterTitle: Would you like to receive the FreeSewing newsletter? newsletterYes: Yes, I would like to receive the newsletter newsletterYesd: Once every 3 months you'll receive an email from us with honest wholesome content. No tracking, no ads, no nonsense. newsletterNod: You can always change your mind later. But until you do, we will not send you any newsletters. @@ -220,7 +220,7 @@ public: Public publicSet: Public measurements set privateSet: Private measurements set publicSetDesc: Others are allowed to use these measurements to generate or test patterns -privateSetDesc: These measurments cannot be used by other users or visitors +privateSetDesc: These measurements cannot be used by other users or visitors permalink: Permalink editThing: Edit {thing} saveThing: Save {thing} @@ -229,8 +229,8 @@ noFilter: Do not filter filterByDesignDocs: If you have a specific design in mind, you can filter by design to only list those measurements that are required for this design. setLacksMeasiesForDesign: This set lacks measurements required for this pattern setHasMeasiesForDesign: This set has all measurements required for this pattern -someSetsLacking: Some of these sets lack the measurments required to generate this pattern -theseSetsReady: These sets have all required measurments to generate this pattern +someSetsLacking: Some of these sets lack the measurements required to generate this pattern +theseSetsReady: These sets have all required measurements to generate this pattern chooseSet: Please choose a set of measurements patternForWhichSet: Which set of measurements should we generate a pattern for? bookmarkedSets: Measurements sets you've bookmarked @@ -240,7 +240,7 @@ curateCuratedSets: Curate our selection of curated measurements sets useThisSet: Use this set of measurements ownSets: Your own measurements sets noOwnSets: You do not have any of your own measurements sets (yet) -pleaseMtm: Because our patterns are bespokee, we strongly suggest you take accurate measurements. +pleaseMtm: Because our patterns are bespoke, we strongly suggest you take accurate measurements. noOwnSetsMsg: You can store your measurements as a measurements set, after which you can generate as many patterns as you want for them. measurements: Measurements chooseASet: Choose a measurements set @@ -278,7 +278,7 @@ imgNew: Generate a social media image imgNewInfo: Use our generator to create an image you can share on social media, supports wide (classic), square (Instagram), or tall (stories/TikTok) formats. csetNew: Suggest a new curated measurements set -csetNewInfo: We curate a collection of vetted measurments sets that we use to test patterns. You can suggest a measurements set here. +csetNewInfo: We curate a collection of vetted measurements sets that we use to test patterns. You can suggest a measurements set here. opackNew: Suggest a new options pack opackNewInfo: We curate a collection of vetted option packs for each of our designs. You can suggest your options here. From 884fb3ed42cca401d5437dc2d1ec3fc110eb2a1c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:31 +0100 Subject: [PATCH 0375/1313] Update source file en.yaml skip-build --- sites/shared/components/susi/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/susi/en.yaml b/sites/shared/components/susi/en.yaml index 75cbe0c041a..60a1aa7d514 100644 --- a/sites/shared/components/susi/en.yaml +++ b/sites/shared/components/susi/en.yaml @@ -8,7 +8,7 @@ checkYourInbox: Go check your inbox for an email from clickSigninLink: Click the sign-in link in that email to sign in to your FreeSewing account. clickSignupLink: Click your personal signup link in that email to create your FreeSewing account. consentLacking: We lack consent to process your data -consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instracutions. You can sign up again with the same email address to receive the email again. +consentLackingMsg: Getting your consent is part of sign up process. Look for the email you received when you signed up for instructions. You can sign up again with the same email address to receive the email again. contact: Contact support contactingGithub: Contacting GitHub contactingGoogle: Contacting Google From ec02a045e33fd6895cdf41f02ebfe3a8dec9ed03 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:32 +0100 Subject: [PATCH 0376/1313] Update source file en.yaml skip-build --- sites/shared/components/workbench/menus/core-settings/en.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/components/workbench/menus/core-settings/en.yaml b/sites/shared/components/workbench/menus/core-settings/en.yaml index 1740f71c875..a1f3f45aa5e 100644 --- a/sites/shared/components/workbench/menus/core-settings/en.yaml +++ b/sites/shared/components/workbench/menus/core-settings/en.yaml @@ -36,7 +36,7 @@ no: No completeYes.t: Generate a complete pattern completeYes.d: This will generate a complete pattern with all notations, lines, markings. Use this if you are not certain what to choose. completeNo.t: Generate a pattern outline -completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a lasercutter or have other specific needs. +completeNo.d: Only generate the outline of the pattern parts. Use this if you are looking to use a laser cutter or have other specific needs. expandYes.t: Expand all pattern parts expandYes.d: This will generate a pattern where all pattern parts are drawn to their full size, even if they are simple rectangles. expandNo.t: Keep patterns parts compact where possible @@ -52,7 +52,7 @@ metric.d: Use this if you use the metric system, and centimeters and millimeters imperial.t: Use imperial units imperial.d: Use this if inches and fractions or inches are more familiar to you then centimeters. This is often the preferred choice for people based in the UK & US. saNo.t: Do not include seam allowance -saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowancce will be included. +saNo.d: This generates a pattern which does not include any seam allowance. The size of the seam allowance does not matter as no seam allowance will be included. saYes.t: Include seam allowance saYes.d: This generates a pattern that will include seam allowance. The size of the seam allowance is set individually. clearSettingsNotMeasurements: Clear settings, but keep measurements From ee3028b379a65b5b2e6e4c322c9173e7bc656551 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:33 +0100 Subject: [PATCH 0377/1313] Update source file en.yaml skip-build --- sites/shared/components/workbench/menus/ui-settings/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/menus/ui-settings/en.yaml b/sites/shared/components/workbench/menus/ui-settings/en.yaml index 6913c5aa938..368d7eb195e 100644 --- a/sites/shared/components/workbench/menus/ui-settings/en.yaml +++ b/sites/shared/components/workbench/menus/ui-settings/en.yaml @@ -4,7 +4,7 @@ renderer.t: Render Engine renderer.d: Controls how the pattern is rendered (drawn) on the screen renderWithReact.t: Render with FreeSewing's React components renderWithReact.d: Render as SVG through our React components. Allows interactivity and is optimized for screen. Use this if you are not sure what to pick. -renderWithCore.t: Render with Freesewing's Core library +renderWithCore.t: Render with FreeSewing's Core library renderWithCore.d: Render directly to SVG from Core. Allows no interactivity and is optimized for print. Use this if you want to know what it will look like when exported. control.t: User Experience control.d: Which user experience do you prefer? Please note that this is an account setting, so it will impact the entire website. From 2dfb7f555e8ee9a90232a32520d8fda5fa92bcc5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:34 +0100 Subject: [PATCH 0378/1313] Update source file en.yaml skip-build --- sites/shared/i18n/docs/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/docs/en.yaml b/sites/shared/i18n/docs/en.yaml index 7a39bb3e3c6..334cc3ad310 100644 --- a/sites/shared/i18n/docs/en.yaml +++ b/sites/shared/i18n/docs/en.yaml @@ -3,7 +3,7 @@ docs: Documentation controltip.t: Power versus Simplicity controltip.d1: The Power versus Simplicity setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: By default, some of the more advanced features of this site are hidden to make it more easy for new users to find their way. -controltip.d3: If you want to sacrify some of that simplicy to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. helpWithDocs: Help us improve our documentation authors: Authors maintainers: Maintainers From 2dee19dd5ee35dc298f7ff7b57748e178c91db95 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:35 +0100 Subject: [PATCH 0379/1313] Update source file en.yaml skip-build --- sites/shared/i18n/homepage/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/homepage/en.yaml b/sites/shared/i18n/homepage/en.yaml index 771fc5fe065..e6852735a43 100644 --- a/sites/shared/i18n/homepage/en.yaml +++ b/sites/shared/i18n/homepage/en.yaml @@ -4,7 +4,7 @@ howDoesItWork: How does it work? whatIsFreeSewing: What is FreeSewing? whatIsFreeSewingNot: What is FreeSewing not? what1: FreeSewing is open source software to generate bespoke sewing patterns, loved by home sewers and fashion entrepreneurs alike. -what2: FreeSewing.org makes this software available to you as an online tool with unmatched custimization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched customization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. what3: Industry sizing is a bunch of lies. Join the slow fashion revolution and enjoy clothes that fit you. whatNot1: FreeSewing is not a company. We do not sell anything. We do not have staff or employees. We do not have an office. We do not get paid. whatNot2: Our website does not contain any advertising. We do not track you or sell your personal data. We do not violate your privacy. From d2b508ea0d3903bda58046f6a807c10a0ddb2a45 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:37 +0100 Subject: [PATCH 0380/1313] Update source file en.yaml skip-build --- sites/shared/i18n/sections/en.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/en.yaml b/sites/shared/i18n/sections/en.yaml index 631bd311640..981b5b5aa6c 100644 --- a/sites/shared/i18n/sections/en.yaml +++ b/sites/shared/i18n/sections/en.yaml @@ -5,11 +5,11 @@ showcaseAbout: Examples and inspiration from the FreeSewing community using our docs: Documentation docsAbout: In-depth documentation for all our designs, our website, and much more account: Your Account -accountAbout: Manage your account settings and preferences, and your presonal data +accountAbout: Manage your account settings and preferences, and your personal data designs: Designs designsAbout: Our library of designs that you can turn into made-to-measure patterns with a few clicks community: Community -communityAbout: More information about the peope behind FreeSewing and where to fine like-minded makers +communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers apiAbout: Documentation for our core API library and our backend REST API. designAbout: Everything you need to know to start designing parametric sewing patterns. contributeAbout: Looking to contribute to FreeSewing? Right this way. From 532cd9d8cfd747b5051a42932cba2b5182e3cff6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:38 +0100 Subject: [PATCH 0381/1313] Update source file en.yaml skip-build --- sites/shared/i18n/status/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/en.yaml b/sites/shared/i18n/status/en.yaml index ca08d5fa689..b64ff3d893e 100644 --- a/sites/shared/i18n/status/en.yaml +++ b/sites/shared/i18n/status/en.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Copied to clipboard dataLoaded: Loaded data from the FreeSewing backend generatingPdf: Generating your PDF, one moment please nailedIt: Nailed it! -pdfFailed: An unexpected error occured while generating your PDF +pdfFailed: An unexpected error occurred while generating your PDF pdfReady: PDF generated processingUpdate: Processing update settingsSaved: Settings saved From 2f54aff528f45934a4e166f3b1e4104a59695d19 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Wed, 24 Jan 2024 13:27:38 +0100 Subject: [PATCH 0382/1313] Update source file en.yaml skip-build --- sites/shared/i18n/support/en.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/support/en.yaml b/sites/shared/i18n/support/en.yaml index 566b36d1f65..4a52159e1fb 100644 --- a/sites/shared/i18n/support/en.yaml +++ b/sites/shared/i18n/support/en.yaml @@ -29,7 +29,7 @@ howCanYouSupportFreeSewing: How can you support FreeSewing? issueAssigned: Issue assigned issueClosed: Issue closed issueReferenced: Issue referenced -issueReopened: Issue Re-Openened +issueReopened: Issue Re-Opened maintainerSupport: Maintainer Support maintainerSupport1: If you are a FreeSewing patron, you can go straight to the top and contact Joost directly. maintainerSupport2: While Joost will treat requests from patrons with priority, he does also needs sleep. So keep that in mind, especially when you are in a different time zone. From d39f094a358f5ad8dda5e1c10c3e5e840bc11f6a Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Wed, 24 Jan 2024 12:12:54 -0800 Subject: [PATCH 0383/1313] fix(markdown): Fix property type in cutOnFold macro docs --- markdown/dev/reference/macros/cutonfold/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/dev/reference/macros/cutonfold/en.md b/markdown/dev/reference/macros/cutonfold/en.md index 3e291a3d78c..af31674264f 100644 --- a/markdown/dev/reference/macros/cutonfold/en.md +++ b/markdown/dev/reference/macros/cutonfold/en.md @@ -51,7 +51,7 @@ macro('cutonfold', { | `from` | | [Point](/reference/api/point) | The startpoint of the _cut on fold_ indicator | | `id` | `cutonfold` | `string` | The ID of this macro instance | | `to` | | [Point](/reference/api/point) | The endpoint of the _cut on fold_ indicator | -| `margin` | 5 | [Point](/reference/api/point) | The distance in % to keep from the start/end edge | +| `margin` | 5 | Number | The distance in % to keep from the start/end edge | | `offset` | 15 | Number | The distance in mm to offset from the line from start to end | | `prefix` | 'cutonfold' | String | A prefix to apply to the names of the generated path and points | | `grainline` | `false` | Boolean | Whether this cutonfold indicator is also the grainline | From 0ccb5bb38185a55544061f0a5fa44d9169d08e12 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 23 Jan 2024 06:27:18 -0800 Subject: [PATCH 0384/1313] fix(markdown): Add supported language info for Ukrainian --- markdown/dev/reference/packages/i18n/en.md | 3 ++- .../org/docs/about/site/draft/core-settings/locale/en.md | 1 + sites/org/pages/translation/index.mjs | 7 +------ .../components/workbench/menus/core-settings/en.yaml | 2 ++ 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/markdown/dev/reference/packages/i18n/en.md b/markdown/dev/reference/packages/i18n/en.md index 353bea6ec18..dec62193574 100644 --- a/markdown/dev/reference/packages/i18n/en.md +++ b/markdown/dev/reference/packages/i18n/en.md @@ -7,13 +7,14 @@ for the FreeSewing project. ## Languages -We currently provide translations in 5 languages: +We currently provide translations in the following languages: - English - German - Spanish - French - Dutch + - Ukrainian ## How to use these translations diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/en.md b/markdown/org/docs/about/site/draft/core-settings/locale/en.md index ded014c197a..f4917ca3aec 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/en.md @@ -11,6 +11,7 @@ FreeSewing currently supports the following languages: - French - German - Dutch +- Ukrainian You can picks any of these and your pattern will be translated in this language. diff --git a/sites/org/pages/translation/index.mjs b/sites/org/pages/translation/index.mjs index 8c3733e2b25..ac4252b1232 100644 --- a/sites/org/pages/translation/index.mjs +++ b/sites/org/pages/translation/index.mjs @@ -65,7 +65,7 @@ const TranslationPage = ({ page }) => {

Supported Languages

-

We currently support the following five languages:

+

We currently support the following languages:

  • {t('locales:en')} @@ -83,11 +83,6 @@ const TranslationPage = ({ page }) => {
  • {t('locales:es')}
  • -
-

- In addition, comminity members have started initiatives to add the following langauges: -

-
  • {t('locales:uk')}
  • diff --git a/sites/shared/components/workbench/menus/core-settings/en.yaml b/sites/shared/components/workbench/menus/core-settings/en.yaml index 1740f71c875..4292942da3c 100644 --- a/sites/shared/components/workbench/menus/core-settings/en.yaml +++ b/sites/shared/components/workbench/menus/core-settings/en.yaml @@ -31,6 +31,8 @@ fr.t: French fr.d: Use this to generate a French pattern nl.t: Dutch nl.d: Use this to generate a Dutch pattern +uk.t: Ukrainian +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Generate a complete pattern From 5cce67113cffd47fb624a7537cde1c79687e0925 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Wed, 24 Jan 2024 15:46:41 -0800 Subject: [PATCH 0385/1313] fix(sites): Add uk to site locales and languages --- sites/lab/next-i18next.config.js | 2 +- sites/lab/site.config.mjs | 2 +- sites/sde/site.config.mjs | 2 +- sites/shared/config/i18n.config.mjs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sites/lab/next-i18next.config.js b/sites/lab/next-i18next.config.js index ab2c71ab36b..26f934d4251 100644 --- a/sites/lab/next-i18next.config.js +++ b/sites/lab/next-i18next.config.js @@ -2,7 +2,7 @@ module.exports = { i18n: { defaultLocale: 'en', - locales: ['en', 'de', 'es', 'fr', 'nl'], + locales: ['en', 'de', 'es', 'fr', 'nl', 'uk'], defaultNS: 'common', }, interpolation: { diff --git a/sites/lab/site.config.mjs b/sites/lab/site.config.mjs index 74b8170e73a..1a95e2e7cda 100644 --- a/sites/lab/site.config.mjs +++ b/sites/lab/site.config.mjs @@ -2,7 +2,7 @@ export const siteConfig = { bugsnag: { key: 'aa417d92c1c11ac80a2134d37e7327a2', }, - languages: ['en', 'es', 'de', 'fr', 'nl'], + languages: ['en', 'es', 'de', 'fr', 'nl', 'uk'], repo: 'https://github.com/freesewing/freesewing', site: 'lab', } diff --git a/sites/sde/site.config.mjs b/sites/sde/site.config.mjs index 13f8cb61de6..9476803a93d 100644 --- a/sites/sde/site.config.mjs +++ b/sites/sde/site.config.mjs @@ -1,4 +1,4 @@ export const siteConfig = { - languages: ['en', 'es', 'de', 'fr', 'nl'], + languages: ['en', 'es', 'de', 'fr', 'nl', 'uk'], repo: 'https://github.com/freesewing/freesewing', } diff --git a/sites/shared/config/i18n.config.mjs b/sites/shared/config/i18n.config.mjs index 2e818029e46..a2a38f63ab3 100644 --- a/sites/shared/config/i18n.config.mjs +++ b/sites/shared/config/i18n.config.mjs @@ -1,7 +1,7 @@ // __SDEFILE__ - This file is a dependency for the stand-alone environment // See: https://github.com/isaachinman/next-i18next -const i18n = (locales = ['en', 'de', 'es', 'fr', 'nl']) => ({ +const i18n = (locales = ['en', 'de', 'es', 'fr', 'nl', 'uk']) => ({ i18n: { defaultLocale: 'en', locales, From 5828e539374f4286af9843f4bd151a72a075dfae Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Wed, 24 Jan 2024 19:56:20 -0800 Subject: [PATCH 0386/1313] fix(core): Remove Svg.body property --- markdown/dev/reference/api/svg/body/en.md | 5 ----- packages/core/src/svg.mjs | 2 -- packages/core/tests/pattern-draft.test.mjs | 1 - packages/core/tests/svg.test.mjs | 1 - 4 files changed, 9 deletions(-) delete mode 100644 markdown/dev/reference/api/svg/body/en.md diff --git a/markdown/dev/reference/api/svg/body/en.md b/markdown/dev/reference/api/svg/body/en.md deleted file mode 100644 index dad6a8b5667..00000000000 --- a/markdown/dev/reference/api/svg/body/en.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Svg.body ---- - -FIXME: write docs diff --git a/packages/core/src/svg.mjs b/packages/core/src/svg.mjs index 32771c4e74f..a27eca88187 100644 --- a/packages/core/src/svg.mjs +++ b/packages/core/src/svg.mjs @@ -30,7 +30,6 @@ export function Svg(pattern) { this.attributes.add('xmlns:freesewing', 'http://freesewing.org/namespaces/freesewing') this.attributes.add('freesewing', version) this.layout = {} - this.body = '' this.style = '' this.defs = new Defs() } @@ -48,7 +47,6 @@ Svg.prototype.asRenderProps = function () { return { attributes: this.attributes.asRenderProps(), layout: this.layout, - body: this.body, style: this.style, defs: this.defs.asRenderProps(), } diff --git a/packages/core/tests/pattern-draft.test.mjs b/packages/core/tests/pattern-draft.test.mjs index a2e93813678..434cf73b22c 100644 --- a/packages/core/tests/pattern-draft.test.mjs +++ b/packages/core/tests/pattern-draft.test.mjs @@ -212,7 +212,6 @@ describe('Pattern', () => { const pattern = new Test() pattern.draft() const rp = pattern.getRenderProps() - expect(rp.svg.body).to.equal('') expect(rp.width).to.equal(4) expect(rp.height).to.equal(4) expect(rp.parts.front.height).to.equal(4) diff --git a/packages/core/tests/svg.test.mjs b/packages/core/tests/svg.test.mjs index 1ce919f98e6..c3be3583b34 100644 --- a/packages/core/tests/svg.test.mjs +++ b/packages/core/tests/svg.test.mjs @@ -43,7 +43,6 @@ describe('Svg', () => { const svg = new Svg() expect(svg.attributes instanceof Attributes).to.equal(true) expect(svg.freeId).to.equal(0) - expect(svg.body).to.equal('') expect(svg.style).to.equal('') expect(svg.defs).to.be.an.instanceof(Defs) expect(svg.prefix).to.equal('') From 649c4acff3fed8ef65426be44ec451a8e78f94aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 04:20:09 +0000 Subject: [PATCH 0387/1313] build(deps): bump tlds from 1.248.0 to 1.249.0 Bumps [tlds](https://github.com/stephenmathieson/node-tlds) from 1.248.0 to 1.249.0. - [Changelog](https://github.com/stephenmathieson/node-tlds/blob/master/CHANGELOG.md) - [Commits](https://github.com/stephenmathieson/node-tlds/compare/1.248.0...1.249.0) --- updated-dependencies: - dependency-name: tlds dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/sde/package.json b/sites/sde/package.json index 2b967e91f4f..78e1591bb27 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -83,7 +83,7 @@ "slugify": "^1.6.6", "svg-to-pdfkit": "https://git@github.com/eriese/SVG-to-PDFKit", "tailwindcss": "3.4.1", - "tlds": "1.248.0", + "tlds": "1.249.0", "use-local-storage-state": "19.1.0", "web-worker": "1.3.0" }, diff --git a/sites/shared/package.json b/sites/shared/package.json index e4b5de78a7c..9d281255354 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -52,7 +52,7 @@ "remark-smartypants": "2.1.0", "slugify": "^1.6.6", "svg-to-pdfkit": "https://git@github.com/eriese/SVG-to-PDFKit", - "tlds": "1.248.0", + "tlds": "1.249.0", "to-vfile": "8.0.0", "unist-util-visit": "5.0.0", "use-local-storage-state": "19.1.0", diff --git a/yarn.lock b/yarn.lock index 73274bfb579..912dc3684b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13329,10 +13329,10 @@ tiny-inflate@^1.0.0, tiny-inflate@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" integrity sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw== -tlds@1.248.0: - version "1.248.0" - resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.248.0.tgz#65bf56eee6d0ace1e918fbc653227ef18a9ddf8d" - integrity sha512-noj0KdpWTBhwsKxMOXk0rN9otg4kTgLm4WohERRHbJ9IY+kSDKr3RmjitaQ3JFzny+DyvBOQKlFZhp0G0qNSfg== +tlds@1.249.0: + version "1.249.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.249.0.tgz#5e10f3428923fef27fa47867770e0aa11b160a35" + integrity sha512-PfcE+oqaEhs0U3RDNg4uGg37793cGvlK6+aLAetwR0ImFyV3R2ts1KvU2RfJdtoLn7IFnUEftFFz4br5Wr3caA== tmp@^0.0.33: version "0.0.33" From 9593e8d078e78687b431f52a15a2d04f1826c343 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Wed, 24 Jan 2024 20:20:10 -0800 Subject: [PATCH 0388/1313] chore(markdown): Add Svg.render() documentation --- markdown/dev/reference/api/svg/render/en.md | 26 ++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/markdown/dev/reference/api/svg/render/en.md b/markdown/dev/reference/api/svg/render/en.md index a0791f15f91..28a9ad8f5a4 100644 --- a/markdown/dev/reference/api/svg/render/en.md +++ b/markdown/dev/reference/api/svg/render/en.md @@ -2,4 +2,28 @@ title: Svg.render() --- -FIXME: Write docs +The `Svg.render()` method will render a drafted +[Pattern](/reference/core/pattern) as SVG. + +## Signature + +```js +string svg.render() +``` + +## Svg.render() example + +``` +import { Aaron } from "@freesewing/aaron" + +// Load some public test measurements from the FreeSewing backend +const measurements = ( + await ( + await fetch("https://backend3.freesewing.org/curated-sets/1.json") + ).json() +).measurements + +const pattern = new Aaron({ measurements }) + +const svg = new Svg(pattern).render() +``` From 21cca5e270be58c8bde6bc71e2228ba8999647bf Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Wed, 24 Jan 2024 20:21:08 -0800 Subject: [PATCH 0389/1313] fix(markdown): Fix Svg.asRenderProps() documentation grammar --- markdown/dev/reference/api/svg/asrenderprops/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/dev/reference/api/svg/asrenderprops/en.md b/markdown/dev/reference/api/svg/asrenderprops/en.md index 3f4e534b370..2798a563922 100644 --- a/markdown/dev/reference/api/svg/asrenderprops/en.md +++ b/markdown/dev/reference/api/svg/asrenderprops/en.md @@ -15,7 +15,7 @@ Object svg.asRenderProps() ## Returned object properties -This returns JavaScript object has the following properties: +The returned JavaScript object has the following properties: | Name | Description | | ----:| ----------- | From 731b9c481f901832041647021c71bd35c19c1c7d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 04:21:29 +0000 Subject: [PATCH 0390/1313] build(deps): bump axios from 1.6.5 to 1.6.6 Bumps [axios](https://github.com/axios/axios) from 1.6.5 to 1.6.6. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.6.5...v1.6.6) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/new-design/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/new-design/package.json b/packages/new-design/package.json index f32d46b513c..87e622d5288 100644 --- a/packages/new-design/package.json +++ b/packages/new-design/package.json @@ -36,7 +36,7 @@ }, "peerDependencies": {}, "dependencies": { - "axios": "1.6.5", + "axios": "1.6.6", "chalk": "5.3.0", "execa": "8.0.1", "mustache": "4.2.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index 2b967e91f4f..7d1bfd7cba5 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -46,7 +46,7 @@ "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e", "@tailwindcss/typography": "0.5.10", "autoprefixer": "10.4.17", - "axios": "1.6.5", + "axios": "1.6.6", "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", "d3-selection": "3.0.0", diff --git a/yarn.lock b/yarn.lock index 73274bfb579..0878ac1cf1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3329,10 +3329,10 @@ axe-core@^4.6.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.2.tgz#2f6f3cde40935825cf4465e3c1c9e77b240ff6ae" integrity sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g== -axios@1.6.5, axios@^1.5.1: - version "1.6.5" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8" - integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== +axios@1.6.6, axios@^1.5.1: + version "1.6.6" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.6.tgz#878db45401d91fe9e53aed8ac962ed93bde8dd1c" + integrity sha512-XZLZDFfXKM9U/Y/B4nNynfCRUqNyVZ4sBC/n9GDRCkq9vd2mIvKjKKsbIh1WPmHmNbg6ND7cTBY3Y2+u1G3/2Q== dependencies: follow-redirects "^1.15.4" form-data "^4.0.0" From d18af72556014eef259a6d5ab979ca63c16197eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 04:23:01 +0000 Subject: [PATCH 0391/1313] build(deps): bump @aws-sdk/client-sesv2 from 3.496.0 to 3.499.0 Bumps [@aws-sdk/client-sesv2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sesv2) from 3.496.0 to 3.499.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sesv2/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.499.0/clients/client-sesv2) --- updated-dependencies: - dependency-name: "@aws-sdk/client-sesv2" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 811cd6640ab..0333377ebe6 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": {}, "dependencies": { - "@aws-sdk/client-sesv2": "3.496.0", + "@aws-sdk/client-sesv2": "3.499.0", "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", diff --git a/yarn.lock b/yarn.lock index 73274bfb579..77c6b8790c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -197,16 +197,16 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-sesv2@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.496.0.tgz#154c091a19e0e8eee3009c5302ba27190ae77d36" - integrity sha512-SJN3Kzxck6cxiXPgx2BopHwWwLNuCwa35/ScBxp6hT9qGSSGbWoUdc0fSrTvN5Ryf5/2wG9G7MnWcIJuZAQWYQ== +"@aws-sdk/client-sesv2@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.499.0.tgz#d46d115d84d2b05d431ca4e825ee04459395144f" + integrity sha512-wQV7d0lX13oA2Vzu9+KcKTD3ULfd/Md8UoVh8U76NIzjAAzUeDCm6g6PQSgtQlEMsABxdLi/WGh7PJ7HAMlx4Q== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.496.0" + "@aws-sdk/client-sts" "3.499.0" "@aws-sdk/core" "3.496.0" - "@aws-sdk/credential-provider-node" "3.496.0" + "@aws-sdk/credential-provider-node" "3.499.0" "@aws-sdk/middleware-host-header" "3.496.0" "@aws-sdk/middleware-logger" "3.496.0" "@aws-sdk/middleware-recursion-detection" "3.496.0" @@ -286,15 +286,15 @@ "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/client-sts@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.496.0.tgz#e0c142cf8bb1aec7a9c7b09dd9739f6773d94fd0" - integrity sha512-3pSdqgegdwbK3CT1WvGHhA+Bf91R9cr8G1Ynp+iU2wZvy8ueJfMUk0NYfjo3EEv0YhSbMLKuduzZfvQHFHXYhw== +"@aws-sdk/client-sts@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.499.0.tgz#4c8260ed1fda7ad2c4e5fe12e4eaa5849da77d92" + integrity sha512-Eyj9STw2DXMtXL5V/v0HYHO6+JjGPi257M5IYyxwqlvRchq6jbOsedobfxclB/gBUyBRtZdnyAIS8uCKjb4kpA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" "@aws-sdk/core" "3.496.0" - "@aws-sdk/credential-provider-node" "3.496.0" + "@aws-sdk/credential-provider-node" "3.499.0" "@aws-sdk/middleware-host-header" "3.496.0" "@aws-sdk/middleware-logger" "3.496.0" "@aws-sdk/middleware-recursion-detection" "3.496.0" @@ -370,10 +370,10 @@ "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.496.0.tgz#734fc5aa824c387c893ff5624b201c0243ea1c7c" - integrity sha512-IVF9RvLePfRa5S5/eBIRChJCWOzQkGwM8P/L79Gl84u/cH2oSG4NtUI/YTDlrtmnYn7YsGhINSV0WnzfF2twfQ== +"@aws-sdk/credential-provider-node@3.499.0": + version "3.499.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.499.0.tgz#7980144fdd04e1e39af850084444ec29d2918473" + integrity sha512-EsiSevVmcVSMIq7D9siSH/XVc5I0vMntg1rx6KQdng1Fq8X/RBL5t9wSWEwOl7KFo5HlEsWrLWIpo1WHuzIL/w== dependencies: "@aws-sdk/credential-provider-env" "3.496.0" "@aws-sdk/credential-provider-ini" "3.496.0" From dd00a060d2cf723374a45a5629602c305303279e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 04:23:34 +0000 Subject: [PATCH 0392/1313] build(deps): bump i18next from 23.7.18 to 23.7.19 Bumps [i18next](https://github.com/i18next/i18next) from 23.7.18 to 23.7.19. - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v23.7.18...v23.7.19) --- updated-dependencies: - dependency-name: i18next dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/lab/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/lab/package.json b/sites/lab/package.json index 507820358e8..d3fa7850e98 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -36,7 +36,7 @@ "d3-drag": "3.0.0", "d3-selection": "3.0.0", "daisyui": "4.6.0", - "i18next": "23.7.18", + "i18next": "23.7.19", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", diff --git a/sites/sde/package.json b/sites/sde/package.json index 2b967e91f4f..6ba1434afc7 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -54,7 +54,7 @@ "echarts": "5.4.3", "echarts-for-react": "3.0.2", "file-saver": "2.0.5", - "i18next": "23.7.18", + "i18next": "23.7.19", "jotai": "2.6.2", "jotai-location": "0.5.2", "js-yaml": "4.1.0", diff --git a/yarn.lock b/yarn.lock index 73274bfb579..289d0bc8181 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7159,10 +7159,10 @@ i18next-fs-backend@^2.3.1: resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-2.3.1.tgz#0c7d2459ff4a039e2b3228131809fbc0e74ff1a8" integrity sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg== -i18next@23.7.18: - version "23.7.18" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.18.tgz#4f219e3702b08342c5519bc2cda7d09c67edebb9" - integrity sha512-b9N2KjRCYQNlUvE1Kc83g8knyUkL5NiZQOp9BsTR/v/LXk6Fzz+doOzTg2/826XK28mCgBkYLNAtixjE58qpCw== +i18next@23.7.19: + version "23.7.19" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.19.tgz#037ac683610417178b881355e5cdc38380c0ca17" + integrity sha512-1aP+YSJl+nLxr42ZJtNhpWpNWYsc6nCbVCf2x4uizIX1BYfcigiRMlb3vOkE1p3+qrI+aD6h5G2Fg+2d2oMIOQ== dependencies: "@babel/runtime" "^7.23.2" From 8b5038d5bd9e8bace007076812cb5f6aa61ace42 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 25 Jan 2024 16:00:08 +0100 Subject: [PATCH 0393/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/sections/es.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/shared/i18n/sections/es.yaml b/sites/shared/i18n/sections/es.yaml index a54c1a68784..7e12af3450a 100644 --- a/sites/shared/i18n/sections/es.yaml +++ b/sites/shared/i18n/sections/es.yaml @@ -5,11 +5,11 @@ showcaseAbout: Ejemplos e inspiración de la comunidad FreeSewing utilizando nue docs: Documentación docsAbout: Documentación exhaustiva de todos nuestros diseños, nuestro sitio web y mucho más account: Tu cuenta -accountAbout: Manage your account settings and preferences, and your personal data +accountAbout: Gestionar la configuración y preferencias de tu cuenta, y tus datos personales designs: Diseños designsAbout: Nuestra biblioteca de diseños que puedes convertir en patrones a medida con unos pocos clics community: Comunidad -communityAbout: More information about the people behind FreeSewing and where to fine like-minded makers +communityAbout: Más información sobre la gente que está detrás de FreeSewing y dónde encontrar creadores afines apiAbout: Documentación para nuestra biblioteca API central y nuestra API REST backend. designAbout: Todo lo que necesitas saber para empezar a diseñar patrones de costura paramétricos. contributeAbout: '¿Quieres contribuir a FreeSewing? Hazlo por aquí.' From a116125e2231251f11be35018185b8853718e8d5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Thu, 25 Jan 2024 16:00:10 +0100 Subject: [PATCH 0394/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/status/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/i18n/status/es.yaml b/sites/shared/i18n/status/es.yaml index 31417f29a6d..f259dbf62e5 100644 --- a/sites/shared/i18n/status/es.yaml +++ b/sites/shared/i18n/status/es.yaml @@ -6,7 +6,7 @@ copiedToClipboard: Copiado al portapapeles dataLoaded: Datos cargados desde el backend de FreeSewing generatingPdf: Generando tu PDF, un momento por favor nailedIt: Clavado! -pdfFailed: An unexpected error occurred while generating your PDF +pdfFailed: Se ha producido un error inesperado al generar tu PDF pdfReady: Generados en PDF processingUpdate: Actualización del proceso settingsSaved: Ajustes guardados From 8832538c9bebd8c0202cdb5269b749a5367f0ef1 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 25 Jan 2024 16:29:53 -0800 Subject: [PATCH 0395/1313] fix(shared): Flags should not display null notes --- sites/shared/components/workbench/views/flags.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/components/workbench/views/flags.mjs b/sites/shared/components/workbench/views/flags.mjs index 172b9b40185..042aefc9bf7 100644 --- a/sites/shared/components/workbench/views/flags.mjs +++ b/sites/shared/components/workbench/views/flags.mjs @@ -63,7 +63,7 @@ export const Flag = ({ data, t, handleUpdate }) => { return (
    - +
    {button ?
    {button}
    : null}
    From 1bd22032700486bbf24cdf43cb887584ec2b2c09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 04:50:40 +0000 Subject: [PATCH 0396/1313] build(deps-dev): bump @commitlint/cli from 18.5.0 to 18.6.0 Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 18.5.0 to 18.6.0. - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v18.6.0/@commitlint/cli) --- updated-dependencies: - dependency-name: "@commitlint/cli" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 138 +++++++++++++++++++++++++++--------------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/yarn.lock b/yarn.lock index b4ed0e2965e..9197a0cc6a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -911,15 +911,15 @@ integrity sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== "@commitlint/cli@^18.1.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.5.0.tgz#e485c29d51b66890cd93a4c7f3f1e5ed15101db2" - integrity sha512-g/N0mJBrHcTdiccUpJknS6/ru45eIEAZyhEy9sL2ILjzK2IVNrpzlAPtxEr8bZCZLGwPBUrQ5UCIIu4uebhImw== + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-18.6.0.tgz#f065e0514f3870b6dc9a3c608a78820806b46527" + integrity sha512-FiH23cr9QG8VdfbmvJJZmdfHGVMCouOOAzoXZ3Cd7czGC52RbycwNt8YCI7SA69pAl+t30vh8LMaO/N+kcel6w== dependencies: - "@commitlint/format" "^18.4.4" - "@commitlint/lint" "^18.5.0" - "@commitlint/load" "^18.5.0" - "@commitlint/read" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/format" "^18.6.0" + "@commitlint/lint" "^18.6.0" + "@commitlint/load" "^18.6.0" + "@commitlint/read" "^18.6.0" + "@commitlint/types" "^18.6.0" execa "^5.0.0" lodash.isfunction "^3.0.9" resolve-from "5.0.0" @@ -933,20 +933,20 @@ dependencies: conventional-changelog-conventionalcommits "^7.0.2" -"@commitlint/config-validator@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.5.0.tgz#3ddd3f94001ebbc5a61c7190fa7a51fab289690f" - integrity sha512-mDAA6WQPjh9Ida8ACdInDylBQcqeUD2gBHE+dQu+B3OIHiWiSSrq4F2+wg3nDU9EzfcQSwPwYL+QbMmiW5SmLA== +"@commitlint/config-validator@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-18.6.0.tgz#ea1e04e92829dd7b90cea444f245b0bdefa0a586" + integrity sha512-Ptfa865arNozlkjxrYG3qt6wT9AlhNUHeuDyKEZiTL/l0ftncFhK/KN0t/EAMV2tec+0Mwxo0FmhbESj/bI+1g== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" ajv "^8.11.0" -"@commitlint/ensure@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.4.4.tgz#5e142e489e32f6a22865cea05ca369a95a4b77a1" - integrity sha512-KjD19p6julB5WrQL+Cd8p+AePwpl1XzGAjB0jnuFMKWtji9L7ucCZUKDstGjlkBZGGzH/nvdB8K+bh5K27EVUg== +"@commitlint/ensure@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-18.6.0.tgz#3f3dc09d99016eaab0da9423123effd820d11931" + integrity sha512-xY07NmOBJ7JuhX3tic021PaeLepZARIQyqpAQoNQZoml1keBFfB6MbA7XlWZv0ebbarUFE4yhKxOPw+WFv7/qw== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" @@ -958,41 +958,41 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-18.4.4.tgz#ade986742c1944c8162a54288747e54a8c6146b5" integrity sha512-a37Nd3bDQydtg9PCLLWM9ZC+GO7X5i4zJvrggJv5jBhaHsXeQ9ZWdO6ODYR+f0LxBXXNYK3geYXJrCWUCP8JEg== -"@commitlint/format@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.4.4.tgz#51996ba0a7eac14f7f8991cff8700e4a2fd86ba7" - integrity sha512-2v3V5hVlv0R3pe7p66IX5F7cjeVvGM5JqITRIbBCFvGHPJ/CG74rjTkAu0RBEiIhlk3eOaLjVGq3d5falPkLBA== +"@commitlint/format@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-18.6.0.tgz#e13ef8419cd8eb37be5825a2e84e73cabbfb56ad" + integrity sha512-8UNWfs2slPPSQiiVpLGJTnPHv7Jkd5KYxfbNXbmLL583bjom4RrylvyrCVnmZReA8nNad7pPXq6mDH4FNVj6xg== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" chalk "^4.1.0" -"@commitlint/is-ignored@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.4.4.tgz#3fbf2a55a960ccf037e79ad4610091a693800680" - integrity sha512-rXWes9owKBTjfTr6Od7YlflRg4N+ngkOH+dUZhk0qL/XQb26mHz0EgVgdixMVBac1OsohRwJaLmVHX+5F6vfmg== +"@commitlint/is-ignored@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-18.6.0.tgz#d15ab04f547f7554cc3377d50f8e19178502b8af" + integrity sha512-Xjx/ZyyJ4FdLuz0FcOvqiqSFgiO2yYj3QN9XlvyrxqbXTxPVC7QFEXJYBVPulUSN/gR7WXH1Udw+HYYfD17xog== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" semver "7.5.4" -"@commitlint/lint@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.5.0.tgz#83c7434e969d04aaa84c5129c17b3dcde33d4650" - integrity sha512-4VbfTGTZf/aDaOn+vednMQFu5EIKfERvv7j8La3etQCra0O2QMrZL28xugTroYekawpTkiWWvLswtpVfabIbgw== +"@commitlint/lint@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-18.6.0.tgz#f54c856840a6238e0c2972588c2dc986317f1b7b" + integrity sha512-ycbuDWfyykPmslgiHzhz8dL6F0BJYltXLVfc+M49z0c+FNITM0v+r0Vd2+Tdtq06VTc894p2+YSmZhulY8Jn3Q== dependencies: - "@commitlint/is-ignored" "^18.4.4" - "@commitlint/parse" "^18.4.4" - "@commitlint/rules" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/is-ignored" "^18.6.0" + "@commitlint/parse" "^18.6.0" + "@commitlint/rules" "^18.6.0" + "@commitlint/types" "^18.6.0" -"@commitlint/load@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.5.0.tgz#b14eef9306c2500594d8a7f1e4a8d68cb2562439" - integrity sha512-vpyGgk7rzbFsU01NVwPNC/WetHFP0EwSYnQ1R833SJFHkEo+cWvqoVlw/VoZwBMoI6sF5/lwEdKzFDr1DHJ6+A== +"@commitlint/load@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-18.6.0.tgz#98108294b9383aa2905781b192215df4718babb7" + integrity sha512-RRssj7TmzT0bowoEKlgwg8uQ7ORXWkw7lYLsZZBMi9aInsJuGNLNWcMxJxRZbwxG3jkCidGUg85WmqJvRjsaDA== dependencies: - "@commitlint/config-validator" "^18.5.0" + "@commitlint/config-validator" "^18.6.0" "@commitlint/execute-rule" "^18.4.4" - "@commitlint/resolve-extends" "^18.5.0" - "@commitlint/types" "^18.4.4" + "@commitlint/resolve-extends" "^18.6.0" + "@commitlint/types" "^18.6.0" chalk "^4.1.0" cosmiconfig "^8.3.6" cosmiconfig-typescript-loader "^5.0.0" @@ -1006,46 +1006,46 @@ resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-18.4.4.tgz#811682a0d147a24e5c467acdb52071434df2b9f5" integrity sha512-lHF95mMDYgAI1LBXveJUyg4eLaMXyOqJccCK3v55ZOEUsMPrDi8upqDjd/NmzWmESYihaOMBTAnxm+6oD1WoDQ== -"@commitlint/parse@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.4.4.tgz#5c8f515d4dbebe9b7ccfcd1701e58446e2bec6da" - integrity sha512-99G7dyn/OoyNWXJni0Ki0K3aJd01pEb/Im/Id6y4X7PN+kGOahjz2z/cXYYHn7xDdooqFVdiVrVLeChfgpWZ2g== +"@commitlint/parse@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-18.6.0.tgz#ae19ff8ceb0c8ffab131158829b06b505b9921fd" + integrity sha512-Y/G++GJpATFw54O0jikc/h2ibyGHgghtPnwsOk3O/aU092ydJ5XEHYcd7xGNQYuLweLzQis2uEwRNk9AVIPbQQ== dependencies: - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" conventional-changelog-angular "^7.0.0" conventional-commits-parser "^5.0.0" -"@commitlint/read@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.4.4.tgz#7f6848edd3210bf82e6aaa0cd30e72e7e669e009" - integrity sha512-r58JbWky4gAFPea/CZmvlqP9Ehbs+8gSEUqhIJOojKzTc3xlxFnZUDVPcEnnaqzQEEoV6C69VW7xuzdcBlu/FQ== +"@commitlint/read@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-18.6.0.tgz#324ea1fa625f88427780df23fffe4a92d383d665" + integrity sha512-w39ji8VfWhPKRquPhRHB3Yd8XIHwaNHgOh28YI1QEmZ59qVpuVUQo6h/NsVb+uoC6LbXZiofTZv2iFR084jKEA== dependencies: "@commitlint/top-level" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" git-raw-commits "^2.0.11" minimist "^1.2.6" -"@commitlint/resolve-extends@^18.5.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.5.0.tgz#ea955fc9455f70a5389cdc9633c78132c8008ed2" - integrity sha512-OxCYOMnlkOEEIkwTaRiFjHyuWBq962WBZQVHfMHej8tr3d+SfjznvqZhPmW8/SuqtfmGEiJPGWUNOxgwH+O0MA== +"@commitlint/resolve-extends@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-18.6.0.tgz#db55be2b32e12593bc98dc44c6d9a9d90941bab4" + integrity sha512-k2Xp+Fxeggki2i90vGrbiLDMefPius3zGSTFFlRAPKce/SWLbZtI+uqE9Mne23mHO5lmcSV8z5m6ziiJwGpOcg== dependencies: - "@commitlint/config-validator" "^18.5.0" - "@commitlint/types" "^18.4.4" + "@commitlint/config-validator" "^18.6.0" + "@commitlint/types" "^18.6.0" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.4.4.tgz#859e920a4f0053ae27e4cdd65f68e7576a5ab53f" - integrity sha512-6Uzlsnl/GljEI+80NWjf4ThOfR8NIsbm18IfXYuCEchlwMHSxiuYG4rHSK5DNmG/+MIo8eR5VdQ0gQyt7kWzAA== +"@commitlint/rules@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-18.6.0.tgz#6d933e2de5639b75b4946120b3880e72e66a6051" + integrity sha512-pTalvCEvuCWrBWZA/YqO/3B3nZnY3Ncc+TmQsRajBdC1tkQIm5Iovdo4Ec7f2Dw1tVvpYMUUNAgcWqsY0WckWg== dependencies: - "@commitlint/ensure" "^18.4.4" + "@commitlint/ensure" "^18.6.0" "@commitlint/message" "^18.4.4" "@commitlint/to-lines" "^18.4.4" - "@commitlint/types" "^18.4.4" + "@commitlint/types" "^18.6.0" execa "^5.0.0" "@commitlint/to-lines@^18.4.4": @@ -1060,10 +1060,10 @@ dependencies: find-up "^5.0.0" -"@commitlint/types@^18.4.4": - version "18.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.4.4.tgz#dae9e0ce6a6728a36b8982ff301af0170bbe0d38" - integrity sha512-/FykLtodD8gKs3+VNkAUwofu4LBHankclj+I8fB2jTRvG6PV7k/OUt4P+VbM7ip853qS4F0g7Z6hLNa6JeMcAQ== +"@commitlint/types@^18.6.0": + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-18.6.0.tgz#3d3493cb5910f60f3749a8eb56aca47dc2e1b662" + integrity sha512-oavoKLML/eJa2rJeyYSbyGAYzTxQ6voG5oeX3OrxpfrkRWhJfm4ACnhoRf5tgiybx2MZ+EVFqC1Lw3W8/uwpZA== dependencies: chalk "^4.1.0" From 42fcbdf3b669fcdf9650818d310aa5b281c57c68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 04:50:57 +0000 Subject: [PATCH 0397/1313] build(deps): bump dotenv from 16.4.0 to 16.4.1 Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.0 to 16.4.1. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.4.0...v16.4.1) --- updated-dependencies: - dependency-name: dotenv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 0333377ebe6..f2e5b0104e2 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -32,7 +32,7 @@ "@prisma/client": "5.8.1", "bcryptjs": "2.4.3", "cors": "2.8.5", - "dotenv": "16.4.0", + "dotenv": "16.4.1", "express": "4.18.2", "js-yaml": "4.1.0", "lodash.get": "4.4.2", diff --git a/yarn.lock b/yarn.lock index b4ed0e2965e..8be0914c2f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5019,10 +5019,10 @@ dotenv-expand@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== -dotenv@16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.0.tgz#ac21c3fcaad2e7832a1cd0c0e4e8e52225ecda0e" - integrity sha512-WvImr5kpN5NGNn7KaDjJnLTh5rDVLZiDf/YLA8T1ZEZEBZNEDOE+mnkS0PVjPax8ZxBP5zC5SLMB3/9VV5de9g== +dotenv@16.4.1: + version "16.4.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.1.tgz#1d9931f1d3e5d2959350d1250efab299561f7f11" + integrity sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ== dotenv@~16.3.1: version "16.3.2" From cda2a6e53c2c512109299c05ffc5d4e6b2878f01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 04:52:30 +0000 Subject: [PATCH 0398/1313] build(deps): bump axios from 1.6.6 to 1.6.7 Bumps [axios](https://github.com/axios/axios) from 1.6.6 to 1.6.7. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.6.6...v1.6.7) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/new-design/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/new-design/package.json b/packages/new-design/package.json index 87e622d5288..29ec094ddda 100644 --- a/packages/new-design/package.json +++ b/packages/new-design/package.json @@ -36,7 +36,7 @@ }, "peerDependencies": {}, "dependencies": { - "axios": "1.6.6", + "axios": "1.6.7", "chalk": "5.3.0", "execa": "8.0.1", "mustache": "4.2.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index f8e00f7c51a..bbff2512743 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -46,7 +46,7 @@ "@tailwindcss/nesting": "^0.0.0-insiders.565cd3e", "@tailwindcss/typography": "0.5.10", "autoprefixer": "10.4.17", - "axios": "1.6.6", + "axios": "1.6.7", "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", "d3-selection": "3.0.0", diff --git a/yarn.lock b/yarn.lock index b4ed0e2965e..3a18e03ab17 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3329,10 +3329,10 @@ axe-core@^4.6.2: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.2.tgz#2f6f3cde40935825cf4465e3c1c9e77b240ff6ae" integrity sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g== -axios@1.6.6, axios@^1.5.1: - version "1.6.6" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.6.tgz#878db45401d91fe9e53aed8ac962ed93bde8dd1c" - integrity sha512-XZLZDFfXKM9U/Y/B4nNynfCRUqNyVZ4sBC/n9GDRCkq9vd2mIvKjKKsbIh1WPmHmNbg6ND7cTBY3Y2+u1G3/2Q== +axios@1.6.7, axios@^1.5.1: + version "1.6.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7" + integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA== dependencies: follow-redirects "^1.15.4" form-data "^4.0.0" From 04344649adf1f874287e97a79d68b961bbba8b06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 04:52:48 +0000 Subject: [PATCH 0399/1313] build(deps): bump jotai from 2.6.2 to 2.6.3 Bumps [jotai](https://github.com/pmndrs/jotai) from 2.6.2 to 2.6.3. - [Release notes](https://github.com/pmndrs/jotai/releases) - [Commits](https://github.com/pmndrs/jotai/compare/v2.6.2...v2.6.3) --- updated-dependencies: - dependency-name: jotai dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/org/package.json b/sites/org/package.json index 09229456c34..33b4500221b 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -40,7 +40,7 @@ "daisyui": "4.6.0", "echarts": "5.4.3", "echarts-for-react": "3.0.2", - "jotai": "2.6.2", + "jotai": "2.6.3", "jotai-location": "0.5.2", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index f8e00f7c51a..a5c79ab6b48 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -55,7 +55,7 @@ "echarts-for-react": "3.0.2", "file-saver": "2.0.5", "i18next": "23.7.19", - "jotai": "2.6.2", + "jotai": "2.6.3", "jotai-location": "0.5.2", "js-yaml": "4.1.0", "lodash.debounce": "^4.0.8", diff --git a/sites/shared/package.json b/sites/shared/package.json index 9d281255354..a708489021a 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -29,7 +29,7 @@ "front-matter": "4.0.2", "highlight.js": "11.9.0", "github-slugger": "2.0.0", - "jotai": "2.6.2", + "jotai": "2.6.3", "jotai-location": "0.5.2", "lodash.clonedeep": "4.5.0", "lodash.debounce": "^4.0.8", diff --git a/yarn.lock b/yarn.lock index b4ed0e2965e..6aa772ad955 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7943,10 +7943,10 @@ jotai-location@0.5.2: resolved "https://registry.yarnpkg.com/jotai-location/-/jotai-location-0.5.2.tgz#9d8ccbaea0cc2ed199c7e15adb7a3b8a3060fa6d" integrity sha512-4S9hDh1wYp4SG4Laq3+Xd0GdW7jwnWlbEuL8U22kv3wUZW892n6gXlNhwU0LaoXnWoGG0gtjSLBuFm5iodFKLg== -jotai@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.2.tgz#b64287c978a520fd6195e466168e0ad7190e3f83" - integrity sha512-kl4KguU1Fr+tFiLi3A3h9qPEzhvLTTDA10DO3QZAz6k7BEaQJ+qvSBwolzonnfNI4QzEovyQfUqVgnRxfnnQVQ== +jotai@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.3.tgz#edab97aaa37957f42ee09b2047da3ae573275647" + integrity sha512-0htSJ2d6426ZdSEYHncJHXY6Lkgde1Hc2HE/ADIRi9d2L3hQL+jLKY1LkWBMeCNyOSlKH8+1u/Gc33Ox0uq21Q== js-base64@^2.1.9: version "2.6.4" From 470b34ae9ec212907bf48f4e02275e9a2e6311f3 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 25 Jan 2024 21:51:00 -0800 Subject: [PATCH 0400/1313] fix(core): Use Set instead of Array for options priority debug messages --- packages/core/src/pattern/pattern-config.mjs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/core/src/pattern/pattern-config.mjs b/packages/core/src/pattern/pattern-config.mjs index c42502415f9..24303fb1be2 100644 --- a/packages/core/src/pattern/pattern-config.mjs +++ b/packages/core/src/pattern/pattern-config.mjs @@ -98,14 +98,17 @@ PatternConfig.prototype.addPart = function (part) { /** Log the final report on part inheritance order */ PatternConfig.prototype.logPartDistances = function () { - const priorities = [] - for (const partName in this.parts) { + const priorities = {} + for (const partName of Object.keys(this.parts)) { const p = this.__mutated.partDistance[partName] - if (p in priorities) priorities[p] += ', ' + partName - else priorities[p] = partName + if (typeof priorities[p] === 'undefined') priorities[p] = new Set() + priorities[p].add(partName) } - for (let p = 1; p < priorities.length; p++) - this.store.log.debug(`⚪️ Options priority __${p}__ :\`${priorities[p]}\``) + for (const p of Object.keys(priorities)) + this.store.log.debug( + `⚪️ Options priority __${p}__ : ` + + `${[...priorities[p]].map((p) => '`' + p + '`').join(', ')}` + ) } /** From 6a1895dca920381b6e091391a0fb8d440aaf290b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:20:16 +0100 Subject: [PATCH 0401/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/aaron/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/fr.md b/markdown/org/docs/designs/aaron/instructions/fr.md index 32fd951a4f3..d03e1aff73d 100644 --- a/markdown/org/docs/designs/aaron/instructions/fr.md +++ b/markdown/org/docs/designs/aaron/instructions/fr.md @@ -103,7 +103,7 @@ Vous aurez peut-être besoin de vous entraîner un peu pour y arriver. ![Marquer les extrémités du biais](step03f.png) -Prenez l'un des bords et étirez-le le long des 3 cm en le séparant du point de départ comme vous le feriez lors de la couture. +Prenez l'un des bords et étirez-le le le long des 3 cm en le séparant du point de départ comme vous le feriez lors de la couture. Marquer la liaison où elle atteint le point de départ. Faites la même chose pour l'autre extrémité. @@ -113,7 +113,7 @@ Marquer la liaison où elle atteint le point de départ. Faites la même chose p Pliez votre débardeur (A-shirt) de la façon dont il vous sera le plus facile pour placer les deux extrémités du biais endroit contre endroit, en alignant les repères. Coudre les extrémités sur les repères. -> 6 cm n'est pas beaucoup, mais ça devrait suffire pour placer les deux bords confortablement sous votre machine pour les coudre. +> 6 cm, ce n'est pas beaucoup, mais devrait suffire pour que les deux bords soient confortablement sous votre machine à coudre pour les coudre ensemble. ### Terminer les 6 derniers cm de biais From 4994ca5c340f2566309a1a5c3dda9001b60a3347 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:20:35 +0100 Subject: [PATCH 0402/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bee/cutting/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/fr.md b/markdown/org/docs/designs/bee/cutting/fr.md index 65a67fcd0a9..838cc02c5f2 100644 --- a/markdown/org/docs/designs/bee/cutting/fr.md +++ b/markdown/org/docs/designs/bee/cutting/fr.md @@ -38,6 +38,6 @@ Il y a trois variantes de ce patron. **Une couleur**, qui est celle où le haut -Ce motif est facilement rendu réversible en achetant un tissu similaire au tissu principal et en l’utilisant comme contraste. Pour éviter toute confusion dans les instructions, nous l'appellerons le tissu de doublure. +Ce motif est facilement rendu réversible en achetant un tissu similaire au tissu principal et en l’utilisant comme contraste. To save confusion on instructions it will be referred to as the lining fabric. From a1d9830994f37818e6a4dfe12d3ac4b5719077f7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:20:36 +0100 Subject: [PATCH 0403/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bee/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/fr.md b/markdown/org/docs/designs/bee/fabric/fr.md index 22fc1b09006..56d958da60a 100644 --- a/markdown/org/docs/designs/bee/fabric/fr.md +++ b/markdown/org/docs/designs/bee/fabric/fr.md @@ -8,6 +8,6 @@ Le tissu principal et la doublure sont le même type de matériau. Bee est fabri -Vous n'avez besoin de tissu de doublure que si vous avez l'intention de rendre le motif réversible ou si vous voulez que la bande pour la variante à lacets croisés soit un tissu contrastant. Sinon, vous pouvez couper toutes les pièces dans votre tissu principal. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Sinon, vous pouvez couper toutes les pièces dans votre tissu principal. From 24e6c0de9acf91ab8df0e351f2f7d689323405e0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:20:38 +0100 Subject: [PATCH 0404/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bee/instructions/fr.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/fr.md b/markdown/org/docs/designs/bee/instructions/fr.md index 0c89eb9dc3c..ba626d722f0 100644 --- a/markdown/org/docs/designs/bee/instructions/fr.md +++ b/markdown/org/docs/designs/bee/instructions/fr.md @@ -8,7 +8,7 @@ Veillez à utiliser un point extensible -Lors de la réalisation d'un haut réversible, la seconde couleur sera désignée comme le tissu de doublure. +When making a reversible top the second colour will be referred to as the lining fabric. Les encoches de ce motif se comportent davantage comme des points, il ne faut donc **pas** les couper pour les marquer. @@ -30,7 +30,7 @@ Les encoches de ce motif se comportent davantage comme des points, il ne faut do - Découpez les surplus de couture et coupez les coins. - Retourner à l'envers. Repasser. -Répétez ceci pour les pièces restantes des bretelles de cou +Repeat this for the remaining neck tie pieces ### Étape 2 : Les bonnets @@ -51,9 +51,9 @@ Les encoches de ce motif se comportent davantage comme des points, il ne faut do Si votre marge de couture est large, il se peut que vous deviez couper légèrement les marges de couture des espaces pour réduire l’excès de matière. -Si vous avez des difficultés à retourner les bonnets, vous pouvez essayer l'une des méthodes suivantes : +If you are having trouble turning the cups you can try one of these methods: -- Créez un espace de 2,5 cm (1") dans la couture du devant ou du côté et retournez à travers cet espace, soit en le fermant au point de glissement, soit en le fermant au point d'ornement au cours de l'étape 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Élargir l'une des brèches existantes et retourner le tissus à travers. Ensuite, lorsque les points d'ornement ou point de glissements sont effectués, la partie élargie se referme. @@ -85,7 +85,7 @@ Des encoches sont également présentes de part et d'autre du point médian de l -Vous pouvez préférer enrouler un bonnet sur l'autre au milieu. Pour ce faire, placez les côtés des bonnets sur les encoches extérieures et posez leur face avant sur le point milieu, la gauche sur le dessus. +Vous pouvez préférer enrouler un bonnet sur l'autre au milieu. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From bc4c89e827f426e5af2d68f7c37213fe02bed8ee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:21:37 +0100 Subject: [PATCH 0405/1313] New translations en.md (French) skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/fr.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/fr.md index 82d368001cb..cdf3ec64b5d 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/fr.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/fr.md @@ -2,7 +2,7 @@ title: "Réduction de la pente d'épaule" --- -Ce patron s'adapte à la pente d'épaule en tenant compte de la mesure de la pente des épaules. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. Toutefois, pour les vestes ou les manteaux, il peut être nécessaire de créer plus d'espace au niveau des épaules pour permettre l'ajout d'épaulettes. Cette option vous permet de créer de la place supplémentaire sur les épaules en réduisant la pente des épaules. From deeb144c065e1c1c6fe597ca44e5e2917b126a8e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:21:42 +0100 Subject: [PATCH 0406/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bob/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/fr.md b/markdown/org/docs/designs/bob/instructions/fr.md index becbac93713..4021ffa7496 100644 --- a/markdown/org/docs/designs/bob/instructions/fr.md +++ b/markdown/org/docs/designs/bob/instructions/fr.md @@ -25,7 +25,7 @@ Make sure to sew close to the edge so that the stitches will be under the bias t ## Étape 2 : Appliquer le ruban de biais -Nous allons appliquer du ruban de biais en guise de finition sur tout le bord du bavoir. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. From 8e466bc18746f0d4f111c91c43d16d0a56e064e5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:21:47 +0100 Subject: [PATCH 0407/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bob/options/widthratio/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/fr.md b/markdown/org/docs/designs/bob/options/widthratio/fr.md index 1975dd03283..eacc0fc59cd 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/fr.md +++ b/markdown/org/docs/designs/bob/options/widthratio/fr.md @@ -5,7 +5,7 @@ title: Ratio de largeur Contrôle la largeur du bavoir. - Augmente le pourcentage pour élargir la largeur de la bavette. -- Diminue le pourcentage pour restreindre la largeur de la bavette. +- Decrease the percentage to constrict the width of the bib. From a127f35c4089bf93a149180f891cba2cf89ac157 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:21:57 +0100 Subject: [PATCH 0408/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/breanna/options/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/fr.md b/markdown/org/docs/designs/breanna/options/fr.md index 5fcbf6f023f..f1f2518720f 100644 --- a/markdown/org/docs/designs/breanna/options/fr.md +++ b/markdown/org/docs/designs/breanna/options/fr.md @@ -37,7 +37,7 @@ La hauteur de la tête de manche est égale à la distance entre les points 3 et - [Haut de tête de manche X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Contrôle la position horizontale des points 3 et 4 - [Haut de tête de manche Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Contrôle la position verticale du point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Les points d'inflexion From 0d980aad53feb575e94f5c99b51607b918532ac8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:02 +0100 Subject: [PATCH 0409/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/fr.md b/markdown/org/docs/designs/breanna/options/shoulderdart/fr.md index c3078a74300..75af9b3e54a 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/fr.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/fr.md @@ -2,7 +2,7 @@ title: "Pince d'épaule" --- -Inclus ou non une fléchette au niveau de l'épaule arrière pour arrondir le dos. +Whether or not to include a back shoulder dart to round the back. From 0962e8fde380b1ca120fb6be21da0276fb24be7e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:14 +0100 Subject: [PATCH 0410/1313] New translations en.md (French) skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 1faccb3b70ab3e801c0d28f774e950ef81542744 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:20 +0100 Subject: [PATCH 0411/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/breanna/options/waistdart/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/fr.md b/markdown/org/docs/designs/breanna/options/waistdart/fr.md index 73753bcda92..0a825f54e0f 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/fr.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/fr.md @@ -2,7 +2,7 @@ title: "Pince de taille" --- -Inclus ou non une fléchette à la taille pour arrondir le dos. +Whether or not to include a back waist dart to round the back. From c67efb27363d9743566e8639bf6bce1c75416f2e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:32 +0100 Subject: [PATCH 0412/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/brian/options/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/fr.md b/markdown/org/docs/designs/brian/options/fr.md index 4b5b710274c..b4449581c0d 100644 --- a/markdown/org/docs/designs/brian/options/fr.md +++ b/markdown/org/docs/designs/brian/options/fr.md @@ -37,7 +37,7 @@ La hauteur de la tête de manche est égale à la distance entre les points 3 et - [Haut de tête de manche X](/docs/designs/brian/options/sleevecaptopfactorx/) : Contrôle la position horizontale des points 3 et 4 - [Haut de tête de manche Y](/docs/designs/brian/options/sleevecaptopfactory/) : Contrôle la position verticale du point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Les points d'inflexion From d6919e10690c038dfdee9a38764906e541e1bdeb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:46 +0100 Subject: [PATCH 0413/1313] New translations en.md (French) skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/fr.md index f7e8b229790..66477f716e4 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/fr.md @@ -4,7 +4,7 @@ title: "Tête de manche élévation Q3" *** -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 7a19dff10db65dad90b0d481534d6c2ffb5565a1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:22:55 +0100 Subject: [PATCH 0414/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bruce/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/fr.md b/markdown/org/docs/designs/bruce/instructions/fr.md index d8b2cf5ea86..69750092173 100644 --- a/markdown/org/docs/designs/bruce/instructions/fr.md +++ b/markdown/org/docs/designs/bruce/instructions/fr.md @@ -158,7 +158,7 @@ Prenez votre temps, et soyez **très attentif** à l'endroit où votre surjeteus ![Faites l'ourlet de la première jambe](step11.png) -Il est temps de faire les ourlets. Procédez comme vous le feriez pour n'importe quel autre tissu extensible. Utilisez un point extensible. Vous pouvez utiliser un point zig-zag ou une double aiguille si vous n'avez pas de point overlock ou de règlage spécial point extensible. +Il est temps de faire les ourlets. Procédez comme vous le feriez pour n'importe quel autre tissu extensible. Utilisez un point extensible. Vous pouvez utiliser un point zig-zag ou une aiguille double si vous n'avez pas de point overlock ou de réglage spécial point extensible. @@ -201,7 +201,7 @@ Si vous utilisez un point overlock, placez l'élastique sur l'endroit, en haut d -La longueur de votre élastique sera plus courte que celle de la taille du boxer, l'élastique devra donc être étiré. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Epingler vous aidera à bien répartir l'étirement. Divisez votre élastique et la taille de votre boxer en 4 (ou 8) parties. Pin élastique et tissu ensemble à ces points. From 9e6c9c5ea595a3eab3aa6ac4ffe5e320771737e7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:23:00 +0100 Subject: [PATCH 0415/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bruce/options/rise/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/fr.md b/markdown/org/docs/designs/bruce/options/rise/fr.md index 8a0b511c675..3744e7b7c84 100644 --- a/markdown/org/docs/designs/bruce/options/rise/fr.md +++ b/markdown/org/docs/designs/bruce/options/rise/fr.md @@ -4,7 +4,7 @@ title: "Élévation de ceinture" ![L'option hauteur pour Bruce](./rise.svg) -Cette option permet de contrôler la hauteur générale de la taille. +This option controls the overall height of the waist. > Plus la valeur est élevée, plus la taille est haute. From 71677e6bfd10e9e2bc64a046685d14052b45a29e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:16 +0100 Subject: [PATCH 0416/1313] New translations en.md (French) skip-build --- .../docs/designs/charlie/instructions/fr.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/fr.md b/markdown/org/docs/designs/charlie/instructions/fr.md index 1596c099467..e81d6cad535 100644 --- a/markdown/org/docs/designs/charlie/instructions/fr.md +++ b/markdown/org/docs/designs/charlie/instructions/fr.md @@ -192,7 +192,7 @@ Lorsque vous avez terminé, ouvrez la couture au fer. Vérifie deux fois que tes jambes droite et gauche correspondent aux marques du patron. L'entrejambe de la jambe droite doit dépasser légèrement de la gauche. Reporte-toi au patron et coupe l'excédent sur la jambe gauche si nécessaire. -Il peut être précieux de marquer à la craie ou au fil l'**avant central** de chaque jambe. Cela t'aidera à t'assurer que les pièces sont au bon endroit pendant la construction de la mouche. +Il peut être précieux de marquer à la craie ou au fil l'**avant central** de chaque jambe. This will help you make sure the pieces are in the right place during fly construction. @@ -275,14 +275,14 @@ N'oublie pas que la marge de couture commence légèrement à droite du devant c Veille à placer le bord plié de la jambe droite juste à gauche des dents de la fermeture éclair pour éviter que le tissu ne se prenne dans la fermeture. -Arrête de coudre au niveau de l'encoche supérieure de l'extension de la braguette, légèrement au-dessus de la couture transversale, et n'oublie pas de faire un point arrière. Si tu ne le fais pas, tu ne pourras pas maintenir l'extension hors du chemin lorsque tu couds la couture en J. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. Si tu ne le fais pas, tu ne pourras pas maintenir l'extension hors du chemin lorsque tu couds la couture en J. ![Attache la rallonge à la jambe droite](AttachExtensionToRightLeg.svg) ### Attache la fermeture à glissière au parement de la braguette. -Fais attention à aligner la jambe gauche sur le centre droit avant. Il peut être utile d'épingler ou de coudre à travers le parement et le côté droit de la bande de la fermeture à glissière. (Nous devons coudre le côté gauche de la bande de fermeture éclair à la jambe gauche). En t'assurant que tout est doublé, couds le parement de la braguette sur le côté gauche de la fermeture à glissière. Essaie de t'approcher de la fermeture éclair, mais pas trop. +Fais attention à aligner la jambe gauche sur le centre droit avant. It can be valuable to pin or baste through the facing and right side of the zipper tape. (Nous devons coudre le côté gauche de la bande de fermeture éclair à la jambe gauche). En t'assurant que tout est doublé, couds le parement de la braguette sur le côté gauche de la fermeture à glissière. Essaie de t'approcher de la fermeture éclair, mais pas trop. ![Fixe la face à la fermeture éclair](AttachFacingToZipper.svg) @@ -291,15 +291,15 @@ Fais attention à aligner la jambe gauche sur le centre droit avant. Il peut êt -Utilise un morceau de papier comme guide pour coudre la couture en J, il peut être découpé dans ton patron le long de la ligne de couture indiquée. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Désormais, renverser la soi-disant couture J-de la mouche. Assurez-vous de ne pas prendre le contrôle de l'extension du vol. Comme tu n'as pas cousu tout le long de l'extension de la braguette, tu devrais pouvoir l'épingler. +Désormais, renverser la soi-disant couture J-de la mouche. Assurez-vous de ne pas prendre le contrôle de l'extension du vol. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Tape le bas de la mouche -Maintenant, repasse le bas de la couture en J (la partie horizontale), mais cette fois-ci, assure-toi d'attraper aussi l'extension de la mouche. Tu peux aussi choisir d'ajouter un point d'arrêt supplémentaire le long du joint en J (illustré en violet). +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. Tu peux aussi choisir d'ajouter un point d'arrêt supplémentaire le long du joint en J (illustré en violet). ![Coudre la couture en J](SewTheJSeam.svg) @@ -309,7 +309,7 @@ Maintenant, repasse le bas de la couture en J (la partie horizontale), mais cett -Pour plus d'efficacité, nous fabriquerons une longue bande de boucle de courroie que nous diviserons en 8 parties. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -359,7 +359,7 @@ Coudre une ligne de couture sur la ceinture intérieure, près du bord, à trave Placez la ceinture avec de bons côtés le long de la taille. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -Assurez-vous également de laisser une marge de couture suffisante au-delà du début et de la fin de la ceinture. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Coudre le long de l'intégralité de la taille, attacher la bande de la taille et coudre les boucles de la ceinture en une seule fois. @@ -397,7 +397,7 @@ Cela accrochera l'arrière de la ceinture que nous avons fait pour aller un peu ### Coudre les boucles de la ceinture pour les agrandir -Il est préférable que les passants de ceinture soient un peu plus larges que la ceinture, afin d'accueillir des ceintures plus larges. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. Pour ce faire, mettez la ceinture à plat et cousez-la avec un point d'arrêt situé à environ 1,5 cm (un demi pouce) sous la ceinture. From 14d2619eb0b926c59e8ecb9444517fac89d3bde5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:21 +0100 Subject: [PATCH 0417/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/fr.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/fr.md index f8f603b487f..4ad8fa4e7b3 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/fr.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/fr.md @@ -2,7 +2,7 @@ title: "Largeur de la poche arrière" --- -Contre la largeur des poches arrières. +Controls the width of the back pockets. From d515d640cc8ad98328ab4486074b4cc9ceb0699a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:22 +0100 Subject: [PATCH 0418/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/charlie/options/beltloops/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/fr.md b/markdown/org/docs/designs/charlie/options/beltloops/fr.md index 58ed535d199..663cbdd0e6e 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/fr.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/fr.md @@ -2,7 +2,7 @@ title: "Boucles de ceinture" --- -Constrol le nombre de convoyeurs que nous allons générer. +Controls how many beltloops we'll generate. From 4662d2689cb35a2ed109e0dbbb6fc65983f79db5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:25 +0100 Subject: [PATCH 0419/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/fr.md b/markdown/org/docs/designs/charlie/options/crotchdrop/fr.md index 0a29250e33d..7b0d3b5c99f 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/fr.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/fr.md @@ -4,8 +4,8 @@ title: "Hauteur d'enfourchure" Contrôle à quel point la croche est abaissée. -Abaisser la crotte rend un ajustement plus décontracté. -Un crotché significativement baissé peut également être un choix de style. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From e0c1548b07f7e96d4ebe1ea73dc8be6a2ae186b7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:26 +0100 Subject: [PATCH 0420/1313] New translations en.md (French) skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/fr.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/fr.md index ba921477182..899f1b6cfe3 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/fr.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/fr.md @@ -2,7 +2,7 @@ title: "Courbure de la fourche avant" --- -Contrôle la courbure de la couture du croth, qui influence l'ajustement à votre croûte. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 02835bf37631730c04509257e95b9cd545ddabe6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:29 +0100 Subject: [PATCH 0421/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/charlie/options/flylength/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/fr.md b/markdown/org/docs/designs/charlie/options/flylength/fr.md index 2b86cf5d427..cbde256516f 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/fr.md +++ b/markdown/org/docs/designs/charlie/options/flylength/fr.md @@ -2,7 +2,7 @@ title: "Longueur de la mouche" --- -Pousse la longueur de la mouche. +Contrôle la longueur de la mouche. From 628e973a9cff24b1b92cbe7074b731163cf60979 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:44 +0100 Subject: [PATCH 0422/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/cornelius/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/fr.md b/markdown/org/docs/designs/cornelius/fabric/fr.md index 146852c2374..cf89f79a51c 100644 --- a/markdown/org/docs/designs/cornelius/fabric/fr.md +++ b/markdown/org/docs/designs/cornelius/fabric/fr.md @@ -4,7 +4,7 @@ title: "Culotte de cyclisme Cornélius : Options de tissu" ### Tissu principal -N'importe quel tissu lourd **pour le bas (pantalon)** conviendra parfaitement à ce modèle. En règle générale, il est préférable d'éviter les produits de plus de 230 g/m², car ils seront probablement trop rigides et inconfortables. Vous voulez quelque chose qui apporte un peu de chaleur tout en étant capable de se draper, comme les tissus en **velours côtelé ** ou **les tissus de poids moyen**. Si vous recherchez quelque chose de plus historiquement correct, les **combinaisons en laine de poids moyen** sont ce qu'il vous faut. Le **Lin** est également une option, surtout si vous souhaitez quelque chose qui ne soit pas trop chaud. +N'importe quel tissu lourd **pour le bas (pantalon)** conviendra parfaitement à ce modèle. En règle générale, il est préférable d'éviter les produits de plus de 230 g/m², car ils seront probablement trop rigides et inconfortables. Vous voulez quelque chose qui apporte un peu de chaleur tout en étant capable de se draper, comme les tissus en **velours côtelé ** ou **les tissus de poids moyen**. If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. Le **Lin** est également une option, surtout si vous souhaitez quelque chose qui ne soit pas trop chaud. From 3818b5fb61657cbd8c4b0cb71d2d42158b85f53f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:24:45 +0100 Subject: [PATCH 0423/1313] New translations en.md (French) skip-build --- .../org/docs/designs/cornelius/instructions/fr.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/fr.md b/markdown/org/docs/designs/cornelius/instructions/fr.md index ed188a5260a..d68755cfada 100644 --- a/markdown/org/docs/designs/cornelius/instructions/fr.md +++ b/markdown/org/docs/designs/cornelius/instructions/fr.md @@ -4,13 +4,13 @@ title: "Culotte de cycliste Cornélius : Instructions de couture" ### Étape 1 : Les poches avant -- Repassez sous les surplus de couture des bords non crantés des parements de poche. +- Press under the seam allowances of the non-notched edges of the pocket facings. - En faisant correspondre les encoches, épinglez l'envers des parements de poche sur l'endroit des sacs de poche, _piquez au point d'orgue_ les bords pliés sur les sacs de poche. - _Coller_ les surplus de couture des bords crantés des parements de poche sur les sacs de poche. - Endroit contre endroit, en faisant correspondre les doubles encoches, coudre les poches sur le devant, puis repasser sur l'envers. - Pliez les poches en deux le long de la ligne de pliage, endroit contre endroit. Coudre le fond de la pochette ensemble. - Si vous préférez, vous pouvez également _coudre à la française_ les coutures inférieures des sacs de poche ensemble. -- _Bâtissez_ le haut et le côté des sacs de poche sur les marges de couture avant en faisant correspondre les encoches. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Utilisez la méthode du style de manchette que vous avez choisi, car elle diffè - Repassez le surplus de couture supérieur sur l'envers des morceaux de bande de jambe restants. Découpez le surplus de couture supérieur. - Endroit contre endroit, coudre le reste de la jambe et des morceaux aux bandes de jambe attachées le long des bas et des côtés. - Tournez les bandes de jambe vers l'extérieur. Repasser. -- _Piquez_ le bord plié de la ceinture sur le devant, en veillant à ce que le bord plié recouvre la piqûre. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Coudre la boutonnière. Les boutons seront cousus plus tard. @@ -89,7 +89,7 @@ Si vous êtes inquiets pour l'esquisse, vous pouvez créer un triangle de tissu - Repassez le surplus de couture supérieur sur l'envers des morceaux de bande de jambe restants. Découpez le surplus de couture supérieur. - Endroit contre endroit, coudre le reste de la jambe et des morceaux aux bandes de jambe attachées le long des bas et des côtés. - Tournez les bandes de jambe vers l'extérieur. Repasser. -- _Piquez_ le bord plié de la ceinture sur le devant, en veillant à ce que le bord plié recouvre la piqûre. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Coudre la boutonnière. Les boutons seront cousus plus tard. @@ -108,13 +108,13 @@ Si vous préférez, vous pouvez coudre les bandes de jambe comme une ceinture mo ### Étape 5 : Taille -- Surfilez l'une des pièces de la ceinture en utilisant la méthode que vous préférez. +- Face one of the waistband pieces using your preferred method. - Coudre le morceau de ceinture sur le dessus des jambes, endroit contre endroit. - Repassez la ceinture et le surplus de couture vers le haut et loin de la jambe. Coupez le surplus de couture pour réduire l'encombrement. - Repassez le surplus de couture du bas sur l'envers du morceau de ceinture restant. Découpez le surplus de couture du bas. - Endroit contre endroit, coudre le reste de la bande de taille à la bande de taille sur le dessus et les côtés. - Retournez la ceinture. Repasser. -- _Piquez_ le bord plié de la ceinture sur le devant, en veillant à ce que le bord plié recouvre la piqûre. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Coudre la boutonnière. Les boutons seront cousus plus tard. From fa0e14bd9c1b6f3a7669022f6c3682d03ab13dc5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:05 +0100 Subject: [PATCH 0424/1313] New translations en.md (French) skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/fr.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/fr.md index 221d45b6786..295f1406e1b 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/fr.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/fr.md @@ -4,7 +4,7 @@ title: "Longueur de couture d'épaule" ![L'option de longueur de la couture d'épaule sur Diana](./shoulderseamlength.svg) -Cette option détermine la largeur de l'encolure en contrôlant la longueur de la couture de l'épaule. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From 259c068ae7013113e94beb01d8f23592d59b5897 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:14 +0100 Subject: [PATCH 0425/1313] New translations en.md (French) skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 6f043f9b31fad5cf3d9a633285b780a2fdf807e3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:24 +0100 Subject: [PATCH 0426/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/florence/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/fr.md b/markdown/org/docs/designs/florence/fabric/fr.md index 9fc9ea50fe2..9c2b6414adc 100644 --- a/markdown/org/docs/designs/florence/fabric/fr.md +++ b/markdown/org/docs/designs/florence/fabric/fr.md @@ -4,7 +4,7 @@ title: "Masque de Florence : Options de tissu" Le but de notre masque est d'arrêter les gouttelettes. Il faut donc chercher un tissu qui répond à ce besoin. Encore une fois, vous devez pouvoir respirer à travers votre masque, donc nous voulons un tissu qui respire, mais qui ne laisse pas passer les gouttelettes. -De plus, nous voulons que l'intérieur soit de contact agréable sur notre peau. Je suggère donc ici un coton ou une viscose. Pour le tissu extérieur, encore un coton ou un lainage à maille dense. +De plus, nous voulons que l'intérieur soit de contact agréable sur notre peau. Je suggère donc ici un coton ou une viscose. For the outer fabric, cotton again, or a tightly woven wool. From e62e66475173c8e82d6282759137d342b1477567 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:29 +0100 Subject: [PATCH 0427/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/florent/cutting/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/fr.md b/markdown/org/docs/designs/florent/cutting/fr.md index 75bb1093ee7..5b7d182141b 100644 --- a/markdown/org/docs/designs/florent/cutting/fr.md +++ b/markdown/org/docs/designs/florent/cutting/fr.md @@ -2,7 +2,7 @@ title: "Casquette plate Florent : Instructions de coupe" --- -Pour fabriquer Floren, découpe les parties suivantes : +To make Florent, cut out the following parts: - **Tissu principal** - Coupez **1 haut** sur le pli mais n'incluez pas la marge de couture du centre, ou **2 haut** avec la marge de couture du centre. From 5e5d96bb62ab222c3ecd196202e8529c75a58f99 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:41 +0100 Subject: [PATCH 0428/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hi/options/hungry/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/fr.md b/markdown/org/docs/designs/hi/options/hungry/fr.md index a32a303302f..b570c9ef42b 100644 --- a/markdown/org/docs/designs/hi/options/hungry/fr.md +++ b/markdown/org/docs/designs/hi/options/hungry/fr.md @@ -2,7 +2,7 @@ title: "Affamé" --- -This setting determins how long it has been since your Hi has had something to eat. Une plus grande faim se traduit par un requin plus maigre. +This setting determines how long it has been since your Hi has had something to eat. Une plus grande faim se traduit par un requin plus maigre. From 72eb1cd608e5492a56f6284771514d14648f229f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:44 +0100 Subject: [PATCH 0429/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/holmes/cutting/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/fr.md b/markdown/org/docs/designs/holmes/cutting/fr.md index 34536e69728..565393f5e5a 100644 --- a/markdown/org/docs/designs/holmes/cutting/fr.md +++ b/markdown/org/docs/designs/holmes/cutting/fr.md @@ -17,7 +17,7 @@ The **gore** pattern piece needs to be cut on the fold to create a whole piece. ### Morceaux de tissu optionnels -Si vous ne souhaitez pas utiliser de ruban pour vos cravates, vous pouvez les fabriquer en tissu. Coupez simplement 4 bandes de grains croisés d'un 1" (2. cm) ou la largeur de votre choix + couture large et coudre deux tubes laissant un des côtés courts ouverts pour tourner. Couper les coins et couper les coutures. Détruit une presse. Si vous le souhaitez, vous pouvez _pointer au bord_ ou _pointer en haut_ les tubes pour empêcher le tissu de se déplacer. Le bord brut des tubes peut ensuite être dissimulé dans la couture de rabat de l'oreille lors de la construction des clapets de l'oreille. +Si vous ne souhaitez pas utiliser de ruban pour vos cravates, vous pouvez les fabriquer en tissu. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Couper les coins et couper les coutures. Détruit une presse. Si vous le souhaitez, vous pouvez _pointer au bord_ ou _pointer en haut_ les tubes pour empêcher le tissu de se déplacer. Le bord brut des tubes peut ensuite être dissimulé dans la couture de rabat de l'oreille lors de la construction des clapets de l'oreille. @@ -26,6 +26,6 @@ Il est recommandé de tracer le filet du patron et d'utiliser le motif pour trac -It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Assurez-vous de couper la marge de couture du fond avant de l'essayer. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Une fois reformulé, faites un autre maquette pour vérifier si vous êtes satifié avec les changements ou non. Répétez à nouveau si vous n'êtes pas satisfait. +It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Assurez-vous de couper la marge de couture du fond avant de l'essayer. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Répétez à nouveau si vous n'êtes pas satisfait. From 35ae6823f46942761b64f132e10235f39540014c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:46 +0100 Subject: [PATCH 0430/1313] New translations en.md (French) skip-build --- .../docs/designs/holmes/instructions/fr.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/fr.md b/markdown/org/docs/designs/holmes/instructions/fr.md index 604211fe0d8..657fbe653c8 100644 --- a/markdown/org/docs/designs/holmes/instructions/fr.md +++ b/markdown/org/docs/designs/holmes/instructions/fr.md @@ -31,7 +31,7 @@ Ces instructions supposent que vous avez marqué vos lignes de couture. Ils peuv - Ouvrez les coutures au fer. Vous avez fait besoin d'utiliser un jambon tailleur pour cela, si vous n'en avez pas, vous pouvez utiliser des flanques ou des serviettes à la place. - (Facultatif) _Piquer au bord_ des deux côtés de la couture, en veillant à attraper les surplus de couture. - Répétez l'opération jusqu'à ce que vous ayez deux moitiés. Si la moitié du nombre de pièces de couronne est un nombre impair, vous devrez coudre une pièce à chaque moitié. Par exemple, si vous avez 6 pièces de couronne, vous fabriquez deux moitiés de 3 pièces cousues ensemble à deux pièces. -- Endroit contre endroit, en faisant correspondre les lignes de couture et les pointes, coudre les deux moitiés ensemble. Il peut être plus facile de broder le sommet ensemble en raison de la masse ou de la précision. Cette couture sera désignée comme la « couture de couronne centrale » qui va de l'avant. +- With right sides together, matching seam lines and peaks, sew the two halves together. Il peut être plus facile de broder le sommet ensemble en raison de la masse ou de la précision. This seam will be referred to as the "centre crown seam" going forward. - (Facultatif) _Piquer au bord_ des deux côtés de la couture de la couronne centrale, en veillant à attraper les surplus de couture. @@ -44,7 +44,7 @@ Selon votre marge de couture, vous pourriez vouloir couper les coutures au fur e #### Flaps des oreilles avec des cravates -- Coupez deux longueurs de ruban de 30 cm (12") à 40 cm (16"). Ils seront désignés comme des liens à venir. +- Coupez deux longueurs de ruban de 30 cm (12") à 40 cm (16"). These will be referred to as ties going forward. - _Collez_ une cravate sur le côté droit d'un rabat d'oreille (celui qui est interfacé si vous l'utilisez). Répéter pour une autre cravate. - Endroit contre endroit, en faisant coïncider les lignes de couture, coudre un rabat d'oreille à un rabat d'oreille non attaché. - Couper et ajuster le surplus de couture. @@ -74,7 +74,7 @@ Si tu préfères, tu peux fabriquer tes cravates personnalisées avec du tissu, - Retourner et presser. - (Facultatif) _Surpiquer_ ou _piquer en biais_ le bord plié. - _Collez_ les bords bruts ensemble. -- Cousez la boutonnière selon votre méthode préférée. +- Sew the buttonhole in your preferred method. - Répéter l'opération pour l'autre rabat de l'oreille. @@ -98,7 +98,7 @@ There are two methods for constructing the bill. This is due to the different ty #### The Bill Method 1 - Placer l'insert de visière sur une pièce de la visière à l'intérieur des lignes de couture. -- Fixer temporairement l'insert de visière à la visière à l'aide de _points de fixation_ temporaires. Il s'agira dorénavant de la "visière". +- Fixer temporairement l'insert de visière à la visière à l'aide de _points de fixation_ temporaires. This will be referred to as "faced visor" going forward. - _Batir_ le long de la ligne de couture de la courbe intérieure de la visière, assurez-vous de ne pas prendre l'insert de la visière. - Bons côtés ensemble, couture et centres alignés, coudre la visière a une autre pièce de visière le long de la courbe extérieur près de l'insert de la visière, en s'assurant de ne pas piquer dans l'insert. - Fendre et découper la courbe extérieure en s'assurant de ne pas couper la couture. (Vous pourrez avoir envie de retourner et vérifier la forme avant cette étape) @@ -120,10 +120,10 @@ If preferred you can temporarily attach the bill insert another way that does no #### The Bill Method 2 -- Endroit contre endroit, en faisant coïncider les lignes de couture et les centres avant, coudre les deux pièces de la visière ensemble. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Fendre et découper(si besoin) la courbe extérieure en s'assurant de ne pas couper la couture. (Vous pourrez avoir envie de retourner et vérifier la forme avant cette étape) - Retourner et presser. -- Insérer l'insert de visière pour coudre la visière fermement de sorte qu'il n'y ait pas de trou sur la courbe extérieure et que les marges de coutures sont sur le côté de l'insert de visière. Ce sera la partie haute de la visière. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. Ce sera la partie haute de la visière. - Épingler la courbe intérieure ensemble en s'assurant que le bord extérieur soit bien tiré au-dessus de l'insert de visière. - _Collez_ aussi près que possible de la courbe intérieure de l'insert de visière, en vous assurant de bien tirer le tissu sur le bord extérieur pendant que vous cousez. - Répéter ceci pour les pièces de visière restantes. @@ -144,7 +144,7 @@ Une fois de plus, il y a deux méthodes pour l'assemblage et la doublure finales - Retirez tous les points de rembourrage et de bâti. - Repassez les surplus de couture vers l'intérieur, en veillant à ce que la couture ne soit pas visible sur l'extérieur. - (Facultatif) _Cousez _sans serrer les coutures à l'intérieur de la couronne en veillant à ce que les coutures ne soient pas visibles à l'extérieur. -- Construire la doublure de la même façon que la couronne en omettant les _piqures d'aiguille_. +- Construct lining the same way as the crown omitting _edgestitching_. - Pliez et repassez sous le surplus de couture du bas de la doublure. Il se peut que vous ayez besoin d'appuyer sous plus pour éviter que la doublure ne s'affiche. Il se peut également que vous deviez _bâtir_ la marge de couture vers le bas. - En faisant correspondre les coutures centrales de la couronne et les coutures des panneaux, épinglez la doublure dans le chapeau, envers contre envers. Placer le bord plié le long des lignes de couture. - _Effectuez un point de chainette_ ou _un point de maille_ sur la doublure sur le surplus de couture du chapeau. @@ -160,8 +160,8 @@ Une fois de plus, il y a deux méthodes pour l'assemblage et la doublure finales - Bâtissez à la main la visière sur la couronne en faisant coïncider les lignes de bâti de la visière avec les lignes de couture de la couronne. Il est plus facile de _bâtir_ le centre vers le bas d'abord, puis de travailler du centre vers l'extérieur. - (Facultatif) Collez à la machine la visière à la couronne le long des lignes de couture. - Répétez l'opération pour le reste de la visière, de l'autre côté de la couture centrale de la couronne. -- Réalisez la doublure de la même manière que la couronne en omettant les _piqûres d'arrêt_ et en laissant un espace dans la couture centrale de la doublure suffisamment grand pour pouvoir retourner le chapeau. -- Endroit contre endroit, faire correspondre les coutures de la couronne centrale, les coutures des panneaux et les lignes de couture. Coudre la doublure à la couronne le long des lignes de couture. Si vous êtes volumineux, vous voudrez peut-être couper les coutures de doublure ou les deux coutures. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- Endroit contre endroit, faire correspondre les coutures de la couronne centrale, les coutures des panneaux et les lignes de couture. Sew the lining to the crown along seam lines. Si vous êtes volumineux, vous voudrez peut-être couper les coutures de doublure ou les deux coutures. - Retourner le chapeau, en pressant la doublure à l'intérieur. - (Facultatif/Alternatif) _Doublure en surpiqûre_. - Fermeture de la doublure fermée par une surpiqûre. @@ -226,7 +226,7 @@ Pour déterminer la façon dont vous voulez plier les cravates, il vous sera peu Bien que facultatif, il se peut que vous trouviez un bouton qui manque dans le chapeau pour finir l'apparence. Par conséquent, si vous n'êtes pas sûr de l'apparence à ce stade, créez un bouton rapide et placez-le temporairement pour voir si c'est ce qui manque. If it is attach it permanently. -Bien qu'un bouton couvert soit recommandé, vous pouvez utiliser n'importe quel bouton que vous désirez, n'hésitez pas à expérimenter ! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From 3c499b4fd43604f64ae10f510162b18a41365828 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:57 +0100 Subject: [PATCH 0431/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hortensia/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fr.md b/markdown/org/docs/designs/hortensia/fr.md index 7d3c640a724..3f6cbe6092b 100644 --- a/markdown/org/docs/designs/hortensia/fr.md +++ b/markdown/org/docs/designs/hortensia/fr.md @@ -2,7 +2,7 @@ title: "Sac à main Hortensia" --- -Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteered my time. The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can finish the seams with a bias tape. From 8728971ff3967de244ed7db5df2a4eab41279efa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:58 +0100 Subject: [PATCH 0432/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hortensia/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/fr.md b/markdown/org/docs/designs/hortensia/fabric/fr.md index d9a87100bf3..63a4c67ea3a 100644 --- a/markdown/org/docs/designs/hortensia/fabric/fr.md +++ b/markdown/org/docs/designs/hortensia/fabric/fr.md @@ -6,7 +6,7 @@ title: "Sac à main Hortensia : Options de tissu" Les meilleurs tissus pour Hortensia sont non élastiques, durables et assez solides pour contenir des objets. -En fin de compte, votre choix de tissu principal dépend de votre style personnel et de celui que vous souhaitez utiliser pour votre sac à main. Comme Hortensia a une option de taille, il peut également être agrandi et utilisé pour des choses comme un sac de gym qui n'a pas besoin d'être aussi chic qu'un sac à main haut de gamme. Donc vous pouvez simplement utiliser du **Cotons**, du **Lin** ou amusez-vous un peu avec des **Cotons imprimés**. Si tu veux quelque chose de plus fantaisiste, tu peux essayer de choisir **Brocades** et d'autres tissus de luxe. Si tu veux quelque chose de très durable, tu peux essayer **Upholstery fabrics**. Vous pouvez également essayer le **Cuir** mais cela sera plus difficile à coudre surtout s'il est épais, donc n'utilisez le que si vous savez ce que vous faites. Rappelez-vous que si vous souhaitez l'utiliser en permanence, favorisez la praticité par rapport au design, comme le but devrait être de le faire durer, plutôt que de le rendre fantaisiste. Si vous ne vous souciez pas du tout de l'apparence, cela pourrait être une opportunité pour utiliser le tissu de votre réserve que vous n'utilisez pas d'habitude, comme ce tissu moche dont vous ne pourrez jamais trouver un usage. +En fin de compte, votre choix de tissu principal dépend de votre style personnel et de celui que vous souhaitez utiliser pour votre sac à main. Comme Hortensia a une option de taille, il peut également être agrandi et utilisé pour des choses comme un sac de gym qui n'a pas besoin d'être aussi chic qu'un sac à main haut de gamme. Donc vous pouvez simplement utiliser du **Cotons**, du **Lin** ou amusez-vous un peu avec des **Cotons imprimés**. Si tu veux quelque chose de plus fantaisiste, tu peux essayer de choisir **Brocades** et d'autres tissus de luxe. Si tu veux quelque chose de très durable, tu peux essayer **Upholstery fabrics**. Vous pouvez également essayer le **Cuir** mais cela sera plus difficile à coudre surtout s'il est épais, donc n'utilisez le que si vous savez ce que vous faites. Rappelez-vous que si vous souhaitez l'utiliser en permanence, favorisez la praticité par rapport au design, comme le but devrait être de le faire durer, plutôt que de le rendre fantaisiste. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From f10e9aa0e0aa36f6cd9bb1de3269073a55b2f583 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:25:59 +0100 Subject: [PATCH 0433/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hortensia/instructions/fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/fr.md b/markdown/org/docs/designs/hortensia/instructions/fr.md index 6f1dd126b0a..24961922ccf 100644 --- a/markdown/org/docs/designs/hortensia/instructions/fr.md +++ b/markdown/org/docs/designs/hortensia/instructions/fr.md @@ -30,9 +30,9 @@ L'emplacement des bretelles ne figure pas sur le patron et doit être détermin -Si vous utilisez des sangles de sac au lieu de sangles en tissu, procédez comme suit, +If using bag strap webbing instead of fabric made straps do the following, -- Coupez la sangle à la longueur des lanières avec la marge de couture. +- Cut the webbing to the length of the straps with seam allowance. - Repassez sous le surplus de couture du bord court. - Fixez la sangle de la même manière que les sangles en tissu. @@ -83,8 +83,8 @@ Il est recommandé de laisser l'espace pour le tournage sur le côté plutôt qu - _Endroit contre endroit,_ coudre les panneaux avant et arrière de la doublure sur le panneau de doublure du bas. - _Endroit contre endroit_attachez les panneaux de côté de la doublure. - Repassez vers le bas les marges de couture. -- Alernativement vous pouvez mettre un biais sur les bords supérieurs. -- Placez la doublure à l'intérieur du sac _envers contre envers_. +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Couds_ ou _Couds_ la doublure au panneau de la fermeture à glissière. ### Étape 10: Profitez-en! From 9c8dfef83103e822d8efd025e806c67dbc6ce735 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:01 +0100 Subject: [PATCH 0434/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hortensia/needs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/fr.md b/markdown/org/docs/designs/hortensia/needs/fr.md index 2edfa798eed..4c4bc2b6b66 100644 --- a/markdown/org/docs/designs/hortensia/needs/fr.md +++ b/markdown/org/docs/designs/hortensia/needs/fr.md @@ -8,7 +8,7 @@ Pour faire Hortensia vous aurez besoin des éléments suivants : - Environ 0.5 à 2 mètres (0.6 - 2.2 yards) d'un tissu adapté ([voir Options de tissu pour Hortensia](/docs/designs/hortensia/fabric/)) - Environ 0.5 à 2 mètres (0.6 - 2.2 yards) d'un tissu de doublure([voir Options de tissu pour Hortensia](/docs/designs/hortensia/fabric/)) - Une fermeture à glissière plus courte que le panneau de fermeture à glissière et correspondant à la largeur de la bobine [](/docs/designs/hortensia/options/zippersize/) sélectionnée. -- (Facultatif) Environ 1 à 2 mètres (1,1 à 2,2 yards) de biais si vous voulez mettre un biais sur les bords du panneau latéral à l'extérieur. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Facultatif) Les sangles de sac de deux fois la longueur de la pièce de sangle marge de couture incluse avec une largeur similaire si vous ne souhaitez pas créer vos propres sangles - (Facultatif) Interfaçage si nécessaire pour renforcer le tissu et/ou pour la sangle From a2a33f699838c250de2bf632c7e65fe795821fe3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:08 +0100 Subject: [PATCH 0435/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/instructions/fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/fr.md b/markdown/org/docs/designs/huey/instructions/fr.md index 8f7d6ec0e7b..a1a49080a2b 100644 --- a/markdown/org/docs/designs/huey/instructions/fr.md +++ b/markdown/org/docs/designs/huey/instructions/fr.md @@ -53,7 +53,7 @@ Les cordons seront enfilés à la fin de l'assemblage du sweat à capuche. - Retourne la capuche à l'endroit. - Bâtis les bords bruts de l'avant et de l'arrière ensemble. - Crée un tunnel pour le cordon de serrage en cousant à environ 2,5 cm du bord intérieur sur le côté où se trouvent les trous du cordon. -- (Optionnel) Si tu n'utilises pas de cordon, _surpique_ la courbe intérieure. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ Un tour de cou peut être utile pour stabiliser et couvrir les coutures du cou, - Repassez la couture vers le haut. - _Surpiquez_ le surplus de couture de la ceinture au corps. -### Étape 8 : Attacher les poignets +### Step 8: Attaching the cuffs -- Avec les _bons côtés ensemble,_ coudre les côtés courts des poignets pour créer deux bandes. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Repasser pour ouvrir la marge de couture. - (Facultatif) _Surpique à 1 mm_ les surplus de couture vers le bas. - Pliez les poignets en 2 dans le sens de la longueur envers contre envers. Repasser. @@ -104,7 +104,7 @@ Un tour de cou peut être utile pour stabiliser et couvrir les coutures du cou, - Ouvre partiellement la fermeture Éclair. - Plie le haut du ruban de la fermeture à Éclair vers le _bon côté_ du ruban de la fermeture Éclair. Découpe si nécessaire. - Épingle la fermeture éclair le long d'un des bords avant de la capuche, du devant et de la ceinture. Fais attention que la tirette de la fermeture est contre le _bon côté_ du sweat et que le bas est aligné. Les dents de la fermeture Éclair doivent être légèrement au-dessus de la ligne de couture, et le bord de la bande doit correspondre au bord de la capuche ou le dépasser légèrement. -- En utilisant un pied pour fermeture Éclair, pique la fermeture Éclair sur le sweat à capuche en utilisant ta marge de couture. Lorsque tu arrives à la tirette de la fermeture à glissière, arrête-toi, descend ton aiguille, lève le pied-de-biche, fais passer la tirette de la fermeture à glissière devant le pied-de-biche, abaisse le pied-de-biche. Ensuite, tu peux continuer ta couture. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. Lorsque tu arrives à la tirette de la fermeture à glissière, arrête-toi, descend ton aiguille, lève le pied-de-biche, fais passer la tirette de la fermeture à glissière devant le pied-de-biche, abaisse le pied-de-biche. Ensuite, tu peux continuer ta couture. - Sépare la fermeture Éclair. - Épingle et couds la bande de fermeture Éclair séparé de l'autre côté du sweat à capuche de la même manière. - Repasse les coutures vers l'intérieur en faisant attention à ne pas faire fondre les dents de la fermeture Éclair avec ton fer à repasser. From bea1d1299d69c56665f615a6cc58fff3fa768e2d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:36 +0100 Subject: [PATCH 0436/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From b37d6d35193bb7610a9ca2c21a8f1ace53d43d23 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:45 +0100 Subject: [PATCH 0437/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hugo/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/fr.md b/markdown/org/docs/designs/hugo/instructions/fr.md index 75c30750178..20b5b6a799f 100644 --- a/markdown/org/docs/designs/hugo/instructions/fr.md +++ b/markdown/org/docs/designs/hugo/instructions/fr.md @@ -113,5 +113,5 @@ Cette série de 6 épisodes vous montre comment réaliser votre sweat à capuche - Surjetez (ou cousez en zig-zag) la bande de poignet, en l'étirant doucement jusqu'à ce que la bande et le manche soient de la même longueur. Retirez les épingles avant de passer sous la surjeteuse. - Coupez le bord inférieur de la poche s'il dépasse le bord de la ceinture. - Veillez à ce que la bande soit assemblée de la manière la plus uniforme possible autour de la ceinture. -- Suejetez ou faites un zig-zag à la ceinture, encore une fois étirant doucement jusqu'à ce que la bande et la ceinture soient de la même longueur. Cousez avec le sweat sur le dessus de façon à ce que vous puissiez vous assurer qu'il est bien pris dans la couture. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Cousez avec le sweat sur le dessus de façon à ce que vous puissiez vous assurer qu'il est bien pris dans la couture. - Surpiquez les bords inférieurs de la poche au corps du vêtement pour maintenir le fond de la poche. From 373acf6a5d6c8c0c74cadcc7759ca7ca359ba253 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:58 +0100 Subject: [PATCH 0438/1313] New translations en.md (French) skip-build --- .../docs/designs/jaeger/instructions/fr.md | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/fr.md b/markdown/org/docs/designs/jaeger/instructions/fr.md index d7357110d7a..57c403649f5 100644 --- a/markdown/org/docs/designs/jaeger/instructions/fr.md +++ b/markdown/org/docs/designs/jaeger/instructions/fr.md @@ -88,7 +88,7 @@ Coudre ceci en place le long de la ligne supérieure. Remember this should be sh #### Coupez l'ouverture de la poche du coffre, tournez et appuyez sur -![Appuyez sur la poitrine](pressChestPocket.svg) Coupez maintenant votre soudure au milieu des deux coutures. Ne coupez pas au bord, mais créez une forme trianngulaire là-bas. +![Appuyez sur la poitrine](pressChestPocket.svg) Coupez maintenant votre soudure au milieu des deux coutures. Don't cut to the edge, but create a triangular shape there. Retournez le sac de poche et tendez à l'arrière en passant les deux à travers l'ouverture que vous venez de créer. @@ -108,7 +108,7 @@ Feuilletez une aiguille et finissez la poche de poitrine en cousant les côtés Enfin, fermez le sac de poche en couturant les côtés. Faites cela en plaçant le devant vers le bas avec le bon côté vers le haut. Pliez ensuite sur chaque côté et coudez le sac de poche. Lors de la couture de ces côtés, assurez-vous d'attraper ces petits morceaux triangulaires de l'ouverture. Cela renforcera l'ouverture de la poche. -Collez la poche de poitrine fermée pendant que nous fabriquons la veste. +Baste the chest pocket closed while we construct the jacket. ### Préparer les devants @@ -163,9 +163,11 @@ Gardez à l'esprit que : ![Fermer les côtés](closeSides.svg) -Place your front with the good side up, and your side on it with the good side down. Align the front/side seams, pin them in place if you feel like it, and sew them togther. +Place your front with the good side up, and your side on it with the good side down. +Align the front/side seams, pin them in place if you feel like it, and sew them together. -Place this down with the good side up, and place your back on top with the good side down. Align the back/side seams, pin them in place if you feel like it, and sew them togther. +Place this down with the good side up, and place your back on top with the good side down. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Assurez-vous que la toile ne soit pas prise dans la couture. @@ -179,7 +181,7 @@ Place this down with the good side up, and place your back on top with the good ![Fermer la couture arrière](closeBack.svg) -Avoir vos deux demi-vestes avec les bons côtés ensemble, et fermer la couture arrière. +Align your two half-jackets with the good sides together, and close the back seam. @@ -214,23 +216,23 @@ Assurez-vous donc d'aligner les encoches. « C'est pour cela qu'ils sont là. » ### Fabrique le collier -Pour avoir l'air vraiment craquant, le col doit être symétrique des deux côtés. Une différence d'environ 5 mm est déjà visible pour un collier, donc plus tu fais ces étapes avec précision, mieux c'est. +In order to look real crisp, the collar should be symmetrical on both sides. Une différence d'environ 5 mm est déjà visible pour un collier, donc plus tu fais ces étapes avec précision, mieux c'est. ### Ajoute des marques aux deux colliers Mais les deux cols l'un sur l'autre, bâtis les coins ensemble et coupe le bâtis. Utilise ensuite un crayon de marquage ou un peu de craie pour marquer les bords du collier. Mesure 2 fois pour t'assurer que les cols restants et l'emplacement des coins sont identiques à 100 % sur les deux coins. ![Marque les bords du collier](collarMarkings.svg) #### Ajoute de l'entoilage ou du canevas sur le pied de col extérieur et sous le col. -Soit tu utilises un entoilage fusible, soit, si tu veux être hardcore, tu utilises une toile de crin. Couds-le au support extérieur du col en utilisant la même technique que pour l'ajout de la toile au revers. ![Ajoute une toile à la collection](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. ![Add canvas to the collar](collarWithCanvas.svg) #### Couds le pied de col extérieur au dessous du col, et ajoute-le à la veste. -Assure-toi que le pied de col extérieur et le sous-col sont bien alignés et couds-les ensemble Couds le pied de col extérieur et le sous-col à l'encolure de la veste Fais de petites coupes dans le tissu autour de l'encolure pour lui donner plus d'aisance Coupe le surplus de couture dans les coins en diagonale pour qu'il soit mieux ajusté +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit ![fais de petites entailles dans le SA autour du col](collarCuts.svg) ### Manches -Couds la manche supérieure à la manche inférieure jusqu'à la séparation. +Sew the uppersleeve to the undersleeve until the split #### Crée la fente à l'extrémité de la manche @@ -243,13 +245,13 @@ La poche intérieure est une double poche passepoilée. Ce qui est la même chos Tu peux voir les images des poches avant pour plus de détails. -Repère la position de la poche sur la doublure intérieure gauche avec du bâti Ajoute de l'entoilage thermocollant autour de la zone Dessine la poche sur l'entoilage. Ajoute les ganses aux côtés supérieur et inférieur de la poche Couds les ganses sur la ligne des deux côtés de la poche. Assure-toi que les soudures se terminent exactement l'une sur l'autre. Coupe l'entrée de la poche à environ 1 ou 2 cm de l'extrémité. Coupe la dernière partie en diagonale pour obtenir une arête de poisson Retourne les ganses, bâtis et repasse Retourne les triangles, bâtis et repasse Couds autour de la poche pour tout mettre en place Prends le sac de poche, couds-le à la ganse inférieure et l'autre partie à la ganse supérieure (voir : poche de poitrine). +Locate the position of the pocket on the left inner lining with basting Add some fusible interfacing around the area Draw the pocket on the interfacing. Ajoute les ganses aux côtés supérieur et inférieur de la poche Couds les ganses sur la ligne des deux côtés de la poche. Make use the welts end exactly on top of each other. Coupe l'entrée de la poche à environ 1 ou 2 cm de l'extrémité. Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Doublure -Couds la couture arrière de la doublure jusqu'à la fente Couds les coutures des figures dans les parties avant Ajoute toute la doublure ensemble (devant, côté, dos) Ajoute la doublure au parement avant. LE Laisse environ 5 cm ouverts à partir du bas Ferme les épaules Ajoute le pied de col intérieur au col supérieur et ajoute-le à la doublure de la veste Fais de petites coupes dans l'encolure et les coins Ajoute les manches supérieures aux manches inférieures Ajoute les manches à la doublure de la veste +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners Add upper to lower sleeves Add sleeves to lining jacket ### Ferme-le -Mais les vestes + doublures se superposent avec les bons côtés. Couds autour du col et continue jusqu'à la face avant Retourne la veste sur l'endroit Plie les manches en place (assure-toi qu'elles ne sont pas retournées ! !!). Ajoute la doublure des manches à la fente des manches . Assure-toi que les cols sont bien droits l'un sur l'autre (ils s'alignent) et ajoute les marges de couture l'une à l'autre à la main. Ajoute à quelques endroits le SA du devant au SA de la doublure à la main depuis l'intérieur de la veste Crée la fente arrière et ajoute manuellement la doublure au tissu principal Ajoute les boutonnières et les boutons. +Mais les vestes + doublures se superposent avec les bons côtés. Couds autour du col et continue jusqu'à la face avant Retourne la veste sur l'endroit Plie les manches en place (assure-toi qu'elles ne sont pas retournées ! !!). Add the sleeves lining to the sleeves split Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Ajoute à quelques endroits le SA du devant au SA de la doublure à la main depuis l'intérieur de la veste Crée la fente arrière et ajoute manuellement la doublure au tissu principal Ajoute les boutonnières et les boutons. From 922d8c17c8eb42e0feb5f134f19d9711715f3790 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:26:59 +0100 Subject: [PATCH 0439/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/jaeger/needs/fr.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/needs/fr.md b/markdown/org/docs/designs/jaeger/needs/fr.md index 21bd72ee025..763442149d0 100644 --- a/markdown/org/docs/designs/jaeger/needs/fr.md +++ b/markdown/org/docs/designs/jaeger/needs/fr.md @@ -17,9 +17,10 @@ Pour fabriquer Jaeger, vous aurez besoin des éléments suivants: -That is because this kind of project is somewhat more ambitious than the -typical home sewing project, and as a result, your local haberdashery is -unlikely to stock all of these things. +###### Where to get all this stuff + +Making Jaeger is a fun and rewarding project, but getting all the required bits +and pieces can be challenging. Si vous savez où les obtenir, génial. From 1f25b8326bc485ee8a180034b45d5af7b27a5912 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:27:06 +0100 Subject: [PATCH 0440/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/fr.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/fr.md index 2c7549ceb2e..1c8c123479b 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/fr.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/fr.md @@ -4,7 +4,7 @@ title: "Pinces milieu dos" ![Pinces milieu dos](centerbackdart.svg) -La réduction au centre du dos des épaules au cou, qui accueille pour une courbure supérieure du dos. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From cae7357d22e8819116a40f9b28a248d6f1a129ce Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:27:41 +0100 Subject: [PATCH 0441/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/lucy/measurements/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/fr.md b/markdown/org/docs/designs/lucy/measurements/fr.md index 795750519db..af96175a6e2 100644 --- a/markdown/org/docs/designs/lucy/measurements/fr.md +++ b/markdown/org/docs/designs/lucy/measurements/fr.md @@ -3,5 +3,5 @@ title: "Poche Lucy à nouer : Mesures requises" --- -Luci ne nécessite aucune mesure +Lucy does not require any measurements From 1652e1356459f6b046c4aee9676fcfd5712693c5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:07 +0100 Subject: [PATCH 0442/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/fr.md b/markdown/org/docs/designs/noble/options/upperdartlength/fr.md index 86ff4e7b3a9..6e7c7426b5c 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/fr.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/fr.md @@ -4,7 +4,7 @@ title: "Longueur de la fléchette supérieure" *** -Le site **Upper Dart Length** contrôle la longueur du dard supérieur, 100 % jusqu'à la pointe du buste. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From 1c23f0c3420b0be2eaf1edb7010e0986436219ae Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:12 +0100 Subject: [PATCH 0443/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/octoplushy/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/fr.md b/markdown/org/docs/designs/octoplushy/instructions/fr.md index 1b0e71cf49c..d107db047df 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/fr.md +++ b/markdown/org/docs/designs/octoplushy/instructions/fr.md @@ -69,13 +69,13 @@ Avant de coudre les sourcils en deux, tu peux les rembourrer pour créer un sour - Avec _les bons côtés ensemble_ fais correspondre les parties des jambes avec les parties du corps. - Couds chaque jambe de l'encoche B/D vers le bas et en arrière jusqu'à l'encoche B/D. -- Si la partie de la jambe est légèrement plus courte que la jambe de la partie de la tête, tu devras l'adoucir en la faisant correspondre. Des encoches ont été prévues pour faciliter cette opération. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Des encoches ont été prévues pour faciliter cette opération. Il est plus facile de coudre une jambe presque jusqu'à l'encoche B/D suivante, d'arrêter de coudre, d'épingler la jambe suivante et de continuer à coudre plutôt que d'essayer d'épingler et de coudre toutes les jambes en une seule fois. -Les personnes plus confiantes peuvent le faire avec l'aiguille en bas de leur machine, mais si tu es moins confiant, tu peux retirer la machine, épingler et recommencer à coudre un peu au-dessus de ton point d'origine pour le sécuriser. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From dc2ebf57839fc5ca29fc195dadf591e66e28cd70 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:20 +0100 Subject: [PATCH 0444/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/paco/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/fr.md b/markdown/org/docs/designs/paco/instructions/fr.md index a3318261a81..22b40d171c6 100644 --- a/markdown/org/docs/designs/paco/instructions/fr.md +++ b/markdown/org/docs/designs/paco/instructions/fr.md @@ -205,7 +205,7 @@ pas l'intérieur de votre ceinture. Ensuite, alignez le dos du centre et la broche en place, en ajoutant des épingles supplémentaires autour de la ceinture au besoin. -Coudre la ceinture au pantalon, aussi près que possible de l’élastique, mais ne pas coudre dans l’élastique. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Bande de taille cousue avec méthode simple](step13.svg) @@ -288,7 +288,7 @@ il y en a assez. -Coudre le manchon à l'ouverture du pantalon, aussi près que possible de l'élastique, mais ne pas coudre dans l'élastique. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Poignets cousus avec une méthode simple](step16.svg) From 7002655410e9b417da1e1dcb1e1b47ca78e4b6c4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:27 +0100 Subject: [PATCH 0445/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/fr.md b/markdown/org/docs/designs/paco/options/crotchdrop/fr.md index 0a29250e33d..7b0d3b5c99f 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/fr.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/fr.md @@ -4,8 +4,8 @@ title: "Hauteur d'enfourchure" Contrôle à quel point la croche est abaissée. -Abaisser la crotte rend un ajustement plus décontracté. -Un crotché significativement baissé peut également être un choix de style. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From cc67e978a1d81b1d6ae43ad3b3916a7b95709f68 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:28 +0100 Subject: [PATCH 0446/1313] New translations en.md (French) skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/fr.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/fr.md index ba921477182..899f1b6cfe3 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/fr.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/fr.md @@ -2,7 +2,7 @@ title: "Courbure de la fourche avant" --- -Contrôle la courbure de la couture du croth, qui influence l'ajustement à votre croûte. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From d3e82f94385e79ae5151f33319189df86e200768 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:40 +0100 Subject: [PATCH 0447/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/penelope/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/fr.md b/markdown/org/docs/designs/penelope/fabric/fr.md index b7d8b567a47..eba1e6060fb 100644 --- a/markdown/org/docs/designs/penelope/fabric/fr.md +++ b/markdown/org/docs/designs/penelope/fabric/fr.md @@ -6,7 +6,7 @@ title: "Jupe crayon Penelope : Options de tissu" Une jupe crayon est une coupe plutôt formelle, et est le plus souvent réalisée dans une matière de tailleur. En d'autres termes, une laine fine ****. Les options plus décontractées parmi **les tissus de poids moyen** comprennent **le coton** ou **le denim**. -Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **Scuba** est souvent vu dans les jupes crayon car il est ferme, a du corps mais est aussi extensible. +Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Tissu de rangement From 302c721044788dd8d098b0ce461046c08f95930b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:41 +0100 Subject: [PATCH 0448/1313] New translations en.md (French) skip-build --- .../org/docs/designs/penelope/instructions/fr.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/fr.md b/markdown/org/docs/designs/penelope/instructions/fr.md index 7b9c3a24cd2..cea96f4aeac 100644 --- a/markdown/org/docs/designs/penelope/instructions/fr.md +++ b/markdown/org/docs/designs/penelope/instructions/fr.md @@ -24,7 +24,7 @@ Une bande de taille est optionnelle sur Penelope. If you omit it, there will be Sans la fermeture à glissière, il sera impossible d'entrer et de sortir de la jupe. So it should be at least the length from your waist to the largest part of your bum. Longer will make it easier to put the skirt on and off. Don't use one that's too long, because the part of the seam where the zipper is behaves differently than the part without it, and you want to try to make it invisible also in movement. -Traditionnellement, une fermeture éclair invisible est utilisée dans une jupe crayon, mais une fermeture éclair ordinaire fonctionnera tout aussi bien. Tu peux même utiliser une fermeture éclair qui constraste ton tissu si la fantaisie te prend. Choisis ce qui fonctionne pour toi et le style que tu recherches. Sois créatif (ou non), c'est à toi de décider ! Cependant, si ton tissu est plus lourd, tu devrais peut-être opter pour une autre fermeture. +Traditionnellement, une fermeture éclair invisible est utilisée dans une jupe crayon, mais une fermeture éclair ordinaire fonctionnera tout aussi bien. You can even use a zipper that contrasts your fabric if the fancy takes you. Choisis ce qui fonctionne pour toi et le style que tu recherches. Sois créatif (ou non), c'est à toi de décider ! Cependant, si ton tissu est plus lourd, tu devrais peut-être opter pour une autre fermeture. ### Fente @@ -40,8 +40,8 @@ Les fléchettes sont utilisées pour compenser la différence entre les mesures Nous n'allons pas nous lancer dans une explication complète sur la façon de créer tous les détails individuels qui composent une jupe crayon. Ces instructions supposent que tu sais comment coudre une échancrure, insérer une fermeture éclair invisible -, faire une ouverture, etc. Si ce n'est pas le cas, de nombreux articles excellents sont disponibles sur le site -, à la fois sous forme écrite et sous forme de vidéo. Si tu es bloqué, tu peux toujours contacter +, faire une ouverture, etc. If not, there are numerous excellent articles available on the +web, both in written form, and on video. Si tu es bloqué, tu peux toujours contacter [d'autres FreeSewers](https://discord.freesewing.org/) sur notre discord. @@ -50,7 +50,7 @@ qui composent une jupe crayon. Ces instructions supposent que tu sais comment co - Couds toutes les pinces. - Appuie sur les pinces vers l'arrière. - - Pour le(s) morceau(x) du dos, cela signifie que tu appuies sur les pinces l'une vers l'autre. + - For the back piece(s), that means you press the darts towards each other. - Pour la pièce avant, cela signifie que tu repasses les pinces vers les coutures latérales. ### Étape 2 : La fermeture éclair @@ -76,11 +76,11 @@ Tu peux sauter cette étape si tu ne fais pas de doublure. - Suis les étapes 1 à 4 pour construire la doublure avec les changements suivants : - Ajuste les pinces pour compenser l'"aisance" supplémentaire des pièces de la doublure. - N'inclus pas la fermeture éclair mais laisse l'ouverture dans la couture de la fermeture éclair. -- Attache la doublure au corps de la façon que tu préfères. Tu devras construire l'évent pendant celle-ci et relier la doublure à la fermeture éclair. +- Attach the lining to the body in your preferred way. Tu devras construire l'évent pendant celle-ci et relier la doublure à la fermeture éclair. -C'est à toi de décider comment répartir cette "facilité" supplémentaire. Tu peux soit l'ajouter aux pinces en les augmentant. ou tu peux ajouter une autre fléchette ou un pli creux au milieu. +C'est à toi de décider comment répartir cette "facilité" supplémentaire. Tu peux soit l'ajouter aux pinces en les augmentant. Or you can add another dart or box pleat in the middle. @@ -116,7 +116,7 @@ Cette étape n'est nécessaire que si tu n'as pas doublé ta jupe, car l'ourlet - Si tu le souhaites, fais face à l'ourlet et aux aérations. - Construis les évents avec la méthode que tu préfères - Repasse sous les marges de l'ourlet de la jupe. -- Si l'ourlet est assez grand et/ou si le tissu se repasse un peu le long du haut, cela permettra d'éviter les frisottis. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Fixe l'ourlet en place avec la méthode que tu préfères. Par exemple, tu peux coudre de l'extérieur ou _Slipstitch_ de l'intérieur. Tout dépend de l'aspect que tu souhaites donner au produit fini. From d752140df5bea324a8cacbb026147967e3d6658e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:54 +0100 Subject: [PATCH 0449/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sandy/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/fr.md b/markdown/org/docs/designs/sandy/fabric/fr.md index e38b9fce76e..1af6b96a09b 100644 --- a/markdown/org/docs/designs/sandy/fabric/fr.md +++ b/markdown/org/docs/designs/sandy/fabric/fr.md @@ -6,7 +6,7 @@ title: "Jupe circulaire Sandy : Options de tissu" Une jupe en cercle est un vêtement très polyvalent et peut être fabriquée à partir d'une grande variété de tissus. Tout dépend de l'utilisation que tu veux en faire et du style que tu préfères. -- Si tu souhaites une jupe de tous les jours, facile à laver, alors **Linen** et **Cotton** sont la solution. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - Si tu cherches quelque chose de plus formel, tu peux essayer **Suiting Fabrics**. - Si tu veux quelque chose de chaud pour l'hiver, tu peux essayer **Wools**. - Si tu souhaites quelque chose de fluide qui se drape, tu peux essayer des matières légères comme **Chiffon**. From 6b314826013dc14bb9c860c749312dcb3e9a6504 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:56 +0100 Subject: [PATCH 0450/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sandy/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/fr.md b/markdown/org/docs/designs/sandy/instructions/fr.md index 82bf4f56e68..a0f5424a500 100644 --- a/markdown/org/docs/designs/sandy/instructions/fr.md +++ b/markdown/org/docs/designs/sandy/instructions/fr.md @@ -5,7 +5,7 @@ title: "Jupe circulaire Sandy : Instructions de couture" En raison des différents styles et configurations de Sandy, il se peut que tu doives sauter ou réorganiser certaines étapes. -Nous n'allons pas nous lancer dans une explication complète sur la façon de créer tous les détails individuels qui composent une jupe en cercle. Ces instructions supposent que vous sachiez coudre une fermeture à glissière, construire des poches, etc... Si ce n'est pas le cas, il existe de nombreux articles excellents disponibles sur le web, à la fois sous forme écrite et sous forme de vidéo. Si tu es bloqué, tu peux toujours contacter [d'autres FreeSewers] (https://discord.freesewing.org/) sur notre discord. +Nous n'allons pas nous lancer dans une explication complète sur la façon de créer tous les détails individuels qui composent une jupe en cercle. Ces instructions supposent que vous sachiez coudre une fermeture à glissière, construire des poches, etc... If not, there are numerous excellent articles available on the web, both in written form, and on video. Si tu es bloqué, tu peux toujours contacter [d'autres FreeSewers] (https://discord.freesewing.org/) sur notre discord. @@ -111,7 +111,7 @@ Faites un ourlet sur la jupe de l'une des façons suivantes : -Il y a de nombreuses façons d'ourler le bas d'une jupe. Si vous avez une méthode préférée, utilisez-la ici. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From f0534dd8943e50654f691cb71c098ee3b1882dc8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:28:57 +0100 Subject: [PATCH 0451/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sandy/needs/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/fr.md b/markdown/org/docs/designs/sandy/needs/fr.md index fc89c28461c..22da93c42c8 100644 --- a/markdown/org/docs/designs/sandy/needs/fr.md +++ b/markdown/org/docs/designs/sandy/needs/fr.md @@ -16,7 +16,7 @@ En raison des nombreux styles différents de Sandy, il est difficile de dire pr ##### Tissu principal -La longueur dont tu as besoin dépend de la longueur et de l'ampleur de ta jupe circulaire. Une jupe de longueur moyenne ou plus petite devrait suffire avec 2 à 2,5 mètres, alors qu'une jupe de longueur normale nécessitera plus de longueur. En cas de doute, achète un mètre de plus que ce que tu penses. N'hésite pas non plus à découper si ton tissu n'est pas assez large ou long, il vaut mieux avoir une couture supplémentaire que de ne pas utiliser le tissu que tu aimes. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. En cas de doute, achète un mètre de plus que ce que tu penses. N'hésite pas non plus à découper si ton tissu n'est pas assez large ou long, il vaut mieux avoir une couture supplémentaire que de ne pas utiliser le tissu que tu aimes. @@ -40,7 +40,7 @@ Pour donner de l'ampleur à l'ourlet et lui conserver sa forme, tu peux ajouter ##### Fermetures -Si tu ne fais pas de Sandy élastique, tu auras besoin d'un type de fermeture. Il peut s'agir d'une simple fermeture éclair insérée dans la ceinture et la couture ou de boutons, de crochets ou de boutons-pression avec une ceinture qui se chevauche et une ouverture, une patte de boutonnage ou une fermeture éclair en haut de la couture. +Si tu ne fais pas de Sandy élastique, tu auras besoin d'un type de fermeture. This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Élastique From 10c0b73d920c2464eac51e297bcfb483057b1de9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:06 +0100 Subject: [PATCH 0452/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shin/fabric/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/fr.md b/markdown/org/docs/designs/shin/fabric/fr.md index 34917a705e1..92a21936688 100644 --- a/markdown/org/docs/designs/shin/fabric/fr.md +++ b/markdown/org/docs/designs/shin/fabric/fr.md @@ -6,6 +6,6 @@ Les troncs de nage doivent être fabriqués à partir d'un matériau avec étire Généralement, cela se décompose dans quelques catégories : -- Le nylon mélangé avec élastene, spandex ou lycra est doux et étiré. C'est de cela que sont fabriqués les maillots de bain les plus décontractés. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. C'est de cela que sont fabriqués les maillots de bain les plus décontractés. - Le polyester mélangé avec le PBT (polybutylène téréphtalate) est moins souple au toucher, mais résistant au chlore et à l'eau salée. C'est de cela que l'on fabrique beaucoup de maillots de bain compétitifs. - Le néoprène, également connu sous le nom de scuba, est plus lourd et moins extensible. C'est à partir de quoi on fabrique des costumes de plongée. From 69427b632334de313a7b34e53e619b1454cf656e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:07 +0100 Subject: [PATCH 0453/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shin/instructions/fr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/fr.md b/markdown/org/docs/designs/shin/instructions/fr.md index 671c0d8a319..11fa0dbbb5a 100644 --- a/markdown/org/docs/designs/shin/instructions/fr.md +++ b/markdown/org/docs/designs/shin/instructions/fr.md @@ -8,13 +8,13 @@ title: "Maillot de bain Shin : Instructions de couture" ## Étape 1 : Rejoignez le dos -Mettez vos deux dos les uns sur les autres avec les bons côtés ensemble, et cousez-les ensemble tout en allongeant la couture centrale. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Étape 2 : Rejoignez les devants ### Coudre la couture avant -Mettez deux de vos devants sur les uns sur les autres avec les bons côtés ensemble, et cousez-les ensemble tout en allongeant la couture centrale avant. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Répétez avec les deux autres avant afin d'avoir deux ensembles identiques. @@ -38,7 +38,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Marquez le milieu de la longueur de votre ceinture. Fold the waistband double, and mark the middle of the width (do not take the seam allowance into account). -Un peu à gauche et à droite de ceci, vous pouvez ajouter deux oeillets pour passer un cordon à travers. This will avoid an embarassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. +Un peu à gauche et à droite de ceci, vous pouvez ajouter deux oeillets pour passer un cordon à travers. This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### Il est préférable d'ajouter des renforts > @@ -68,7 +68,7 @@ Find the front of the waistband (easy if there's eyelets, if not just fold it do Faites maintenant votre chemin autour de la taille des troncs de nage, en épinglant la ceinture. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew into the elastic. +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, make a second round to sew it a bit more snugly. From 2f2c472708b29b050d6f0f9d7845439a1c4853bd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:09 +0100 Subject: [PATCH 0454/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shin/needs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/fr.md b/markdown/org/docs/designs/shin/needs/fr.md index a1092e50908..b90de874f26 100644 --- a/markdown/org/docs/designs/shin/needs/fr.md +++ b/markdown/org/docs/designs/shin/needs/fr.md @@ -12,4 +12,4 @@ Pour faire du shin, vous aurez besoin des éléments suivants : > > Comme pour tous les tissus étirés, un serger/overlock vous facilitera la vie. > -> Si vous n'en avez pas, ne désespérez pas. Vous n'en avez pas vraiment besoin. Vous pouvez utiliser une autre technique pour les coutures étirées, comme une maille en zig-zag, une double aiguille ou un fil élastique. +> Si vous n'en avez pas, ne désespérez pas. Vous n'en avez pas vraiment besoin. You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From 92f6d2e93e5e2ed15317eafde867c9cbd75bb9bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:13 +0100 Subject: [PATCH 0455/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shin/options/rise/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/fr.md b/markdown/org/docs/designs/shin/options/rise/fr.md index 135f92d8c85..b25ab46679c 100644 --- a/markdown/org/docs/designs/shin/options/rise/fr.md +++ b/markdown/org/docs/designs/shin/options/rise/fr.md @@ -2,7 +2,7 @@ title: "Élévation de ceinture" --- -Cette option permet de contrôler la hauteur générale de la taille. +This option controls the overall height of the waist. > Plus la valeur est élevée, plus la taille est haute. From 9692246dd70cfbffe06b9012e35b65914dd169e8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:14 +0100 Subject: [PATCH 0456/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shin/options/stretch/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/stretch/fr.md b/markdown/org/docs/designs/shin/options/stretch/fr.md index a657370c94c..a972547f6dc 100644 --- a/markdown/org/docs/designs/shin/options/stretch/fr.md +++ b/markdown/org/docs/designs/shin/options/stretch/fr.md @@ -2,7 +2,7 @@ title: "Élasticité" --- -Le facteur de stretch horizontal. +La quantité d'élasticité globale (horizontale). From acdc70443fae217e2763f1125807beb74b11eea5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:18 +0100 Subject: [PATCH 0457/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/simon/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/fr.md b/markdown/org/docs/designs/simon/instructions/fr.md index 9292843f7c8..158b77c993f 100644 --- a/markdown/org/docs/designs/simon/instructions/fr.md +++ b/markdown/org/docs/designs/simon/instructions/fr.md @@ -629,7 +629,7 @@ Maintenant que votre col est attaché, donnez-lui un bon coup de fer. ### Étape 20 : Ourler votre chemise -![Repliez et repassez](20a.png) ![Pliez à nouveau, et repassez à nouveau](20b.png) ![Coudre l'ourlet](20c.png) +![Repliez et repassez](20a.png) ![Fold over again, and press again](20b.png) ![Coudre l'ourlet](20c.png) Il est temps de faire l'ourlet (c'est la partie que vous glissez dans votre pantalon). From 1165706bdc005903d2f0584ba30ebdaa12197779 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:35 +0100 Subject: [PATCH 0458/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/simon/options/collargap/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/fr.md b/markdown/org/docs/designs/simon/options/collargap/fr.md index 2596676f01e..9aadd1b3da9 100644 --- a/markdown/org/docs/designs/simon/options/collargap/fr.md +++ b/markdown/org/docs/designs/simon/options/collargap/fr.md @@ -8,7 +8,7 @@ La distance entre le collier et le collier est séparée lorsqu'il est fermé. -Il s'agit surtout d'un choix de style, mais un plus grand écart de collier (avec l'angle du col) peut accueillir une cravate plus large (nœud). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 3dfe8a0c1b53e025c67f2e817e38cf04d407bf1d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:29:59 +0100 Subject: [PATCH 0459/1313] New translations en.md (French) skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 24d2979fddce0a1d4b1326b5718e8c9ad6e8f93c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:30:33 +0100 Subject: [PATCH 0460/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/simone/options/collargap/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/fr.md b/markdown/org/docs/designs/simone/options/collargap/fr.md index 2596676f01e..9aadd1b3da9 100644 --- a/markdown/org/docs/designs/simone/options/collargap/fr.md +++ b/markdown/org/docs/designs/simone/options/collargap/fr.md @@ -8,7 +8,7 @@ La distance entre le collier et le collier est séparée lorsqu'il est fermé. -Il s'agit surtout d'un choix de style, mais un plus grand écart de collier (avec l'angle du col) peut accueillir une cravate plus large (nœud). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From f76d35e7bff2e55a26129c3bb262481392c3baae Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:31:01 +0100 Subject: [PATCH 0461/1313] New translations en.md (French) skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 9f4db7710d563fe4cf4f1156bbc1b68ecd946a7e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:31:13 +0100 Subject: [PATCH 0462/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sven/instructions/fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/fr.md b/markdown/org/docs/designs/sven/instructions/fr.md index 0149636d47b..53716e1f898 100644 --- a/markdown/org/docs/designs/sven/instructions/fr.md +++ b/markdown/org/docs/designs/sven/instructions/fr.md @@ -4,7 +4,7 @@ title: "Sweat-shirt Sven : Instructions de couture" ### Étape 1 : Fermer les coutures d'épaule -- Placez le dos et l'avant sur les deux côtés avec le bon toghether. +- Place the back and front on top of each other with the good sides together. - Alignez la couture de l'épaule et couvez-la à la marge de couture standard. - Répétez pour l'autre couture d'épaule. @@ -38,7 +38,7 @@ title: "Sweat-shirt Sven : Instructions de couture" - Mesurer la largeur de la manche au manche - Couper un morceau de corniche qui est (deux fois cette longueur - 2cm/1po) et 7cm/3" de large -- Plier la bordure double le long du côté le plus long et coudre ensemble le bord pour avoir un anneau continu +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Sortez votre Sven de votre intérieur - Pliez l'anneau de corniche avec le bon côté vers l'extérieur, et glissez le côté plié dans votre manche intérieure / extérieure - Alignez le côté coupé du cône avec le bord de la manche et fixez-le en place. Le ruban est un peu plus court, donc étirez-le un peu en épinglant pour le mettre dans la manche. @@ -51,7 +51,7 @@ title: "Sweat-shirt Sven : Instructions de couture" - Mesurer la largeur de Sven à l'ourlet - Coupez un morceau de corniche 1,9 fois cette longueur et une largeur de 7cm/3" - Il se peut que vous deviez attacher des pièces différentes si votre étoffe n'est pas assez large -- Plier la bordure double le long du côté le plus long et coudre ensemble le bord pour avoir un anneau continu +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Sortez votre Sven de votre intérieur - Pliez l'anneau de corniche avec le bon côté vers l'extérieur, et glissez le côté plié dans votre corps intérieur / extérieur - Alignez le côté coupé du cône avec le bord du corps et fixez-le en place. Le ruban est un peu plus court, donc étirez-le un peu en épinglant pour le mettre dans le corps. From 0836b01a50916b9d8285d874c95f06a57b3c4213 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:31:37 +0100 Subject: [PATCH 0463/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 606113133e89f7f13d6e8abcb486864337a93c3d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:31:45 +0100 Subject: [PATCH 0464/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/tamiko/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/fr.md b/markdown/org/docs/designs/tamiko/instructions/fr.md index 46b31c428e2..20d705e0e6e 100644 --- a/markdown/org/docs/designs/tamiko/instructions/fr.md +++ b/markdown/org/docs/designs/tamiko/instructions/fr.md @@ -4,7 +4,7 @@ title: "Top Tamiko : Instructions de couture" ### Étape 1 : Terminer l'emmanchure -![Étape : Terminer la couture de la manche](step03.png) +![Finish the armhole seam](step03.png) - Terminez la couture de la manche avec un ourlet étroit. From af3ce9d53b70584c4ed685695dc14bcf9a4691d6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:31:54 +0100 Subject: [PATCH 0465/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/teagan/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/fr.md b/markdown/org/docs/designs/teagan/instructions/fr.md index 255719060d8..d9ca77f19b9 100644 --- a/markdown/org/docs/designs/teagan/instructions/fr.md +++ b/markdown/org/docs/designs/teagan/instructions/fr.md @@ -77,7 +77,7 @@ Il est maintenant temps de coudre les extrémités de notre bande de tricot ense - Maintenant que les extrémités de ta bande sont réunies, il est temps de terminer les 6 derniers centimètres, en étirant et en cousant la bande comme tu l'as fait pour le reste. -Hourra ! Vous avez terminé la partie la plus délicate ! Tu peux aussi fixer les bords bruts en les cousant au tissu du T-shirt, juste à l'intérieur de la bande de tricot, à l'aide d'un point sig-zag ou d'un point de recouvrement. Ce n'est pas obligatoire, mais c'est un détail que tu verras sur de nombreux T-shirts prêts à porter, et cela peut aider ton tour de cou à rester plat. +Hourra ! Vous avez terminé la partie la plus délicate ! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. Ce n'est pas obligatoire, mais c'est un détail que tu verras sur de nombreux T-shirts prêts à porter, et cela peut aider ton tour de cou à rester plat. ![Couds la bande de tricot pour la fixer](step03i.svg) @@ -85,7 +85,7 @@ Hourra ! Vous avez terminé la partie la plus délicate ! Tu peux aussi fixer le -Tu trouveras un mode d'emploi plus complet sur la reliure en tricot dans les [Instuctions d'Aaron](/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From d4b32a553bcfe062a7205085db22846fc98b78c7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:32:15 +0100 Subject: [PATCH 0466/1313] New translations en.md (French) skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From d0d90c494c073145827c4a3b820598c19c454d98 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:32:41 +0100 Subject: [PATCH 0467/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/fr.md b/markdown/org/docs/designs/titan/options/crotchdrop/fr.md index 0a29250e33d..7b0d3b5c99f 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/fr.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/fr.md @@ -4,8 +4,8 @@ title: "Hauteur d'enfourchure" Contrôle à quel point la croche est abaissée. -Abaisser la crotte rend un ajustement plus décontracté. -Un crotché significativement baissé peut également être un choix de style. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 4da715ce1c39a42f14954095499a24c698816cbe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:32:43 +0100 Subject: [PATCH 0468/1313] New translations en.md (French) skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/fr.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/fr.md index ba921477182..899f1b6cfe3 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/fr.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/fr.md @@ -2,7 +2,7 @@ title: "Courbure de la fourche avant" --- -Contrôle la courbure de la couture du croth, qui influence l'ajustement à votre croûte. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 26f094bdddce119b08feed8a2429e39fc19d180c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:33:02 +0100 Subject: [PATCH 0469/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/wahid/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/wahid/instructions/fr.md b/markdown/org/docs/designs/wahid/instructions/fr.md index 4f822781f3d..42bc2b7f9eb 100644 --- a/markdown/org/docs/designs/wahid/instructions/fr.md +++ b/markdown/org/docs/designs/wahid/instructions/fr.md @@ -140,7 +140,7 @@ Retournez le parement de poche vers l'arrière et repassez. ![Repasser les triangles sur les côtés courts](05h.png) -Déplacez votre parement de poche sur le côté pour révéler ces petits triangles sur le côté de votre poche. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Repliez-les vers l'arrière en vous assurant de garder un rectangle parfait pour l'ouverture de poche, puis repassez-les. From face1db8094b51ecbaace7eef7d01f2d561ed486 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:33:24 +0100 Subject: [PATCH 0470/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/walburga/needs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/fr.md b/markdown/org/docs/designs/walburga/needs/fr.md index 3e501e73816..a68f8936275 100644 --- a/markdown/org/docs/designs/walburga/needs/fr.md +++ b/markdown/org/docs/designs/walburga/needs/fr.md @@ -6,4 +6,4 @@ Pour préparer la Walburga, tu auras besoin des éléments suivants : - [Fourniture de base pour la couture](/docs/sewing/basic-sewing-supplies) - Environ 1 mètre d'un tissu approprié (voir [Options de tissu](/docs/designs/walburga/fabric)). -- (facultatif) environ 3 mètres de ruban de biais ou de passementerie pour finir les bords bruts. +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From 534f71b3422bfd2e547526fe21e799b2b5bf69c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:33:34 +0100 Subject: [PATCH 0471/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/waralee/options/backraise/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/fr.md b/markdown/org/docs/designs/waralee/options/backraise/fr.md index c0e9a5268ce..3487b035e68 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/fr.md +++ b/markdown/org/docs/designs/waralee/options/backraise/fr.md @@ -2,7 +2,7 @@ title: "Élévation arrière" --- -Ce réglage lève la taille dans le dos. Notre tour de taille ne s'assied pas horizontalement, mais est incliné à l'arrière. Ce réglage vous permet de le relever dans le dos si vous en avez besoin pour un bon ajustement. +Ce réglage lève la taille dans le dos. Notre tour de taille ne s'assied pas horizontalement, mais est incliné à l'arrière. This setting allows you to raise this in the back if you need it for a good fit. From 56780f1904fa44920a36ea6bc46fcf314b6c21be Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:33:45 +0100 Subject: [PATCH 0472/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/fr.md b/markdown/org/docs/designs/waralee/options/waistoverlap/fr.md index e9a79f0eeaa..67aedeed263 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/fr.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/fr.md @@ -2,7 +2,7 @@ title: "Chevauchement de la ceinture" --- -Cela dicte combien vous voulez que les flacons de la jambe se chevauchent à la taille. Un cadre de 0 les ferait rencontrer à la couture latérale, et un cadre de 100 les fait se rencontrer à l'avant/arrière. +This dictates how much you want the leg flaps to overlap at the waist. Un cadre de 0 les ferait rencontrer à la couture latérale, et un cadre de 100 les fait se rencontrer à l'avant/arrière. From cc9657c111e1bb511cc905315a0ee65b2519fcec Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:33:49 +0100 Subject: [PATCH 0473/1313] New translations en.md (French) skip-build --- .../org/docs/designs/yuri/instructions/fr.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/fr.md b/markdown/org/docs/designs/yuri/instructions/fr.md index 7d8301fc4c3..8ec656a8833 100644 --- a/markdown/org/docs/designs/yuri/instructions/fr.md +++ b/markdown/org/docs/designs/yuri/instructions/fr.md @@ -4,24 +4,24 @@ title: "Sweat à capuche Yuri : Instructions de couture" -Ce patron peut être cousu avec ou sans surjeteuse. Pour _finir_ les coutures sans surjeteuse/sertisseuse, tu peux utiliser ta méthode préférée ou l'une des méthodes ci-dessous : +Ce patron peut être cousu avec ou sans surjeteuse. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: -##### Méthode de finition 1 +##### Finishing Method 1 -- Ouvre les surplus de couture au fer à repasser. +- Press open the seam allowances. - Ensuite, sur le bon côté, _pique_ à 3 mm (1/8 de pouce) ou plus près des deux côtés de la couture en attrapant les surplus de couture en dessous. - Sur le côté envers couper les marges de couture près du bord. -##### Méthode de finition 2 +##### Finishing Method 2 -- Coudre les marges de couture avec soit un point zig-zag, éclair ou un point droit et presser sur un côté. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Couper à 1 cm (3/8 po) si nécessaire. -Si vous utilisez une surjeteuse, vous pouvez coudre les coutures qui ont besoin d'une finition en une seule fois plutôt que de faire la couture conventionnellement et de le finir. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ Sur le patron, l'encoche arrière est marquée comme une encoche transversale (v - (Facultatif) Surfiler le bord brut de la manche. - Pressez sur l'ourlet sur l'envers du tissu et bâtissez en place près du bord brut. - À l’extérieur, cousez plus loin du bord plié, en attrapant l’ourlet en dessous en utilisant le bâti comme guide vers l’endroit où se trouve le bord brut. -- (Facultatif) À l'extérieur, cousez à 6 mm (1/4 po) parallèlement au premier point le long de l'ourlet. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Enlevez le fil de bâti. @@ -94,8 +94,8 @@ Il est recommandé d'utiliser **la méthode de finition 1** pour cette étape, q - Coudre le bord épinglé ensemble. - Couper la marge de couture à 1 cm (3/8 po) si la marge de couture que vous avez choisie est plus grande et que vous n'avez pas utilisée et que vous n'avez pas de surjeteuse. Sinon _ne pas_ couper la la marge. - Retournez la capuche vers l'extérieur et repassez les coutures à plat. -- Sur l'extérieur, surpiquez le long du bord de la capuche, à environ 1,5 - 2cm (5/8 - 3/4 pouces) du bord. Assurez-vous que votre surpiqûre doit proche mais ne prenne pas les marges de couture du bord extérieur de la capuche. Cela créera une bordure décorative, avec la marge de couture proche en rendant la bordure un peu bombée. -- Avec des bords bruts ensemble, surpiquez ou surjetez le bas de la capuche. Vous pouvez le faire avec une surjeteuse ou un point ziz-zag ou un point overlock sur une machine ordinaire. +- Sur l'extérieur, surpiquez le long du bord de la capuche, à environ 1,5 - 2cm (5/8 - 3/4 pouces) du bord. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. Cela créera une bordure décorative, avec la marge de couture proche en rendant la bordure un peu bombée. +- Avec des bords bruts ensemble, surpiquez ou surjetez le bas de la capuche. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ Vous pouvez également faire une bande pliée de sorte que le col n'ait pas de b - Endroit contre endroit, en partant du centre dos, épinglez la capuche à l'encolure, en faisant correspondre les centre dos et que le recouvrement de la capuche se termine au centre devant. - Avec l'endroit de la bande d'encolure sur la doublure de la capuche, épinglez la bande à la capuche en faisant correspondre le milieu de la bande au centre dos. - Si vous utilisez une surjeteuse, surjetez le cou et le la capuche ensemble en prenant toutes les épaisseurs. -- Si vous utilisez une machine à coudre, utilisez un point en zig-zag pour coudre toutes les couches du cou et de la capuche ensemble. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - À l'extérieur, vérifiez l'encolure pour vous assurer que toutes les couches sont cousues. - Pressez les marges de coutures vers le corps. -- Sur l'endroit, surpiquez avec un point droit à environ 1 cm (3/8 po) du bord du cou vers le corps pour attraper et fixer le cou en dessous. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Coupez l’excès de tissu de l’intérieur. -Si vous utilisez une surjeteuse pour attacher la capuche, vous pouvez d'abord attacher des zones volumineuses avec un point droit comme le devant car une surjeteuse peut avoir du mal à coudre ces pièces. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From 333b3652ae159bea6a589c3c26c4e9c79c7975ab Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:34:10 +0100 Subject: [PATCH 0474/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/fr.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/fr.md index 84c3f838509..e66262e9caa 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/fr.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/fr.md @@ -2,7 +2,7 @@ title: "Tête de manche élévation Q3" --- -![La propagation vers le haut dans le quadrant de la tête de manche](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Cette option permet de contrôler la propagation vers le haut dans le troisième quadrant de la tête de manche. From 09a12bc6e13b9b4013333e4a00bbf14cb1342b9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:38:44 +0100 Subject: [PATCH 0475/1313] New translations en.yaml (French) skip-build --- sites/shared/components/workbench/menus/core-settings/fr.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/fr.yaml b/sites/shared/components/workbench/menus/core-settings/fr.yaml index 7c083460736..16e4467039e 100644 --- a/sites/shared/components/workbench/menus/core-settings/fr.yaml +++ b/sites/shared/components/workbench/menus/core-settings/fr.yaml @@ -31,6 +31,8 @@ fr.t: Français fr.d: Utilise ceci pour générer un modèle français nl.t: Néerlandais nl.d: Utilise ceci pour générer un modèle hollandais +uk.t: Ukrainian +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Génère un modèle complet From 882e3373536e2bd8979ac3bc090aa87aba6fad3d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:06 +0100 Subject: [PATCH 0476/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/fr.md b/markdown/org/docs/designs/aaron/options/bindingwidth/fr.md index 80bee3c8abc..7282ce41c0d 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/fr.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/fr.md @@ -2,7 +2,7 @@ title: Largeur de la reliure --- -Contrôle la largeur de la reliure kniw sur Aaron. +Controls the width of the knit binding on Aaron. La largeur par défaut de la reliure en tricot est de 6 x la marge de couture. Pour les utilisateurs métriques avec la marge de couture par défaut de 1 cm, cela donne une reliure en tricot de 1,5 cm de large, ce qui est une bonne valeur. @@ -10,5 +10,5 @@ Pour les utilisateurs impériaux (qui ont une marge de couture par défaut de 0, -Cette option est exprimée en pourcentages de la marge de couture. La valeur par défaut est donc 600 %, soit 6 fois la marge de couture. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From b76d4cf8ada4f6b5ea6293f758dcc37a522a4226 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:09 +0100 Subject: [PATCH 0477/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/aaron/notes/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/fr.md b/markdown/org/docs/designs/aaron/notes/fr.md index 94cfed660a3..8b8bf510ecc 100644 --- a/markdown/org/docs/designs/aaron/notes/fr.md +++ b/markdown/org/docs/designs/aaron/notes/fr.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt : Notes du concepteur" --- -Aaron est - comme la plupart des modèles que je conçois - né de la naïveté. I needed a A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. @@ -10,7 +10,7 @@ En soi, il s'agit d'une conception plutôt simple. It extends [the Brian block]( Il y a quelques petites choses qui sont *special* à propos d'Aaron, FreeSewing trivia si tu veux : -- C'est à Aaron que je renvoie les concepteurs lorsqu'ils ont des questions sur la façon de faire quelque chose. Il est toujours le premier de la liste (parce qu'il commence par un double A), toujours le premier à obtenir de nouvelles fonctions, à être migré vers une nouvelle version, et ainsi de suite. Aaron est en quelque sorte le modèle de canari de FreeSerwing. Tout ce qui arrive arrive d'abord à Aaron. +- C'est à Aaron que je renvoie les concepteurs lorsqu'ils ont des questions sur la façon de faire quelque chose. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Tout ce qui arrive arrive d'abord à Aaron. - J'ai nommé ce dessin `aaron` en mémoire de [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Repose en paix mon frère. joost From ab89f47543b073cf25e1230519112e47cee37df9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:11 +0100 Subject: [PATCH 0478/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bee/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/fr.md b/markdown/org/docs/designs/bee/notes/fr.md index 03b4b8b5146..ad943199c7b 100644 --- a/markdown/org/docs/designs/bee/notes/fr.md +++ b/markdown/org/docs/designs/bee/notes/fr.md @@ -2,7 +2,7 @@ title: "Haut de bikini Bee : Notes du créateur" --- -J'ai créé Bee avec Prudencerabbit, car ils voulaient faire un modèle de maillot de bain qui allait de pair avec un modèle freesewing précédent. Il est basé sur un vêtement qu'elles ont confectionné et qu'elles voulaient mettre à la disposition d'autres personnes pour qu'elles le fassent aussi. Nous avons utilisé le bloc de corps Bella de FreeSewing comme base, et nous l'avons converti en un bloc à fléchettes simples pour faire le haut. Lors des tests de patrons, l'un de nos contributeurs, TangerineShark, a créé une variante avec des liens croisés dans le dos, que nous avons trouvée si cool que nous l'avons ajoutée à Bee ! Tu peux obtenir cette variante en utilisant l'option [Cross Back Ties](/docs/designs/bee/options/crossbackties/). Bee peut également être réversible en utilisant les options [Réversible](/docs/designs/bee/options/reversible), [Cravates Duo Colours](/docs/designs/bee/options/duocolorties) & [Cravates Neck Colours](/docs/designs/bee/options/necktiecolours). Le patron précédent ayant été retiré, tu peux utiliser [Uma](docs/designs/uma) pour faire un bas de bikini assorti. +J'ai créé Bee avec Prudencerabbit, car ils voulaient faire un modèle de maillot de bain qui allait de pair avec un modèle freesewing précédent. Il est basé sur un vêtement qu'elles ont confectionné et qu'elles voulaient mettre à la disposition d'autres personnes pour qu'elles le fassent aussi. Nous avons utilisé le bloc de corps Bella de FreeSewing comme base, et nous l'avons converti en un bloc à fléchettes simples pour faire le haut. During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! Tu peux obtenir cette variante en utilisant l'option [Cross Back Ties](/docs/designs/bee/options/crossbackties/). Bee peut également être réversible en utilisant les options [Réversible](/docs/designs/bee/options/reversible), [Cravates Duo Colours](/docs/designs/bee/options/duocolorties) & [Cravates Neck Colours](/docs/designs/bee/options/necktiecolours). Le patron précédent ayant été retiré, tu peux utiliser [Uma](docs/designs/uma) pour faire un bas de bikini assorti. _ From 111d52a93604199735153c28aafc31db0ce80050 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:12 +0100 Subject: [PATCH 0479/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bella/notes/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/fr.md b/markdown/org/docs/designs/bella/notes/fr.md index ff51bae909a..9472a51072a 100644 --- a/markdown/org/docs/designs/bella/notes/fr.md +++ b/markdown/org/docs/designs/bella/notes/fr.md @@ -4,9 +4,9 @@ title: "Bloc corporel Bella : Notes du concepteur" Ce bloc est le fruit d'une collaboration entre moi-même et une initiée du secteur qui préfère rester anonyme en raison de sa profession. -Il s'agit de la version paramétrique d'un bloc de base pour les vêtements féminins qui est utilisé dans l'industrie en Italie pour concevoir des vêtements féminins. Cependant, bien que le bloc s'adapte à tes mesures, le bloc original sur lequel il est basé n'est pas vraiment adapté à une gamme de tailles très large. +Il s'agit de la version paramétrique d'un bloc de base pour les vêtements féminins qui est utilisé dans l'industrie en Italie pour concevoir des vêtements féminins. However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -Donc ton kilométrage peut être très élevé, surtout si tu es loin du genre de femmes maigres pour lesquelles les Italiens ont tendance à créer des modèles. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). From a6897d67c80d61ce8c29cdd98c294b8be3b6958c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:13 +0100 Subject: [PATCH 0480/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/benjamin/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/fr.md b/markdown/org/docs/designs/benjamin/notes/fr.md index 060fc4b8c51..d787c06b41b 100644 --- a/markdown/org/docs/designs/benjamin/notes/fr.md +++ b/markdown/org/docs/designs/benjamin/notes/fr.md @@ -4,7 +4,7 @@ title: "Nœud papillon Benjamin : Designer Notes" Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. This seemed like something I could undertake. Since I had no experience with making patterns, my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. These can be found in speciality stores, and are available online. From f8ad6d8d2d5fd04819afd9b38a5bd5a718ea4bd7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:16 +0100 Subject: [PATCH 0481/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/brian/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/notes/fr.md b/markdown/org/docs/designs/brian/notes/fr.md index bf73a03b3f9..8e5a95e607b 100644 --- a/markdown/org/docs/designs/brian/notes/fr.md +++ b/markdown/org/docs/designs/brian/notes/fr.md @@ -4,7 +4,7 @@ title: "Bloc de corps Brian : Notes du concepteur" Brian est le bloc corporel fondateur de FreeSewing pour les vêtements masculins. Il est à la base de beaucoup de nos conceptions, et ce depuis de nombreuses années. -It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and foward on both collar and shoulder side, as well as a highly configureable sleevecap. +It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and forward on both collar and shoulder side, as well as a highly configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. Elle descend tout droit de la poitrine. No fitting of the waist whatsoever. From 9e75571bf1065bb21478500f2bfcaaaa34324ee0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:18 +0100 Subject: [PATCH 0482/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/carlton/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/notes/fr.md b/markdown/org/docs/designs/carlton/notes/fr.md index 013b3cee459..346f232849a 100644 --- a/markdown/org/docs/designs/carlton/notes/fr.md +++ b/markdown/org/docs/designs/carlton/notes/fr.md @@ -2,7 +2,7 @@ title: "Manteau Carlton : Designer Notes" --- -Carlon is the reverse-engineerd version of the coat worn by benedict cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). +Carlon is the reverse-engineered version of the coat worn by Benedict Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and pictures we found on the internet. From 2fcf2f5f6b411aad46687a47fbae0e92e3e2da54 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:19 +0100 Subject: [PATCH 0483/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/cathrin/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/fr.md b/markdown/org/docs/designs/cathrin/notes/fr.md index 7d4e1368363..cb81961e094 100644 --- a/markdown/org/docs/designs/cathrin/notes/fr.md +++ b/markdown/org/docs/designs/cathrin/notes/fr.md @@ -6,7 +6,7 @@ Cathrin est un effet secondaire d'un projet qui n'a jamais abouti. J'allais faire une robe élaborée et j'avais besoin d'un corset à porter en dessous. So I did some research online, and I found [this tutorial by Cathrin Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/) on drafting an underbust corset. -So, I essentially implemented those instructions in code, and the rest is history as the original project got abaondoned. +So, I essentially implemented those instructions in code, and the rest is history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From 4d3f017f1e8f52eab82da9a6d505e1a0b9b15c5f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:20 +0100 Subject: [PATCH 0484/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/charlie/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/fr.md b/markdown/org/docs/designs/charlie/notes/fr.md index 53643970877..73ce9ff3174 100644 --- a/markdown/org/docs/designs/charlie/notes/fr.md +++ b/markdown/org/docs/designs/charlie/notes/fr.md @@ -8,7 +8,7 @@ Cela a pris du temps parce qu'il a fallu beaucoup de temps avant que [Titan](/de This is for the most part a rather straight-forward chino pattern, but it has one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. -C'est un design un peu inhabituel et créatif que j'ai fait parce que je le pouvais ? Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. +C'est un design un peu inhabituel et créatif que j'ai fait parce que je le pouvais ? Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost From bbf1e1811f682b494592075a763487f4006f7bfe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:22 +0100 Subject: [PATCH 0485/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/florence/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/fr.md b/markdown/org/docs/designs/florence/notes/fr.md index 39659dc570a..2f78b07bd93 100644 --- a/markdown/org/docs/designs/florence/notes/fr.md +++ b/markdown/org/docs/designs/florence/notes/fr.md @@ -4,7 +4,7 @@ title: "Masque de Florence : Notes du créateur" When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. -So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hostpital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. +So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. As a result, this simple design probably did more to let people know FreeSewing exists than any other thing I've ever done. Which is something I try not to think about too much. From 4583e9555cfa217b8400729f35db1687e58a9c74 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:24 +0100 Subject: [PATCH 0486/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hi/notes/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/fr.md b/markdown/org/docs/designs/hi/notes/fr.md index 02e8119dd8b..e8f9d1f58bf 100644 --- a/markdown/org/docs/designs/hi/notes/fr.md +++ b/markdown/org/docs/designs/hi/notes/fr.md @@ -8,9 +8,9 @@ A while ago rumours started swirling that IKEA would discontinue it's Blåhaj st It turned out that no one in the community had ever taken a Blåhaj apart, and no one had the courage to do so. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +It can be scaled up and down between 50 cm and 5 meter. So there is a shark for everyone. From b9fd14336e94c3727a7533daf39d302b1bd78417 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:28 +0100 Subject: [PATCH 0487/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/lucy/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/fr.md b/markdown/org/docs/designs/lucy/notes/fr.md index b000f7764a8..66bd4f0ec0e 100644 --- a/markdown/org/docs/designs/lucy/notes/fr.md +++ b/markdown/org/docs/designs/lucy/notes/fr.md @@ -2,4 +2,4 @@ title: "Pochette Lucy à nouer : Notes du créateur" --- -Il s'agit d'un modèle de poche du 18e siècle basé sur la poche suspendue dans Patterns of Fashion 1 pp. 73. Je l'ai fait pour que les gens puissent avoir un modèle de poche historique facilement ajustable. J'aimerais que les patrons et les ressources historiques soient plus accessibles aux gens pour que la documentation ait un certain contexte historique et des suggestions sur les façons historiquement exactes de la faire, mais c'est tout aussi génial de voir les gens faire des versions modernes et sauvages. +Il s'agit d'un modèle de poche du 18e siècle basé sur la poche suspendue dans Patterns of Fashion 1 pp. 73. Je l'ai fait pour que les gens puissent avoir un modèle de poche historique facilement ajustable. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From 48818f77e442be29286c547ba870b9a4d5765fb8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:29 +0100 Subject: [PATCH 0488/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/lunetius/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/fr.md b/markdown/org/docs/designs/lunetius/notes/fr.md index a548bb6c4ac..33256ca9283 100644 --- a/markdown/org/docs/designs/lunetius/notes/fr.md +++ b/markdown/org/docs/designs/lunetius/notes/fr.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna : Notes du concepteur" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Pourquoi ? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. From 1955f4e39c354672f6688af10daf373093a8c036 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:30 +0100 Subject: [PATCH 0489/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/noble/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/fr.md b/markdown/org/docs/designs/noble/notes/fr.md index 261378bab96..ae86581fe32 100644 --- a/markdown/org/docs/designs/noble/notes/fr.md +++ b/markdown/org/docs/designs/noble/notes/fr.md @@ -4,7 +4,7 @@ title: "Bloc de corps noble : Notes du concepteur" Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. Wouter From 92a074184c768050f98d062c327d018f40061049 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:31 +0100 Subject: [PATCH 0490/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/octoplushy/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/fr.md b/markdown/org/docs/designs/octoplushy/notes/fr.md index 5c491c16ad6..79685f98ec0 100644 --- a/markdown/org/docs/designs/octoplushy/notes/fr.md +++ b/markdown/org/docs/designs/octoplushy/notes/fr.md @@ -2,7 +2,7 @@ title: "Octoplushy, la pieuvre en peluche : Notes du créateur" --- -Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. +Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. A plushy octopus. With a cute name. That had to become something very cuddly. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. It worked out fine. From 4249b6087e794e4f926b564b12e97ce01f46b8ae Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:33 +0100 Subject: [PATCH 0491/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/penelope/notes/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/fr.md b/markdown/org/docs/designs/penelope/notes/fr.md index cf16088557d..437f0e2b7be 100644 --- a/markdown/org/docs/designs/penelope/notes/fr.md +++ b/markdown/org/docs/designs/penelope/notes/fr.md @@ -2,11 +2,11 @@ title: "Jupe crayon Penelope : Designer Notes" --- -Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the apropriate thing to do. I found a drafting method online and made het a skirt. This fitted remarkably well. +Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. -The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (whic I would recommend). +The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (which I would recommend). Wouter From 614a2956b374fc9648bc9d8b036c19ff11b871bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:36 +0100 Subject: [PATCH 0492/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/simone/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/fr.md b/markdown/org/docs/designs/simone/notes/fr.md index 25fef5988d0..a42baa3f756 100644 --- a/markdown/org/docs/designs/simone/notes/fr.md +++ b/markdown/org/docs/designs/simone/notes/fr.md @@ -2,7 +2,7 @@ title: "Chemise Simone : Designer Notes" --- -Simone est essentiellement [Simon](/designs/simon) avec un ajustement complet du buste. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt design, but anyone can choose Simone for a more female-presenting look due to the bust dart. From 78ce9577caa9b83ddbf481ea594100fe7a713381 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:40 +0100 Subject: [PATCH 0493/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/tiberius/notes/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/fr.md b/markdown/org/docs/designs/tiberius/notes/fr.md index 2ff49dccc7f..7ab6d686093 100644 --- a/markdown/org/docs/designs/tiberius/notes/fr.md +++ b/markdown/org/docs/designs/tiberius/notes/fr.md @@ -2,9 +2,9 @@ title: "Tiberius Tunica : Notes du concepteur" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) -Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. From 4df5c5bb160a6df0c5b6a889ba00b67b6dfa005e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:40 +0100 Subject: [PATCH 0494/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/titan/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/fr.md b/markdown/org/docs/designs/titan/notes/fr.md index 5d9b39783cd..a2007b8ee48 100644 --- a/markdown/org/docs/designs/titan/notes/fr.md +++ b/markdown/org/docs/designs/titan/notes/fr.md @@ -4,7 +4,7 @@ title: "Bloc pantalon Titan : Notes du créateur" I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. -I had started on this a couple of times on my own, but for various reasons was never happy and abondoned the effort more than once. +I had started on this a couple of times on my own, but for various reasons was never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From a07f2ae52e38387c0fdefa1e0dd736cf7fb04e17 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:42 +0100 Subject: [PATCH 0495/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/uma/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/fr.md b/markdown/org/docs/designs/uma/notes/fr.md index 9506b8e1128..31f609a06a4 100644 --- a/markdown/org/docs/designs/uma/notes/fr.md +++ b/markdown/org/docs/designs/uma/notes/fr.md @@ -6,7 +6,7 @@ This design is inspired by an earlier design (Ursula) which was created by my fr In the run-up to the v3 release, we discussed the migration of the various designs, and it became clear that for reasons (gestures vaguely towards people on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. -Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also mase some changes that people had been asking for, such as the bulge option to make it gender-neutral. +Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Pour faire court : From a25ab380e110ef843dbb5efd4af28adce60ae78a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:44 +0100 Subject: [PATCH 0496/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/walburga/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/fr.md b/markdown/org/docs/designs/walburga/notes/fr.md index e5c4c8072a8..d1ef9ad5287 100644 --- a/markdown/org/docs/designs/walburga/notes/fr.md +++ b/markdown/org/docs/designs/walburga/notes/fr.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock : Notes du concepteur" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. From e26993ef74c12a95da91dcd09bdb37ffcc3fe7cb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:45 +0100 Subject: [PATCH 0497/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/waralee/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/fr.md b/markdown/org/docs/designs/waralee/notes/fr.md index f48d9f69490..680e1b6784f 100644 --- a/markdown/org/docs/designs/waralee/notes/fr.md +++ b/markdown/org/docs/designs/waralee/notes/fr.md @@ -6,7 +6,7 @@ Waralee is one of those designs that you just make because it's easy, and you fe The construction is easy when you make it without pockets. And with them, it's still not that hard for a practiced sewist. -Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. +Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. These wrap pants are lovely in warm weather, specially when made from linen. From 8be0c39f006661b7c1ea6b59b9941116c75285f3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:47 +0100 Subject: [PATCH 0498/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/uma/cutting/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/fr.md b/markdown/org/docs/designs/uma/cutting/fr.md index df33050ee52..29842ecf99d 100644 --- a/markdown/org/docs/designs/uma/cutting/fr.md +++ b/markdown/org/docs/designs/uma/cutting/fr.md @@ -2,7 +2,7 @@ title: "Sous-vêtements d'Ursula : Instructions de coupe" --- -Uma se compose généralement d'un devant, d'un dos et d'un gousset doublé. Dans ce contexte, voici la liste des coupes à effectuer : +Uma se compose généralement d'un devant, d'un dos et d'un gousset doublé. In that constellation, this is the cut list: - **Tissu principal** - Couper **1 front** From 0fb480c5604a0580db571ad55c04789bb192b2a1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:39:57 +0100 Subject: [PATCH 0499/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/fr.md b/markdown/org/docs/designs/teagan/options/fitwaist/fr.md index 2aeb405b59e..c6549f36d8e 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/fr.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/fr.md @@ -4,7 +4,7 @@ title: "Ajuste la taille" Choisissez cette option pour que Teagan se courbe vers votre taille avant de se courber vers les hanches. -Cela donnera de meilleurs résultats pour celles qui ont une taille plus petite et qui recherchent un t-shirt ajusté plus en forme de sablier. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. Cette option peut également être utilisée lorsque le tour de taille dépasse le tour de hanches, mais cela donne une forme de T-shirt non standard qu'il peut être impossible d'enfiler. From b47298710de30fe632a0cb9a7f9b335fb5ddb668 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:40:28 +0100 Subject: [PATCH 0500/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/fr.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/fr.md b/markdown/org/docs/about/site/draft/core-settings/locale/fr.md index 4ce8d26b908..c41468f8896 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/fr.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/fr.md @@ -11,6 +11,7 @@ FreeSewing prend actuellement en charge les langues suivantes : - Français - Allemand - Néerlandais +- Ukrainian You can pick any of these and your pattern will be translated in this language. From 92acc48d38170f06c707a218c82ccecd02eda03c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:41:10 +0100 Subject: [PATCH 0501/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/shelly/instructions/fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/fr.md b/markdown/org/docs/designs/shelly/instructions/fr.md index 68ac77403b7..b7378bf91b2 100644 --- a/markdown/org/docs/designs/shelly/instructions/fr.md +++ b/markdown/org/docs/designs/shelly/instructions/fr.md @@ -4,13 +4,13 @@ title: "Chemise Shelly : Instructions de couture" -L'utilisation d'une surjeteuse ou d'un pied de surjet est recommandée, pour que la taille des coutures finies reste petite. Si tu utilises une surjeteuse, il est recommandé de laisser une marge de couture de 1/2 pouce (12 mm). Si tu utilises un pied de surjet sur une machine à coudre, ou si tu effectues une surjeture sans utiliser le couteau, une marge de couture de 1/4 de pouce (6 mm) est recommandée. +L'utilisation d'une surjeteuse ou d'un pied de surjet est recommandée, pour que la taille des coutures finies reste petite. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. Si tu utilises un pied de surjet sur une machine à coudre, ou si tu effectues une surjeture sans utiliser le couteau, une marge de couture de 1/4 de pouce (6 mm) est recommandée. Toutes les coutures, y compris la bande de cou, peuvent être réalisées avec le même point, qu'il s'agisse d'une surjeteuse, d'un point de surjet ou d'un point extensible. Les ourlets sont facultatifs (puisque le tricot ne s'effiloche pas), mais si tu fais des ourlets, assure-toi qu'ils peuvent s'étirer. -Veille à utiliser un point de couture qui peut s'étirer. Si tu couds un tissu extensible, ajuste ta tension pour tenir compte de l'étirement supplémentaire. Sur une surjeteuse, cela signifie généralement qu'il faut baisser la tension de l'aiguille, en particulier l'aiguille droite, et ajuster la tension du boucleur si nécessaire pour que le point ait une apparence décente. Sur une machine à coudre ordinaire, baisse la tension. Teste d'abord ton choix de point sur une chute de tissu, et essaie de façonner la couture d'essai en l'étirant sur toute sa longueur. Il ne devrait craquer qu'après s'être beaucoup étiré. S'il se détache trop facilement, continue à jouer avec tes réglages de points et de tension jusqu'à ce que tu obtiennes quelque chose qui puisse survivre à quelques abus. +Veille à utiliser un point de couture qui peut s'étirer. Si tu couds un tissu extensible, ajuste ta tension pour tenir compte de l'étirement supplémentaire. Sur une surjeteuse, cela signifie généralement qu'il faut baisser la tension de l'aiguille, en particulier l'aiguille droite, et ajuster la tension du boucleur si nécessaire pour que le point ait une apparence décente. Sur une machine à coudre ordinaire, baisse la tension. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. Il ne devrait craquer qu'après s'être beaucoup étiré. S'il se détache trop facilement, continue à jouer avec tes réglages de points et de tension jusqu'à ce que tu obtiennes quelque chose qui puisse survivre à quelques abus. Pour faire des t-shirts ou d'autres chemises extensibles dans les deux sens, des réglages réguliers avec un point qui s'étire devraient convenir. @@ -103,4 +103,4 @@ Pour faire des t-shirts ou d'autres chemises extensibles dans les deux sens, des ### Étape 5 : Profite de ta nouvelle chemise ! -- Il est temps d'emmener ta nouvelle chemise se baigner, ou de la montrer à la plage ! \ No newline at end of file +- Il est temps d'emmener ta nouvelle chemise se baigner, ou de la montrer à la plage ! From 6fb4e0329ed3dba9cd010d434dbab6035a1241ee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:41:31 +0100 Subject: [PATCH 0502/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/skully/fabric/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/fr.md b/markdown/org/docs/designs/skully/fabric/fr.md index 4dd6fa22c05..c030f8bdaf7 100644 --- a/markdown/org/docs/designs/skully/fabric/fr.md +++ b/markdown/org/docs/designs/skully/fabric/fr.md @@ -8,7 +8,7 @@ Il est préférable que ce jouet en peluche soit fabriqué à partir d'un tissu ## Cheveux -Skully a besoin de cheveux. Le fil de broderie fonctionne très bien, et on peut en trouver de toutes les couleurs. +Skully a besoin de cheveux. Embroidery floss works very well, and can be had in all colors. ## Farce @@ -16,4 +16,4 @@ Since this is a pluch toy, it wil need to be stuffed with material. La plupart d ## Aiguille -Skully a échangé son épée contre une aiguille. Une aiguille de cette taille est surtout vendue comme aiguille de tapissier. Cela te sera utile pour faire certaines retouches à la fin de la construction. \ No newline at end of file +Skully a échangé son épée contre une aiguille. Une aiguille de cette taille est surtout vendue comme aiguille de tapissier. Cela te sera utile pour faire certaines retouches à la fin de la construction. From 95e0e7b362a17d68eaa82b3fd9ae8dcb63da7597 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:41:32 +0100 Subject: [PATCH 0503/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/skully/instructions/fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/fr.md b/markdown/org/docs/designs/skully/instructions/fr.md index aab10dde38b..b60e43c304b 100644 --- a/markdown/org/docs/designs/skully/instructions/fr.md +++ b/markdown/org/docs/designs/skully/instructions/fr.md @@ -91,12 +91,12 @@ Turn it right sides out. ## Étape 5 : Les cheveux -C'est le moment d'ajouter des cheveux au skully. Lorsque tu mets le fil à broder, assure-toi d'ajouter des nœuds à l'intérieur, sinon il sera très facile d'arracher les cheveux de Skully plus tard. +Now is the time to add hair to Skully. Lorsque tu mets le fil à broder, assure-toi d'ajouter des nœuds à l'intérieur, sinon il sera très facile d'arracher les cheveux de Skully plus tard. ## Étape 6 : Farcir - Remplis le jouet en peluche de bourre par l'ouverture que tu as laissée, en veillant à bien remplir toutes les parties . Les zones situées à l'avant sont les plus difficiles à atteindre. -- _Slipsticth_ ou _whipstitch_ l'ouverture est fermée. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Étape 7 : Ajustements @@ -106,4 +106,4 @@ C'est aussi une bonne idée d'ajouter des points entre les coutures 5 et 14, sur ## Étape 7: Profitez-en! -Voilà, tu as terminé. Commence à planifier quel bateau de couture pirate tu rejoindras ! \ No newline at end of file +Voilà, tu as terminé. Commence à planifier quel bateau de couture pirate tu rejoindras ! From b1e21f6fb726c756eca3324d7ad161904c914d3c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:41:35 +0100 Subject: [PATCH 0504/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/skully/options/size/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/options/size/fr.md b/markdown/org/docs/designs/skully/options/size/fr.md index 6349811d9a8..ca9b626e166 100644 --- a/markdown/org/docs/designs/skully/options/size/fr.md +++ b/markdown/org/docs/designs/skully/options/size/fr.md @@ -4,4 +4,4 @@ title: "Taille" Skully peut être fabriqué en différentes tailles. La valeur par défaut correspond à environ 75 % d'une tête humaine normale (environ 16 cm de haut). -Si tu mets le pourcentage à 100 % et que tu entres ton propre tour de tête, Skully sera à peu près de la taille de ta tête. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will be approximately the size of your head. From 14775a2ac000d8527c09a43548f14dc356e3f443 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:42:00 +0100 Subject: [PATCH 0505/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/onyx/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/fr.md b/markdown/org/docs/designs/onyx/instructions/fr.md index 53d40f43f08..d46dc4729d3 100644 --- a/markdown/org/docs/designs/onyx/instructions/fr.md +++ b/markdown/org/docs/designs/onyx/instructions/fr.md @@ -4,9 +4,9 @@ title: "Onyx une pièce : Instructions de couture" -L'utilisation d'une surjeteuse est recommandée, pour que la taille des coutures finies reste petite et pour permettre aux coutures de s'étirer. Si tu utilises une surjeteuse avec le couteau engagé, une marge de couture de 1/2 pouce (12 mm) est recommandée. Si tu utilises un pied de surjet sur une machine à coudre, ou si tu effectues une surjeture sans utiliser le couteau, une marge de couture de 1/4 de pouce (6 mm) est recommandée. +L'utilisation d'une surjeteuse est recommandée, pour que la taille des coutures finies reste petite et pour permettre aux coutures de s'étirer. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. Si tu utilises un pied de surjet sur une machine à coudre, ou si tu effectues une surjeture sans utiliser le couteau, une marge de couture de 1/4 de pouce (6 mm) est recommandée. -Sauf indication contraire, utilise des vestes extensibles pour la construction de ce vêtement. Un point de surjet à 4 fils est recommandé, ou un pied de surjet sur une machine à coudre si une surjeteuse n'est pas disponible. +Unless otherwise stated, use stretch steams for construction of this garment. Un point de surjet à 4 fils est recommandé, ou un pied de surjet sur une machine à coudre si une surjeteuse n'est pas disponible. Les ourlets ou les poignets sont facultatifs (puisque le tricot ne s'effiloche pas), mais si tu fais des ourlets ou si tu ajoutes des poignets, assure-toi qu'ils peuvent s'étirer. Ces instructions décrivent comment faire un ourlet à pli simple avec une aiguille double, qui convient aux maillots de bain ou aux vêtements légers, et comment faire un revers en tricot côtelé, qui convient aux pyjamas ou aux kigurumi en laine polaire. From 9f7bc951d6613fb0c42b1a3b27e712aff24c020b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:42:36 +0100 Subject: [PATCH 0506/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/onyx/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/fr.md b/markdown/org/docs/designs/onyx/notes/fr.md index 39609911a55..a6ef2ccdb44 100644 --- a/markdown/org/docs/designs/onyx/notes/fr.md +++ b/markdown/org/docs/designs/onyx/notes/fr.md @@ -10,7 +10,7 @@ La jupe a été ajoutée par souci de pudeur, principalement pour les maillots d Onyx copie en effet un certain nombre de caractéristiques de Shelly, notamment les manches raglan pour la mobilité et l'utilisation de parties avant et arrière symétriques, à l'exception du cou et de la tête. -Onyx est nommé d'après la pierre précieuse et sa couleur noire profonde, qui n'est pas par hasard une excellente couleur de base pour les maillots de bain Onyx, en particulier si l'on veut qu'ils ressemblent à une combinaison de plongée. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. Un peu d'histoire : Onyx n'aurait peut-être jamais vu le jour sans les manifestations anti-LGBTQ+ et les boycotts du printemps 2023, qui ont fait qu'une combinaison que j'aimais particulièrement a été retirée des rayons d'un grand détaillant américain, et que j'ai eu besoin d'une solution de remplacement convenable. From 5ac55f0cc2b174607cb00cab791f7185cdd73268 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:42:50 +0100 Subject: [PATCH 0507/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/lumira/instructions/fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/fr.md b/markdown/org/docs/designs/lumira/instructions/fr.md index 14a27b00267..5231b5fc9d4 100644 --- a/markdown/org/docs/designs/lumira/instructions/fr.md +++ b/markdown/org/docs/designs/lumira/instructions/fr.md @@ -1,6 +1,6 @@ ---- +\-- title: "Lumira leggings: Sewing Instructions" ---- +--------------------------------------------- @@ -59,4 +59,4 @@ in the right spot. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -Vous avez terminé ! Enjoy your Lumina leggings! +Vous avez terminé ! Enjoy your Lumira leggings! From d256029e8a96b7ffeca030f6b5bdadf423ddda04 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:42:55 +0100 Subject: [PATCH 0508/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/lumira/options/ease/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/fr.md b/markdown/org/docs/designs/lumira/options/ease/fr.md index cd3fa40dbb2..f31a2264459 100644 --- a/markdown/org/docs/designs/lumira/options/ease/fr.md +++ b/markdown/org/docs/designs/lumira/options/ease/fr.md @@ -3,10 +3,10 @@ title: Aisance --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narrower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From c88cae08d95ccfaab6d4c527680e657a16500739 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:43:54 +0100 Subject: [PATCH 0509/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/aaron/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/es.md b/markdown/org/docs/designs/aaron/instructions/es.md index 5b38cc392e6..b986569f590 100644 --- a/markdown/org/docs/designs/aaron/instructions/es.md +++ b/markdown/org/docs/designs/aaron/instructions/es.md @@ -103,7 +103,7 @@ Con alrededor de 6 cm para ir antes de completar nuestro círculo, es hora de co ![Marcar como enlace](step03f.png) -Tome uno de los bordes y lo estire a lo largo de los 3 cm separándola desde el punto de partida como lo haría mientras se coser. +Tome uno de los bordes, y lo estire a lo largo de los 3 cm separándolo del punto de partida como lo haría mientras coser. Marque el enlace donde llegue al punto de partida. Haga lo mismo con el otro extremo. @@ -113,7 +113,7 @@ Marque el enlace donde llegue al punto de partida. Haga lo mismo con el otro ext Doblar tu camisa de cualquier manera te hace más fácil colocar ambos extremos de unión con buenos lados juntos, alineando las marcas. Consume a ellos juntos en la marca. -> 6 cm no es mucho, pero debe ser suficiente para conseguir que ambos bordes cómodamente debajo de su máquina de coser para coser togther. +> 6 cm no es mucho, pero debería ser suficiente para conseguir que ambos bordes cómodamente debajo de su máquina de coser juntos. ### Terminar los últimos 6 cm de encuadernado From 12821d103907fff45848f8e68204e498bf8d54e1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:44:13 +0100 Subject: [PATCH 0510/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bee/cutting/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/es.md b/markdown/org/docs/designs/bee/cutting/es.md index b09c06b86de..f01836071a4 100644 --- a/markdown/org/docs/designs/bee/cutting/es.md +++ b/markdown/org/docs/designs/bee/cutting/es.md @@ -38,6 +38,6 @@ Hay tres variaciones de este patrón. **Un color**, que es cuando la parte super -Este patrón es fácilmente reversible comprando una tela similar a la tela principal y utilizándola como contraste. Para evitar confusiones en las instrucciones, se denominará tela de forro. +Este patrón es fácilmente reversible comprando una tela similar a la tela principal y utilizándola como contraste. To save confusion on instructions it will be referred to as the lining fabric. From 08167a13699d3a3afc8b6d527ae30d7a4dd7bfcc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:44:14 +0100 Subject: [PATCH 0511/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bee/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/es.md b/markdown/org/docs/designs/bee/fabric/es.md index 3f81d0ac29b..cd259ec75d9 100644 --- a/markdown/org/docs/designs/bee/fabric/es.md +++ b/markdown/org/docs/designs/bee/fabric/es.md @@ -8,6 +8,6 @@ El tejido principal y el del forro son del mismo tipo de material. Bee está con -Sólo necesitarás tela de forro si pretendes que el patrón sea reversible o si quieres que la banda para la variante de la corbata cruzada sea de tela contrastada. Si no, puedes cortar todas las piezas necesarias de tu tela principal. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Si no, puedes cortar todas las piezas necesarias de tu tela principal. From 23da11857b775550b780471e22a2db23f1945f15 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:44:15 +0100 Subject: [PATCH 0512/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bee/instructions/es.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/es.md b/markdown/org/docs/designs/bee/instructions/es.md index 73f90a299f1..22719a9e64b 100644 --- a/markdown/org/docs/designs/bee/instructions/es.md +++ b/markdown/org/docs/designs/bee/instructions/es.md @@ -8,7 +8,7 @@ Asegúrate de utilizar una puntada elástica -Cuando hagas un top reversible, el segundo color se denominará tela del forro. +When making a reversible top the second colour will be referred to as the lining fabric. Las muescas de este patrón actúan más bien como puntos, así que **no** las recortes para marcarlas. @@ -30,7 +30,7 @@ Las muescas de este patrón actúan más bien como puntos, así que **no** las r - Recorta los márgenes de costura y recorta las esquinas. - Gira al revés. Alísala. -Repite la operación con el resto de los trozos de corbata +Repeat this for the remaining neck tie pieces ### Paso 2: Las copas @@ -51,9 +51,9 @@ Las muescas de este patrón actúan más bien como puntos, así que **no** las r Si tu margen de costura es ancho, puede que necesites recortar un poco los márgenes de costura de los huecos para reducir el volumen. -Si tienes problemas para girar las copas, puedes probar uno de estos métodos: +If you are having trouble turning the cups you can try one of these methods: -- Crea un hueco de 2,5 cm (1") en la costura frontal o lateral y gira a través de él, _cosiendo_ el hueco o _cosiéndolo_ durante el paso 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Ensancha uno de los huecos existentes y gira a través de él. Luego, al girar el _edgestitch_ o el _slipstitch_ se cierra la parte ensanchada. @@ -85,7 +85,7 @@ También hay muescas a ambos lados del punto medio de la pieza de la banda para -Tal vez prefieras envolver una copa sobre la otra en el punto medio. Para ello, coloca los laterales de las copas en las muescas otuernas y coloca sus frentes pasando el punto medio con el izquierdo encima. +Tal vez prefieras envolver una copa sobre la otra en el punto medio. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From a7131cdac93cca7607e6a4b4cee9ec89b1f7b896 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:12 +0100 Subject: [PATCH 0513/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/es.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/es.md index dd616aa3b01..92126ca9e91 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/es.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/es.md @@ -2,7 +2,7 @@ title: "Reducción de caída del hombro" --- -Este patrón se adapta al hombro inclinado teniendo en cuenta la inclinación del hombro. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. Sin embargo, para chaquetas o abrigos, es posible que desee crear más espacio en los hombros para permitir las almohadillas de hombro. Esta opción le permite crear espacio extra en los hombros reduciendo la cantidad que los hombros están inclinados. From b3b540836d0523468b5c96a6add5e17fbd6ab9ab Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:17 +0100 Subject: [PATCH 0514/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bob/instructions/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/es.md b/markdown/org/docs/designs/bob/instructions/es.md index 0d02af39e83..88465bc5bed 100644 --- a/markdown/org/docs/designs/bob/instructions/es.md +++ b/markdown/org/docs/designs/bob/instructions/es.md @@ -25,7 +25,7 @@ Make sure to sew close to the edge so that the stitches will be under the bias t ## Paso 2: Colocar la cinta al bies -Vamos a aplicar cinta al bies como acabado alrededor de todo el borde del babero. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. From e0e199175a7db485e66fd214966ebb0a8fe374a0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:22 +0100 Subject: [PATCH 0515/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bob/options/widthratio/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/es.md b/markdown/org/docs/designs/bob/options/widthratio/es.md index 083b36be708..05cc8dfceba 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/es.md +++ b/markdown/org/docs/designs/bob/options/widthratio/es.md @@ -5,7 +5,7 @@ title: Relación de anchura Controla el ancho de la bib. - Aumenta el porcentaje para ampliar la anchura del dorsal. -- Disminuye el porcentaje para estrechar la anchura del babero. +- Decrease the percentage to constrict the width of the bib. From b97d31623fbca50cd26b96c0cb703320eef0f6e5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:31 +0100 Subject: [PATCH 0516/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/breanna/options/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/es.md b/markdown/org/docs/designs/breanna/options/es.md index 61a3547e792..a219a68f567 100644 --- a/markdown/org/docs/designs/breanna/options/es.md +++ b/markdown/org/docs/designs/breanna/options/es.md @@ -40,7 +40,7 @@ La altura de la manga es igual a la distancia entre los puntos 3 y 4. La altura - [Sleevecap top X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Controla la colocación horizontal del punto 3 y 4 - [Sleevecap superior Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Controla la posición vertical del punto 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Los puntos de inflexión From b548ca0bc7709c7561885caaefb2f2f6694f2cd2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:36 +0100 Subject: [PATCH 0517/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/es.md b/markdown/org/docs/designs/breanna/options/shoulderdart/es.md index c8181355c7e..34382375114 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/es.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/es.md @@ -2,7 +2,7 @@ title: "Dardo de hombro" --- -Incluir o no un dardo en el hombro trasero para redondear la espalda. +Whether or not to include a back shoulder dart to round the back. From 4a2ee50f23a6d037de1785887ebb6e49013ffc76 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:41 +0100 Subject: [PATCH 0518/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/breanna/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/es.md b/markdown/org/docs/designs/breanna/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From f0fc3b0df434aa8eb11505e3c717387c93940264 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:48 +0100 Subject: [PATCH 0519/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From b31fc65026e63d35434bdf04ba3dac210d690a3f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:45:55 +0100 Subject: [PATCH 0520/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/breanna/options/waistdart/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/es.md b/markdown/org/docs/designs/breanna/options/waistdart/es.md index 2358e3adf79..6ba75b4516d 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/es.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/es.md @@ -2,7 +2,7 @@ title: "Dardo de Waist" --- -Incluir o no una pinza en la cintura para redondear la espalda. +Whether or not to include a back waist dart to round the back. From 2356d048586ba38fd5b10cc99afc096ea83f70b9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:46:06 +0100 Subject: [PATCH 0521/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/brian/options/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/es.md b/markdown/org/docs/designs/brian/options/es.md index ba688959ac8..a6698c79dad 100644 --- a/markdown/org/docs/designs/brian/options/es.md +++ b/markdown/org/docs/designs/brian/options/es.md @@ -40,7 +40,7 @@ La altura de la manga es igual a la distancia entre los puntos 3 y 4. La altura - [Sleevecap top X](/docs/designs/brian/options/sleevecaptopfactorx/) : Controla la colocación horizontal del punto 3 y 4 - [Sleevecap superior Y](/docs/designs/brian/options/sleevecaptopfactory/) : Controla la posición vertical del punto 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Los puntos de inflexión From d7b80f38d7b55d56781a019689daafbd4850f0fd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:46:12 +0100 Subject: [PATCH 0522/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/brian/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/es.md b/markdown/org/docs/designs/brian/options/sleevecapease/es.md index 37e98c89941..4f2540827ed 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/es.md @@ -8,7 +8,7 @@ Esta opción determina la cantidad de holgura en la solapa de la manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From bec25d9d610155499bb7979213e6d20c56cc2f11 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:46:20 +0100 Subject: [PATCH 0523/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/es.md index dac4a490ffd..c9d54e17659 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/es.md @@ -4,7 +4,7 @@ title: "Funda Q3 extendido hacia arriba" *** -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From 26de095074fbb2fb14771715f1381b822c37b471 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:46:28 +0100 Subject: [PATCH 0524/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bruce/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/es.md b/markdown/org/docs/designs/bruce/instructions/es.md index e729f158c40..f265b33d5f0 100644 --- a/markdown/org/docs/designs/bruce/instructions/es.md +++ b/markdown/org/docs/designs/bruce/instructions/es.md @@ -158,7 +158,7 @@ Tomalo lento, y sé **muy conocido** de dónde corta tu espada serger. ![Hem la primera pierna](step11.png) -Es hora de cortar las piernas. Cámbielos como lo harías con cualquier otro tejido. Vaya a un stitch flexible. Puedes usar una ranura zig-zag o una aguja gemela si no tienes un candado o un ajuste flexible específico. +Es hora de cortar las piernas. Cámbielos como lo harías con cualquier otro tejido. Vaya a un stitch flexible. Puedes usar una ranura zig-zag o una aguja gemela si no tienes un candado o un ajuste de stitch flexible específico. @@ -202,7 +202,7 @@ Si estás usando una cubierta, pon el elástico en la parte superior del buen la -La longitud de su elástico probablemente difiere de la longitud del tejido, ya que se estiran de forma diferente. +The length of your elastic will probably differ from the fabric length, as they stretch differently. La fijación te ayudará a conseguir un estiramiento uniforme. Divida su cintura elástica y boxeadora en 4 (o 8) partes. Fijar elástico y tejer juntos en estos puntos. From ef1ca8ec8713b9b836371f7cd20856ae1bf3c135 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:46:34 +0100 Subject: [PATCH 0525/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bruce/options/rise/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/es.md b/markdown/org/docs/designs/bruce/options/rise/es.md index 259a778817d..c0eace59916 100644 --- a/markdown/org/docs/designs/bruce/options/rise/es.md +++ b/markdown/org/docs/designs/bruce/options/rise/es.md @@ -4,7 +4,7 @@ title: "Elevación de la cintura" ![Opción de ascenso en Bruce](./rise.svg) -Esta opción controla la altura general de la cintura. +This option controls the overall height of the waist. > Cuanto mayor sea el ascenso, mayor será la cintura. From 4abb8a5f06bcf6a156e92a0927b6596e74442af0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:33 +0100 Subject: [PATCH 0526/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/carlton/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/es.md b/markdown/org/docs/designs/carlton/options/sleevecapease/es.md index 2590b9b0a34..31e7832a174 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/es.md @@ -8,7 +8,7 @@ title: "Holgura de la parte superior de la manga" > #### ¿Cuál es la cuestión? > -> La facilidad de manga determina cómo rodar las mangas desde el grifo. +> La cantidad de manga fácil determina cómo rodar las mangas del hombro. > > Más facilidad hace que la manga se cuelgue en la costura como esperarías de un abrigo. Menos facilidad hace que la manga sea más lisa. From 819e745231fd45eb3fae2876750ac803b1e9aac8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:49 +0100 Subject: [PATCH 0527/1313] New translations en.md (Spanish) skip-build --- .../docs/designs/charlie/instructions/es.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/es.md b/markdown/org/docs/designs/charlie/instructions/es.md index 467df87638d..e1b911b6305 100644 --- a/markdown/org/docs/designs/charlie/instructions/es.md +++ b/markdown/org/docs/designs/charlie/instructions/es.md @@ -194,7 +194,7 @@ Cuando hayas terminado, presiona Abrirlo. Comprueba que tus piernas derecha e izquierda coinciden con las marcas del patrón. La entrepierna de la pierna derecha debe sobresalir ligeramente de la izquierda. Consulta el patrón y corta el sobrante de la pierna izquierda si es necesario. -Puede ser valioso marcar con tiza o hilo el **Centro delantero** en cada pata. Esto te ayudará a asegurarte de que las piezas están en el lugar correcto durante la construcción de la mosca. +Puede ser valioso marcar con tiza o hilo el **Centro delantero** en cada pata. This will help you make sure the pieces are in the right place during fly construction. @@ -277,14 +277,14 @@ Recuerda que el margen de costura comienza ligeramente a la derecha del centro d Asegúrate de colocar el borde doblado de la pernera derecha justo a la izquierda de los dientes de la cremallera para evitar que la tela se enganche en la cremallera. -Deja de coser en la muesca superior de la "extensión de la bragueta", ligeramente por encima de la costura transversal, y asegúrate de pespuntear. Si no lo haces, no podrás mantener la extensión apartada al coser la costura en J. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. Si no lo haces, no podrás mantener la extensión apartada al coser la costura en J. ![Fijar la extensión a la pierna derecha](AttachExtensionToRightLeg.svg) ### Coloca la cremallera en la cara de la bragueta. -Ten cuidado de alinear la pierna izquierda en el centro delantero derecho. Puede ser útil prender con alfileres o hilvanar a través de la cara y el lado derecho de la cinta de la cremallera. (Tenemos que coser el lado izquierdo de la cinta de la cremallera a la pierna izquierda). Asegurándote de que todo está forrado, cose la cara de la bragueta al lado izquierdo de la cremallera. Intenta acercarte a la cremallera, pero no demasiado. +Ten cuidado de alinear la pierna izquierda en el centro delantero derecho. It can be valuable to pin or baste through the facing and right side of the zipper tape. (Tenemos que coser el lado izquierdo de la cinta de la cremallera a la pierna izquierda). Asegurándote de que todo está forrado, cose la cara de la bragueta al lado izquierdo de la cremallera. Intenta acercarte a la cremallera, pero no demasiado. ![Fijar el revestimiento a la cremallera](AttachFacingToZipper.svg) @@ -293,15 +293,15 @@ Ten cuidado de alinear la pierna izquierda en el centro delantero derecho. Puede -Utiliza un trozo de papel como guía para coser la costura en J, que puedes recortar de tu patrón a lo largo de la línea de puntada indicada. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Ahora suman la llamada costura J de la mosca. Asegúrese de mantener la extensión de la mosca fuera del camino. Como no has cosido toda la extensión de la bragueta, deberías poder sujetarla con alfileres. +Ahora suman la llamada costura J de la mosca. Asegúrese de mantener la extensión de la mosca fuera del camino. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Barra toca la parte inferior de la mosca -Ahora, remacha la parte inferior de la costura en J (la parte horizontal), pero esta vez asegúrate de coger también la extensión de la bragueta. También puedes añadir un remate adicional a lo largo de la costura en J (en morado). +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. También puedes añadir un remate adicional a lo largo de la costura en J (en morado). ![Cose la costura en J](SewTheJSeam.svg) @@ -311,7 +311,7 @@ Ahora, remacha la parte inferior de la costura en J (la parte horizontal), pero -Para la eficiencia, contructaremos una larga franja de bucle de cinturón que dividiremos en 8 partes. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -361,7 +361,7 @@ Difunde una línea de cinta en el interior de la cintura, cerca del borde, a tra Coloque la cintura con buenos lados junto a la cintura. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -También asegúrese de dejar la costura suficiente más allá del principio y el final de la cintura. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Sufrió a lo largo de toda la cintura, uniendo la cintura y cosiendo los bucles de cintura en una sola vez. @@ -399,7 +399,7 @@ Esto cogerá la parte trasera de la cintura que hemos hecho para extenderse un p ### Difunde los bucles de la cinta para hacerlos más anchos -Es mejor hacer las trabillas un poco más anchas que la cintura, para acomodar cinturones más anchos. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. Para ello, deja que la cintura quede plana y cósela con un remate 1,5 cm más o menos (media pulgada) por debajo de la cintura. From d22d33f1a9f0d8d6b934dd4f875bc3acf73faafd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:54 +0100 Subject: [PATCH 0528/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/es.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/es.md index fc616b66e78..162c9ffd3c0 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/es.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/es.md @@ -2,7 +2,7 @@ title: "Ancho del bolsillo trasero" --- -Construye la anchura de los bolsillos traseros. +Controls the width of the back pockets. From 29fd42064d7450c6b6df0e24f3ea8018ac9325ac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:55 +0100 Subject: [PATCH 0529/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/charlie/options/beltloops/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/es.md b/markdown/org/docs/designs/charlie/options/beltloops/es.md index 544327ad93f..ee98aeae27e 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/es.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/es.md @@ -2,7 +2,7 @@ title: "Bucles de cinturón" --- -Construir cuántos bucles de cinturón vamos a generar. +Controls how many beltloops we'll generate. From dbbe30f726d12953c10ad90086e034022293c897 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:58 +0100 Subject: [PATCH 0530/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/es.md b/markdown/org/docs/designs/charlie/options/crotchdrop/es.md index df7f502aa22..271483219e6 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/es.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/es.md @@ -4,8 +4,8 @@ title: "Gota de cromo" Controla por cuánto se reduce el crocer. -Bajar el cromo hace que sea más informal. -Un crotched bajado con señales también puede ser una elección de estilo. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 7d27d393c1d3917ed0ac3ac5fea41d28d83fd70c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:47:59 +0100 Subject: [PATCH 0531/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/es.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/es.md index 3df369d5693..d764a7c61ba 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/es.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/es.md @@ -2,7 +2,7 @@ title: "curva de costura cruda" --- -Controla la curvatura de la costura de la costra, que influye en el encaje de su cosecha. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From ae8d6bdbc8d2e17b71aec95e50102ac5b011e38b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:02 +0100 Subject: [PATCH 0532/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/charlie/options/flylength/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/es.md b/markdown/org/docs/designs/charlie/options/flylength/es.md index 551f3eb0a1a..07c6d88a0fe 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/es.md +++ b/markdown/org/docs/designs/charlie/options/flylength/es.md @@ -2,7 +2,7 @@ title: "Longitud del vuelo" --- -Construye la longitud de la mosca. +Controla la longitud de la mosca. From 135374b880c0227313bca7fc2729c5175a2606eb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:16 +0100 Subject: [PATCH 0533/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/cornelius/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/es.md b/markdown/org/docs/designs/cornelius/fabric/es.md index 9a0da8357cf..cf7caf848c0 100644 --- a/markdown/org/docs/designs/cornelius/fabric/es.md +++ b/markdown/org/docs/designs/cornelius/fabric/es.md @@ -4,7 +4,7 @@ title: "Pantalón de ciclismo Cornelius: Opciones de tejido" ### Tela principal -Cualquier material de peso inferior (pantalón) de **** funcionará bien para este patrón. Por lo general, debes evitar todo lo que pese más de 230 g/m², ya que lo más probable es que sea demasiado rígido e incómodo. Quieres algo que proporcione un poco de calor y que, al mismo tiempo, sea capaz de drapear, como los tejidos **Corduroy** o **Medium Weight Suiting** . Si buscas algo más históricamente correcto, entonces **Traje de lana de peso medio** es el camino a seguir. **El lino** también es una opción, sobre todo si quieres algo que no abrigue demasiado. +Cualquier material de peso inferior (pantalón) de **** funcionará bien para este patrón. Por lo general, debes evitar todo lo que pese más de 230 g/m², ya que lo más probable es que sea demasiado rígido e incómodo. Quieres algo que proporcione un poco de calor y que, al mismo tiempo, sea capaz de drapear, como los tejidos **Corduroy** o **Medium Weight Suiting** . If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **El lino** también es una opción, sobre todo si quieres algo que no abrigue demasiado. From d64409b55eff50dcddbbac222bd512d2b0eb9c2c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:17 +0100 Subject: [PATCH 0534/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/cornelius/instructions/es.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/es.md b/markdown/org/docs/designs/cornelius/instructions/es.md index 1c980a1543d..14936f1d551 100644 --- a/markdown/org/docs/designs/cornelius/instructions/es.md +++ b/markdown/org/docs/designs/cornelius/instructions/es.md @@ -4,13 +4,13 @@ title: "Pantalones de ciclista Cornelius: Instrucciones de costura" ### Paso 1: Los bolsillos delanteros -- Presiona por debajo de los márgenes de costura de los bordes no dentados de las carátulas del pokcet. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Haciendo coincidir las muescas, sujeta con alfileres los lados equivocados de los revestimientos de los bolsillos al lado derecho de las bolsas de bolsillo, _Edgestitch_ los bordes doblados a las bolsas de bolsillo. - _Hilvana_ los márgenes de costura de los bordes dentados de las carátulas de los bolsillos a las bolsas de los bolsillos. - Con los lados derechos juntos haciendo coincidir las muescas dobles, cose las bolsas de bolsillo a la parte delantera y luego presiona hacia el lado equivocado. - Dobla los bolsillos por la mitad siguiendo la línea de pliegue, con los lados derechos juntos. Cose el fondo de la bolsa de bolsillo. - Si lo prefieres, puedes unir las costuras inferiores de las bolsas con la _costura francesa_. -- _Hilvana_ la parte superior y los laterales de las bolsas de los bolsillos a los márgenes de costura delanteros haciendo muescas matemáticas. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Utiliza el método del estilo de puño que hayas elegido, ya que son diferentes - Presiona el margen de costura superior hacia el revés de las piezas restantes de la banda para la pierna. Recorta el margen de costura superior. - Con los lados derechos juntos, cose el resto de la pierna y las piezas a las bandas de la pierna pegadas a lo largo de los fondos y los lados. - Gira las bandas de las piernas hacia fuera. Alísala. -- _Puntada de deslizamiento_ o _Puntada de cadeneta_ el borde doblado de la cintura hacia delante, asegurándote de que el borde doblado cubre la puntada. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Cose el ojal. Los botones se coserán más tarde. @@ -89,7 +89,7 @@ Si te preocupa que se forme una corriente de aire, puedes crear un triángulo de - Presiona el margen de costura superior hacia el revés de las piezas restantes de la banda para la pierna. Recorta el margen de costura superior. - Con los lados derechos juntos, cose el resto de la pierna y las piezas a las bandas de la pierna pegadas a lo largo de los fondos y los lados. - Gira las bandas de las piernas hacia fuera. Alísala. -- _Puntada de deslizamiento_ o _Puntada de cadeneta_ el borde doblado de la cintura hacia delante, asegurándote de que el borde doblado cubre la puntada. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Cose el ojal. Los botones se coserán más tarde. @@ -108,13 +108,13 @@ Si lo prefieres, puedes _coser_ las bandas de las perneras como una cinturilla m ### Paso 5: Cintura -- Enfrenta una de las piezas de la cintura utilizando el método que prefieras. +- Face one of the waistband pieces using your preferred method. - Cose la pieza de cintura encarada a la parte superior de las piernas con los lados derechos juntos. - Plancha la cintura y el margen de costura hacia arriba y lejos de la pierna. Recorta el margen de costura para reducir el volumen. - Plancha el margen de costura inferior hacia el revés de la pieza restante de la cintura. Recorta el margen de costura inferior. - Con los lados derechos juntos, cose la cintura restante a la cintura enfrentada a lo largo de la parte superior y los lados. - Gira la cintura hacia fuera. Alísala. -- _Puntada de deslizamiento_ o _Puntada de cadeneta_ el borde doblado de la cintura hacia delante, asegurándote de que el borde doblado cubre la puntada. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Cose el ojal. Los botones se coserán más tarde. From d0ce8494f0373010cca5cd8d9001588a0e528aba Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:37 +0100 Subject: [PATCH 0535/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/es.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/es.md index 99ce2bb6f7c..230dd17b94a 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/es.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/es.md @@ -4,7 +4,7 @@ title: "Longitud de la costura de hombro" ![La opción de longitud de costura del hombro en Diana](./shoulderseamlength.svg) -Esta opción determina la anchura de la abertura del cuello, controlando la longitud de la costura del hombro. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From b5f3b91d96deea28d88ac1a8ebbf6c493f717788 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:39 +0100 Subject: [PATCH 0536/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/diana/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/es.md b/markdown/org/docs/designs/diana/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From d5629eda714861aaa1d24762b7f8e5bd93e87977 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:47 +0100 Subject: [PATCH 0537/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From db0d9676b468850ccd3590527c1506623f1aca53 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:48:56 +0100 Subject: [PATCH 0538/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/florence/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/es.md b/markdown/org/docs/designs/florence/fabric/es.md index 63ba9ac20f1..3921a532e5a 100644 --- a/markdown/org/docs/designs/florence/fabric/es.md +++ b/markdown/org/docs/designs/florence/fabric/es.md @@ -4,7 +4,7 @@ title: "Máscara facial Florence: Opciones de tejido" El objetivo de nuestra mascarilla es parar las gotitas. Así que quieres algo que las mantenga fuera. Además, necesitas poder respirar a través de la mascarilla, así que queremos una mascarilla que sea transpirable pero que no deje pasar las gotitas. -Además, queremos que el interior sea cómodo en piel. Así que sugeriría un dejido denso de algodón o viscosa/rayón. Para la tela exterior, también algodón, o una lana tejida bien apretada. +Además, queremos que el interior sea cómodo en piel. Así que sugeriría un dejido denso de algodón o viscosa/rayón. For the outer fabric, cotton again, or a tightly woven wool. From 7e574fe27ba77686c6d2e44487016528728952d8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:02 +0100 Subject: [PATCH 0539/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/florent/cutting/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/es.md b/markdown/org/docs/designs/florent/cutting/es.md index f8ac64de632..50b9fbc8ea3 100644 --- a/markdown/org/docs/designs/florent/cutting/es.md +++ b/markdown/org/docs/designs/florent/cutting/es.md @@ -2,7 +2,7 @@ title: "Gorra plana Florent: Instrucciones de corte" --- -Para hacer a Floren, recorta las siguientes partes: +To make Florent, cut out the following parts: - **Tela principal** - Corta **1 parte superior** en el pliegue, pero no incluya la asignación de costura central, o **2 top** con la asignación de costura central. From 4cbe776729863f700ff4edd1b2322e2a56eb2305 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:13 +0100 Subject: [PATCH 0540/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hi/options/hungry/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/es.md b/markdown/org/docs/designs/hi/options/hungry/es.md index 0d1ad597dd3..93980b1d840 100644 --- a/markdown/org/docs/designs/hi/options/hungry/es.md +++ b/markdown/org/docs/designs/hi/options/hungry/es.md @@ -2,7 +2,7 @@ title: "Con hambre" --- -This setting determins how long it has been since your Hi has had something to eat. Más hambre resulta en un tiburón más delgado. +This setting determines how long it has been since your Hi has had something to eat. Más hambre resulta en un tiburón más delgado. From 2658d534a108b888a7103c90ddbf6a246cdb343b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:15 +0100 Subject: [PATCH 0541/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/holmes/cutting/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/es.md b/markdown/org/docs/designs/holmes/cutting/es.md index 1b45f518998..ac6ddd314ee 100644 --- a/markdown/org/docs/designs/holmes/cutting/es.md +++ b/markdown/org/docs/designs/holmes/cutting/es.md @@ -17,7 +17,7 @@ The **gore** pattern piece needs to be cut on the fold to create a whole piece. ### Telas opcionales -Si no desea utilizar cinta para sus corbatas, puede fabricarlas a partir de tejidos. Basta con cortar 4 tiras de grano cruzado de un 1" (2. cm) o anchura de su elección + franquicias de costura de ancho y coser dos tubos dejando uno de los lados cortos abiertos para girar. Recorta las esquinas y recorta las costuras. Apagar una prensa. Si lo deseas, puedes _Puntada de borde_ o _Puntada superior_ los tubos para evitar que la tela se desplace. El borde en bruto de las válvulas puede entonces ocultarse en la costura de la tapa, cuando se construyen las tapas de los oídos. +Si no desea utilizar cinta para sus corbatas, puede fabricarlas a partir de tejidos. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Recorta las esquinas y recorta las costuras. Apagar una prensa. Si lo deseas, puedes _Puntada de borde_ o _Puntada superior_ los tubos para evitar que la tela se desplace. El borde en bruto de las válvulas puede entonces ocultarse en la costura de la tapa, cuando se construyen las tapas de los oídos. @@ -26,6 +26,6 @@ Se recomienda dibujar la red de patrones y utilizar el patrón para rastrear las -It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Asegúrate de cortar la franquicia de costura inferior antes de probarla. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Una vez re-redactado haga otra simulación para comprobar si está satisfecho con los cambios o no. Repita de nuevo si no está satisfecho. +It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Asegúrate de cortar la franquicia de costura inferior antes de probarla. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Repita de nuevo si no está satisfecho. From f2e5823ffb34e1b0f6c03395ab5dc24202e31eaf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:18 +0100 Subject: [PATCH 0542/1313] New translations en.md (Spanish) skip-build --- .../docs/designs/holmes/instructions/es.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/es.md b/markdown/org/docs/designs/holmes/instructions/es.md index dc5ec268168..81372944b4a 100644 --- a/markdown/org/docs/designs/holmes/instructions/es.md +++ b/markdown/org/docs/designs/holmes/instructions/es.md @@ -31,7 +31,7 @@ Estas instrucciones asumen que has marcado tus líneas de costura. Pueden ser m - Presiona las costuras para abrirlas. Para ello, si no dispone de jamón puede utilizar flanneles o toallas en su lugar. - (Opcional) _Canteado_ ambos lados de la costura, asegurándote de coger los márgenes de costura. - Repite la operación hasta que tengas dos mitades. Si la mitad del número de piezas de la corona es un número impar, tendrás que coser una sola pieza para cada mitad. Por ejemplo, si usted tiene 6 piezas de la corona, usted hace dos mitades de 3 coser una pieza a dos piezas cocidas juntas. -- Con los lados derechos juntos, haciendo coincidir las líneas de costura y los picos, cose las dos mitades. Es posible que le resulte más fácil unir la mano debido a la masa o a la precisión. Esta costura será referida como la "costura de la corona central" que avanza. +- With right sides together, matching seam lines and peaks, sew the two halves together. Es posible que le resulte más fácil unir la mano debido a la masa o a la precisión. This seam will be referred to as the "centre crown seam" going forward. - (Opcional) _Canteado_ ambos lados de la costura central de la corona, asegurándote de coger los márgenes de costura. @@ -44,7 +44,7 @@ Dependiendo de su franquicia de costura puede que desee recortar costuras a medi #### Aleteados con ataduras -- Corta dos trozos de cinta de 30 cm a 40 cm. Se referirán a ellos como lazos que avanzan. +- Corta dos trozos de cinta de 30 cm a 40 cm. These will be referred to as ties going forward. - _Hilvana_ un lazo en el lado derecho de una solapa de la oreja (la entretela si la usas). Repetir para otro empate. - Con los lados derechos juntos, haciendo coincidir las líneas de costura, cose una orejera con corbata a una orejera sin corbata. - Recorta el margen de costura. @@ -74,7 +74,7 @@ Si lo prefieres, puedes hacer tus corbatas personalizadas con tela, [ver Holmes - Dale la vuelta y presiona. - (Opcional) _Puntada de remate_ o _Puntada de remate_ el borde doblado. - _Hilvana_ juntando los bordes crudos. -- Cose el ojal con el método que prefieras. +- Sew the buttonhole in your preferred method. - Repite la operación con la orejera restante. @@ -98,7 +98,7 @@ There are two methods for constructing the bill. This is due to the different ty #### The Bill Method 1 - Coloca el inserto de la visera en una pieza de la visera dentro de las líneas de costura. -- Fija temporalmente el inserto de la visera a la visera con la almohadilla temporal _Puntadas_. A partir de ahora se denominará "visera enfrentada". +- Fija temporalmente el inserto de la visera a la visera con la almohadilla temporal _Puntadas_. This will be referred to as "faced visor" going forward. - _Hilvana_ a lo largo de la línea de costura de la curva interior de la visera frontal, asegurándote de no enganchar el inserto de la visera. - Con los lados derechos juntos, haciendo coincidir las líneas de costura y los frentes centrales, cose la visera enfrentada a otra pieza de visera a lo largo de la curva exterior cerca del inserto de la visera, asegurándote de no enganchar el inserto de la visera. - Haz una muesca y recorta la curva exterior asegurándote de no cortar la costura. (Es posible que quieras girar y comprobar la forma antes de este paso) @@ -120,10 +120,10 @@ If preferred you can temporarily attach the bill insert another way that does no #### The Bill Method 2 -- Con los lados derechos juntos, haciendo coincidir las líneas de costura y los frentes centrales, cose el rizo exterior de dos piezas de visera. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Haz una muesca y recorta (si es necesario) la curva exterior asegurándote de no cortar la costura. (Es posible que quieras girar y comprobar la forma antes de este paso) - Dale la vuelta y presiona. -- Inserta el inserto de la visera en la visera cosida firmemente, de modo que no quede ningún hueco en la curvatura exterior y los márgenes de costura queden todos a un lado del inserto de la visera. Esta será la parte superior de la visera. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. Esta será la parte superior de la visera. - Une con alfileres la curva interior, asegurándote de que el borde exterior quede bien ajustado sobre el inserto de la visera. - _Hilvana_ tan cerca como puedas de la curva interior del inserto de la visera, asegurándote de que tiras de la tela firmemente sobre el borde exterior mientras coses. - Repite la operación con el resto de las piezas de la visera. @@ -144,7 +144,7 @@ Una vez más, hay dos métodos para el montaje final y el revestimiento. Lea amb - Retira todas las puntadas de almohadilla e hilvanado. - Presiona los márgenes hacia dentro, asegurándote de que las costuras no se vean por fuera. - (Opcional) Sin apretar, haz punto elástico __ las costuras hacia el interior de la corona, asegurándote de que las puntadas no se vean por fuera. -- Construye el forro del mismo modo que la corona omitiendo _edgestitching_. +- Construct lining the same way as the crown omitting _edgestitching_. - Dobla y presiona por debajo del margen de costura inferior del forro. Puede que tenga que pulsar debajo de más para evitar que el revestimiento se muestre. También puede que necesites hilvanar __ el margen de costura hacia abajo. - Une con alfileres las costuras del centro de la copa y las costuras de los paneles e introduce el forro en el gorro por el revés. Coloca el borde doblado a lo largo de las líneas de costura. - _Haz punto enano_ o punto elástico __ el forro al margen de costura del sombrero. @@ -160,8 +160,8 @@ Una vez más, hay dos métodos para el montaje final y el revestimiento. Lea amb - Hilvana a mano la visera a la corona haciendo coincidir las líneas de hilvanado de la visera con las líneas de costura de la corona. Es más fácil _hilvanar_ primero el centro hacia abajo y luego trabajar desde el centro hacia fuera. - (Opcional) Une a máquina la visera a la corona por las líneas de costura. - Repite la operación con la visera restante en el lado opuesto de la costura central de la corona. -- Construye el forro de la misma forma que la corona omitiendo _edgestitching_ y dejando un hueco en la costura central del forro lo suficientemente grande como para dar la vuelta al sombrero. -- Con los lados derechos juntos, haz coincidir las costuras de la corona central, las costuras de los paneles y las líneas de costura. Difundir el revestimiento a la corona a lo largo de las líneas de costura. Si es voluminoso puede querer recortar las costuras de forro o ambas costuras. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- Con los lados derechos juntos, haz coincidir las costuras de la corona central, las costuras de los paneles y las líneas de costura. Sew the lining to the crown along seam lines. Si es voluminoso puede querer recortar las costuras de forro o ambas costuras. - Gira el sombrero del revés, presionando el forro hacia el interior. - (Opcional/Alternativo) _Puntada inferior_ forro. - Abertura del forro con pespunte cerrada. @@ -226,7 +226,7 @@ A menos que esté haciendo las aletas de ojo de botón, no tiene que coser un bo Aunque sin duda opcional, puede que encuentre un botón es lo que falta en el sombrero para terminar la mirada. Así que si no estás seguro del aspecto en este punto, inventa un botón rápido y colócalo temporalmente para ver si es lo que falta. If it is attach it permanently. -Mientras que un botón cubierto está cubierto puedes usar cualquier botón que desees, ¡siéntete libre de experimentar! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From 65934c04418cfc56fcfe9f79074cbe3242389ddf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:26 +0100 Subject: [PATCH 0543/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hortensia/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/es.md b/markdown/org/docs/designs/hortensia/es.md index 34058359ae8..2fc2f7b65e9 100644 --- a/markdown/org/docs/designs/hortensia/es.md +++ b/markdown/org/docs/designs/hortensia/es.md @@ -2,7 +2,7 @@ title: "Hortensia, bolso de mano" --- -Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteered my time. The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can finish the seams with a bias tape. From e239afa9dafabdd6181c968a1ffc19b800b98487 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:27 +0100 Subject: [PATCH 0544/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hortensia/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/es.md b/markdown/org/docs/designs/hortensia/fabric/es.md index 689f1496da3..7266122cca2 100644 --- a/markdown/org/docs/designs/hortensia/fabric/es.md +++ b/markdown/org/docs/designs/hortensia/fabric/es.md @@ -6,7 +6,7 @@ title: "Bolso Hortensia: Opciones de tejido" Las principales opciones de tejido para Hortensia son no elásticas, duraderas y lo bastante resistentes para sujetar objetos. -La elección del tejido principal depende, en última instancia, de tu estilo personal y del uso que quieras dar al bolso. Como Hortensia tiene una opción de tamaño, también puede ampliarse y utilizarse para cosas como una bolsa de gimnasio, que no necesita ser tan lujosa como un bolso de lujo. Así que puede que simplemente quieras ir con **Algodones**, **Linos** o divertirte un poco con **Algodones estampados**. Si quieres algo más lujoso, puedes optar por **Brocados** y otros tejidos de lujo. Si quieres algo que sea muy duradero, puedes probar **Telas de tapicería**. También puedes probar con **Cuero** , pero será más difícil de coser, sobre todo si es grueso, así que utilízalo sólo si sabes lo que haces. Recuerda que si quieres utilizarlo todo el tiempo, prima la practicidad sobre el diseño, ya que el objetivo debe ser que dure más que que sea elegante. Si no te importa en absoluto el aspecto, puede ser una oportunidad para utilizar tela de tu alijo que de otro modo no utilizarías, como esa tela fea a la que nunca encuentras uso. +La elección del tejido principal depende, en última instancia, de tu estilo personal y del uso que quieras dar al bolso. Como Hortensia tiene una opción de tamaño, también puede ampliarse y utilizarse para cosas como una bolsa de gimnasio, que no necesita ser tan lujosa como un bolso de lujo. Así que puede que simplemente quieras ir con **Algodones**, **Linos** o divertirte un poco con **Algodones estampados**. Si quieres algo más lujoso, puedes optar por **Brocados** y otros tejidos de lujo. Si quieres algo que sea muy duradero, puedes probar **Telas de tapicería**. También puedes probar con **Cuero** , pero será más difícil de coser, sobre todo si es grueso, así que utilízalo sólo si sabes lo que haces. Recuerda que si quieres utilizarlo todo el tiempo, prima la practicidad sobre el diseño, ya que el objetivo debe ser que dure más que que sea elegante. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From 36c3ff321c10f0eb2fb05c07e451feae2c61c3ed Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:28 +0100 Subject: [PATCH 0545/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hortensia/instructions/es.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/es.md b/markdown/org/docs/designs/hortensia/instructions/es.md index ed4f0a8c8a8..919d5e7afbb 100644 --- a/markdown/org/docs/designs/hortensia/instructions/es.md +++ b/markdown/org/docs/designs/hortensia/instructions/es.md @@ -30,9 +30,9 @@ La colocación de los tirantes no está en el patrón y hay que determinarla. Pu -Si utilizas correas de bolsa en lugar de correas de tela, haz lo siguiente, +If using bag strap webbing instead of fabric made straps do the following, -- Corta la correa a la longitud de las correas con margen de costura. +- Cut the webbing to the length of the straps with seam allowance. - Plancha por debajo del margen de costura del borde corto. - Sujeta las cinchas de la misma forma que las correas de tela. @@ -83,8 +83,8 @@ Se recomienda dejar el hueco para girar en el lateral en lugar de en la parte su - Con _los lados bien juntos_ cose los paneles de forro delantero y trasero al panel de forro inferior. - Con _los lados bien juntos_ une los paneles laterales del forro. - Plancha por debajo de los márgenes de costura superiores. -- Alternativamente, puedes encuadernar los bordes superiores. -- Coloca el forro dentro de la bolsa _con los lados opuestos hacia_ . +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Punto deslizante_ o punto elástico __ el forro al panel de la cremallera. ### Paso 10: ¡Disfrútalo! From fd63dd03a6109c1b12be9e830714596bcd277012 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:30 +0100 Subject: [PATCH 0546/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hortensia/needs/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/es.md b/markdown/org/docs/designs/hortensia/needs/es.md index 92d8b06af67..7c0b44227bb 100644 --- a/markdown/org/docs/designs/hortensia/needs/es.md +++ b/markdown/org/docs/designs/hortensia/needs/es.md @@ -8,7 +8,7 @@ Para hacer Hortensia, necesitarás lo siguiente: - Alrededor de 0,5 - 2 metros (0,6 - 2,2 yardas) de un tejido adecuado ([consulta las opciones de tejido Hortensia](/docs/designs/hortensia/fabric/)) - Unos 0,5 - 2 metros (0,6 - 2,2 yardas) de tela de forro ([consulta las opciones de tela Hortensia](/docs/designs/hortensia/fabric/)) - Una cremallera de longitud más corta que el panel de la cremallera y que coincida con la anchura de la bobina [](/docs/designs/hortensia/options/zippersize/) seleccionada -- (Opcional) Aproximadamente de 1 a 2 metros (1,1 a 2,2 yardas) de cinta al bies si quieres atar los bordes de los paneles laterales por fuera. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Opcional) Cinta de la correa de la bolsa del doble de la longitud de la parte de la correa con margen de costura y anchura similar si no deseas hacer tus propias correas - (Opcional) Entretela si se necesita para reforzar la tela y/o para la correa From 87e75b4d20cb5b5d78cf4235432f5c9fc1e85917 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:36 +0100 Subject: [PATCH 0547/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/huey/instructions/es.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/es.md b/markdown/org/docs/designs/huey/instructions/es.md index 7ddf1c4ccbd..47d13acb4bf 100644 --- a/markdown/org/docs/designs/huey/instructions/es.md +++ b/markdown/org/docs/designs/huey/instructions/es.md @@ -53,7 +53,7 @@ Los cordones se enhebrarán después de construir la sudadera. - Dale la vuelta por el lado bueno. - Hilvana los bordes crudos delantero e inferior. - Crea una funda para el cordón cosiendo a unos 2,5 cm (1 pulgada) del borde interior en el lado con los agujeros para el cordón. -- (Opcionalmente) Si no utilizas un cordón, _Puntada de remate_ o _Puntada de remate_ la curva interior. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ Una cinta para el cuello puede ser útil para estabilizar y cubrir las costuras - Presiona el margen de costura hacia arriba. - _Puntada de remate_ o _Puntada de remate_ margen de costura de la cintura al cuerpo. -### Paso 8: Fijar los puños +### Step 8: Attaching the cuffs -- Con _bien juntos_ cose los lados cortos de los puños para crear dos bandas. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Presiona para abrir los márgenes de costura. - (Opcional) _Canteado_ los márgenes de costura hacia abajo. - Dobla los puños por la mitad longitudinalmente haciendo coincidir los lados contrarios. Alísala. @@ -104,7 +104,7 @@ Una cinta para el cuello puede ser útil para estabilizar y cubrir las costuras - Desabrocha parcialmente la cremallera. - Dobla la parte superior de la cinta de la cremallera hacia el _lado bueno_ de la cinta de la cremallera. Recorta si es necesario. - Sujeta con alfileres la cremallera a lo largo de uno de los bordes delanteros de la capucha, la parte delantera y la cintura. The zipper teeth should just be slightly over the seam line with the edge of the tape either matching or being slightly over from the hoodie edge. Making sure the zipper pull is faced the _good sides_ of the hoodie and the bottoms are lined up. -- Utilizando un pie prénsatelas para cremalleras, cose la cremallera a la sudadera utilizando el ancho de tu costura. Cuando llegues al tirador de la cremallera, detente, baja la aguja, levanta el prensatelas, tira del tirador de la cremallera más allá del prensatelas, baja el prensatelas. Luego puedes seguir cosiendo la costura. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. Cuando llegues al tirador de la cremallera, detente, baja la aguja, levanta el prensatelas, tira del tirador de la cremallera más allá del prensatelas, baja el prensatelas. Luego puedes seguir cosiendo la costura. - Desabrocha la cremallera. - Sujeta con alfileres y cose del mismo modo la cinta de la cremallera que no está sujeta al otro lado de la sudadera. - Presiona las costuras hacia el interior con cuidado de no fundir los dientes de la cremallera con la plancha. From 200459591b46facccc4b91984fb709151773c0ec Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:49:57 +0100 Subject: [PATCH 0548/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/huey/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/es.md b/markdown/org/docs/designs/huey/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From 3ab34a79162a62fe136589e87bb4d336e048d592 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:50:04 +0100 Subject: [PATCH 0549/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From ca01c22dea532719419d9e4de0c53d9f70cc7be9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:50:12 +0100 Subject: [PATCH 0550/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hugo/instructions/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/es.md b/markdown/org/docs/designs/hugo/instructions/es.md index 0638d598c69..3a849f20549 100644 --- a/markdown/org/docs/designs/hugo/instructions/es.md +++ b/markdown/org/docs/designs/hugo/instructions/es.md @@ -113,5 +113,5 @@ Esta serie de 6 episodios muestra cómo hacer que tu sudadera comience a termina - Serge (o zig-zag stitch) la costilla hasta el cuff, estirando suavemente hasta que la costilla y el cuff son de la misma longitud. Retire los pines antes de entrar en el serger. - Recorta el borde inferior del bolsillo si se extiende más allá del borde de la cintura. - Asegúrese de que la costilla se reúne de la forma más uniforme posible alrededor de la cintura. -- Servir o zig-zag la cintura, de nuevo estirando suavemente hasta que la costilla y la cintura son de la misma longitud. Unete con la sudadera en la parte superior para que puedas verla atrapada en la costura. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Unete con la sudadera en la parte superior para que puedas verla atrapada en la costura. - Topstitch los bordes de pocket inferiores al cuerpo de la camisa para anclar el fondo del bolsillo. From b8165feb9ce9b988e83b78c391bbe58840edd91a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:50:24 +0100 Subject: [PATCH 0551/1313] New translations en.md (Spanish) skip-build --- .../docs/designs/jaeger/instructions/es.md | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/es.md b/markdown/org/docs/designs/jaeger/instructions/es.md index 64d9dffeff5..903ce929664 100644 --- a/markdown/org/docs/designs/jaeger/instructions/es.md +++ b/markdown/org/docs/designs/jaeger/instructions/es.md @@ -88,7 +88,7 @@ Diviértase en su lugar en la línea superior. Remember this should be shorter t #### Corta la apertura del bolsillo de cofre, gire y presione -![Presiona el bolsillo](pressChestPocket.svg) Ahora cortar abrir su soldadura en medio de ambas costuras. No cortes al borde, pero crea una forma trianngular allí. +![Presiona el bolsillo](pressChestPocket.svg) Ahora cortar abrir su soldadura en medio de ambas costuras. Don't cut to the edge, but create a triangular shape there. Invierte la bolsa de bolsillo y soltarse en la parte trasera pasando ambos a través de la apertura que acabas de crear. @@ -108,7 +108,7 @@ Hile una aguja y termine a mano el cofre cosiendo cosiendo los lados de la solda Por último, cierre la bolsa de bolsa cosiendo los costados. Haga esto colocando la parte delantera hacia abajo con el lado bueno hacia arriba. Luego doblar sobre cada lado y coser la bolsa de bolsillo. Al coser estos lados, asegúrese de atrapar esas pequeñas piezas triangulares de la abertura. Esto reforzará la apertura del bolsillo. -Borra el bolsillo cerrado mientras contructamos la chaqueta. +Baste the chest pocket closed while we construct the jacket. ### Prepara los frentes @@ -163,9 +163,11 @@ Ten en cuenta que: ![Cerrar los lados](closeSides.svg) -Place your front with the good side up, and your side on it with the good side down. Align the front/side seams, pin them in place if you feel like it, and sew them togther. +Place your front with the good side up, and your side on it with the good side down. +Align the front/side seams, pin them in place if you feel like it, and sew them together. -Place this down with the good side up, and place your back on top with the good side down. Align the back/side seams, pin them in place if you feel like it, and sew them togther. +Place this down with the good side up, and place your back on top with the good side down. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Asegúrese de que el lienzo no sea capturado en la costura. @@ -179,7 +181,7 @@ Place this down with the good side up, and place your back on top with the good ![Cerrar la costura trasera](closeBack.svg) -Alando sus dos medias chaquetas con los lados buenos juntos, y cerrar la costura de espalda. +Align your two half-jackets with the good sides together, and close the back seam. @@ -214,23 +216,23 @@ Así que asegúrese de alinear las notas. Para eso están ahí. ### Haz el collar -Para que parezca realmente nítido, el cuello debe ser simétrico a ambos lados. Unos 5 mm de diferencia ya son visibles para un collarín, así que cuanto más precisos hagas estos pasos, mejor. +In order to look real crisp, the collar should be symmetrical on both sides. Unos 5 mm de diferencia ya son visibles para un collarín, así que cuanto más precisos hagas estos pasos, mejor. ### Añade marcas a ambos collares Pero ambos cuellos uno encima del otro, hilvana las esquinas y corta el hilván. Luego, utiliza un lápiz de marcar o un poco de tiza para marcar los bordes del cuello. Mide 2 veces para asegurarte de que los cuellos restantes y la ubicación de las esquinas son 100% idénticos en ambas esquinas ![Marca los bordes del cuello](collarMarkings.svg) #### Añade entretela o tela a la parte exterior del cuello y a la parte inferior del cuello -Utiliza una entretela fusible o, si quieres ser duro, una tela de crin. Cósela al soporte exterior del cuello utilizando la misma técnica que al añadir la tela a la solapa. ![Añade tela al collor](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. ![Add canvas to the collar](collarWithCanvas.svg) #### Cose el soporte exterior del cuello a la parte inferior del cuello y añádelo a la chaqueta -Asegúrate de que el soporte exterior del cuello y el bajo cuello están alineados y cóselos juntos Cose el soporte exterior del cuello + el bajo cuello al escote de la chaqueta Haz pequeños cortes en la tela alrededor del escote para darle más holgura Corta el margen de costura de las esquinas en diagonal para un mejor ajuste +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit ![haz pequeños cortes en SA alrededor del cuello](collarCuts.svg) ### Mangas -Cose la manga superior a la inferior hasta la división +Sew the uppersleeve to the undersleeve until the split #### Crea la hendidura en el eng de la manga @@ -243,13 +245,13 @@ El bolsillo interior es un bolsillo de ojal doble. Que es lo mismo que los bolsi Para más detalles, consulta las imágenes de los bolsillos delanteros -Localiza la posición del bolsillo en el forro interior izquierdo con el hilván Añade un poco de entretela fusible alrededor de la zona Dibuja el bolsillo en la entretela. Añade los ribetes a la parte superior e inferior del bolsillo Cose los ribetes en la línea de ambos lados del bolsillo. Asegúrate de que las ronchas terminan exactamente una encima de la otra. Corta la entrada del bolsillo a 1 ó 2 cm del extremo. Corta la última parte en diagonal de forma que obtengas un corte de espina de pez Da la vuelta a las virolas, hilvana y presiona Da la vuelta a los triángulos, hilvana y presiona Cose alrededor del bolsillo para colocarlo todo en su sitio Coge la bolsa del bolsillo, cósela a la vira inferior y la otra parte a la vira superior (Ver: bolsillo del pecho) +Locate the position of the pocket on the left inner lining with basting Add some fusible interfacing around the area Draw the pocket on the interfacing. Añade los ribetes a la parte superior e inferior del bolsillo Cose los ribetes en la línea de ambos lados del bolsillo. Make use the welts end exactly on top of each other. Corta la entrada del bolsillo a 1 ó 2 cm del extremo. Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Terminal -Cose la costura trasera del forro hasta la división Cose las costuras de la figura en las partes delanteras Junta todo el forro (delantero, lateral, trasero) Añade el forro de la parte delantera a la parte delantera. DEJA unos 5 cm abiertos desde la parte inferior Cierra los hombros Añade el soporte interior del cuello a la parte superior del cuello y añádelo a la chaqueta de forro Haz pequeños cortes en el escote y en las esquinas Añade las mangas de la parte superior a la inferior Añade las mangas a la chaqueta de forro +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners Add upper to lower sleeves Add sleeves to lining jacket ### Ciérralo -Pero la chaqueta + el forro se colocan uno encima del otro con los lados buenos. Cose alrededor del cuello y continúa hasta la parte delantera Da la vuelta a la chaqueta por el derecho Dobla las mangas en su sitio (¡¡asegúrate de que no estén dobladas!!) Añade el forro de las mangas a la división de las mangas Asegúrate de que los cuellos están rectos uno encima del otro (se alinean) y añade los márgenes de costura entre sí a mano. Añade en algunos lugares la parte delantera SA al forro SA a mano desde el interior de la chaqueta Crea la costura trasera y añade manualmente el forro a la tela principal Añade ojales y botones +Pero la chaqueta + el forro se colocan uno encima del otro con los lados buenos. Cose alrededor del cuello y continúa hasta la parte delantera Da la vuelta a la chaqueta por el derecho Dobla las mangas en su sitio (¡¡asegúrate de que no estén dobladas!!) Add the sleeves lining to the sleeves split Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Añade en algunos lugares la parte delantera SA al forro SA a mano desde el interior de la chaqueta Crea la costura trasera y añade manualmente el forro a la tela principal Añade ojales y botones From 73d84716989090a8524a8c6f8b0f547e26b1f7c1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:50:26 +0100 Subject: [PATCH 0552/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/jaeger/needs/es.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/needs/es.md b/markdown/org/docs/designs/jaeger/needs/es.md index 12fe497eacd..4083d5bc170 100644 --- a/markdown/org/docs/designs/jaeger/needs/es.md +++ b/markdown/org/docs/designs/jaeger/needs/es.md @@ -17,9 +17,10 @@ Para hacer de Jaeger, necesitarás lo siguiente: -That is because this kind of project is somewhat more ambitious than the -typical home sewing project, and as a result, your local haberdashery is -unlikely to stock all of these things. +###### Where to get all this stuff + +Making Jaeger is a fun and rewarding project, but getting all the required bits +and pieces can be challenging. Si sabes dónde conseguirlos, genial. From a178fd6819a3af6c7b94ac6443d6db94514e7e0e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:50:32 +0100 Subject: [PATCH 0553/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/es.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/es.md index 1bed9f555da..8e37f298484 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/es.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/es.md @@ -4,7 +4,7 @@ title: "Pinza en el centro de la espalda" ![Pinza en el centro de la espalda](centerbackdart.svg) -La reducción en el centro de la espalda de hombros a cuello, que se adapta a una curva de la parte superior de la espalda. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From 675c92950d3ded3474295cd66f03f733563803c5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:08 +0100 Subject: [PATCH 0554/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/lucy/measurements/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/es.md b/markdown/org/docs/designs/lucy/measurements/es.md index 482547a3287..bc3c66bc8c9 100644 --- a/markdown/org/docs/designs/lucy/measurements/es.md +++ b/markdown/org/docs/designs/lucy/measurements/es.md @@ -3,5 +3,5 @@ title: "Bolsillo para atar Lucy: Medidas necesarias" --- -Luci no requiere ninguna medida +Lucy does not require any measurements From 7cc57c09ae6335c3035841bd0733a6ea2dd975aa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:34 +0100 Subject: [PATCH 0555/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/es.md b/markdown/org/docs/designs/noble/options/upperdartlength/es.md index 1429e4df5d6..b2999879265 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/es.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/es.md @@ -4,7 +4,7 @@ title: "Longitud del dardo superior" *** -La página **Longitud del dardo superior** controla la longitud del dardo superior, 100% hasta el punto del pecho. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From d271372a0a094a9e15ea4ed185830cce6c8d7912 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:39 +0100 Subject: [PATCH 0556/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/octoplushy/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/es.md b/markdown/org/docs/designs/octoplushy/instructions/es.md index 8fdb0cba4f3..a51c676ffab 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/es.md +++ b/markdown/org/docs/designs/octoplushy/instructions/es.md @@ -69,13 +69,13 @@ Antes de coser las cejas por la mitad, puedes rellenarlas para crear unas cejas - Con _lados buenos juntos_ haz coincidir las partes de las piernas con las partes del cuerpo. - Cose cada pierna desde la muesca B/D hacia abajo y de vuelta a la muesca B/D. -- Si la parte de la pata es ligeramente más corta que la pata de la parte de la cabezam tendrás que suavizarla mientras la emparejas. Se han previsto muescas para facilitar esta tarea. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Se han previsto muescas para facilitar esta tarea. Es más fácil coser una pata casi hasta la siguiente muesca B/D, dejar de coser, prender con alfileres la siguiente pata y seguir cosiendo, que intentar prender con alfileres y coser todas las patas de una sola vez. -Los que tengan más confianza pueden hacerlo con la aguja bajada en su máquina, pero si tienes menos confianza, puedes retirarla de la máquina, prenderla con alfileres y luego empezar a coser de nuevo un poco por encima de tu puntada original para asegurarla. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From f25a9d68d22309fd85f5b2b01ca10c1d0717f4b6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:47 +0100 Subject: [PATCH 0557/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/paco/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/es.md b/markdown/org/docs/designs/paco/instructions/es.md index 7a523b0cc1f..75340251afe 100644 --- a/markdown/org/docs/designs/paco/instructions/es.md +++ b/markdown/org/docs/designs/paco/instructions/es.md @@ -205,7 +205,7 @@ no hacia el interior de tu cintura. A continuación, alinear el centro trasero y alfiler en su lugar, añadiendo pines adicionales alrededor de la cintura según sea necesario. -Sujeta la cintura a los pantalones, tan cerca del elástico como puedas, pero no coja en el elástico. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Coser Waistband con método simple](step13.svg) @@ -288,7 +288,7 @@ hay suficiente. -Pase el corte a la apertura de los pantalones, tan cerca del elástico como pueda, pero no coja en el elástico. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Cortes cocidas con método simple](step16.svg) From 04be9326c7d8129a44c913a755c239d7d9644d52 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:53 +0100 Subject: [PATCH 0558/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/es.md b/markdown/org/docs/designs/paco/options/crotchdrop/es.md index df7f502aa22..271483219e6 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/es.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/es.md @@ -4,8 +4,8 @@ title: "Gota de cromo" Controla por cuánto se reduce el crocer. -Bajar el cromo hace que sea más informal. -Un crotched bajado con señales también puede ser una elección de estilo. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From edd1195ad758036f9cb39fdefc776018beb24d0c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:51:54 +0100 Subject: [PATCH 0559/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/es.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/es.md index 3df369d5693..d764a7c61ba 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/es.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/es.md @@ -2,7 +2,7 @@ title: "curva de costura cruda" --- -Controla la curvatura de la costura de la costra, que influye en el encaje de su cosecha. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From a09ee7303e80d439b3d3514319573da0acd9c9d0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:05 +0100 Subject: [PATCH 0560/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/penelope/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/es.md b/markdown/org/docs/designs/penelope/fabric/es.md index f8cf9a1e9bd..9f91d85a797 100644 --- a/markdown/org/docs/designs/penelope/fabric/es.md +++ b/markdown/org/docs/designs/penelope/fabric/es.md @@ -6,7 +6,7 @@ title: "Falda lápiz Penélope: Opciones de tejido" Una falda lápiz es un corte más bien formal, y lo más habitual es que esté confeccionada en un material de traje. En otras palabras, una **lana fina**. Otras opciones más informales entre los tejidos de peso medio **** incluyen el algodón **** o el tejido vaquero ****. -Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **La escafandra** se ve a menudo en faldas lápiz, ya que es firme, tiene cuerpo pero también se estira. +Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Tela fina From 246e79a3a56d901781b47383773c74f7075c7dc2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:06 +0100 Subject: [PATCH 0561/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/penelope/instructions/es.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/es.md b/markdown/org/docs/designs/penelope/instructions/es.md index 541bcc76121..d07899b640c 100644 --- a/markdown/org/docs/designs/penelope/instructions/es.md +++ b/markdown/org/docs/designs/penelope/instructions/es.md @@ -24,7 +24,7 @@ Una cintura es opcional en Penelope. If you omit it, there will be quite some st Sin el zipper será imposible entrar y salir de la cabeza. So it should be at least the length from your waist to the largest part of your bum. Longer will make it easier to put the skirt on and off. Don't use one that's too long, because the part of the seam where the zipper is behaves differently than the part without it, and you want to try to make it invisible also in movement. -Tradicionalmente, en una falda lápiz se utiliza una cremallera invisible, pero una cremallera normal funcionará igual de bien. Si te apetece, puedes utilizar incluso una cremallera que contraste con la tela. Elige lo que te vaya bien a ti y al estilo que buscas. Sé creativo (o no), ¡tú decides! Aunque si tu tejido es más grueso, quizá debas optar por un cierre totalmente distinto. +Tradicionalmente, en una falda lápiz se utiliza una cremallera invisible, pero una cremallera normal funcionará igual de bien. You can even use a zipper that contrasts your fabric if the fancy takes you. Elige lo que te vaya bien a ti y al estilo que buscas. Sé creativo (o no), ¡tú decides! Aunque si tu tejido es más grueso, quizá debas optar por un cierre totalmente distinto. ### Ventilador @@ -40,8 +40,8 @@ Los dardos se utilizan para compensar la diferencia entre la cintura y las medic No vamos a entrar en una explicación completa sobre cómo crear todos los detalles individuales que componen una falda lápiz. Estas instrucciones presuponen que sabes coser una pinza, insertar una cremallera invisible -, hacer una abertura, etc. Si no, hay numerosos artículos excelentes disponibles en la web -, tanto escritos como en vídeo. Si te quedas atascado, siempre puedes ponerte en contacto con +, hacer una abertura, etc. If not, there are numerous excellent articles available on the +web, both in written form, and on video. Si te quedas atascado, siempre puedes ponerte en contacto con [otros FreeSewers](https://discord.freesewing.org/) en nuestro discord. @@ -50,7 +50,7 @@ que componen una falda lápiz. Estas instrucciones presuponen que sabes coser un - Cose todas las pinzas. - Presiona los dardos hacia la espalda. - - Para la(s) pieza(s) trasera(s), eso significa que presiones los dardos unos contra otros. + - For the back piece(s), that means you press the darts towards each other. - Para la pieza delantera, eso significa que prensas los dardos hacia las costuras laterales. ### Paso 2: La cremallera @@ -76,11 +76,11 @@ Puedes saltarte este paso si no vas a hacer un forro. - Sigue los pasos 1 - 4 para construir el forro con los siguientes cambios: - Ajusta las pinzas para compensar la "holgura" adicional de las piezas del forro. - No incluyas la cremallera, pero deja la abertura en la costura de la cremallera. -- Fija el forro al cuerpo de la forma que prefieras. Tendrás que construir el respiradero durante esto y conectar el forro a la cremallera. +- Attach the lining to the body in your preferred way. Tendrás que construir el respiradero durante esto y conectar el forro a la cremallera. -Cómo distribuir la "facilidad" extra depende de ti. Puedes añadirlo a los dardos aumentándolos. o puedes añadir otro dardo o pliegue de caja en el centro. +Cómo distribuir la "facilidad" extra depende de ti. Puedes añadirlo a los dardos aumentándolos. Or you can add another dart or box pleat in the middle. @@ -116,7 +116,7 @@ Este paso sólo es necesario si no has forrado la falda, ya que el dobladillo y - Si lo deseas, encara el dobladillo y los respiraderos. - Construye los respiraderos con el método que prefieras - Plancha por debajo de los dobladillos de la falda. -- Si el dobladillo es lo suficientemente grande y/o la tela se presiona un poco por debajo a lo largo de la parte superior, esto ayudará a evitar que se deshilache. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Fija el dobladillo en su sitio con el método que prefieras. Por ejemplo, puedes coser desde el exterior o _Slipstitch_ desde el interior. Esto depende de cómo quieras que sea el producto final. From 674855d0787bcbd55b909912453a9eb7c900d36c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:19 +0100 Subject: [PATCH 0562/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sandy/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/es.md b/markdown/org/docs/designs/sandy/fabric/es.md index 67b64181f9f..0a234666675 100644 --- a/markdown/org/docs/designs/sandy/fabric/es.md +++ b/markdown/org/docs/designs/sandy/fabric/es.md @@ -6,7 +6,7 @@ title: "Falda circular de arena: Opciones de tejido" Una falda circular es una prenda muy versátil y puede confeccionarse con una gran variedad de tejidos. Todo depende del uso que le vayas a dar y del estilo que prefieras. -- Si deseas una falda para todos los días, fácil de lavar, entonces **Lino** y **Algodón** es el camino a seguir. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - Si buscas algo más formal, puedes probar **Suiting Fabrics**. - Si quieres algo cálido para el invierno, puedes probar **Wools**. - Si deseas algo fluido que tenga caída, puedes probar con materiales ligeros como **Chiffon**. From 5eb853e2077ab0fb4409c5120198f8457ddc84a7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:20 +0100 Subject: [PATCH 0563/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sandy/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/es.md b/markdown/org/docs/designs/sandy/instructions/es.md index 43e47baf20c..e9d702c36d2 100644 --- a/markdown/org/docs/designs/sandy/instructions/es.md +++ b/markdown/org/docs/designs/sandy/instructions/es.md @@ -5,7 +5,7 @@ title: "Falda circular Sandy: Instrucciones de costura" Debido a los diferentes estilos y configuraciones de Sandy, puede que necesites saltarte o reordenar ciertos pasos. -No vamos a entrar en una explicación completa sobre cómo crear todos los detalles individuales que componen una falda circular. Estas instrucciones presuponen que sabes coser una cremallera, construir bolsillos, etc. Si no, hay numerosos artículos excelentes disponibles en la web, tanto escritos como en vídeo. Si te quedas atascado, siempre puedes ponerte en contacto con [otros FreeSewers](https://discord.freesewing.org/) en nuestro discord. +No vamos a entrar en una explicación completa sobre cómo crear todos los detalles individuales que componen una falda circular. Estas instrucciones presuponen que sabes coser una cremallera, construir bolsillos, etc. If not, there are numerous excellent articles available on the web, both in written form, and on video. Si te quedas atascado, siempre puedes ponerte en contacto con [otros FreeSewers](https://discord.freesewing.org/) en nuestro discord. @@ -111,7 +111,7 @@ Haz el dobladillo de la falda de una de las siguientes maneras: -Hay muchas formas de hacer el dobladillo/recubrir el bajo de una falda, si tienes un método preferido utilízalo aquí. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From aabc5d10194ff86b6e1b1d8c971c9f6c50d895b0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:21 +0100 Subject: [PATCH 0564/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sandy/needs/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/es.md b/markdown/org/docs/designs/sandy/needs/es.md index d31f9893405..ccbdf696333 100644 --- a/markdown/org/docs/designs/sandy/needs/es.md +++ b/markdown/org/docs/designs/sandy/needs/es.md @@ -16,7 +16,7 @@ Debido a los muchos estilos diferentes de Sandy, es difícil decir con precisió ##### Tela principal -La longitud que necesites dependerá de la longitud y el volumen de tu falda circular. Las faldas de longitud media y más pequeñas deberían bastar con 2 ó 2,5 metros, mientras que las faldas hasta el suelo necesitarán más. En caso de duda, compra un metro más de lo que crees. Tampoco tengas miedo de hacer piezas si tu tela no es lo suficientemente ancha o larga, es mejor tener una costura de más que no utilizar la tela que te gusta. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. En caso de duda, compra un metro más de lo que crees. Tampoco tengas miedo de hacer piezas si tu tela no es lo suficientemente ancha o larga, es mejor tener una costura de más que no utilizar la tela que te gusta. @@ -40,7 +40,7 @@ Para añadir vuelo/mantener la forma de los dobladillos, puedes añadir un refre ##### Cierres -Si no haces una Sandy elástica, necesitarás algún tipo de cierre. Puede ser simplemente una cremallera que se inserta en la cintura y la costura, o pueden ser botones, corchetes o broches con una cintura superpuesta y una abertura, tapeta o cremallera en la parte superior de la costura. +Si no haces una Sandy elástica, necesitarás algún tipo de cierre. This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Elástico From ab397f00d9e7124c2198912d72a3698cd0793896 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:30 +0100 Subject: [PATCH 0565/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shin/fabric/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/es.md b/markdown/org/docs/designs/shin/fabric/es.md index b41df448e1e..8094beb7440 100644 --- a/markdown/org/docs/designs/shin/fabric/es.md +++ b/markdown/org/docs/designs/shin/fabric/es.md @@ -6,6 +6,6 @@ Los troncos de baño deben estar hechos de un material con estiramiento adecuado Por lo general, esto se desmorona en algunas categorías: -- Nylon mezclado con elastene, spandex, o lycra es suave y estirado. De esto es de lo que se hace la mayoría de los trajes de baño casuales. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. De esto es de lo que se hace la mayoría de los trajes de baño casuales. - El poliéster mezclado con PBT (polibutileno tereftal) es menos suave al tacto, pero resistente a la clorina y al agua salada. De esto es de lo que se fabrican muchos trajes de baño competitivos. - El neopreno, también conocido como scuba, es más pesado y menos elástico. Son los trajes de buceo hechos a partir de ellos. From f747e1a4d29870b2a18542f39afd020fcfa435ca Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:31 +0100 Subject: [PATCH 0566/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shin/instructions/es.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/es.md b/markdown/org/docs/designs/shin/instructions/es.md index 3a9de71341c..2c9b9afde8e 100644 --- a/markdown/org/docs/designs/shin/instructions/es.md +++ b/markdown/org/docs/designs/shin/instructions/es.md @@ -8,13 +8,13 @@ title: "Bañador de espinilla: Instrucciones de costura" ## Paso 1: Únete a la espalda -Coloque sus dos espaldas encima de la otra con los lados buenos juntos, y coser juntos a lo largo de la costura trasera del centro. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Paso 2: Únete a los frentes ### Marcar la costura frontal -Ponga dos de sus frentes en la parte superior con los lados buenos juntos, y coser juntos a lo largo de la costura frontal del centro. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Repita con los otros dos frentes para que tenga dos conjuntos idénticos. @@ -38,7 +38,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Marca la mitad de la longitud de tu cintura. Fold the waistband double, and mark the middle of the width (do not take the seam allowance into account). -Un poco a la izquierda y a la derecha de esto, puede añadir dos eyelets para pasar una cuerda de dibujo. This will avoid an embarassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. +Un poco a la izquierda y a la derecha de esto, puede añadir dos eyelets para pasar una cuerda de dibujo. This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### Es mejor añadir refuerzos > @@ -68,7 +68,7 @@ Find the front of the waistband (easy if there's eyelets, if not just fold it do Ahora pasea por la cintura de los troncos de natación, fijando la cintura en su lugar. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew into the elastic. +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, make a second round to sew it a bit more snugly. From 0d8964b81923b99e23c7bcfb0680989e87eb7ddf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:33 +0100 Subject: [PATCH 0567/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shin/needs/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/es.md b/markdown/org/docs/designs/shin/needs/es.md index 6b064a0ca11..7ddfd4554dc 100644 --- a/markdown/org/docs/designs/shin/needs/es.md +++ b/markdown/org/docs/designs/shin/needs/es.md @@ -12,4 +12,4 @@ Para hacer Shin, necesitarás lo siguiente: > > Al igual que con todas las telas estiradas, un serpiente o un overlock le hará la vida más fácil. > -> Si no tienes una no te desesperes. Realmente no la necesitas. Puede utilizar otra técnica para las costuras de estiramiento, como un punto zig-zag, una aguja gemela o un hilo elástico. +> Si no tienes una no te desesperes. Realmente no la necesitas. You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From 667cf45609ed6ad89019feb68366be135eefa2a9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:37 +0100 Subject: [PATCH 0568/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shin/options/rise/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/es.md b/markdown/org/docs/designs/shin/options/rise/es.md index 3d0d4d9451e..210d293243c 100644 --- a/markdown/org/docs/designs/shin/options/rise/es.md +++ b/markdown/org/docs/designs/shin/options/rise/es.md @@ -2,7 +2,7 @@ title: "Elevación de la cintura" --- -Esta opción controla la altura general de la cintura. +This option controls the overall height of the waist. > Cuanto mayor sea el ascenso, mayor será la cintura. From ef32fefc636511dda612420f204b9631d3135a61 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:40 +0100 Subject: [PATCH 0569/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simon/instructions/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/es.md b/markdown/org/docs/designs/simon/instructions/es.md index f444f0c232f..af6b40e2302 100644 --- a/markdown/org/docs/designs/simon/instructions/es.md +++ b/markdown/org/docs/designs/simon/instructions/es.md @@ -629,7 +629,7 @@ Ahora que tu cuello está adjunto, dale una buena prensa. ### Paso 20: Maneja tu camisa -![Plegar y pulsar](20a.png) ![Antiguo de nuevo, y pulsa de nuevo](20b.png) ![Difunde el sombrero](20c.png) +![Plegar y pulsar](20a.png) ![Fold over again, and press again](20b.png) ![Difunde el sombrero](20c.png) Es hora de terminar el hem (esa es la parte que pegaste en tus pantalones). From 739ff0a37cf3d6a150c288772c41aebe52536302 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:52:57 +0100 Subject: [PATCH 0570/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simon/options/collargap/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/es.md b/markdown/org/docs/designs/simon/options/collargap/es.md index 1a077d1467d..09bcfd718df 100644 --- a/markdown/org/docs/designs/simon/options/collargap/es.md +++ b/markdown/org/docs/designs/simon/options/collargap/es.md @@ -8,7 +8,7 @@ Distancia el cuello se sienta al cerrar. -Esto es en realidad una elección de estilo, pero un hueco de cuello más ancho (junto con el ángulo de cuello) puede dar lugar a una corbata más ancha (nudo). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 9b734babdd8ebea47156e03b21a6ab0659e42816 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:53:14 +0100 Subject: [PATCH 0571/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simon/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/es.md b/markdown/org/docs/designs/simon/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From 9bc227f23199b5d6d494377305a535958f172396 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:53:22 +0100 Subject: [PATCH 0572/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From 58cf16e530ca2004d9be31fd23bcf77c15bdda6a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:53:51 +0100 Subject: [PATCH 0573/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simone/options/collargap/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/es.md b/markdown/org/docs/designs/simone/options/collargap/es.md index 1a077d1467d..09bcfd718df 100644 --- a/markdown/org/docs/designs/simone/options/collargap/es.md +++ b/markdown/org/docs/designs/simone/options/collargap/es.md @@ -8,7 +8,7 @@ Distancia el cuello se sienta al cerrar. -Esto es en realidad una elección de estilo, pero un hueco de cuello más ancho (junto con el ángulo de cuello) puede dar lugar a una corbata más ancha (nudo). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 941e81a8ab5cc781de7ae5999f20c499178e5b9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:54:10 +0100 Subject: [PATCH 0574/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simone/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/es.md b/markdown/org/docs/designs/simone/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From 4ae8171d018f5e16811cd8a4904482fb831be0f4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:54:18 +0100 Subject: [PATCH 0575/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From 7531b679ae85ae48272ebc300c1ded4db7b8c5c6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:54:29 +0100 Subject: [PATCH 0576/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sven/instructions/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/es.md b/markdown/org/docs/designs/sven/instructions/es.md index f462bfa00cf..3f7dd7b3c6b 100644 --- a/markdown/org/docs/designs/sven/instructions/es.md +++ b/markdown/org/docs/designs/sven/instructions/es.md @@ -4,7 +4,7 @@ title: "Sudadera de Sven: Instrucciones de costura" ### Paso 1: Cerrar costuras del hombro -- Coloque la parte trasera y la parte delantera sobre la otra con los buenos lados toghether. +- Place the back and front on top of each other with the good sides together. - Alinear la costura del hombro y coser o sergarla en la costura estándar. - Repetir para la costura del hombro. @@ -38,7 +38,7 @@ title: "Sudadera de Sven: Instrucciones de costura" - Medir el ancho de la manga en el corte - Corta un pedazo de costilla que es (dos veces esta longitud - 2cm/1pulgada) y 7cm/3pulgadas de ancho -- Doblar la costilla doble por el lado más largo, y coser juntos el borde para que tengas un anillo continuo +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Vuelve tu Sven en el interior - Doblar el anillo de costillas con el lado bueno hacia afuera, y deslizar el lado plegado en la manga interior / exterior - Alinear el corte del lado de la costilla con el borde de la manga y fijarlo en su lugar. La costilla es un poco más corta, así que estirarla un poco mientras se apilan para trabajar esto en la manga. @@ -51,7 +51,7 @@ title: "Sudadera de Sven: Instrucciones de costura" - Medir el ancho de Sven en la sombra - Corta un pedazo de costilla que 1,9 veces esta longitud y 7cm/3pulgadas de ancho - Puede que necesites colocar diferentes piezas si tu tela de costilla no es lo suficientemente amplia -- Doblar la costilla doble por el lado más largo, y coser juntos el borde para que tengas un anillo continuo +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Vuelve tu Sven en el interior - Doble el anillo de costillas con el lado bueno hacia afuera, y desliza el lado plegado en tu cuerpo dentro/afuera Sven - Alinear el corte del lado de la costilla con el borde del cuerpo y fijarlo en su lugar. La costilla es un poco más corta, así que estirarla un poco mientras se apilan para trabajar esto en el cuerpo. From 64ad0563df0630684dba468c39fc548af0ca5832 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:54:46 +0100 Subject: [PATCH 0577/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sven/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/es.md b/markdown/org/docs/designs/sven/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From 2736a5f570ed45cffc73f4d6b19d2699aa1a3c2f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:54:53 +0100 Subject: [PATCH 0578/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From b0f61db8df6a60322321f6448e2c30abc3682fe3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:03 +0100 Subject: [PATCH 0579/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/tamiko/instructions/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/es.md b/markdown/org/docs/designs/tamiko/instructions/es.md index be0a75490a7..7db82a06ba2 100644 --- a/markdown/org/docs/designs/tamiko/instructions/es.md +++ b/markdown/org/docs/designs/tamiko/instructions/es.md @@ -4,7 +4,7 @@ title: "Top Tamiko: Instrucciones de costura" ### Paso 1: Termina la costura del orificio -![Encender la costura del orificio](step03.png) +![Finish the armhole seam](step03.png) - Termina la costura del orificio con un tubo estrecho. From f50e9306a04888937d6bf73f43965897868ab26c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:12 +0100 Subject: [PATCH 0580/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/teagan/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/es.md b/markdown/org/docs/designs/teagan/instructions/es.md index d7bc50c1d28..a4407753e7a 100644 --- a/markdown/org/docs/designs/teagan/instructions/es.md +++ b/markdown/org/docs/designs/teagan/instructions/es.md @@ -77,7 +77,7 @@ Ahora es el momento de coser los extremos de nuestra banda de punto. - Ahora que los extremos de la banda están unidos, es el momento de terminar los últimos 6 cm, estirando y cosiendo la banda como hiciste con el resto. -¡Hurra! ¡Has terminado la parte más difícil! Hurray! You've finished the trickiest part! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a sig-zag or coverlock stitch. No es obligatorio, pero es un detalle que verás en muchas camisetas listas para llevar, y puede ayudar a que la banda del cuello quede plana. +¡Hurra! ¡Has terminado la parte más difícil! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. No es obligatorio, pero es un detalle que verás en muchas camisetas listas para llevar, y puede ayudar a que la banda del cuello quede plana. ![Cose la banda de punto para fijarla](step03i.svg) @@ -85,7 +85,7 @@ Ahora es el momento de coser los extremos de nuestra banda de punto. -En las [Instrucciones de Aaron] (/docs/diseños/aaron/instrucciones) encontrarás una guía más detallada sobre la encuadernación de punto. +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From 05178da7f166957f7fcabed1dfb35e03da866ebb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:24 +0100 Subject: [PATCH 0581/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/teagan/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/es.md b/markdown/org/docs/designs/teagan/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From d8015da38dfa8b04bada2675d1b561ec6952aaa6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:31 +0100 Subject: [PATCH 0582/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From 5d206d7c59e40946e372f5f91164b62dbc549f4e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:54 +0100 Subject: [PATCH 0583/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/es.md b/markdown/org/docs/designs/titan/options/crotchdrop/es.md index df7f502aa22..271483219e6 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/es.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/es.md @@ -4,8 +4,8 @@ title: "Gota de cromo" Controla por cuánto se reduce el crocer. -Bajar el cromo hace que sea más informal. -Un crotched bajado con señales también puede ser una elección de estilo. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 2e5d2712515d4777afbbba3cee3c56d5a1e1c278 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:55:56 +0100 Subject: [PATCH 0584/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/es.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/es.md index 3df369d5693..d764a7c61ba 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/es.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/es.md @@ -2,7 +2,7 @@ title: "curva de costura cruda" --- -Controla la curvatura de la costura de la costra, que influye en el encaje de su cosecha. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From d8f8de6443ad3e1720656310f408303e5c87f244 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:56:14 +0100 Subject: [PATCH 0585/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/wahid/instructions/es.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/wahid/instructions/es.md b/markdown/org/docs/designs/wahid/instructions/es.md index 86a6213474e..39f128f3c2c 100644 --- a/markdown/org/docs/designs/wahid/instructions/es.md +++ b/markdown/org/docs/designs/wahid/instructions/es.md @@ -140,7 +140,7 @@ Girar el bolsillo hacia la parte trasera y presionarlo hacia abajo. ![Pulsa abajo los triángulos en los lados cortos](05h.png) -Mueva su bolsillo hacia fuera del camino para revelar esos pequeños trajes al lado de su bolsillo. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Doblarlos asegurándote de mantener tu bolsillo abriendo un rectángulo limpio y presionándolos hacia abajo. @@ -214,7 +214,7 @@ Coloque el revestimiento en la cintura, los lados buenos juntos. En otras palabr #### Fijar forro a tela -![Fijar linng a tela](09b.png) +![Fijar forro a tela](09b.png) Alinear el revestimiento con el borde de la tela, y fijarlo en su lugar. @@ -222,7 +222,7 @@ Empiece en el centro de atrás y siga la línea del cuello por el cierre delante #### Manejar el revestimiento a la tela -![Difundir linng a la tela](09c.png) +![Manejar el revestimiento a la tela](09c.png) Con su forro anclado bien en su lugar, revestimiento de coser y tejido juntos. @@ -230,7 +230,7 @@ No olvide dejar ese hueco de 15 cm en la parte trasera del centro. #### Girar cinturón y pulsar bordes -![Gira cintura y presiona el borde](09d.png) +![Girar cinturón y pulsar bordes](09d.png) Alcanza el hueco que dejaste abierto en el sombrero y gira tu cinturón. @@ -252,7 +252,7 @@ Ahora doblar el revestimiento un poco antes del borde del orificio y sujetarlo h #### Coser a mano el revestimiento de la tela -![Forrado a mano de la farbrica](10c.png) +![Coser a mano el revestimiento de la tela](10c.png) Utilice un trozo de deslizamiento para coser a mano el forro a la tela a lo largo del orificio. From 58447bf6c6b04872618a43b627dfcacdb295d3a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:56:33 +0100 Subject: [PATCH 0586/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/walburga/needs/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/es.md b/markdown/org/docs/designs/walburga/needs/es.md index 16a493c8ce8..cc98614905a 100644 --- a/markdown/org/docs/designs/walburga/needs/es.md +++ b/markdown/org/docs/designs/walburga/needs/es.md @@ -6,4 +6,4 @@ Para hacer Walburga, necesitarás lo siguiente: - [Suministros básicos de costura](/docs/sewing/basic-sewing-supplies) - Aproximadamente 1 metro (1,1 yardas) de una tela adecuada (consulta [Opciones de tela](/docs/designs/walburga/fabric)) -- (opcional) unos 3 metros (3,3 yardas) de cinta al bies o pasamanería para rematar los bordes crudos +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From 9259d644da88e651b7008a1de6949c86d22296dd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:56:44 +0100 Subject: [PATCH 0587/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/waralee/options/backraise/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/es.md b/markdown/org/docs/designs/waralee/options/backraise/es.md index 33349a7da2b..c74b9b0c41b 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/es.md +++ b/markdown/org/docs/designs/waralee/options/backraise/es.md @@ -2,7 +2,7 @@ title: "Ataque trasero" --- -Este ajuste levanta la cintura en la espalda. Nuestra cintura no se sienta horizontalmente, sino que está enganchada en la espalda. Este ajuste le permite levantar esto en la espalda si lo necesita para un buen ajuste. +Este ajuste levanta la cintura en la espalda. Nuestra cintura no se sienta horizontalmente, sino que está enganchada en la espalda. This setting allows you to raise this in the back if you need it for a good fit. From acb0657d8958cd34cf7a4221b1d8bd31dd48f16d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:56:54 +0100 Subject: [PATCH 0588/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/es.md b/markdown/org/docs/designs/waralee/options/waistoverlap/es.md index 7801530f1a9..ca7837dfa96 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/es.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/es.md @@ -2,7 +2,7 @@ title: "Superposición de Waist" --- -Esto dicta cuánto quieres que las aletas de las piernas se superpongan a la cintura. Un ajuste de 0 los haría reunirse en la costura lateral y un ajuste de 100 los hace reunirse en la parte delantera/trasera. +This dictates how much you want the leg flaps to overlap at the waist. Un ajuste de 0 los haría reunirse en la costura lateral y un ajuste de 100 los hace reunirse en la parte delantera/trasera. From 528d7a57eccc2a7fec5e9a5ba5bbb151a8652c2b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:56:57 +0100 Subject: [PATCH 0589/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/yuri/instructions/es.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/es.md b/markdown/org/docs/designs/yuri/instructions/es.md index 9e5d0621314..96b35308a32 100644 --- a/markdown/org/docs/designs/yuri/instructions/es.md +++ b/markdown/org/docs/designs/yuri/instructions/es.md @@ -4,24 +4,24 @@ title: "Sudadera con capucha Yuri Instrucciones de costura" -Este patrón se puede coser con o con un overlocker/serger. Para _acabar_ las costuras sin una remalladora puedes utilizar tu método preferido o uno de los métodos que se indican a continuación: +Este patrón se puede coser con o con un overlocker/serger. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: -##### Método de acabado 1 +##### Finishing Method 1 -- Presiona para abrir los márgenes de costura. +- Press open the seam allowances. - Luego, en el lado bueno, _edgestitch_ a 3 mm (1/8 pulgada) de distancia o más cerca a ambos lados de la costura cogiendo los márgenes de costura por debajo. - En el lado equivocado recortar las franquicias de costura cerca de la edgestión. -##### Método de finalización 2 +##### Finishing Method 2 -- Método de costura junto con ziz-zag, overcast o stitch recto y presione hacia un lado. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Recortar la costura de 1 cm (3/8 pulgadas) si es necesario. -Si usas un overlocker/serger puedes coser costuras que necesitan fininshing en una sola vía, en lugar de coser la costura convencionalmente y terminarla. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ En el patrón, la muesca trasera está marcada como muesca en cruz (consulta [nu - (Opcional) Anular el borde crudo de la manga. - Presione la franquicia del hem hacia el lado equivocado de la tela y funda en su lugar cerca del borde crudo. - En el exterior, alejarse del borde plegado, atrapando la franquicia de la parte inferior usando el bastión como guía hasta donde está el borde crudo. -- (Opcional) En el exterior, tira 6 mm (1/4 pulgadas) paralela al palo original a lo largo de la franquicia de la hem . +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Retire el basting. @@ -94,8 +94,8 @@ Se recomienda utilizar **Método de finalización 1** para este paso, independie - Dibuja juntos el borde fijado. - Recorta la franquicia de costura a 1cm (3/8 pulgadas) si tu franquicia de costura elegida es mayor y no has utilizado ni sobrevendedor/sarga. De lo contrario _no cortes_ la costura. - Da la vuelta a los lados de la campana y presiona el borde exterior plano. -- En el exterior Topstitch a lo largo del borde de la capa, alrededor de 1,5 - 2cm (5/8 - 3/4 pulgadas) del borde. Asegúrese de que el revestimiento se enciende pero no pasa por la costura del borde exterior de la capucha. Esto creará un rin decorativo, con la posibilidad de costura cerrada haciendo el rin un poco poofy. -- Con bordes crudos juntos, sobrehilan el fondo del capó. Puede hacerlo con un overlocker/serger o un ziz-zag o overcast stitch en una máquina normal. +- En el exterior Topstitch a lo largo del borde de la capa, alrededor de 1,5 - 2cm (5/8 - 3/4 pulgadas) del borde. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. Esto creará un rin decorativo, con la posibilidad de costura cerrada haciendo el rin un poco poofy. +- Con bordes crudos juntos, sobrehilan el fondo del capó. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ También puedes hacer una banda doblada para que la cinta del cuello no tenga el - Con buenos lados juntos, comenzando desde el centro de la espalda anclar la capucha al cuello, emparejar las espaldas del centro y superponer la campana termina en el frente central. - Con el lado bueno de la cinta del cuello hacia el lado del forro de la capucha, sujeta con alfileres la cinta del cuello a la capucha haciendo coincidir el centro de la cinta del cuello con el centro de la espalda. - Si se usa un overlocker/serger, sergue el cuello y la capucha juntos a través de todas las capas. -- Si se utiliza una máquina de coser, utilice un zig-zag para coser todas las capas del cuello y del capuchón. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - En el exterior, compruebe alrededor de la línea del cuello para asegurarse de que todas las capas están atrapadas. - Presione los permisos de costura hacia el cuerpo. -- En el lado bueno, Encimera con una estatura recta de aproximadamente 1cm (3/8 pulgadas) de distancia del borde del cuello hacia el cuerpo para atrapar y asegurar el cuello debajo. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Recortar el exceso de unión desde el interior. -Si usas un overlocker/serger para sujetar la capa, es posible que quieras colocar áreas grandes primero con un stitch derecho como la parte delantera como un overlocker/serger puede tener problemas para coser estas partes. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From de7672cd15eae44e2542ce6db8eed9c868782d81 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:57:10 +0100 Subject: [PATCH 0590/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapease/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/es.md b/markdown/org/docs/designs/yuri/options/sleevecapease/es.md index f51d15037d5..54f391ebb52 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/es.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/es.md @@ -6,7 +6,7 @@ Determina la cantidad de facilidad de manga. -La facilidad de manga determina cómo rodar las mangas desde el grifo. +La cantidad de manga fácil determina cómo rodar las mangas del hombro. Más fácil hace que el riego de manga en la costura como usted ve en jaquetas de traje. Menos facilidad hace que la manga esté lisa. Para tejidos ligeros o tejidos, usted quiere poco a ningún manga fácil. Para tejidos más pesados se necesita más facilidad de manga. From f4b667129e8cc751be7a02081ee4531af063bad2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 18:57:18 +0100 Subject: [PATCH 0591/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/es.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/es.md index 6e9845192b3..c4c8c3596f9 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/es.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/es.md @@ -2,7 +2,7 @@ title: "Funda Q3 extendido hacia arriba" --- -![La dispersión ascendente en el cuadrilátero de la manga](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Esta opción controla la dispersión ascendente en el tercer cuadrante de la manga. From 602a9347d06df81376cdbfafdbd0602e11ed328b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:01:51 +0100 Subject: [PATCH 0592/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/components/workbench/menus/core-settings/es.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/es.yaml b/sites/shared/components/workbench/menus/core-settings/es.yaml index 9a41d3b327c..8783ca5c797 100644 --- a/sites/shared/components/workbench/menus/core-settings/es.yaml +++ b/sites/shared/components/workbench/menus/core-settings/es.yaml @@ -31,6 +31,8 @@ fr.t: Francés fr.d: Utilízalo para generar un patrón francés nl.t: Holandés nl.d: Utilízalo para generar un patrón holandés +uk.t: Ukrainian +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Generar un patrón completo From ef13ec0e2400956c11c46348fed38c28e7bfea55 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:14 +0100 Subject: [PATCH 0593/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/es.md b/markdown/org/docs/designs/aaron/options/bindingwidth/es.md index 5c9fe801636..3962062584d 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/es.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/es.md @@ -2,7 +2,7 @@ title: Ancho de encuadernación --- -Controla la anchura de la ligadura de punto en Aarón. +Controls the width of the knit binding on Aaron. La anchura predeterminada del ribete de punto es 6 x el margen de costura. Para los usuarios del sistema métrico decimal con el margen de costura predeterminado de 1 cm, esto da como resultado un ribete de punto de 1,5 cm de ancho, que es un buen valor. @@ -10,5 +10,5 @@ Para los usuarios imperiales (que tienen un margen de costura por defecto de 0,5 -Esta opción se expresa en porcentaje del margen de costura. Por tanto, el valor por defecto es 600%, es decir, 6 veces el margen de costura. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From af0df58173c5bdaa4d511e53554596a16a9f0fe4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:17 +0100 Subject: [PATCH 0594/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/aaron/notes/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/es.md b/markdown/org/docs/designs/aaron/notes/es.md index 7dc43cd2fda..d1ec3125be7 100644 --- a/markdown/org/docs/designs/aaron/notes/es.md +++ b/markdown/org/docs/designs/aaron/notes/es.md @@ -2,7 +2,7 @@ title: "Camiseta Aaron A: Notas del diseñador" --- -Aaron, como la mayoría de los modelos que diseño, nace de la necesidad. I needed a A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. @@ -10,7 +10,7 @@ Por sí solo, es un diseño bastante sencillo. It extends [the Brian block](/des Hay algunas cosas que son *especiales* sobre Aaron, trivialidades de FreeSewing si quieres: -- Aaron es a quien remito a los diseñadores cuando tienen preguntas sobre cómo hacer algo. Siempre es el primero de la lista (porque empieza por doble A), siempre es el primero en obtener nuevas funciones, en ser migrado a una nueva versión, etc. Aaron es una especie de diseño canario de FreeSerwing. Todo lo que ocurre le ocurre primero a Aarón. +- Aaron es a quien remito a los diseñadores cuando tienen preguntas sobre cómo hacer algo. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Todo lo que ocurre le ocurre primero a Aarón. - He llamado a este diseño `aaron` en memoria de [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Descansa en paz hermano. joost From 62439cb4fd3816cd26ca664c4c66c6f29a98fbd5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:18 +0100 Subject: [PATCH 0595/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bee/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/es.md b/markdown/org/docs/designs/bee/notes/es.md index 221c25bf12c..0b4fe26387b 100644 --- a/markdown/org/docs/designs/bee/notes/es.md +++ b/markdown/org/docs/designs/bee/notes/es.md @@ -2,7 +2,7 @@ title: "Top de bikini Bee: Notas del diseñador" --- -Hice Bee junto con Prudencerabbit, ya que querían hacer un patrón de bañador que fuera a juego con un patrón anterior de costura libre. Se basa en una prenda que hicieron y que querían poner a disposición de otras personas para que también la hicieran. Trabajamos con el bloque de cuerpo Bella de FreeSewing como base, convirtiéndolo en un bloque de un solo dardo para hacer la parte superior. Durante la prueba de patrones, uno de nuestros colaboradores, TangerineShark, hizo una variante con lazos cruzados en la espalda que nos pareció tan genial que la añadimos a Bee. Puedes conseguir esta variación utilizando la opción [Lazos cruzados en la espalda](/docs/designs/bee/options/crossbackties/). Las corbatas Bee también pueden hacerse reversibles utilizando las opciones [Reversible](/docs/designs/bee/options/reversible), [Corbatas Duo Colours](/docs/designs/bee/options/duocolorties) & [Corbatas de cuello Colours](/docs/designs/bee/options/necktiecolours). Con el patrón anterior retirado, puedes utilizar [Uma](docs/designs/uma) para hacer una braguita de bikini a juego. +Hice Bee junto con Prudencerabbit, ya que querían hacer un patrón de bañador que fuera a juego con un patrón anterior de costura libre. Se basa en una prenda que hicieron y que querían poner a disposición de otras personas para que también la hicieran. Trabajamos con el bloque de cuerpo Bella de FreeSewing como base, convirtiéndolo en un bloque de un solo dardo para hacer la parte superior. During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! Puedes conseguir esta variación utilizando la opción [Lazos cruzados en la espalda](/docs/designs/bee/options/crossbackties/). Las corbatas Bee también pueden hacerse reversibles utilizando las opciones [Reversible](/docs/designs/bee/options/reversible), [Corbatas Duo Colours](/docs/designs/bee/options/duocolorties) & [Corbatas de cuello Colours](/docs/designs/bee/options/necktiecolours). Con el patrón anterior retirado, puedes utilizar [Uma](docs/designs/uma) para hacer una braguita de bikini a juego. _ From da170aa36ed0993c9048b8d561e832a9c50c514e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:19 +0100 Subject: [PATCH 0596/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bella/notes/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/es.md b/markdown/org/docs/designs/bella/notes/es.md index 8deb8daf88c..af80ba55a7d 100644 --- a/markdown/org/docs/designs/bella/notes/es.md +++ b/markdown/org/docs/designs/bella/notes/es.md @@ -4,9 +4,9 @@ title: "Bloque de cuerpo Bella: Notas del diseñador" Este bloque fue una colaboración entre una persona del sector que prefiere permanecer en el anonimato debido a su profesión y yo. -Es la versión paramétrica de un bloque base para ropa de mujer que se utiliza en la industria en Italia para diseñar ropa de mujer. Sin embargo, aunque el bloque se adaptará a tus medidas, el bloque original en el que se basa no es realmente adecuado para una gama de tallas muy amplia. +Es la versión paramétrica de un bloque base para ropa de mujer que se utiliza en la industria en Italia para diseñar ropa de mujer. However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -Así que tu kilometraje puede muy aquí, especialmente cuando estás más lejos de la clase de señoras delgadas para las que tienden a diseñar los italianos. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). From 2d4b281cebd2f0f8c0035e8bb7437749acface13 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:20 +0100 Subject: [PATCH 0597/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/benjamin/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/es.md b/markdown/org/docs/designs/benjamin/notes/es.md index e213cf1f7bb..ba5017f2ce6 100644 --- a/markdown/org/docs/designs/benjamin/notes/es.md +++ b/markdown/org/docs/designs/benjamin/notes/es.md @@ -4,7 +4,7 @@ title: "Pajarita Benjamin: Notas del diseñador" Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. This seemed like something I could undertake. Since I had no experience with making patterns, my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. These can be found in speciality stores, and are available online. From 01d38bec531c548ee00bbe195a9dfbcfcf5da848 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:24 +0100 Subject: [PATCH 0598/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/brian/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/notes/es.md b/markdown/org/docs/designs/brian/notes/es.md index b55de191967..e88a32cfa55 100644 --- a/markdown/org/docs/designs/brian/notes/es.md +++ b/markdown/org/docs/designs/brian/notes/es.md @@ -4,7 +4,7 @@ title: "Bloque de cuerpo Brian: Notas del diseñador" Brian es el bloque de cuerpo básico de FreeSewing para ropa de hombre. Es la base de muchos de nuestros diseños y lo ha sido durante muchos años. -It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and foward on both collar and shoulder side, as well as a highly configureable sleevecap. +It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and forward on both collar and shoulder side, as well as a highly configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. Se baja directamente desde el pecho. No fitting of the waist whatsoever. From 35ac7c967070f4f6300aca27bce26d655c975dbc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:26 +0100 Subject: [PATCH 0599/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/carlton/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/notes/es.md b/markdown/org/docs/designs/carlton/notes/es.md index 7e2aaf786d3..caf5b049778 100644 --- a/markdown/org/docs/designs/carlton/notes/es.md +++ b/markdown/org/docs/designs/carlton/notes/es.md @@ -2,7 +2,7 @@ title: "Abrigo Carlton: Notas del diseñador" --- -Carlon is the reverse-engineerd version of the coat worn by benedict cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). +Carlon is the reverse-engineered version of the coat worn by Benedict Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and pictures we found on the internet. From 36e5d490980934259494f7b48bdc53fc2ddeb268 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:27 +0100 Subject: [PATCH 0600/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/cathrin/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/es.md b/markdown/org/docs/designs/cathrin/notes/es.md index 036ad48f146..8e09f1503d9 100644 --- a/markdown/org/docs/designs/cathrin/notes/es.md +++ b/markdown/org/docs/designs/cathrin/notes/es.md @@ -6,7 +6,7 @@ Cathrin es un efecto secundario de un proyecto que nunca llegó a ninguna parte. Iba a hacerme un vestido muy elaborado y necesitaba un corsé para ponérmelo debajo. So I did some research online, and I found [this tutorial by Cathrin Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/) on drafting an underbust corset. -So, I essentially implemented those instructions in code, and the rest is history as the original project got abaondoned. +So, I essentially implemented those instructions in code, and the rest is history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From 68d7367804c555096039af028f768a320288b229 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:28 +0100 Subject: [PATCH 0601/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/charlie/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/es.md b/markdown/org/docs/designs/charlie/notes/es.md index 5a8b06ae9d5..3377137b089 100644 --- a/markdown/org/docs/designs/charlie/notes/es.md +++ b/markdown/org/docs/designs/charlie/notes/es.md @@ -8,7 +8,7 @@ Tardé un tiempo porque [Titan](/designs/titan) tardó mucho tiempo en estar en This is for the most part a rather straight-forward chino pattern, but it has one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. -It's a bit of unusual and creative design that I guess I did because I can? Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. +It's a bit of unusual and creative design that I guess I did because I can? Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost From fdfc9d66c3e1b2aaec404ee758042dcf2ae7fd37 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:31 +0100 Subject: [PATCH 0602/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/florence/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/es.md b/markdown/org/docs/designs/florence/notes/es.md index dd78544863b..92e8e9dc8a1 100644 --- a/markdown/org/docs/designs/florence/notes/es.md +++ b/markdown/org/docs/designs/florence/notes/es.md @@ -4,7 +4,7 @@ title: "Máscara facial Florence: Notas del diseñador" When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. -So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hostpital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. +So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. As a result, this simple design probably did more to let people know FreeSewing exists than any other thing I've ever done. Which is something I try not to think about too much. From 6262f98ecf3efab68112104d317937623796dcf9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:33 +0100 Subject: [PATCH 0603/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hi/notes/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/es.md b/markdown/org/docs/designs/hi/notes/es.md index ce8e26f836b..60aeabb2d84 100644 --- a/markdown/org/docs/designs/hi/notes/es.md +++ b/markdown/org/docs/designs/hi/notes/es.md @@ -8,9 +8,9 @@ A while ago rumours started swirling that IKEA would discontinue it's Blåhaj st It turned out that no one in the community had ever taken a Blåhaj apart, and no one had the courage to do so. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +It can be scaled up and down between 50 cm and 5 meter. So there is a shark for everyone. From 170dc2560ecbf7620255e821a406920fbd6ff7f3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:37 +0100 Subject: [PATCH 0604/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/lucy/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/es.md b/markdown/org/docs/designs/lucy/notes/es.md index 6bd9caf2845..f770ad4651d 100644 --- a/markdown/org/docs/designs/lucy/notes/es.md +++ b/markdown/org/docs/designs/lucy/notes/es.md @@ -2,4 +2,4 @@ title: "Bolsillo con lazo Lucy: Notas del diseñador" --- -Se trata de un patrón de bolsillo del siglo XVIII basado en el bolsillo colgante de Patterns of Fashion 1 pp. 73. Lo hice para que la gente pudiera tener un patrón de bolsillo histórico que fuera fácilmente ajustable. Me gustaría que los patrones y recursos históricos fueran más accesibles para la gente, de modo que la documentación tenga algún contexto histórico y sugerencias sobre formas históricamente exactas de hacerla, pero es igual de impresionante ver a la gente hacer versiones modernas salvajes. +Se trata de un patrón de bolsillo del siglo XVIII basado en el bolsillo colgante de Patterns of Fashion 1 pp. 73. Lo hice para que la gente pudiera tener un patrón de bolsillo histórico que fuera fácilmente ajustable. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From 95a3c64f6b4205c64a5d011bb97194a1a4d60ef5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:38 +0100 Subject: [PATCH 0605/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/lunetius/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/es.md b/markdown/org/docs/designs/lunetius/notes/es.md index 7e255ecc90a..539a3207e9d 100644 --- a/markdown/org/docs/designs/lunetius/notes/es.md +++ b/markdown/org/docs/designs/lunetius/notes/es.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna: Notas del diseñador" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. ¿Por qué? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. From 37d2520c94a6e61dd92d8a0edf63212e9ec0d4cb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:39 +0100 Subject: [PATCH 0606/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/noble/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/es.md b/markdown/org/docs/designs/noble/notes/es.md index 52c58a18f68..3721d8464fe 100644 --- a/markdown/org/docs/designs/noble/notes/es.md +++ b/markdown/org/docs/designs/noble/notes/es.md @@ -4,7 +4,7 @@ title: "Bloque de cuerpo noble: Notas del diseñador" Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. Wouter From a9274fba45b668e10878dc0a6ae9cbf461156330 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:40 +0100 Subject: [PATCH 0607/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/octoplushy/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/es.md b/markdown/org/docs/designs/octoplushy/notes/es.md index 77d2506ba17..ab3404594d5 100644 --- a/markdown/org/docs/designs/octoplushy/notes/es.md +++ b/markdown/org/docs/designs/octoplushy/notes/es.md @@ -2,7 +2,7 @@ title: "Octoplushy, el pulpo de peluche: Notas del diseñador" --- -Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. +Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. A plushy octopus. With a cute name. That had to become something very cuddly. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. It worked out fine. From f23762cfbac4a829a702a01278b410f2ed669676 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:42 +0100 Subject: [PATCH 0608/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/penelope/notes/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/es.md b/markdown/org/docs/designs/penelope/notes/es.md index 8d0867d39dc..53036a9c7b7 100644 --- a/markdown/org/docs/designs/penelope/notes/es.md +++ b/markdown/org/docs/designs/penelope/notes/es.md @@ -2,11 +2,11 @@ title: "Falda lápiz Penélope: Notas del diseñador" --- -Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the apropriate thing to do. I found a drafting method online and made het a skirt. This fitted remarkably well. +Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. -The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (whic I would recommend). +The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (which I would recommend). Wouter From aacd63599ff729defd955b1bc26000e1282f25db Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:45 +0100 Subject: [PATCH 0609/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/simone/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/es.md b/markdown/org/docs/designs/simone/notes/es.md index a730b9961b0..a2eaed04651 100644 --- a/markdown/org/docs/designs/simone/notes/es.md +++ b/markdown/org/docs/designs/simone/notes/es.md @@ -2,7 +2,7 @@ title: "Camisa Simone: Designer Notes" --- -Simone es esencialmente [Simon](/designs/simon) con un ajuste de todo el busto. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt design, but anyone can choose Simone for a more female-presenting look due to the bust dart. From 169f4e9c29ec644573dc821590621a51b1c6ad02 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:48 +0100 Subject: [PATCH 0610/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/tiberius/notes/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/es.md b/markdown/org/docs/designs/tiberius/notes/es.md index 11d6ec1b40b..c814dd457da 100644 --- a/markdown/org/docs/designs/tiberius/notes/es.md +++ b/markdown/org/docs/designs/tiberius/notes/es.md @@ -2,9 +2,9 @@ title: "Tiberio Tunica: Notas del diseñador" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) -Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. From 964db70cc52f452e4185bed53b0d8d50c150900f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:49 +0100 Subject: [PATCH 0611/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/titan/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/es.md b/markdown/org/docs/designs/titan/notes/es.md index f8fae0fc75c..a24253bfe87 100644 --- a/markdown/org/docs/designs/titan/notes/es.md +++ b/markdown/org/docs/designs/titan/notes/es.md @@ -4,7 +4,7 @@ title: "Bloque de pantalón Titan: Notas del diseñador" I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. -I had started on this a couple of times on my own, but for various reasons was never happy and abondoned the effort more than once. +I had started on this a couple of times on my own, but for various reasons was never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From 9ade786306c2faa4e51e1624d2c6ae5821a071c1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:51 +0100 Subject: [PATCH 0612/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/uma/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/es.md b/markdown/org/docs/designs/uma/notes/es.md index ac70afac68a..0c863af93a7 100644 --- a/markdown/org/docs/designs/uma/notes/es.md +++ b/markdown/org/docs/designs/uma/notes/es.md @@ -6,7 +6,7 @@ This design is inspired by an earlier design (Ursula) which was created by my fr In the run-up to the v3 release, we discussed the migration of the various designs, and it became clear that for reasons (gestures vaguely towards people on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. -Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also mase some changes that people had been asking for, such as the bulge option to make it gender-neutral. +Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Resumiendo: From 5a498a43b30347b49225d55c914c57973ecc573e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:52 +0100 Subject: [PATCH 0613/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/walburga/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/es.md b/markdown/org/docs/designs/walburga/notes/es.md index c13b0381215..fcd145047cb 100644 --- a/markdown/org/docs/designs/walburga/notes/es.md +++ b/markdown/org/docs/designs/walburga/notes/es.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock: Notas del diseñador" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. From 14d58502a68c949605da0c3848295adbc1171e11 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:53 +0100 Subject: [PATCH 0614/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/waralee/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/es.md b/markdown/org/docs/designs/waralee/notes/es.md index d870ec92d83..d6a71df5d69 100644 --- a/markdown/org/docs/designs/waralee/notes/es.md +++ b/markdown/org/docs/designs/waralee/notes/es.md @@ -6,7 +6,7 @@ Waralee is one of those designs that you just make because it's easy, and you fe The construction is easy when you make it without pockets. And with them, it's still not that hard for a practiced sewist. -Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. +Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. These wrap pants are lovely in warm weather, specially when made from linen. From c0949d3598a4fbdc94a62fa858f0510e33d7e087 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:02:55 +0100 Subject: [PATCH 0615/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/uma/cutting/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/es.md b/markdown/org/docs/designs/uma/cutting/es.md index 1a0b74bd5e8..6a77f6482fe 100644 --- a/markdown/org/docs/designs/uma/cutting/es.md +++ b/markdown/org/docs/designs/uma/cutting/es.md @@ -2,7 +2,7 @@ title: "Calzoncillos Ursula: Instrucciones de corte" --- -La uma suele constar de una parte delantera, una trasera y un fuelle forrado. En ese constallation, esta es la lista de corte: +La uma suele constar de una parte delantera, una trasera y un fuelle forrado. In that constellation, this is the cut list: - **Tela principal** - Cortar **1 frente** From 5e187e40872f3864e25563ecfc0c66a5e2aa93e8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:03:05 +0100 Subject: [PATCH 0616/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/es.md b/markdown/org/docs/designs/teagan/options/fitwaist/es.md index e710b335d24..647a9cfe15d 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/es.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/es.md @@ -4,7 +4,7 @@ title: "Curva hasta la cintura" Elige esta opción para que Teagan se curve hacia tu cintura antes de curvarse hacia las caderas. -Esto dará mejores resultados a las que tengan una cintura más pequeña y busquen una camiseta entallada con más forma de reloj de arena. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. Esta opción también puede utilizarse cuando la medida de la cintura supera la medida de la cadera, pero esto da lugar a una forma de camiseta no estándar que puede ser imposible de poner. From f319dc9d97498b30d96cad1dcaecfe0f75635b6a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:03:37 +0100 Subject: [PATCH 0617/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/es.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/es.md b/markdown/org/docs/about/site/draft/core-settings/locale/es.md index 17d4216c09d..27df3888d9b 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/es.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/es.md @@ -11,6 +11,7 @@ FreeSewing admite actualmente los siguientes idiomas: - Francés - Alemán - Holandés +- Ukrainian You can pick any of these and your pattern will be translated in this language. From 4cb0e07eb7e19e231df438a6452315ebfd3bcfbe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:04:19 +0100 Subject: [PATCH 0618/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shelly/instructions/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/es.md b/markdown/org/docs/designs/shelly/instructions/es.md index 30e605daf4a..17b75981570 100644 --- a/markdown/org/docs/designs/shelly/instructions/es.md +++ b/markdown/org/docs/designs/shelly/instructions/es.md @@ -4,13 +4,13 @@ title: "Camisa Shelly Instrucciones de costura" -Se recomienda utilizar una máquina overlock o un prensatelas para que las costuras acabadas sean pequeñas. Si utilizas una máquina overlock, se recomienda un margen de costura de 12 mm (1/2 pulgada). Si utilizas un prensatelas para sobrehilar en una máquina de coser, o si coses sin utilizar la cuchilla, se recomienda un margen de costura de 6 mm (1/4 pulgada). +Se recomienda utilizar una máquina overlock o un prensatelas para que las costuras acabadas sean pequeñas. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. Si utilizas un prensatelas para sobrehilar en una máquina de coser, o si coses sin utilizar la cuchilla, se recomienda un margen de costura de 6 mm (1/4 pulgada). Todas las costuras, incluida la del cuello, se pueden hacer con la misma puntada, ya sea una overlock, una overger o una puntada elástica. Los dobladillos son opcionales (ya que el punto no se deshilacha), pero si los haces, asegúrate de que puedan estirarse. -Asegúrate de utilizar una puntada que pueda estirarse. Si coses tejido elástico, ajusta la tensión para tener en cuenta el estiramiento adicional. En una máquina overlock, esto suele significar reducir la tensión de la aguja, especialmente la aguja derecha, y ajustar la tensión de la lanzadera según sea necesario para que la puntada tenga un aspecto decente. En una máquina de coser normal, baja la tensión. Prueba primero la puntada elegida en un retal de tela, e intenta dar forma a la costura de prueba estirando la costura a lo largo. Sólo debería romperse después de estirarse bastante. Si salta con demasiada facilidad, sigue jugando con los ajustes de puntadas/tensión hasta que consigas algo que pueda sobrevivir a cierto abuso. +Asegúrate de utilizar una puntada que pueda estirarse. Si coses tejido elástico, ajusta la tensión para tener en cuenta el estiramiento adicional. En una máquina overlock, esto suele significar reducir la tensión de la aguja, especialmente la aguja derecha, y ajustar la tensión de la lanzadera según sea necesario para que la puntada tenga un aspecto decente. En una máquina de coser normal, baja la tensión. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. Sólo debería romperse después de estirarse bastante. Si salta con demasiada facilidad, sigue jugando con los ajustes de puntadas/tensión hasta que consigas algo que pueda sobrevivir a cierto abuso. Para hacer camisetas u otras camisas con elasticidad bidireccional, los ajustes normales con una puntada que se estire deberían estar bien. @@ -103,4 +103,4 @@ Para hacer camisetas u otras camisas con elasticidad bidireccional, los ajustes ### Paso 5: ¡Disfruta de tu nueva camiseta! -- Es hora de llevar tu nueva camiseta a nadar, ¡o de lucirla en la playa! \ No newline at end of file +- Es hora de llevar tu nueva camiseta a nadar, ¡o de lucirla en la playa! From 649de7ee11d449c7c02c2c9b746b637c857053ae Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:04:41 +0100 Subject: [PATCH 0619/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/skully/fabric/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/es.md b/markdown/org/docs/designs/skully/fabric/es.md index 56de17226f7..c1895510471 100644 --- a/markdown/org/docs/designs/skully/fabric/es.md +++ b/markdown/org/docs/designs/skully/fabric/es.md @@ -8,7 +8,7 @@ Este juguete de peluche se hace mejor con un tejido de tipo fieltro. Esto propor ## Pelo -Skully necesita pelo. El hilo de bordar funciona muy bien, y se puede conseguir en todos los colores. +Skully necesita pelo. Embroidery floss works very well, and can be had in all colors. ## Relleno @@ -16,4 +16,4 @@ Puesto que se trata de un peluche, lo tendremos que rellenar. En la mayoría de ## Aguja -Skully ha cambiado su espada por una aguja. Una aguja de este tamaño se vende sobre todo como aguja de tapicería. Esto te resultará útil cuando hagas algunos retoques al final de la construcción. \ No newline at end of file +Skully ha cambiado su espada por una aguja. Una aguja de este tamaño se vende sobre todo como aguja de tapicería. Esto te resultará útil cuando hagas algunos retoques al final de la construcción. From 6805a70f8bb6587290a52e11f66f98b13c373c19 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:04:42 +0100 Subject: [PATCH 0620/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/skully/instructions/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/es.md b/markdown/org/docs/designs/skully/instructions/es.md index 4d73e016374..bd192ff32d9 100644 --- a/markdown/org/docs/designs/skully/instructions/es.md +++ b/markdown/org/docs/designs/skully/instructions/es.md @@ -91,12 +91,12 @@ Turn it right sides out. ## Paso 5: Pelo -Ahora es el momento de añadir pelo al skully. Cuando coloques el hilo de bordar, asegúrate de añadir nudos en la parte interior, o de lo contrario será muy fácil arrancarle el pelo a Skully más tarde. +Now is the time to add hair to Skully. Cuando coloques el hilo de bordar, asegúrate de añadir nudos en la parte interior, o de lo contrario será muy fácil arrancarle el pelo a Skully más tarde. ## Step 6: Enjoy! - Rellena el peluche con relleno por la abertura que has dejado, asegurándote de llenar bien todas las partes . Las zonas de delante son las más difíciles de alcanzar. -- Usa _punto escondido_ o _sobrehilado_ para cerrar la apertura. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Paso 7: Ajustes @@ -106,4 +106,4 @@ También es buena idea añadir puntadas entre las costuras 5 y 14, a lo largo de ## Paso 7: ¡Disfrútalo! -Ya está, ya has terminado. ¡Empieza a planear a qué barco pirata de costura te unirás! \ No newline at end of file +Ya está, ya has terminado. ¡Empieza a planear a qué barco pirata de costura te unirás! From a14ebf3bbb3f23853c86c60d360dbb14e39ac1c9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:04:46 +0100 Subject: [PATCH 0621/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/skully/options/size/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/options/size/es.md b/markdown/org/docs/designs/skully/options/size/es.md index 8a08e37a91f..e554e4dcaf6 100644 --- a/markdown/org/docs/designs/skully/options/size/es.md +++ b/markdown/org/docs/designs/skully/options/size/es.md @@ -4,4 +4,4 @@ title: "Talla" Skully puede fabricarse en diferentes tamaños. El valor por defecto es aproximadamente el 75% de una cabeza humana normal (unos 16 cm de altura). -Si estableces el porcentaje en 100%, e introduces la medida de tu cabeza, Skully tendrá aproximadamente el tamaño de tu cabeza. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will be approximately the size of your head. From 005138abff5c73a5531d6bf6db18f43950931d18 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:05:11 +0100 Subject: [PATCH 0622/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/onyx/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/es.md b/markdown/org/docs/designs/onyx/instructions/es.md index 4582156dd99..623bf02f3b1 100644 --- a/markdown/org/docs/designs/onyx/instructions/es.md +++ b/markdown/org/docs/designs/onyx/instructions/es.md @@ -4,9 +4,9 @@ title: "Onyx de una pieza: Instrucciones de costura" -Se recomienda el uso de una overlocker, para que el tamaño de las costuras acabadas sea pequeño y las costuras puedan estirarse. Si utilizas una máquina overlock con la cuchilla activada, se recomienda un margen de costura de 12 mm (1/2 pulgada). Si utilizas un prensatelas para sobrehilar en una máquina de coser, o si coses sin utilizar la cuchilla, se recomienda un margen de costura de 6 mm (1/4 pulgada). +Se recomienda el uso de una overlocker, para que el tamaño de las costuras acabadas sea pequeño y las costuras puedan estirarse. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. Si utilizas un prensatelas para sobrehilar en una máquina de coser, o si coses sin utilizar la cuchilla, se recomienda un margen de costura de 6 mm (1/4 pulgada). -A menos que se indique lo contrario, utiliza vapores elásticos para la confección de esta prenda. Se recomienda utilizar una puntada overlock de 4 hilos, o un pie overlock en una máquina de coser si no se dispone de una overlock. +Unless otherwise stated, use stretch steams for construction of this garment. Se recomienda utilizar una puntada overlock de 4 hilos, o un pie overlock en una máquina de coser si no se dispone de una overlock. Los dobladillos o los puños son opcionales (ya que el punto no se deshilacha), pero si haces dobladillos o añades puños, asegúrate de que puedan estirarse. Estas instrucciones describen cómo hacer un dobladillo de pliegue simple con aguja doble, adecuado para trajes de baño o prendas ligeras, y cómo hacer un puño de punto elástico, adecuado para pijamas de forro polar o kigurumi. From df83b1336b4ae4c0290f8652e6eb32b321fe1344 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:05:47 +0100 Subject: [PATCH 0623/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/onyx/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/es.md b/markdown/org/docs/designs/onyx/notes/es.md index 835f1ceb918..061417f598d 100644 --- a/markdown/org/docs/designs/onyx/notes/es.md +++ b/markdown/org/docs/designs/onyx/notes/es.md @@ -10,7 +10,7 @@ La falda se añadió por pudor, principalmente para los bañadores, aunque permi Onyx sí copia algunos rasgos de Shelly, como las mangas raglán para mayor movilidad y el uso de partes delanteras y traseras simétricas, excepto el cuello y la cabeza. -Onyx debe su nombre a la piedra preciosa y a su profundo color negro, que no por casualidad es un gran color de base para los bañadores Onyx, sobre todo si se quiere que parezcan un traje de neopreno. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. Un poco de historia: Onyx podría no haber nacido nunca de no haber sido por las protestas y boicots anti-LGBTQ+ de la primavera de 2023, que provocaron que un unisuit que me gustaba especialmente fuera retirado de las estanterías de una importante tienda estadounidense, y que yo necesitara un sustituto adecuado. From 590c3362f396b09d535089046b90fa21f12cb3b5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:05:58 +0100 Subject: [PATCH 0624/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/lumira/instructions/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/es.md b/markdown/org/docs/designs/lumira/instructions/es.md index 591b415fd7f..526355a0741 100644 --- a/markdown/org/docs/designs/lumira/instructions/es.md +++ b/markdown/org/docs/designs/lumira/instructions/es.md @@ -1,6 +1,6 @@ ---- +\-- title: "Lumira leggings: Sewing Instructions" ---- +--------------------------------------------- @@ -58,4 +58,4 @@ in the right spot. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -Todo listo! Enjoy your Lumina leggings! +Todo listo! Enjoy your Lumira leggings! From c1df5271eae8367e158e70afb418012d0ac44f2d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:06:02 +0100 Subject: [PATCH 0625/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/lumira/options/ease/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/es.md b/markdown/org/docs/designs/lumira/options/ease/es.md index 6708b44af57..40103d1aaa6 100644 --- a/markdown/org/docs/designs/lumira/options/ease/es.md +++ b/markdown/org/docs/designs/lumira/options/ease/es.md @@ -3,10 +3,10 @@ title: Único --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narrower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From 65c891a34737dd59ba057dbd10e5a14866b7ba2d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:06:59 +0100 Subject: [PATCH 0626/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/aaron/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/de.md b/markdown/org/docs/designs/aaron/instructions/de.md index daa9a999d78..c348e38332b 100644 --- a/markdown/org/docs/designs/aaron/instructions/de.md +++ b/markdown/org/docs/designs/aaron/instructions/de.md @@ -103,7 +103,7 @@ Es ist an der Zeit, die Enden des Bandes zusammenzunähen, bevor wir unseren Kre ![Ende der Einfassung markieren](step03f.png) -Nimm eins der Enden und dehne es entlang der 3cm ab den Startpunkt, wie du es beim Nähen tun würdest. +Nehmen Sie eine der Kanten und strecken Sie sie entlang der 3cm vom Startpunkt ab, wie Sie es beim Nähen tun würden. Markiere die Einfassung, wo sie den Startpunkt erreicht. Tu das Gleiche für das andere Ende. @@ -113,7 +113,7 @@ Markiere die Einfassung, wo sie den Startpunkt erreicht. Tu das Gleiche für das Falte dein A-Shirt so, dass es am einfachsten ist die guten Enden des Einfassbandes mit rechts auf rechts an der Markierung zusammenzubringen. Nähe die Einfassstreifen auf der Markierung zusammen. -> 6 cm sind nicht viel, aber sollte ausreichen, um beide Enden bequem mit der Nähmaschine zusammen zu nähen. +> 6 cm ist nicht viel, aber sollte ausreichen, um beide Kanten bequem unter Ihrer Nähmaschine zu nähen. ### Beende die letzten 6 cm Bindung From c9913d012c8412571539269da499158b7dde86ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:07:18 +0100 Subject: [PATCH 0627/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bee/cutting/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/de.md b/markdown/org/docs/designs/bee/cutting/de.md index 0606d933bd0..dbe0ce12299 100644 --- a/markdown/org/docs/designs/bee/cutting/de.md +++ b/markdown/org/docs/designs/bee/cutting/de.md @@ -38,6 +38,6 @@ Es gibt drei Varianten dieses Musters. **One Colour**, bei dem das Bikiniobertei -Dieses Muster lässt sich leicht wenden, indem du einen ähnlichen Stoff wie den Hauptstoff kaufst und ihn als Kontrast verwendest. Um Verwirrung in der Anleitung zu vermeiden, wird er als Futterstoff bezeichnet. +Dieses Muster lässt sich leicht wenden, indem du einen ähnlichen Stoff wie den Hauptstoff kaufst und ihn als Kontrast verwendest. To save confusion on instructions it will be referred to as the lining fabric. From 5885a7a256dfd6f0f330009bf686e5756f1e9201 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:07:20 +0100 Subject: [PATCH 0628/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bee/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/de.md b/markdown/org/docs/designs/bee/fabric/de.md index a9cf346115b..4e1c5e14a71 100644 --- a/markdown/org/docs/designs/bee/fabric/de.md +++ b/markdown/org/docs/designs/bee/fabric/de.md @@ -8,6 +8,6 @@ Der Haupt- und der Futterstoff sind aus demselben Material. Bee wird aus Bademod -Du brauchst nur dann einen Futterstoff, wenn du das Schnittmuster wendbar machen willst oder wenn du das Band für die Kreuzbindervariante aus einem Kontraststoff machen willst. Ansonsten kannst du alle benötigten Teile aus deinem Hauptstoff zuschneiden. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Ansonsten kannst du alle benötigten Teile aus deinem Hauptstoff zuschneiden. From 6319c0d40e21f7535c82b861de702084c513fab9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:07:21 +0100 Subject: [PATCH 0629/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bee/instructions/de.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/de.md b/markdown/org/docs/designs/bee/instructions/de.md index 62e51c30bd0..c70c90c9827 100644 --- a/markdown/org/docs/designs/bee/instructions/de.md +++ b/markdown/org/docs/designs/bee/instructions/de.md @@ -8,7 +8,7 @@ Achte darauf, dass du einen Stretchstich verwendest -Wenn du ein wendbares Oberteil anfertigst, wird die zweite Farbe als Futterstoff bezeichnet. +When making a reversible top the second colour will be referred to as the lining fabric. Die Kerben in diesem Muster wirken eher wie Punkte, also **klammere** sie nicht, um sie zu markieren. @@ -30,7 +30,7 @@ Die Kerben in diesem Muster wirken eher wie Punkte, also **klammere** sie nicht, - Schneide die Nahtzugaben zurück und schneide die Ecken ab. - Drehe dich von innen nach außen. Presse. -Wiederhole diesen Vorgang für die restlichen Krawattenstücke +Repeat this for the remaining neck tie pieces ### Schritt 2: Die Becher @@ -51,9 +51,9 @@ Die Kerben in diesem Muster wirken eher wie Punkte, also **klammere** sie nicht, Wenn deine Nahtzugabe breit ist, musst du die Nahtzugaben der Lücken vielleicht ein wenig kürzen, damit sie nicht zu groß werden. -Wenn du Probleme beim Wenden der Körbchen hast, kannst du eine der folgenden Methoden ausprobieren: +If you are having trouble turning the cups you can try one of these methods: -- Erstelle eine 2,5 cm breite Lücke in der Vorder- oder Seitennaht und wende sie, indem du die Lücke entweder mit einem _Rutschstich_ schließt oder sie in Schritt 7 mit einem _Stich_ schließt. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Verbreitere eine der vorhandenen Lücken und biege durch sie hindurch. Dann wird beim Wenden _Gestich_ oder _Rutschstich_ der verbreiterte Teil geschlossen. @@ -85,7 +85,7 @@ Außerdem gibt es auf beiden Seiten der Mitte des Bandes Einkerbungen, die dir e -Du kannst es auch vorziehen, den einen Becher in der Mitte über den anderen zu wickeln. Dazu legst du die Seiten der Becher an den anderen Kerben an und legst ihre Vorderseiten über die Mitte, wobei die linke oben liegt. +Du kannst es auch vorziehen, den einen Becher in der Mitte über den anderen zu wickeln. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From 53c7f48fd2ea264a1e121aad1a4c2cf857599aa6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:19 +0100 Subject: [PATCH 0630/1313] New translations en.md (German) skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/de.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/de.md index f634b7c47a4..1c0fcf340cc 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/de.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/de.md @@ -2,7 +2,7 @@ title: "Verringerung der Schulterneigung" --- -Dieses Muster passt sich an die schräge Schulter an, indem die Schulterschräge Messung berücksichtigt werden. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. Für Jacken oder Mantel kann es jedoch sein, dass man mehr Platz an den Schultern schaffen möchte, um Schulterpolster zu ermöglichen. Mit dieser Option können Sie zusätzlichen Platz an den Schultern erstellen, indem Sie die Menge der Schultern verkleinern. From 923a99d74ba81d91ca973480f9b0b067eb1ef98f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:25 +0100 Subject: [PATCH 0631/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bob/instructions/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/de.md b/markdown/org/docs/designs/bob/instructions/de.md index 1e6387ac980..339d8ed26a4 100644 --- a/markdown/org/docs/designs/bob/instructions/de.md +++ b/markdown/org/docs/designs/bob/instructions/de.md @@ -25,7 +25,7 @@ Achte darauf, dass du dicht an der Kante nähst, damit die Stiche später unter ## Schritt 2: Schrägband anbringen -Wir werden den gesamten Rand des Lätzchens mit Schrägband abschließen. +We're going to apply bias tape as a finish around the entire edge of the bib. Wahrscheinlich möchtest du am unteren Träger beginnen, denn so wird die Naht des Schrägbandes verdeckt, wenn das Lätzchen getragen wird. From 108bc25f4e7424f94b0ef21a6ec4527cd32cc5f8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:29 +0100 Subject: [PATCH 0632/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bob/options/widthratio/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/de.md b/markdown/org/docs/designs/bob/options/widthratio/de.md index e32435e23c7..a23c197fbe3 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/de.md +++ b/markdown/org/docs/designs/bob/options/widthratio/de.md @@ -5,7 +5,7 @@ title: Breitenverhältnis Steuert die Breite des Latzes. - Erhöhe den Prozentsatz, um die Breite des Lätzchens zu vergrößern. -- Verringere den Prozentsatz, um die Breite des Lätzchens einzuschränken. +- Decrease the percentage to constrict the width of the bib. From 01cf07416c6a0cda670bb8e182247227b3faf579 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:39 +0100 Subject: [PATCH 0633/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/breanna/options/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/de.md b/markdown/org/docs/designs/breanna/options/de.md index f1debf101c5..77c97dfb165 100644 --- a/markdown/org/docs/designs/breanna/options/de.md +++ b/markdown/org/docs/designs/breanna/options/de.md @@ -40,7 +40,7 @@ Die Höhe der Ärmel entspricht der Entfernung zwischen den Punkten 3 und 4. Die - [Sleevecap Top X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Steuert die horizontale Platzierung von Punkt 3 und 4 - [Sleevecap oben Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Steuert die vertikale Platzierung von Punkt 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Die Wendepunkte From 35c54886f3bf1827fc873b7f52e78a157bdde9fd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:43 +0100 Subject: [PATCH 0634/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/de.md b/markdown/org/docs/designs/breanna/options/shoulderdart/de.md index 461ec226d27..39ecc2f612e 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/de.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/de.md @@ -2,7 +2,7 @@ title: "Schulterabnäher" --- -Ob du einen Schulterabnäher einfügen willst, um den Rücken abzurunden oder nicht. +Whether or not to include a back shoulder dart to round the back. From 6f961bf463e08f9c720c29d86c0835c1e2a9cab6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:48 +0100 Subject: [PATCH 0635/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/breanna/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/de.md b/markdown/org/docs/designs/breanna/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From 88c5ce5fbc9b7088d33e5430c85832697d5a0039 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:08:55 +0100 Subject: [PATCH 0636/1313] New translations en.md (German) skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From af01e683ab83339bd45d5a04f3a72da26671465a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:02 +0100 Subject: [PATCH 0637/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/breanna/options/waistdart/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/de.md b/markdown/org/docs/designs/breanna/options/waistdart/de.md index 4f63fc1ddad..1bd7e6faa92 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/de.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/de.md @@ -2,7 +2,7 @@ title: "Taillenabnäher" --- -Ob du einen Abnäher in der Taille einfügen willst, um den Rücken abzurunden oder nicht. +Whether or not to include a back waist dart to round the back. From c468aa09baa5e0f20ec174a8da7371aea32dbaaa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:15 +0100 Subject: [PATCH 0638/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/brian/options/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/de.md b/markdown/org/docs/designs/brian/options/de.md index 9286089b37b..6363c8434a8 100644 --- a/markdown/org/docs/designs/brian/options/de.md +++ b/markdown/org/docs/designs/brian/options/de.md @@ -40,7 +40,7 @@ Die Höhe der Ärmel entspricht der Entfernung zwischen den Punkten 3 und 4. Die - [Sleevecap Top X](/docs/designs/brian/options/sleevecaptopfactorx/) : Steuert die horizontale Platzierung von Punkt 3 und 4 - [Sleevecap oben Y](/docs/designs/brian/options/sleevecaptopfactory/) : Steuert die vertikale Platzierung von Punkt 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Die Wendepunkte From 674b389b57608c0c02ebf4334a9a0080db19007c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:21 +0100 Subject: [PATCH 0639/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/brian/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/de.md b/markdown/org/docs/designs/brian/options/sleevecapease/de.md index 8cbb5990b05..594ea151d8e 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/de.md @@ -8,7 +8,7 @@ Diese Option bestimmt den Grad der Lockerung am Ärmelabschluss. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From bf2f39a81a836c54276b85a4f40e40948d927a69 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:28 +0100 Subject: [PATCH 0640/1313] New translations en.md (German) skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/de.md index 96fd61a97ec..387fa243527 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/de.md @@ -4,7 +4,7 @@ title: "Armkugel Q3 Spreizung nach oben" *** -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From bf8bb39fa3dbbfe7c338fa2a0502d22cc173b727 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:37 +0100 Subject: [PATCH 0641/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bruce/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/de.md b/markdown/org/docs/designs/bruce/instructions/de.md index ec6617a1960..647dada0724 100644 --- a/markdown/org/docs/designs/bruce/instructions/de.md +++ b/markdown/org/docs/designs/bruce/instructions/de.md @@ -158,7 +158,7 @@ Nimm es langsam und sei **sehr bewusst**, wo deine Sergerklinge schneiden wird. ![säume das erste Bein](step11.png) -Zeit, die Beine zu säumen. Säume sie genauso wie jeden anderen dehnbaren Strickstoff. Wähle einen flexiblen Stich. Du kannst einen Zick-Zack-Stich oder eine Zwillingsnadel verwenden, falls du keine Coverlock oder einen speziellen dehnbaren Stich hast. +Zeit, die Beine zu säumen. Säume sie genauso wie jeden anderen dehnbaren Strickstoff. Wähle einen flexiblen Stich. Sie können eine Zick-Zack-Zwillingsstick- oder Zwillingsnadel verwenden, wenn Sie nicht über einen Deckschloss oder eine spezielle flexible Hefteinstellung verfügen. @@ -201,7 +201,7 @@ Wenn Sie einen Coverlock verwenden, legen Sie die elastische auf die gute Seite -Die Länge deines Gummizuges wird wahrscheinlich anders sein als die Länge des Stoffes, weil beide sich unterschiedlich weit dehnen lassen. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Feststecken wird dir dabei helfen, eine gleichmäßige Dehnung zu erzielen. Teile sowohl deinen Gummizug als auch dein Bund deiner Shorts in 4 (oder 8) Teile auf. Stecke Gummi und Stoff an diesen Stellen zusammen. From 4cf35977534c69d2fce59390bd55f998e399646a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:09:42 +0100 Subject: [PATCH 0642/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bruce/options/rise/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/de.md b/markdown/org/docs/designs/bruce/options/rise/de.md index 7e9d286eaa3..2eacf249ad4 100644 --- a/markdown/org/docs/designs/bruce/options/rise/de.md +++ b/markdown/org/docs/designs/bruce/options/rise/de.md @@ -4,7 +4,7 @@ title: "Sitz" ![Die Aufstiegsoption auf Bruce](./rise.svg) -Diese Option steuert die Überhöhe der Taille. +This option controls the overall height of the waist. > Je höher der Aufstieg, desto höher deine Taille. From 5046cb695f91579ef9fa6db8e03087e4a6de4e3e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:10:42 +0100 Subject: [PATCH 0643/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/carlton/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/de.md b/markdown/org/docs/designs/carlton/options/sleevecapease/de.md index a5090dad12a..4151ceabc1b 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/de.md @@ -8,7 +8,7 @@ Wie viel Ärmelfreiheit willst du? > #### Was ist der Punkt? > -> Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +> Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. > > Mehr Leichtigkeit macht die Ärmelkurve in die Naht, wie man es von einem Fell erwarten würde. Weniger Leichtigkeit macht die Ärmel flacher. From 53d92a3964d70a6d9f44415ec34b7fd6e7ca5993 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:10:58 +0100 Subject: [PATCH 0644/1313] New translations en.md (German) skip-build --- .../docs/designs/charlie/instructions/de.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/de.md b/markdown/org/docs/designs/charlie/instructions/de.md index 6869e4fb095..b8f4cd2058c 100644 --- a/markdown/org/docs/designs/charlie/instructions/de.md +++ b/markdown/org/docs/designs/charlie/instructions/de.md @@ -193,7 +193,7 @@ Wenn du fertig bist, drücke die Inseam zu öffnen. Vergewissere dich, dass dein rechtes und linkes Bein mit den Mustermarkierungen übereinstimmen. Der Schritt des rechten Beins sollte etwas über den des linken hinausgehen. Sieh dir das Schnittmuster an und schneide den Überschuss am linken Bein ab, falls nötig. -Es kann hilfreich sein, mit Kreide oder Faden die **Center Front** an jedem Bein zu markieren. So kannst du sicherstellen, dass die Teile beim Fliegenbau an der richtigen Stelle sitzen. +Es kann hilfreich sein, mit Kreide oder Faden die **Center Front** an jedem Bein zu markieren. This will help you make sure the pieces are in the right place during fly construction. @@ -276,14 +276,14 @@ Denke daran, dass die Nahtzugabe etwas rechts von der vorderen Mitte beginnt. Di Achte darauf, dass du die gefaltete Kante des rechten Beins genau links von den Reißverschlusszähnen platzierst, damit sich der Stoff nicht im Reißverschluss verfängt. -Beende das Nähen an der oberen Aussparung der Schlitzverlängerung, etwas oberhalb der Quernaht, und steppe unbedingt ab. Wenn du das nicht tust, kannst du die Verlängerung beim Nähen der J-Naht nicht aus dem Weg halten. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. Wenn du das nicht tust, kannst du die Verlängerung beim Nähen der J-Naht nicht aus dem Weg halten. ![Verlängerung am rechten Bein befestigen](AttachExtensionToRightLeg.svg) ### Befestige den Reißverschluss an der Schlitzleiste. -Achte darauf, das linke Bein auf der rechten vorderen Mitte auszurichten. Es kann von Vorteil sein, durch den Besatz und die rechte Seite des Reißverschlussbandes zu stechen oder zu heften. (Wir müssen die linke Seite des Reißverschlussbandes an das linke Bein nähen). Achte darauf, dass alles gefüttert ist, und nähe die Schlitzleiste auf die linke Seite des Reißverschlusses. Versuche, nah an den Reißverschluss heranzukommen, aber nicht zu nah. +Achte darauf, das linke Bein auf der rechten vorderen Mitte auszurichten. It can be valuable to pin or baste through the facing and right side of the zipper tape. (Wir müssen die linke Seite des Reißverschlussbandes an das linke Bein nähen). Achte darauf, dass alles gefüttert ist, und nähe die Schlitzleiste auf die linke Seite des Reißverschlusses. Versuche, nah an den Reißverschluss heranzukommen, aber nicht zu nah. ![Verkleidung am Reißverschluss befestigen](AttachFacingToZipper.svg) @@ -292,15 +292,15 @@ Achte darauf, das linke Bein auf der rechten vorderen Mitte auszurichten. Es kan -Verwende ein Stück Papier als Führung, um die J-Naht zu nähen. Dieses kannst du entlang der angegebenen Stichlinie aus deinem Muster ausschneiden. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Jetzt die so genannte J-Naht der Fliege aufstitten. Achten Sie darauf, die Fliegenverlängerung aus dem Weg zu räumen. Da du nicht die ganze Länge der Schlitzverlängerung genäht hast, solltest du sie aus dem Weg stechen können. +Jetzt die so genannte J-Naht der Fliege aufstitten. Achten Sie darauf, die Fliegenverlängerung aus dem Weg zu räumen. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Bar tackt den unteren Rand des Fliegens -Verriegele nun den unteren Teil der J-Naht (den waagerechten Teil), aber achte diesmal darauf, dass du auch die Schlitzverlängerung erwischst. Du kannst auch einen zusätzlichen Riegel entlang der J-Naht anbringen (lila dargestellt). +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. Du kannst auch einen zusätzlichen Riegel entlang der J-Naht anbringen (lila dargestellt). ![Die J-Naht nähen](SewTheJSeam.svg) @@ -310,7 +310,7 @@ Verriegele nun den unteren Teil der J-Naht (den waagerechten Teil), aber achte d -Für die Effizienz werden wir einen langen Streifen Gurtschleifen in 8 Teile zerlegen. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -360,7 +360,7 @@ Nähen Sie eine Linie des Nähens auf der Innenbund, in der Nähe der Kante, dur Legen Sie die Taille mit guten Seiten zusammen entlang der Taille. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -Achten Sie auch darauf, ausreichend Naht über den Anfang und das Ende der Taille zu lassen. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Nähen Sie die gesamte Taille entlang und befestigen Sie das Taillenband und nähen Sie die Gürtelschleifen in einem Schritt. @@ -398,7 +398,7 @@ Dies wird die Rückseite des Taillenbands, das wir gemacht haben, um etwas weite ### Nähen Sie die Gürtelschleifen nach unten um sie breiter zu machen -Am besten machst du die Gürtelschlaufen etwas breiter als den Bund, damit du breitere Gürtel unterbringen kannst. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. Dazu lässt du den Bund flach liegen und nähst ihn mit einem Riegel etwa 1,5 cm unterhalb des Bundes fest. From b5251f4f75d49f730706e584215461b32abf7c8b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:03 +0100 Subject: [PATCH 0645/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/de.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/de.md index 43ae15700dc..276fd0e8178 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/de.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/de.md @@ -2,7 +2,7 @@ title: "Breite der hinteren Tasche" --- -Bestätigt die Breite der hinteren Taschen. +Controls the width of the back pockets. From 1484601d911ac48ad57a8cc80c3bf3014843bd3b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:04 +0100 Subject: [PATCH 0646/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/charlie/options/beltloops/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/de.md b/markdown/org/docs/designs/charlie/options/beltloops/de.md index d4c6c1a0002..6ade73ca8ad 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/de.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/de.md @@ -2,7 +2,7 @@ title: "Gürtelschlaufen" --- -Überzeugen Sie, wie viele Beltloops wir generieren. +Controls how many beltloops we'll generate. From 41ce2951043ab6e2949f24163f32ed31caa2337f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:06 +0100 Subject: [PATCH 0647/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/de.md b/markdown/org/docs/designs/charlie/options/crotchdrop/de.md index 88c88556c3e..aa189e5ae2b 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/de.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/de.md @@ -4,8 +4,8 @@ title: "Schritt-Tiefe" Steuert wie stark der Schneider gesenkt wird. -Die Reduzierung des Schnäppchens sorgt für eine lockere Passform. -Ein deutlich abgesenktes Crotched kann auch eine Stilwahl sein. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 2e9943d177f8a0eb01ba9e104046a8ce88f48026 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:08 +0100 Subject: [PATCH 0648/1313] New translations en.md (German) skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/de.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/de.md index 7d5e1300bb9..09743f6ce72 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/de.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/de.md @@ -2,7 +2,7 @@ title: "Crotch Naht Biegen" --- -Steuert die Krümmung der Kräuternaht, die die Passform an Ihrem Wurf beeinflusst. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 69b975c26af23571801675b43ad4ac84e7503722 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:11 +0100 Subject: [PATCH 0649/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/charlie/options/flylength/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/de.md b/markdown/org/docs/designs/charlie/options/flylength/de.md index 97f2c141093..d1467a24d85 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/de.md +++ b/markdown/org/docs/designs/charlie/options/flylength/de.md @@ -2,7 +2,7 @@ title: "Fluglänge" --- -Bestätigt die Länge der Fliege. +Steuert die Länge der Fliege. From 9b19222f8cdcea2f2d6f3de415ed41050dda0a4c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:25 +0100 Subject: [PATCH 0650/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/cornelius/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/de.md b/markdown/org/docs/designs/cornelius/fabric/de.md index f5026b42450..2f084582a3a 100644 --- a/markdown/org/docs/designs/cornelius/fabric/de.md +++ b/markdown/org/docs/designs/cornelius/fabric/de.md @@ -4,7 +4,7 @@ title: "Cornelius Radlerhosen: Stoff Optionen" ### Hauptstoff -Für dieses Muster eignet sich jedes **Hosenmaterial (**). Generell solltest du alles vermeiden, was mehr als 7 oz (230 g/m²) wiegt, da es dann eher zu steif und unbequem ist. Du möchtest etwas, das ein wenig Wärme spendet, aber trotzdem gut drapierbar ist, wie **Corduroy** oder **Medium Weight Suiting** Stoffe. Wenn du nach etwas historisch korrektem suchst, dann ist **Medium weight wool suiting** die richtige Wahl. **Leinen** ist auch eine Option, besonders wenn du etwas möchtest, das nicht zu warm ist. +Für dieses Muster eignet sich jedes **Hosenmaterial (**). Generell solltest du alles vermeiden, was mehr als 7 oz (230 g/m²) wiegt, da es dann eher zu steif und unbequem ist. Du möchtest etwas, das ein wenig Wärme spendet, aber trotzdem gut drapierbar ist, wie **Corduroy** oder **Medium Weight Suiting** Stoffe. If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **Leinen** ist auch eine Option, besonders wenn du etwas möchtest, das nicht zu warm ist. From 596f7efd223b1483ee72d6517059b8f50f936b4b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:26 +0100 Subject: [PATCH 0651/1313] New translations en.md (German) skip-build --- .../org/docs/designs/cornelius/instructions/de.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/de.md b/markdown/org/docs/designs/cornelius/instructions/de.md index 951fa44388e..7160c2eff26 100644 --- a/markdown/org/docs/designs/cornelius/instructions/de.md +++ b/markdown/org/docs/designs/cornelius/instructions/de.md @@ -4,13 +4,13 @@ title: "Cornelius Radlerhosen: Anleitung zum Nähen" ### Schritt 1: Die Fronttaschen -- Bügle unter die Nahtzugaben der nicht eingekerbten Kanten der Pokcet-Verkleidungen. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Stecke die linke Seite der Taschenbespannung an die rechte Seite der Taschenbeutel, _Kantenstich_ die gefalteten Kanten an die Taschenbeutel. - _Hefte_ die Nahtzugaben der eingekerbten Kanten der Taschenbesetzungen an die Taschenbeutel. - Nähe die Taschenbeutel rechts auf rechts an die Vorderseite und bügle sie dann auf die linke Seite. - Falte die Taschen entlang der Falzlinie in der Mitte und lege sie rechtsherum zusammen. Nähen Sie den Boden des Taschenbeutels zusammen. - Alternativ kannst du _French Seam_ die Bodennähte der Taschenbeutel zusammennähen, wenn du das möchtest. -- _Hefte_ die Oberseite und die Seiten der Taschenbeutel an die vorderen Nahtzugaben, indem du die Kerben einkerbst. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Verwende die Methode des von dir gewählten Manschettenstils, da sie je nach Sti - Bügle die obere Nahtzugabe auf die linke Seite der verbleibenden Beinbandteile. Schneide die obere Nahtzugabe zurück. - Nähen Sie das restliche Bein und die Teile rechts auf rechts an die angebrachten Beinbänder entlang der Unterseite und der Seiten. - Drehe die Beinbänder nach außen. Presse. -- _Steppstich_ oder _Steppstich_ die gefaltete Kante des Bunds nach vorne und achte darauf, dass die gefaltete Kante die Nähte bedeckt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Nähen Sie das Knopfloch. Die Knöpfe werden später angenäht. @@ -89,7 +89,7 @@ Wenn du dir Sorgen über einen Luftzug machst, kannst du aus deinem Taschenstoff - Bügle die obere Nahtzugabe auf die linke Seite der verbleibenden Beinbandteile. Schneide die obere Nahtzugabe zurück. - Nähen Sie das restliche Bein und die Teile rechts auf rechts an die angebrachten Beinbänder entlang der Unterseite und der Seiten. - Drehe die Beinbänder nach außen. Presse. -- _Steppstich_ oder _Steppstich_ die gefaltete Kante des Bunds nach vorne und achte darauf, dass die gefaltete Kante die Nähte bedeckt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Nähen Sie das Knopfloch. Die Knöpfe werden später angenäht. @@ -108,13 +108,13 @@ Du kannst die Beinbänder wie einen modernen Bund zusammennähen, wenn du möcht ### Schritt 5: Bund -- Bearbeite eines der Bundteile mit der von dir bevorzugten Methode. +- Face one of the waistband pieces using your preferred method. - Nähen Sie das konfektionierte Bundstück rechts auf rechts an die Oberseite der Beine. - Bügle den Bund und die Nahtzugabe nach oben und vom Bein weg. Schneide die Nahtzugabe zurück, um das Volumen zu reduzieren. - Bügle die untere Nahtzugabe auf die linke Seite des verbleibenden Bundstücks. Schneide die untere Nahtzugabe zurück. - Nähe den restlichen Bund rechts auf rechts an den verdeckten Bund entlang der Oberseite und der Seiten. - Drehe den Bund nach außen. Presse. -- _Steppstich_ oder _Steppstich_ die gefaltete Kante des Bunds nach vorne und achte darauf, dass die gefaltete Kante die Nähte bedeckt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Nähen Sie das Knopfloch. Die Knöpfe werden später angenäht. From 40ba6bff4b828504317b5587dde8c050775a2e18 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:45 +0100 Subject: [PATCH 0652/1313] New translations en.md (German) skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/de.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/de.md index 109f1612506..0eb656d8cf1 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/de.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/de.md @@ -4,7 +4,7 @@ title: "Schulternahtlänge" ![Die Option der Schulternahtlänge auf Diana](./shoulderseamlength.svg) -Diese Option legt fest, wie weit die Halsöffnung ist, indem sie die Länge der Schulternaht kontrolliert. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From f8539647c092a7de92d24a99fec669997c3123cf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:47 +0100 Subject: [PATCH 0653/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/diana/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/de.md b/markdown/org/docs/designs/diana/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From a49fb1d70c732c029361d657aacf75506a24b800 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:11:54 +0100 Subject: [PATCH 0654/1313] New translations en.md (German) skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From ebd893519c4ad23517e0a5db0210d060a7e93c61 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:03 +0100 Subject: [PATCH 0655/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/florence/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/de.md b/markdown/org/docs/designs/florence/fabric/de.md index cf9be8d3ce9..e9afbbdfc5e 100644 --- a/markdown/org/docs/designs/florence/fabric/de.md +++ b/markdown/org/docs/designs/florence/fabric/de.md @@ -4,7 +4,7 @@ title: "Florence Gesichtsmaske: Stoff Optionen" Das Ziel unserer Maske ist es, die Tröpfchen zu stoppen. Du willst dich also für etwas entscheiden, das diese herausfiltert. Andererseits musst du in der Lage sein, durch deine Maske zu atmen, deshalb wollen wir Gewebe, das atmet, ohne Tröpfchen durchzulassen. -Außerdem wollen wir, dass sich das Innere auf unserer Haut gut anfühlt. Hier würde ich also eng gewebte Baumwolle oder Viskose/Rayon vorschlagen. Für den Außenstoff auch Baumwolle oder dicht gewebte Wolle. +Außerdem wollen wir, dass sich das Innere auf unserer Haut gut anfühlt. Hier würde ich also eng gewebte Baumwolle oder Viskose/Rayon vorschlagen. For the outer fabric, cotton again, or a tightly woven wool. From ee75231be512d554884d5eab28f07bef6c068ec1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:08 +0100 Subject: [PATCH 0656/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/florent/cutting/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/de.md b/markdown/org/docs/designs/florent/cutting/de.md index 57db272271f..32c386fe36e 100644 --- a/markdown/org/docs/designs/florent/cutting/de.md +++ b/markdown/org/docs/designs/florent/cutting/de.md @@ -2,7 +2,7 @@ title: "Florent Flachmütze: Schnittanleitung" --- -Um Floren herzustellen, schneide die folgenden Teile aus: +To make Florent, cut out the following parts: - **Oberstoff** - Schneiden Sie **1 oben** auf der Falte, aber nicht die Mittennahterlaubnis oder **2 Top** mit der Mittennahterlaubnis. From 651cd06bc9beee4a1b32c7c2caa84d4c082835bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:19 +0100 Subject: [PATCH 0657/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hi/options/hungry/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/de.md b/markdown/org/docs/designs/hi/options/hungry/de.md index 7bf5394c512..dc3e297a394 100644 --- a/markdown/org/docs/designs/hi/options/hungry/de.md +++ b/markdown/org/docs/designs/hi/options/hungry/de.md @@ -2,7 +2,7 @@ title: "Hungrig" --- -Diese Einstellung legt fest, wie lange es her ist, dass dein Hi etwas zu essen bekommen hat. Mehr Hunger führt zu einem schlankeren Hai. +This setting determines how long it has been since your Hi has had something to eat. Mehr Hunger führt zu einem schlankeren Hai. From dd32f5e82a5739c9dbe49805b8d72ed802da8c89 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:21 +0100 Subject: [PATCH 0658/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/holmes/cutting/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/de.md b/markdown/org/docs/designs/holmes/cutting/de.md index 52f7f7d696b..4652f0248ac 100644 --- a/markdown/org/docs/designs/holmes/cutting/de.md +++ b/markdown/org/docs/designs/holmes/cutting/de.md @@ -17,7 +17,7 @@ The **gore** pattern piece needs to be cut on the fold to create a whole piece. ### Optionale Stoffbinden -Wenn du kein Band für deine Verbindungen verwenden möchtest, kannst du sie aus dem Stoff herstellen. Schneiden Sie einfach 4 Crosskornstreifen von einem 1" (2. cm) oder Breite Ihrer Wahl + Nahtzustände breit und nähen zwei Röhren, so dass eine der kurzen Seiten offen zum Drehen ist. Clicken Sie die Ecken und schneiden Sie Nähte. Stelle einen Druck aus. Wenn du möchtest, kannst du _Kantenstich_ oder _Steppstich_ die Rohre, damit der Stoff nicht verrutscht. Der rohe Rand der Rohre kann dann beim Bau der Ohrklappen in der Ohrklappe versteckt werden. +Wenn du kein Band für deine Verbindungen verwenden möchtest, kannst du sie aus dem Stoff herstellen. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Clicken Sie die Ecken und schneiden Sie Nähte. Stelle einen Druck aus. Wenn du möchtest, kannst du _Kantenstich_ oder _Steppstich_ die Rohre, damit der Stoff nicht verrutscht. Der rohe Rand der Rohre kann dann beim Bau der Ohrklappen in der Ohrklappe versteckt werden. @@ -26,6 +26,6 @@ Es wird empfohlen, das Musternetz zu entwerfen und das Muster zu verwenden, um d -It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Stellen Sie sicher, dass Sie den unteren Nahtzuschlag abschneiden, bevor Sie es versuchen. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Wenn Sie einmal neu entworfen, machen Sie einen weiteren Spruch, um zu überprüfen, ob Sie mit den Änderungen gesättigt sind oder nicht. Wiederholen Sie, wenn Sie nicht zufrieden sind. +It is recommended to make a mock-up with your gore pattern first before cutting your fabrics. This is to test the length and ease of the gore piece. Stellen Sie sicher, dass Sie den unteren Nahtzuschlag abschneiden, bevor Sie es versuchen. If it is too tight who will need to re-draft the pattern with more ease (longer head circumference) just remember the ease is split across each gore. If the peak is too high you may want to re-draft the pattern with the gore length reduced. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Wiederholen Sie, wenn Sie nicht zufrieden sind. From 7d0d4fc6ccb6807c87ac2a44dda8df1314c9bed9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:23 +0100 Subject: [PATCH 0659/1313] New translations en.md (German) skip-build --- .../docs/designs/holmes/instructions/de.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/de.md b/markdown/org/docs/designs/holmes/instructions/de.md index 72e8a82bbb2..24d97079d89 100644 --- a/markdown/org/docs/designs/holmes/instructions/de.md +++ b/markdown/org/docs/designs/holmes/instructions/de.md @@ -31,7 +31,7 @@ Diese Anweisungen gehen davon aus, dass Sie Ihre Nahtlinien markiert haben. Sie - Bügel die Nähte auf. Sie mussten dafür einen Schneider-Schinken verwenden, wenn Sie keinen Schinken haben, können Sie stattdessen Flannels oder Handtücher verwenden. - (Optional) _Kantenstich_ beide Seiten der Naht und achte darauf, dass du die Nahtzugaben erwischst. - Wiederhole dies, bis du zwei Hälften hast. Wenn die Hälfte der Anzahl der Kronenstücke eine ungerade Zahl ist, müssen Sie zu jeder Hälfte ein einzelnes Stück nähen. z.B. Wenn Sie 6 Kronen haben, machen Sie zwei Hälften von 3 Nähen ein Stück zu zwei zusammengenähten Stücken. -- Näht die beiden Hälften rechts auf rechts zusammen, wobei die Nahtlinien und Spitzen übereinstimmen. Sie können den Gipfel vielleicht leichter zusammen handnähen durch Schüttgut oder Präzision. Diese Naht wird als "Mittelkronennaht" bezeichnet. +- With right sides together, matching seam lines and peaks, sew the two halves together. Sie können den Gipfel vielleicht leichter zusammen handnähen durch Schüttgut oder Präzision. This seam will be referred to as the "centre crown seam" going forward. - (Optional) _Kantenstich_ beide Seiten der mittleren Kronennaht, wobei du darauf achtest, dass du die Nahtzugaben erwischst. @@ -44,7 +44,7 @@ Je nach Zulage der Naht können Sie Nähte schneiden wollen, während Sie gehen, #### Ohrklappen mit Binden -- Schneide zwei 30cm (12") - 40cm (16") lange Bänder zu. Diese werden als weitere Bindungen bezeichnet werden. +- Schneide zwei 30cm (12") - 40cm (16") lange Bänder zu. These will be referred to as ties going forward. - _Hefte_ ein Band an die rechte Seite einer Ohrenklappe (die mit Vlieseline, falls du sie verwendest). Wiederholen für andere Krawatte. - Nähe rechts auf rechts eine Ohrenklappe mit Krawatte an eine Ohrenklappe ohne Krawatte, wobei die Nahtlinien übereinstimmen. - Schneide die Nahtzugabe ab und schneide sie zu. @@ -74,7 +74,7 @@ Wenn du es vorziehst, kannst du deine individuellen Krawatten auch mit Stoff her - Umdrehen und bügeln. - (Optional) _Steppstich_ oder _Kantenstich_ die gefaltete Kante. - _Hefte_ die Schnittkanten zusammen. -- Nähen Sie das Knopfloch mit der von Ihnen bevorzugten Methode. +- Sew the buttonhole in your preferred method. - Wiederhole den Vorgang für die verbleibende Ohrenklappe. @@ -98,7 +98,7 @@ There are two methods for constructing the bill. This is due to the different ty #### The Bill Method 1 - Lege den Visiereinsatz auf ein Visierteil innerhalb der Nahtlinien. -- Befestige den Visiereinsatz vorübergehend am Visier mit dem temporären _Stitches_. Dies wird in Zukunft als "Gesichtsvisier" bezeichnet. +- Befestige den Visiereinsatz vorübergehend am Visier mit dem temporären _Stitches_. This will be referred to as "faced visor" going forward. - _Hefte_ entlang der Nahtlinie der inneren Kurve des verkleideten Visiers und achte darauf, dass du den Visiereinsatz nicht erwischst. - Näht das verkleidete Visier rechts auf rechts, mit übereinstimmenden Nahtlinien und Mittelfronten, an ein anderes Visierteil entlang der Außenkurve in der Nähe des Visiereinsatzes, wobei ihr darauf achtet, dass ihr den Visiereinsatz nicht erwischt. - Schneide die Außenkurve ein und achte darauf, dass du die Nähte nicht einschneidest. (Vielleicht möchtest du die Form vor diesem Schritt drehen und überprüfen) @@ -120,10 +120,10 @@ If preferred you can temporarily attach the bill insert another way that does no #### The Bill Method 2 -- Lege die rechte Seite zusammen, die Nahtlinien und die vordere Mitte stimmen überein und nähe die äußere Kante der beiden Visierteile zusammen. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Kerbe die äußere Kurve ein und beschneide sie (falls nötig), wobei du darauf achtest, dass du die Nähte nicht einschneidest. (Vielleicht möchtest du die Form vor diesem Schritt drehen und überprüfen) - Umdrehen und bügeln. -- Lege den Visiereinsatz fest in das genähte Visier ein, so dass keine Lücke an der Außenkurve entsteht und die Nahtzugaben alle auf einer Seite des Visiereinsatzes liegen. Das wird die Oberseite des Visiers sein. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. Das wird die Oberseite des Visiers sein. - Stecke die innere Kurve zusammen und achte darauf, dass die äußere Kante fest über den Visiereinsatz gezogen wird. - _Hefte_ so nah wie möglich an die Innenkurve des Visiereinsatzes und achte darauf, dass du den Stoff beim Nähen fest über die Außenkante ziehst. - Wiederhole den Vorgang für die restlichen Visierteile. @@ -144,7 +144,7 @@ Wieder einmal gibt es zwei Methoden für Endmontage und Verkleidung. Lesen Sie b - Entferne alle Polster- und Heftstiche. - Bügle die Nahtzugaben nach innen und achte dabei darauf, dass die Naht von außen nicht sichtbar ist. - (Optional) Die Nähte an der Innenseite der Krone mit einem lockeren _Steppstich_ absteppen und darauf achten, dass die Nähte nicht nach außen zeigen. -- Konstruiere das Futter auf die gleiche Weise wie die Krone, indem du _edgestitching_auslässt. +- Construct lining the same way as the crown omitting _edgestitching_. - Falte und bügle unter die untere Nahtzugabe des Futters. Möglicherweise müssen Sie unter mehr drücken, um zu verhindern, dass das Futter gezeigt wird. Es kann auch sein, dass du _heften musst_ die Nahtzugabe nach unten. - Stecke das Futter falsch herum in die Mütze, so dass die mittlere Kappennaht und die Teilungsnähte übereinstimmen. Lege die gefaltete Kante entlang der Nahtlinien. - _Steppstich_ oder _Steppstich_ das Futter an die Nahtzugabe der Mütze. @@ -160,8 +160,8 @@ Wieder einmal gibt es zwei Methoden für Endmontage und Verkleidung. Lesen Sie b - Hefte das Visier mit der Hand an die Krone, indem du die Heftlinien des Visiers mit den Linien der Kronennaht abstimmst. Es ist einfacher, __ die Mitte nach unten zu heften und dann von der Mitte nach außen zu arbeiten. - (Optional) Klebe das Visier mit der Maschine entlang der Nahtlinien an die Krone. - Wiederhole den Vorgang für das restliche Visier auf der gegenüberliegenden Seite der mittleren Kronennaht. -- Fertige das Futter auf die gleiche Weise wie die Krone an, indem du _edgestitching_ auslässt und in der mittleren Futternaht eine Lücke lässt, die groß genug ist, um den Hut zu drehen. -- Lege rechts auf rechts die mittleren Kronennähte, die Teilungsnähte und die Nahtlinien zusammen. Nähen Sie das Futter zur Krone entlang der Nahtlinien. Wenn Sie sperrig sind, können Sie entweder die Futternähte oder beide Nähte schneiden. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- Lege rechts auf rechts die mittleren Kronennähte, die Teilungsnähte und die Nahtlinien zusammen. Sew the lining to the crown along seam lines. Wenn Sie sperrig sind, können Sie entweder die Futternähte oder beide Nähte schneiden. - Drehe die Mütze von innen nach außen und drücke das Futter nach innen. - (Optional/Alternativ) _Untersteppe das_ Futter. - Steppstich-Futteröffnung geschlossen. @@ -226,7 +226,7 @@ Wenn du nicht die Buttonhole Ohrenklappen machst, musst du keinen Knopf einnähe Sicherlich optional, können Sie feststellen, dass ein Knopf fehlt, um das Aussehen zu beenden. Wenn du dir also nicht sicher bist, wie es aussehen soll, kannst du dir einen Button basteln und ihn vorübergehend anbringen, um zu sehen, ob es das ist, was fehlt. If it is attach it permanently. -Während ein überdachter Button empfohlen wird, kannst du jeden gewünschten Button verwenden, kannst du es probieren! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From 3e54fb1a713fcdae3459c13ce590acfe6ab737b4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:33 +0100 Subject: [PATCH 0660/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hortensia/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/de.md b/markdown/org/docs/designs/hortensia/de.md index 2e9433e9b4b..13cbe921d74 100644 --- a/markdown/org/docs/designs/hortensia/de.md +++ b/markdown/org/docs/designs/hortensia/de.md @@ -2,7 +2,7 @@ title: "Hortensia, die Handtasche" --- -Hortensia wurde von @stoffsuchti entworfen. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. Sie hat keine Programmmiererfahrungen und ich habe ihr geholfen. +Hortensia wurde von @stoffsuchti entworfen. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteered my time. Das Design ist gut durchdacht und basiert auf der Goldenen Regel. It can be sized up and down to fit your exact needs. Die Konstruktion ist etwas knifflig, es geht einige kurvige Nähte. It can be lined, or you can finish the seams with a bias tape. From 27e2f489e30ac82b848507a995a47d448e062ba6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:34 +0100 Subject: [PATCH 0661/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hortensia/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/de.md b/markdown/org/docs/designs/hortensia/fabric/de.md index 795de97ee6f..b4b5fff6a1f 100644 --- a/markdown/org/docs/designs/hortensia/fabric/de.md +++ b/markdown/org/docs/designs/hortensia/fabric/de.md @@ -6,7 +6,7 @@ title: "Hortensia Handtasche: Stoff Optionen" Die wichtigsten Stoffe für Hortensia sind nicht dehnbar, langlebig und stark genug, um Gegenstände zu halten. -Bei der Wahl des Stoffes kommt es letztlich auf deinen persönlichen Stil an und darauf, wofür du deine Handtasche verwenden möchtest. Da Hortensia eine Größenoption hat, kann sie auch vergrößert werden und zum Beispiel als Sporttasche verwendet werden, die nicht so schick sein muss wie eine edle Handtasche. Vielleicht möchtest du einfach nur **Baumwollstoffe**, **Leinenstoffe** oder ein bisschen Spaß mit **Bedruckte Baumwollstoffe**haben. Wenn du etwas Ausgefalleneres willst, kannst du es mit **Brokaten** und anderen luxuriösen Stoffen versuchen. Wenn du etwas willst, das sehr langlebig ist, kannst du **Polsterstoffe**ausprobieren. Du kannst auch **Leder** ausprobieren, aber das ist schwieriger zu nähen, vor allem wenn es dick ist, also verwende es nur, wenn du weißt, was du tust. Denke daran, dass du, wenn du es ständig benutzen willst, der Praktikabilität den Vorzug vor dem Design geben solltest, denn das Ziel sollte sein, dass es lange hält und nicht, dass es schick ist. Wenn dir der Look völlig egal ist, dann ist das vielleicht eine gute Gelegenheit, Stoffe aus deinem Vorrat zu verwenden, die du sonst nicht verwenden würdest, wie zum Beispiel den hässlichen Stoff, für den du nie eine Verwendung findest. +Bei der Wahl des Stoffes kommt es letztlich auf deinen persönlichen Stil an und darauf, wofür du deine Handtasche verwenden möchtest. Da Hortensia eine Größenoption hat, kann sie auch vergrößert werden und zum Beispiel als Sporttasche verwendet werden, die nicht so schick sein muss wie eine edle Handtasche. Vielleicht möchtest du einfach nur **Baumwollstoffe**, **Leinenstoffe** oder ein bisschen Spaß mit **Bedruckte Baumwollstoffe**haben. Wenn du etwas Ausgefalleneres willst, kannst du es mit **Brokaten** und anderen luxuriösen Stoffen versuchen. Wenn du etwas willst, das sehr langlebig ist, kannst du **Polsterstoffe**ausprobieren. Du kannst auch **Leder** ausprobieren, aber das ist schwieriger zu nähen, vor allem wenn es dick ist, also verwende es nur, wenn du weißt, was du tust. Denke daran, dass du, wenn du es ständig benutzen willst, der Praktikabilität den Vorzug vor dem Design geben solltest, denn das Ziel sollte sein, dass es lange hält und nicht, dass es schick ist. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From 7e5477357e1918f6a5be47c53e8001c06fda12c8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:34 +0100 Subject: [PATCH 0662/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hortensia/instructions/de.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/de.md b/markdown/org/docs/designs/hortensia/instructions/de.md index e560592e439..99b6742c962 100644 --- a/markdown/org/docs/designs/hortensia/instructions/de.md +++ b/markdown/org/docs/designs/hortensia/instructions/de.md @@ -30,9 +30,9 @@ Die Platzierung der Gurte ist nicht auf dem Muster angegeben und muss selbst bes -Wenn du anstelle von Stoffgurten Taschengurtband verwendest, gehe wie folgt vor: +If using bag strap webbing instead of fabric made straps do the following, -- Schneide das Gurtband mit Nahtzugabe auf die Länge der Gurte zu. +- Cut the webbing to the length of the straps with seam allowance. - Bügle unter die Nahtzugabe der kurzen Kante. - Befestige das Gurtband auf die gleiche Weise wie die Stoffgurte. @@ -83,8 +83,8 @@ Es wird empfohlen, den Spalt zum Wenden an der Seite und nicht oben oder unten z - Lege _gut zusammen_ und nähe die vorderen und hinteren Futterteile an das untere Futterteil. - Lege die _Seiten aneinander_ und befestige die Seitenteile des Futters. - Bügle unter die oberen Nahtzugaben. -- Alternativ kannst du auch die oberen Kanten binden. -- Lege das Futter in die Tasche _mit den falschen Seiten zueinander_ . +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Steppstich_ oder _Steppstich_ das Futter an der Reißverschlussleiste. ### Schritt 10: Viel Spaß mit deinem neuen Shirt! From 37c50f7b3fda8a5165978ad6e2089626b55dae36 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:36 +0100 Subject: [PATCH 0663/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hortensia/needs/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/de.md b/markdown/org/docs/designs/hortensia/needs/de.md index ab0a3261461..0db3d036bed 100644 --- a/markdown/org/docs/designs/hortensia/needs/de.md +++ b/markdown/org/docs/designs/hortensia/needs/de.md @@ -8,7 +8,7 @@ Um Hortensia herzustellen, brauchst du Folgendes: - Etwa 0,5 - 2 Meter (0,6 - 2,2 Yards) eines geeigneten Stoffes ([siehe Hortensia Stoffoptionen](/docs/designs/hortensia/fabric/)) - Etwa 0,5 - 2 Meter Futterstoff ([siehe Hortensia Stoffoptionen](/docs/designs/hortensia/fabric/)) - Ein Reißverschluss, der kürzer ist als die Reißverschlussblende und der Breite der [Spule entspricht](/docs/designs/hortensia/options/zippersize/) ausgewählt -- (Optional) Etwa 1 - 2 Meter Schrägband, wenn du die Seitenkanten an der Außenseite binden möchtest. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Optional) Taschengurtband in der doppelten Länge des Gurtteils mit Nahtzugabe und ähnlicher Breite, wenn du keine eigenen Gurte machen möchtest. - (Optional) Einlage zur Verstärkung des Stoffes und/oder für das Band From c4b72b42183d02598600cec00d74bce5900781c9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:40 +0100 Subject: [PATCH 0664/1313] New translations en.md (German) skip-build --- .../hortensia/options/zippersize/de.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/options/zippersize/de.md b/markdown/org/docs/designs/hortensia/options/zippersize/de.md index a547a27fea1..1eaa542b493 100644 --- a/markdown/org/docs/designs/hortensia/options/zippersize/de.md +++ b/markdown/org/docs/designs/hortensia/options/zippersize/de.md @@ -10,16 +10,16 @@ Die Größen basieren auf den Reißverschlüssen der Marke YKK und beziehen sich Größentabelle für Hortensia: -| Option | Größe in Millimetern (mm) | -| ------------ | ------------------------- | -| #Unbesiegbar | 0 | -| #3 | 4.8 | -| #4 | 5.4 | -| #4.5 | 5.9 | -| #5 | 6.2 | -| #6 | 7 | -| #8 | 8 | -| #10 | 10.6 | +| Option | Größe in Millimetern (mm) | +| ---------- | ------------------------- | +| #Invisible | 0 | +| #3 | 4.8 | +| #4 | 5.4 | +| #4.5 | 5.9 | +| #5 | 6.2 | +| #6 | 7 | +| #8 | 8 | +| #10 | 10.6 | From e4657a828bd756d7a1f5ef686ca972dbce8f4994 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:12:43 +0100 Subject: [PATCH 0665/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/huey/instructions/de.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/de.md b/markdown/org/docs/designs/huey/instructions/de.md index f8911ea0af0..c9fe4144fde 100644 --- a/markdown/org/docs/designs/huey/instructions/de.md +++ b/markdown/org/docs/designs/huey/instructions/de.md @@ -53,7 +53,7 @@ Die Kordelzüge werden eingefädelt, wenn der Hoodie fertig ist. - Drehe die gute Seite nach außen. - Hefte die vorderen und unteren Schnittkanten zusammen. - Fertige eine Hülle für den Kordelzug an, indem du auf der Seite mit den Kordellöchern etwa 2,5 cm von der Innenkante entfernt nähst. -- (Optional) Wenn du keinen Kordelzug verwendest, _Steppstich_ oder _Kantenstich_ die Innenkurve. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ Ein Nackenband kann nützlich sein, um die Nackennähte zu stabilisieren und zu - Bügle die Nahtzugabe nach oben. - _Steppstich_ oder _Kantenstich_ Bundnahtzugabe zum Körper. -### Schritt 8: Anbringen der Manschetten +### Step 8: Attaching the cuffs -- Lege _mit der guten Seite nach oben_ und nähe die kurzen Seiten der Manschetten zusammen, so dass zwei Bänder entstehen. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Bügle die Nahtzugaben auf. - (Optional) _Randstich_ die Nahtzugaben nach unten. - Falte die Manschetten der Länge nach in der Mitte, so dass sie an den falschen Seiten anliegen. Presse. @@ -104,7 +104,7 @@ Ein Nackenband kann nützlich sein, um die Nackennähte zu stabilisieren und zu - Öffne den Reißverschluss ein Stück weit. - Falte die Oberseite des Reißverschlussbandes nach unten auf die _gute Seite_ des Reißverschlussbandes. Trimme, wenn nötig. - Stecke den Reißverschluss entlang einer der vorderen Kanten der Kapuze, der Vorderseite und des Bunds fest. Vergewissere dich, dass der Reißverschlusszug auf die _guten Seiten_ des Hoodies zeigt und die Unterseiten aufeinander liegen. Die Reißverschlusszähne sollten knapp über der Nahtlinie liegen, wobei die Kante des Bandes entweder mit der Kapuzenkante übereinstimmen oder leicht darüber liegen sollte. -- Verwende einen Reißverschlussfuß, um den Reißverschluss mit der Breite deiner Naht an den Hoodie zu nähen. Wenn du den Reißverschlusszug erreichst, hältst du an, legst deine Nadel ab, hebst den Nähfuß an, ziehst den Reißverschlusszug am Nähfuß vorbei und senkst den Nähfuß. Dann kannst du mit dem Nähen der Naht fortfahren. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. Wenn du den Reißverschlusszug erreichst, hältst du an, legst deine Nadel ab, hebst den Nähfuß an, ziehst den Reißverschlusszug am Nähfuß vorbei und senkst den Nähfuß. Dann kannst du mit dem Nähen der Naht fortfahren. - Öffne den Reißverschluss. - Stecke und nähe das nicht befestigte Reißverschlussband auf die gleiche Weise an die andere Seite des Hoodies. - Bügle die Nähte nach innen und achte darauf, dass du die Reißverschlusszähne nicht mit deinem Bügeleisen zum Schmelzen bringst. From e0237974902b5c0aeb54a07e69362d1038d535c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:13:04 +0100 Subject: [PATCH 0666/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/huey/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/de.md b/markdown/org/docs/designs/huey/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From 8851f84732613ba3973b871f68d117af872277d2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:13:12 +0100 Subject: [PATCH 0667/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From ab29f65fb66ea4b6838b7e1fa9249bdebeca0592 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:13:21 +0100 Subject: [PATCH 0668/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hugo/instructions/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/de.md b/markdown/org/docs/designs/hugo/instructions/de.md index 39f4784ff8b..ff41a58de61 100644 --- a/markdown/org/docs/designs/hugo/instructions/de.md +++ b/markdown/org/docs/designs/hugo/instructions/de.md @@ -113,5 +113,5 @@ Diese Reihe an 6 Episoden zeigt dir, wie du deinen Hoodie von Anfang bis Ende n - Serge (oder Zickzacksticht) das Band zur Manschette und dehnt sich sanft bis das Band und die Manschette gleich lang sind. Pins entfernen, bevor sie den Server betreten. - Schneiden Sie die Unterkante der Tasche ab, wenn sie an der Taillenkante vorbeigeht. - Vergewissern Sie sich, dass das Band so einheitlich wie möglich um die Taille herum gesammelt wird. -- Serge oder Zick-Zack die Taille, wieder sanft bis zum Band und Taillenband strecken sind die gleiche Länge. Nähen Sie mit der Hoodie oben, damit Sie sehen können, dass sie in der Naht gefangen wird. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Nähen Sie mit der Hoodie oben, damit Sie sehen können, dass sie in der Naht gefangen wird. - Topstitch die unteren Taschenkanten an den Körper des Hemdes, um die Unterseite der Tasche zu verankern. From 8dc5a561ce3f75baea0698569f721f5cd3c76d1d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:13:33 +0100 Subject: [PATCH 0669/1313] New translations en.md (German) skip-build --- .../docs/designs/jaeger/instructions/de.md | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/de.md b/markdown/org/docs/designs/jaeger/instructions/de.md index 8b9a67edfee..8c8208c5996 100644 --- a/markdown/org/docs/designs/jaeger/instructions/de.md +++ b/markdown/org/docs/designs/jaeger/instructions/de.md @@ -88,7 +88,7 @@ Nähen Sie dies an Stelle entlang der oberen Linie. Remember this should be shor #### Öffnen, drehen und drücken der Brust ausschneiden -![Drücke die Brusttasche](pressChestPocket.svg) Nun schneiden Sie Ihre Welt in der Mitte der beiden Nahtlinien. Schneiden Sie nicht an die Kante, sondern erstellen Sie dort eine dreimalige Form. +![Drücke die Brusttasche](pressChestPocket.svg) Nun schneiden Sie Ihre Welt in der Mitte der beiden Nahtlinien. Don't cut to the edge, but create a triangular shape there. Drehen Sie die Tasche und die Welt auf die Rückseite, indem Sie beide durch die gerade erstellte Öffnung passieren. @@ -108,7 +108,7 @@ Gewinde eine Nadel und beende die Brusttasche in der Hand, indem du die Seiten d Schließen Sie schließlich die Tasche durch Nähen der Seiten. Tun Sie dies, indem Sie die Vorderseite mit der guten Seite nach oben. Dann falten Sie über jede Seite und nähen Sie die Tasche. Beim Nähen dieser Seiten, achten Sie darauf, diese dreieckigen kleinen Stücke der Öffnung zu fangen. Dies stärkt die Taschenöffnung. -Füllen Sie die Brusttasche geschlossen, während wir die Jacke konturieren. +Baste the chest pocket closed while we construct the jacket. ### Die Fronten vorbereiten @@ -163,9 +163,11 @@ Denken Sie daran, dass: ![Seiten schließen](closeSides.svg) -Place your front with the good side up, and your side on it with the good side down. Align the front/side seams, pin them in place if you feel like it, and sew them togther. +Place your front with the good side up, and your side on it with the good side down. +Align the front/side seams, pin them in place if you feel like it, and sew them together. -Place this down with the good side up, and place your back on top with the good side down. Align the back/side seams, pin them in place if you feel like it, and sew them togther. +Place this down with the good side up, and place your back on top with the good side down. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Vergewissern Sie sich, dass die Leinwand nicht in der Naht gefangen wird. @@ -179,7 +181,7 @@ Place this down with the good side up, and place your back on top with the good ![Rückennaht schließen](closeBack.svg) -Ihre beiden Halbjacken zusammen mit den guten Seiten und schließen Sie die Rückennaht. +Align your two half-jackets with the good sides together, and close the back seam. @@ -214,23 +216,23 @@ Also achten Sie darauf, die Nocken auszurichten. Das ist es, wofür sie da sind. ### Mach den Kragen -Damit der Kragen richtig knackig aussieht, sollte er auf beiden Seiten symmetrisch sein. Etwa 5 mm Unterschied sind bereits an einem Halsband sichtbar. Je präziser du diese Schritte also ausführst, desto besser. +In order to look real crisp, the collar should be symmetrical on both sides. Etwa 5 mm Unterschied sind bereits an einem Halsband sichtbar. Je präziser du diese Schritte also ausführst, desto besser. ### Markierungen an beiden Halsbändern anbringen Lege beide Kragen übereinander, hefte die Ecken zusammen und schneide die Heftung ab. Benutze dann einen Markierungsstift oder Kreide, um die Kanten des Kragens zu markieren. Miss 2 Mal nach, um sicherzustellen, dass die verbleibenden Kragen und die Position der Ecken an beiden Ecken 100% identisch sind. ![Markiere die Kragenkanten](collarMarkings.svg) #### Füge Vlieseline oder Canvas an der Außenseite des Kragens und unter dem Kragen hinzu. -Verwende entweder eine aufbügelbare Einlage oder, wenn du es ganz genau nehmen willst, eine Rosshaarleinwand. Nähen Sie es mit der gleichen Technik wie beim Hinzufügen von Leinen zum Revers an den äußeren Kragenständer. ![Leinwand zum Collor hinzufügen](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. ![Add canvas to the collar](collarWithCanvas.svg) #### Nähen Sie den äußeren Kragenspiegel an den Unterkragen und fügen Sie ihn der Jacke hinzu. -Vergewissere dich, dass der äußere Kragenspiegel und der Unterkragen alligend sind und nähe sie zusammen Nähe den äußeren Kragenspiegel+Unterkragen an den Halsausschnitt der Jacke Schneide den Stoff rund um den Halsausschnitt leicht ein, um ihn zu lockern Schneide die Nahtzugabe in den Ecken diagonal ein, um eine bessere Passform zu erzielen +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit ![kleine Schnitte in SA um den Kragen herum machen](collarCuts.svg) ### Ärmel -Nähen Sie den Oberärmel an den Unterärmel, bis der Spalt +Sew the uppersleeve to the undersleeve until the split #### Erstelle den Spalt am Ende des Ärmels @@ -243,13 +245,13 @@ Die Innentasche ist eine doppelte Leistentasche. Das ist dasselbe wie bei den Vo Bitte sieh dir die Bilder an den Vordertaschen für Details an -Lege die Position der Tasche auf dem linken Innenfutter mit Heftzwecken fest Füge etwas Vlieseline um den Bereich herum hinzu und zeichne die Tasche auf die Vlieseline. Füge die Säume an der oberen und unteren Seite der Tasche hinzu Nähe die Säume an der Linie auf beiden Seiten der Tasche. Achte darauf, dass die Nähte genau übereinander liegen. Schneide den Tascheneingang etwa 1 bis 2 cm vor dem Ende ab. Schneide den letzten Teil diagonal ein, so dass du einen Fischgrätenschnitt erhältst Wende die Einfassungen um, hefte sie und bügle sie Wende die Dreiecke um, hefte sie und bügle sie Näh um die Tasche herum, um alles an Ort und Stelle zu bringen Nimm den Taschenbeutel, näh ihn an die untere Einfassung und den anderen Teil an die obere Einfassung (siehe: Brusttasche) +Locate the position of the pocket on the left inner lining with basting Add some fusible interfacing around the area Draw the pocket on the interfacing. Füge die Säume an der oberen und unteren Seite der Tasche hinzu Nähe die Säume an der Linie auf beiden Seiten der Tasche. Make use the welts end exactly on top of each other. Schneide den Tascheneingang etwa 1 bis 2 cm vor dem Ende ab. Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Lining -Nähen Sie die Rückennaht des Futters bis zur Teilung Nähen Sie die Figurennähte in den Vorderteilen Fügen Sie das gesamte Futter zusammen (Vorder-, Seiten- und Rückenteil) Fügen Sie das vom Futter zum Vorderteil. Lasse ca. 5 cm von unten offen Schließe die Schultern Füge den inneren Kragenständer zum Oberkragen hinzu und füge ihn zur Futterjacke hinzu Mache kleine Schnitte am Halsausschnitt und an den Ecken Füge die oberen und unteren Ärmel hinzu Füge die Ärmel zur Futterjacke hinzu +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners Add upper to lower sleeves Add sleeves to lining jacket ### Schließen Sie es -Aber die Jacke + Futterjacken liegen mit den guten Seiten übereinander. Nähen Sie um den Kragen herum und weiter bis zum vorderen Besatz Drehen Sie die Jacke auf die rechte Seite Falten Sie die Ärmel an ihren Platz (achten Sie darauf, dass sie nicht gedreht werden!!) Füge das Ärmelfutter an den geteilten Ärmeln hinzu Achte darauf, dass die Kragen gerade übereinander liegen (sie fluchten) und füge die Nahtzugaben von Hand aneinander. Füge an einigen Stellen von Hand von der Innenseite der Jacke den vorderen SA zum Futter SA hinzu Erstelle den Rückenteil und füge das Futter manuell zum Hauptstoff hinzu Füge Knopflöcher und Knöpfe hinzu +Aber die Jacke + Futterjacken liegen mit den guten Seiten übereinander. Nähen Sie um den Kragen herum und weiter bis zum vorderen Besatz Drehen Sie die Jacke auf die rechte Seite Falten Sie die Ärmel an ihren Platz (achten Sie darauf, dass sie nicht gedreht werden!!) Add the sleeves lining to the sleeves split Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Füge an einigen Stellen von Hand von der Innenseite der Jacke den vorderen SA zum Futter SA hinzu Erstelle den Rückenteil und füge das Futter manuell zum Hauptstoff hinzu Füge Knopflöcher und Knöpfe hinzu From 8bbde752addc66aa94f156c8ba741e917afd9d16 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:13:35 +0100 Subject: [PATCH 0670/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/jaeger/needs/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/needs/de.md b/markdown/org/docs/designs/jaeger/needs/de.md index dbdf8c51558..1a3c484654b 100644 --- a/markdown/org/docs/designs/jaeger/needs/de.md +++ b/markdown/org/docs/designs/jaeger/needs/de.md @@ -17,10 +17,10 @@ Um Jaeger zu erstellen, benötigst du Folgendes: -###### Woher bekommst du das ganze Zeug +###### Where to get all this stuff -Jaeger zu bauen ist ein spaßiges und aufregendes Projekt, aber es kann schwierig sein, alle benötigten Teile -und Teile zu bekommen. +Making Jaeger is a fun and rewarding project, but getting all the required bits +and pieces can be challenging. Das liegt daran, dass diese Art von Projekt etwas ehrgeiziger ist als das typische Heimnähprojekt, und deshalb ist es unwahrscheinlich, dass dein lokaler Kurzwarenladen From 8dbbc3adba354cb75160c59d3c9763aaa4418cbd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:14:08 +0100 Subject: [PATCH 0671/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/de.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/de.md index be77c878834..010c9f1cd43 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/de.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/de.md @@ -4,7 +4,7 @@ title: "Abnäher in der hinteren Mitte" ![Abnäher in der hinteren Mitte](centerbackdart.svg) -Die Reduktion im Zentrum von Schultern auf Hals, die für einen geschwungenen oberen Rücken aufnehmen. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From 28938c47d05d2ad149f76ca04d12dfc67f731402 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:14:47 +0100 Subject: [PATCH 0672/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/lucy/measurements/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/de.md b/markdown/org/docs/designs/lucy/measurements/de.md index 0374b7e4438..8240f2f1c79 100644 --- a/markdown/org/docs/designs/lucy/measurements/de.md +++ b/markdown/org/docs/designs/lucy/measurements/de.md @@ -3,5 +3,5 @@ title: "Lucy Tasche zum Anbinden: Erforderliche Maße" --- -Luci erfordert keine Messungen +Lucy does not require any measurements From d5dd7b6a15fb0d640a46e0af14cc7a0cb0f5c7a4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:14 +0100 Subject: [PATCH 0673/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/de.md b/markdown/org/docs/designs/noble/options/upperdartlength/de.md index 1805e8ba1bc..beae9efd1b7 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/de.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/de.md @@ -4,7 +4,7 @@ title: "Obere Abnäherlänge" *** -Die **Upper Dart Length** steuert die Länge des oberen Abnähers, der zu 100 % bis zum Brustansatz reicht. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From a50ac671bd6dc231df958c08747ea6a6b13e2e45 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:18 +0100 Subject: [PATCH 0674/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/octoplushy/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/de.md b/markdown/org/docs/designs/octoplushy/instructions/de.md index 538dfbb64d9..4c21e014ab5 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/de.md +++ b/markdown/org/docs/designs/octoplushy/instructions/de.md @@ -69,13 +69,13 @@ Bevor du die Augenbrauen in der Mitte zusammennähst, kannst du sie auffüllen, - Mit _guten Seiten zusammen_ ordne die Beinteile den Körperteilen zu. - Nähen Sie jedes Bein von der Kerbe B/D nach unten und zurück zur Kerbe B/D. -- Wenn das Beinteil etwas kürzer ist als das Bein am Kopfteil, musst du es beim Anpassen etwas nachgeben. Um dies zu erleichtern, wurden Kerben angebracht. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Um dies zu erleichtern, wurden Kerben angebracht. Es ist am einfachsten, ein Bein fast bis zur nächsten B/D-Kerbe zu nähen, mit dem Nähen aufzuhören, das nächste Bein festzustecken und dann weiterzunähen, anstatt zu versuchen, alle Beine in einem Zug festzustecken und zu nähen. -Diejenigen, die sich mehr zutrauen, können dies mit der Nadel nach unten auf ihrer Maschine tun. Wenn du dir aber weniger zutraust, kannst du die Maschine abnehmen, die Nadel feststecken und dann wieder mit dem Nähen beginnen, ein wenig über dem ursprünglichen Stich, um ihn zu sichern. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From 51d50807493f483d6e7803a84fdfddbc5dcf3b26 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:27 +0100 Subject: [PATCH 0675/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/paco/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/de.md b/markdown/org/docs/designs/paco/instructions/de.md index 60d69c840e2..1d313889343 100644 --- a/markdown/org/docs/designs/paco/instructions/de.md +++ b/markdown/org/docs/designs/paco/instructions/de.md @@ -205,7 +205,7 @@ nicht die Innenseite Ihrer Taille. Als nächstes richten Sie die Mittenstützen und den Pin in der Mitte nach Bedarf mit zusätzlichen Pins um die Taille aus. -Nähen Sie die Taille an die Hose, so nah wie möglich an der Elastik, aber nicht in die Elastik. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Bund genäht mit einfacher Methode](step13.svg) @@ -288,7 +288,7 @@ genug ist. -Nähen Sie die Manschette auf die Hose Öffnung, so nah wie möglich an der elastischen wie möglich, aber nicht in die Elastik. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Schnitte genäht mit einfacher Methode](step16.svg) From 0ba86d7b15e7eb6d45a013860bb68d800f2f575b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:32 +0100 Subject: [PATCH 0676/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/de.md b/markdown/org/docs/designs/paco/options/crotchdrop/de.md index 88c88556c3e..aa189e5ae2b 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/de.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/de.md @@ -4,8 +4,8 @@ title: "Schritt-Tiefe" Steuert wie stark der Schneider gesenkt wird. -Die Reduzierung des Schnäppchens sorgt für eine lockere Passform. -Ein deutlich abgesenktes Crotched kann auch eine Stilwahl sein. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 9c04b7942c16438d6160571f72d8f5710f5d56e5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:34 +0100 Subject: [PATCH 0677/1313] New translations en.md (German) skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/de.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/de.md index 7d5e1300bb9..09743f6ce72 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/de.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/de.md @@ -2,7 +2,7 @@ title: "Crotch Naht Biegen" --- -Steuert die Krümmung der Kräuternaht, die die Passform an Ihrem Wurf beeinflusst. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From e8cb532c79d3f0a942cf87d4bc782699b86c6b61 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:45 +0100 Subject: [PATCH 0678/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/penelope/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/de.md b/markdown/org/docs/designs/penelope/fabric/de.md index 0f5ec770d0d..273c87c3598 100644 --- a/markdown/org/docs/designs/penelope/fabric/de.md +++ b/markdown/org/docs/designs/penelope/fabric/de.md @@ -6,7 +6,7 @@ title: "Penelope Bleistiftrock: Stoff Optionen" Ein Bleistiftrock ist ein eher formeller Schnitt und wird meist aus einem Anzugstoff gefertigt. Mit anderen Worten, eine **feine Wolle**. Zu den legereren Optionen unter den **mittelschweren** Stoffen gehören **Baumwolle** oder **Denim**. -Einen Stoff mit etwas Dehnbarkeit zu verwenden wird es einfacher machen, eine bequeme Passform zu bekommen, und dir mehr Bewegungsfreiheit geben, da Bleistiftröcke ziemlich eng sitzen. **Scuba** wird oft für Bleistiftröcke verwendet, da es fest ist, Körper hat, sich aber auch dehnt. +Einen Stoff mit etwas Dehnbarkeit zu verwenden wird es einfacher machen, eine bequeme Passform zu bekommen, und dir mehr Bewegungsfreiheit geben, da Bleistiftröcke ziemlich eng sitzen. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Bindegewebe From 5b322ada36b06511c26a7dd78c3369ace5cd3a75 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:46 +0100 Subject: [PATCH 0679/1313] New translations en.md (German) skip-build --- .../org/docs/designs/penelope/instructions/de.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/de.md b/markdown/org/docs/designs/penelope/instructions/de.md index b29cf87a42c..184bed272b6 100644 --- a/markdown/org/docs/designs/penelope/instructions/de.md +++ b/markdown/org/docs/designs/penelope/instructions/de.md @@ -24,7 +24,7 @@ Ein Taillenband ist optional auf Penelope. If you omit it, there will be quite s Ohne den Reißverschluss wird es unmöglich sein, aus dem Rock zu kommen. So it should be at least the length from your waist to the largest part of your bum. Longer will make it easier to put the skirt on and off. Don't use one that's too long, because the part of the seam where the zipper is behaves differently than the part without it, and you want to try to make it invisible also in movement. -Traditionell wird für einen Bleistiftrock ein unsichtbarer Reißverschluss verwendet, aber ein normaler Reißverschluss funktioniert genauso gut. Wenn du Lust hast, kannst du auch einen Reißverschluss verwenden, der deinen Stoff einschnürt. Wähle aus, was zu dir und deinem Stil passt. Ob du kreativ bist oder nicht, liegt ganz bei dir! Wenn dein Stoff allerdings etwas schwerer ist, solltest du dich vielleicht für einen anderen Verschluss entscheiden. +Traditionell wird für einen Bleistiftrock ein unsichtbarer Reißverschluss verwendet, aber ein normaler Reißverschluss funktioniert genauso gut. You can even use a zipper that contrasts your fabric if the fancy takes you. Wähle aus, was zu dir und deinem Stil passt. Ob du kreativ bist oder nicht, liegt ganz bei dir! Wenn dein Stoff allerdings etwas schwerer ist, solltest du dich vielleicht für einen anderen Verschluss entscheiden. ### Schlitz @@ -40,8 +40,8 @@ Darts werden verwendet, um den Unterschied zwischen Taillen- und Sitzmessungen a Wir werden nicht ausführlich erklären, wie man all die einzelnen Details , die einen Bleistiftrock ausmachen, anfertigt. Diese Anleitung geht davon aus, dass du weißt, wie man einen Abnäher näht, einen unsichtbaren -Reißverschluss einfügt, einen Schlitz macht, etc. Falls nicht, findest du im Internet unter -zahlreiche hervorragende Artikel in schriftlicher Form und als Video. Wenn du nicht weiterkommst, kannst du dich jederzeit an +Reißverschluss einfügt, einen Schlitz macht, etc. If not, there are numerous excellent articles available on the +web, both in written form, and on video. Wenn du nicht weiterkommst, kannst du dich jederzeit an [andere FreeSewers] (https://discord.freesewing.org/) in unserem Discord wenden. @@ -50,7 +50,7 @@ zahlreiche hervorragende Artikel in schriftlicher Form und als Video. Wenn du ni - Nähen Sie alle Abnäher. - Drücke die Abnäher nach hinten. - - Für die Rückenteile bedeutet das, dass du die Abnäher zueinander drückst. + - For the back piece(s), that means you press the darts towards each other. - Für das Vorderteil bedeutet das, dass du die Abnäher in Richtung der Seitennähte bügelst. ### Schritt 2: Der Reißverschluss @@ -76,11 +76,11 @@ Du kannst diesen Schritt auslassen, wenn du kein Futter herstellst. - Befolge die Schritte 1 - 4, um das Futter mit den folgenden Änderungen zu konstruieren: - Passe die Abnäher an, um die zusätzliche "Leichtigkeit" in den Futterteilen auszugleichen. - Schließe den Reißverschluss nicht mit ein, sondern lasse die Öffnung in der Reißverschlussnaht. -- Befestige das Futter auf die von dir bevorzugte Weise am Körper. Dabei musst du den Schlitz konstruieren und das Futter mit dem Reißverschluss verbinden. +- Attach the lining to the body in your preferred way. Dabei musst du den Schlitz konstruieren und das Futter mit dem Reißverschluss verbinden. -Wie du die zusätzliche "Leichtigkeit" verteilst, bleibt dir überlassen. Du kannst sie entweder zu den Abnähern hinzufügen, indem du sie erhöhst. oder du kannst einen weiteren Abnäher oder eine Kellerfalte in der Mitte hinzufügen. +Wie du die zusätzliche "Leichtigkeit" verteilst, bleibt dir überlassen. Du kannst sie entweder zu den Abnähern hinzufügen, indem du sie erhöhst. Or you can add another dart or box pleat in the middle. @@ -116,7 +116,7 @@ Dieser Schritt ist nur notwendig, wenn du deinen Rock nicht gefüttert hast, da - Falls gewünscht, stülpe den Saum und die Lüftungsschlitze um. - Baue die Lüftungsschlitze mit der von dir bevorzugten Methode - Bügle unter die Saumzugaben des Rocks. -- Wenn der Saum breit genug ist und/oder der Stoff oben ein wenig nach unten gedrückt wird, hilft das, ein Färben zu verhindern. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Befestige den Saum mit der von dir bevorzugten Methode. Du kannst zum Beispiel von außen nähen oder _Steppstich_ von innen. Es kommt darauf an, wie das fertige Produkt aussehen soll. From 65bb5b801c8e4adaaf7920888ef98f2b3f7ad0e4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:15:59 +0100 Subject: [PATCH 0680/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sandy/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/de.md b/markdown/org/docs/designs/sandy/fabric/de.md index f1757f68ce4..80f1752a17a 100644 --- a/markdown/org/docs/designs/sandy/fabric/de.md +++ b/markdown/org/docs/designs/sandy/fabric/de.md @@ -6,7 +6,7 @@ title: "Sandfarbener Kreisrock: Stoff Optionen" Ein Tellerrock ist ein sehr vielseitiges Kleidungsstück und kann aus einer Vielzahl von Stoffen hergestellt werden. Das kommt ganz auf deinen Verwendungszweck und deinen bevorzugten Stil an. -- Wenn du dir einen alltagstauglichen, leicht zu waschenden Rock wünschst, dann ist **Leinen** und **Baumwolle** genau das Richtige für dich. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - Wenn du nach etwas Formellerem suchst, solltest du **Suiting Fabrics**ausprobieren. - Wenn du etwas Warmes für den Winter möchtest, kannst du **Wools**ausprobieren. - Wenn du dir etwas Fließendes wünschst, das drapiert, kannst du es mit leichten Materialien wie **Chiffon**versuchen. From c4ddfbce0ea83196107c1554e82eebc09399aefd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:00 +0100 Subject: [PATCH 0681/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sandy/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/de.md b/markdown/org/docs/designs/sandy/instructions/de.md index a522785899a..ad0729b38be 100644 --- a/markdown/org/docs/designs/sandy/instructions/de.md +++ b/markdown/org/docs/designs/sandy/instructions/de.md @@ -5,7 +5,7 @@ title: "Sandy Kreisrock: Anleitung zum Nähen" Aufgrund der unterschiedlichen Stile und Konfigurationen von Sandy kann es sein, dass du bestimmte Schritte auslassen oder neu anordnen musst. -Wir werden hier nicht ausführlich erklären, wie du die einzelnen Details für einen Kreisrock anfertigst. Diese Anleitung setzt voraus, dass du weißt, wie man einen Reißverschluss näht, Taschen konstruiert usw. Wenn nicht, gibt es im Web zahlreiche ausgezeichnete Artikel, sowohl in schriftlicher Form als auch auf Video. Wenn du nicht weiterkommst, kannst du dich jederzeit an [andere FreeSewers] (https://discord.freesewing.org/) in unserem Discord wenden. +Wir werden hier nicht ausführlich erklären, wie du die einzelnen Details für einen Kreisrock anfertigst. Diese Anleitung setzt voraus, dass du weißt, wie man einen Reißverschluss näht, Taschen konstruiert usw. If not, there are numerous excellent articles available on the web, both in written form, and on video. Wenn du nicht weiterkommst, kannst du dich jederzeit an [andere FreeSewers] (https://discord.freesewing.org/) in unserem Discord wenden. @@ -111,7 +111,7 @@ Säume den Rock auf eine der folgenden Arten: -Es gibt viele Möglichkeiten, den unteren Teil eines Rocks zu säumen. Wenn du eine bevorzugte Methode hast, kannst du sie hier anwenden. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From 2024cabc49f3ddb0ead0eae22cc036c85bb04054 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:01 +0100 Subject: [PATCH 0682/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sandy/needs/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/de.md b/markdown/org/docs/designs/sandy/needs/de.md index b2b6b50a0d3..67589881d53 100644 --- a/markdown/org/docs/designs/sandy/needs/de.md +++ b/markdown/org/docs/designs/sandy/needs/de.md @@ -16,7 +16,7 @@ Aufgrund der vielen verschiedenen Arten von Sandy ist es schwierig, genau zu sag ##### Hauptstoff -Die Länge, die du brauchst, hängt davon ab, wie lang und voll dein Tellerrock ist. Mittellang und kleiner sollten mit 2 - 2,5 Metern ausreichen, wohingegen für einen bodenlangen Rock mehr benötigt wird. Im Zweifelsfall kaufe einen Meter mehr, als du denkst. Scheue dich auch nicht davor, zuzuschneiden, wenn dein Stoff nicht breit oder lang genug ist. Es ist besser, eine zusätzliche Naht zu haben, als den Stoff nicht zu verwenden, der dir gefällt. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. Im Zweifelsfall kaufe einen Meter mehr, als du denkst. Scheue dich auch nicht davor, zuzuschneiden, wenn dein Stoff nicht breit oder lang genug ist. Es ist besser, eine zusätzliche Naht zu haben, als den Stoff nicht zu verwenden, der dir gefällt. @@ -40,7 +40,7 @@ Um die Säume in Form zu halten, kannst du den unteren Teil des Rocks mit einem ##### Verschlüsse -Wenn du keinen elastischen Sandy machst, brauchst du eine Art Verschluss. Das kann nur ein Reißverschluss sein, der in den Bund und die Naht eingesetzt wird, oder es können Knöpfe, Kleiderhaken oder Druckknöpfe mit einem überlappenden Bund und einer Öffnung, einer Leiste oder einem Reißverschluss am oberen Ende der Naht sein. +Wenn du keinen elastischen Sandy machst, brauchst du eine Art Verschluss. This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Gummi From 47ed497b949e97f84116b0e47b4fdd9559add8c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:10 +0100 Subject: [PATCH 0683/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shin/fabric/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/de.md b/markdown/org/docs/designs/shin/fabric/de.md index 035807e0e63..27e942ed441 100644 --- a/markdown/org/docs/designs/shin/fabric/de.md +++ b/markdown/org/docs/designs/shin/fabric/de.md @@ -6,6 +6,6 @@ Swim Stämme sollten aus einem Material mit Dehnung, die geeignet ist, im Wasser Normalerweise fällt dies in ein paar Kategorien auseinander: -- Nylon gemischt mit Elastomer, Spandex oder Lycra ist weich und dehnbar. Das ist es, aus dem die meisten lässigen Bademoden hergestellt werden. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. Das ist es, aus dem die meisten lässigen Bademoden hergestellt werden. - Polyester gemischt mit PBT (Polybutylen terephthalat) ist weniger weich, aber resistent gegen Chlor und Salzwasser. Das ist es, aus dem eine Menge konkurrenzfähiger Badebekleidung hergestellt wird. - Neopren, auch bekannt als Scuba, ist schwerer und weniger dehnbar. Es ist das Zeug Tuba Anzüge hergestellt werden. From f865cbae3bfb298a248e964f8944b292b44bcfaf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:11 +0100 Subject: [PATCH 0684/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shin/instructions/de.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/de.md b/markdown/org/docs/designs/shin/instructions/de.md index 58d8b247e8a..96f045ab273 100644 --- a/markdown/org/docs/designs/shin/instructions/de.md +++ b/markdown/org/docs/designs/shin/instructions/de.md @@ -8,13 +8,13 @@ title: "Shin-Badehose: Nähanleitung" ## Schritt 1: Betrete die Rückseite -Legen Sie Ihre zwei Rücken auf einander mit den guten Seiten zusammen, und nähen Sie sie zusammen allong die Mitte hinten. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Schritt 2: Trete den Fronten bei ### Nähen Sie die Vordernaht -Legen Sie zwei Ihrer Fronten zusammen mit den guten Seiten auf einander und nähen Sie sie zusammen allong die Mitte Frontnaht. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Wiederholen Sie sich mit den beiden anderen Fronten, so dass Sie zwei identische Sets haben. @@ -38,7 +38,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Markieren Sie die Mitte Ihrer Taillenlänge. Fold the waistband double, and mark the middle of the width (do not take the seam allowance into account). -Ein bisschen nach links und rechts davon können Sie zwei Ösen hinzufügen, um eine Zeichenfolge durchzulassen. This will avoid an embarassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. +Ein bisschen nach links und rechts davon können Sie zwei Ösen hinzufügen, um eine Zeichenfolge durchzulassen. This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### Am besten kannst du Verstärkung hinzufügen > @@ -68,7 +68,7 @@ Find the front of the waistband (easy if there's eyelets, if not just fold it do Jetzt gehen Sie durch die Taille der Schwimmstämme, die die Taille der Taille anpinnen. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew into the elastic. +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, make a second round to sew it a bit more snugly. From e6df4aafec4c59c0eb0a12888f54afb1e02800ea Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:12 +0100 Subject: [PATCH 0685/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shin/needs/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/de.md b/markdown/org/docs/designs/shin/needs/de.md index 83e7fd1e7d6..e557fd843de 100644 --- a/markdown/org/docs/designs/shin/needs/de.md +++ b/markdown/org/docs/designs/shin/needs/de.md @@ -12,4 +12,4 @@ Um Shin zu erstellen, benötigst du Folgendes: > > Wie bei allen Stretch-Stoffen wird dir ein Serger/Overlock das Leben erleichtern. > -> Wenn du keine hast, musst du aber nicht verzweifeln. Du brauchst sie nicht unbedingt. Für Dehnungsnähte kann man eine andere Technik wie Zickzackstich, Zwillingsnadel oder Gummifaden verwenden. +> Wenn du keine hast, musst du aber nicht verzweifeln. Du brauchst sie nicht unbedingt. You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From eceaece71044d58ec7a165ad136adde58aa243dc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:16 +0100 Subject: [PATCH 0686/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shin/options/rise/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/de.md b/markdown/org/docs/designs/shin/options/rise/de.md index 3e07b22a83f..4a8da192d1e 100644 --- a/markdown/org/docs/designs/shin/options/rise/de.md +++ b/markdown/org/docs/designs/shin/options/rise/de.md @@ -2,7 +2,7 @@ title: "Sitz" --- -Diese Option steuert die Überhöhe der Taille. +This option controls the overall height of the waist. > Je höher der Aufstieg, desto höher deine Taille. From da539b20b39f3323db73e7792472e613cf1571e8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:17 +0100 Subject: [PATCH 0687/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shin/options/stretch/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/stretch/de.md b/markdown/org/docs/designs/shin/options/stretch/de.md index 7737be851f4..5597b599531 100644 --- a/markdown/org/docs/designs/shin/options/stretch/de.md +++ b/markdown/org/docs/designs/shin/options/stretch/de.md @@ -2,7 +2,7 @@ title: "Dehnung" --- -Die Menge an Overal (horizontal) Strecke. +Die Höhe der Gesamtstrecke (horizontal). From 199b3dea250d8351010a18e9fdd644c508963693 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:22 +0100 Subject: [PATCH 0688/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simon/instructions/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/de.md b/markdown/org/docs/designs/simon/instructions/de.md index 05f1621dbf2..d47e681a3db 100644 --- a/markdown/org/docs/designs/simon/instructions/de.md +++ b/markdown/org/docs/designs/simon/instructions/de.md @@ -629,7 +629,7 @@ Jetzt da der Kragen angehängt ist, geben Sie ihm eine gute Presse. ### Schritt 20: Hem dein Hemd -![Falten und drücken](20a.png) ![Wiederholen und erneut drücken](20b.png) ![Nähen Sie den Saum](20c.png) +![Falten und drücken](20a.png) ![Fold over again, and press again](20b.png) ![Nähen Sie den Saum](20c.png) Zeit, den Saum zu beenden (das ist das Teil, das du in deiner Hose steckst). From f2d36a698116de39cd560923abaa79dfe0cb40fb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:39 +0100 Subject: [PATCH 0689/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simon/options/collargap/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/de.md b/markdown/org/docs/designs/simon/options/collargap/de.md index 000472e121c..42123401bae 100644 --- a/markdown/org/docs/designs/simon/options/collargap/de.md +++ b/markdown/org/docs/designs/simon/options/collargap/de.md @@ -8,7 +8,7 @@ Distanz beim Schließen des Kragens. -Dies ist eigentlich eine Stilwahl, aber eine breitere Kragenspalte (zusammen mit dem Kragenwinkel) kann eine breitere Krawatte (Knoten) aufnehmen. +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 9367c7743e7032a3b2a6bcf7a9a5c97233eda05c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:16:57 +0100 Subject: [PATCH 0690/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simon/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/de.md b/markdown/org/docs/designs/simon/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From 9f2ac21dd5fd8a9c46f83bd9c8bedaceaf9b9921 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:17:04 +0100 Subject: [PATCH 0691/1313] New translations en.md (German) skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From 60a730d93704d5abf018f8f7543a29a1caf6bc70 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:17:34 +0100 Subject: [PATCH 0692/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simone/options/collargap/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/de.md b/markdown/org/docs/designs/simone/options/collargap/de.md index 000472e121c..42123401bae 100644 --- a/markdown/org/docs/designs/simone/options/collargap/de.md +++ b/markdown/org/docs/designs/simone/options/collargap/de.md @@ -8,7 +8,7 @@ Distanz beim Schließen des Kragens. -Dies ist eigentlich eine Stilwahl, aber eine breitere Kragenspalte (zusammen mit dem Kragenwinkel) kann eine breitere Krawatte (Knoten) aufnehmen. +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 45e10193a3caa634afc36e7f49371555018a616c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:17:54 +0100 Subject: [PATCH 0693/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simone/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/de.md b/markdown/org/docs/designs/simone/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From c42a5cb2a6ab426d891c40ce7f8fd955aa778a60 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:01 +0100 Subject: [PATCH 0694/1313] New translations en.md (German) skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From bfce00033edbb55f92bae1095e88b635a6409518 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:13 +0100 Subject: [PATCH 0695/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sven/instructions/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/de.md b/markdown/org/docs/designs/sven/instructions/de.md index ce941d53fc4..e281c68a0c4 100644 --- a/markdown/org/docs/designs/sven/instructions/de.md +++ b/markdown/org/docs/designs/sven/instructions/de.md @@ -4,7 +4,7 @@ title: "Sven Sweatshirt: Anleitung zum Nähen" ### Schritt 1: Schulternähte schließen -- Legen Sie den Rücken und die Vorderseite auf einander mit den guten Seiten toghether. +- Place the back and front on top of each other with the good sides together. - Legen Sie die Schulternaht an und nähen Sie sie mit der Standardnaht ab. - Wiederholen für die andere Schulternaht. @@ -38,7 +38,7 @@ title: "Sven Sweatshirt: Anleitung zum Nähen" - Messen Sie die Breite der Ärmel an der Manschette - Schneiden Sie ein Stück Bänder, das doppelt so lang ist - 2cm/1inch und 7cm/3inch breit -- Falte das Band doppelt entlang der längsten Seite und nähe den Rand zusammen, so dass du einen kontinuierlichen Ring hast +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Drehe deinen Sven inside-out - Falte den Ribbelring mit der guten Seite nach außen, und rutsche die gefaltete Seite in deinen Innen/Out-Sven-Ärmel - Legen Sie die abgeschnittene Seite des Balles mit der Kante des Ärmels an und befestigen Sie sie an der Stelle. Das Band ist etwas kürzer, also strecken Sie es ein bisschen während Sie es anpinnen, um es in den Ärmel zu bearbeiten. @@ -51,7 +51,7 @@ title: "Sven Sweatshirt: Anleitung zum Nähen" - Messen Sie die Breite von Sven am Saum - Schneiden Sie ein Stück Bänder, das 1,9-mal so lang und 7cm/3inch breit ist - Möglicherweise musst du verschiedene Teile anhängen, wenn dein Bindegewebe nicht breit genug ist -- Falte das Band doppelt entlang der längsten Seite und nähe den Rand zusammen, so dass du einen kontinuierlichen Ring hast +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Drehe deinen Sven inside-out - Falte den Ribbelring mit der guten Seite nach außen und rutsche die gefaltete Seite in deinen Innen-/Out-Sven-Körper - Legen Sie die abgeschnittene Seite des Balles mit dem Rand des Körpers an und befestigen Sie es an der Stelle. Das Band ist etwas kürzer, also strecken Sie es ein bisschen während Sie es anpinnen, um es in den Körper zu bringen. From a6777c3efae8561a389fd573bb3b0d532a75a028 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:29 +0100 Subject: [PATCH 0696/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sven/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/de.md b/markdown/org/docs/designs/sven/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From 297ae0a9b5f10805947b1f1a12b69bfa23fad1fe Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:36 +0100 Subject: [PATCH 0697/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From 7a31d4d79d3a60f3d5fe5f7b635e843225a1b70b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:45 +0100 Subject: [PATCH 0698/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/tamiko/instructions/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/de.md b/markdown/org/docs/designs/tamiko/instructions/de.md index b39c8cd24bd..81fecc64d8f 100644 --- a/markdown/org/docs/designs/tamiko/instructions/de.md +++ b/markdown/org/docs/designs/tamiko/instructions/de.md @@ -4,7 +4,7 @@ title: "Tamiko Oberteil: Anleitung zum Nähen" ### Schritt 1: Beende die Rüstungsnaht -![Finsche die Rüstungsnaht](step03.png) +![Finish the armhole seam](step03.png) - Beenden Sie die Armlochnaht mit einem schmalen Saum. From 7533e70a7f5d681402d5d87e6f0ae18b6a59ed3a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:18:53 +0100 Subject: [PATCH 0699/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/teagan/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/de.md b/markdown/org/docs/designs/teagan/instructions/de.md index 0b988e319b4..f0dfab125bf 100644 --- a/markdown/org/docs/designs/teagan/instructions/de.md +++ b/markdown/org/docs/designs/teagan/instructions/de.md @@ -77,7 +77,7 @@ Jetzt ist es an der Zeit, die Enden unseres Strickbands zusammenzunähen. - Jetzt, wo deine Bandenden zusammengefügt sind, ist es an der Zeit, die letzten 6 cm fertigzustellen, indem du das Band dehnst und festnähst, wie du es für den Rest getan hast. -Hurra! Du hast den schwierigsten Teil geschafft! Optional kannst du die Schnittkanten sichern, indem du sie mit einem Zickzack- oder Coverlock-Stich auf der Innenseite des Strickbands an den T-Shirt-Stoff annähst. Das ist nicht notwendig, aber ein Detail, das du auf vielen T-Shirts von der Stange siehst, und es kann dazu beitragen, dass dein Nackenband flach liegt. +Hurra! Du hast den schwierigsten Teil geschafft! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. Das ist nicht notwendig, aber ein Detail, das du auf vielen T-Shirts von der Stange siehst, und es kann dazu beitragen, dass dein Nackenband flach liegt. ![Strickband zum Sichern festnähen](step03i.svg) @@ -85,7 +85,7 @@ Hurra! Du hast den schwierigsten Teil geschafft! Optional kannst du die Schnittk -Eine ausführlichere Anleitung zum Strickbinden findest du in den [Aaron-Anleitungen](/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From 6cbd2f4f907487d5b41501655e748fe49a3f5516 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:19:06 +0100 Subject: [PATCH 0700/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/teagan/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/de.md b/markdown/org/docs/designs/teagan/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From bc853df00281dfb4887603ba30ccaed5ed002eda Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:19:13 +0100 Subject: [PATCH 0701/1313] New translations en.md (German) skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From 4b9a90d850691083cbd7221128682eae07b0bd32 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:19:37 +0100 Subject: [PATCH 0702/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/de.md b/markdown/org/docs/designs/titan/options/crotchdrop/de.md index 88c88556c3e..aa189e5ae2b 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/de.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/de.md @@ -4,8 +4,8 @@ title: "Schritt-Tiefe" Steuert wie stark der Schneider gesenkt wird. -Die Reduzierung des Schnäppchens sorgt für eine lockere Passform. -Ein deutlich abgesenktes Crotched kann auch eine Stilwahl sein. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From d2106e8f6567c7b022e51355893d1f63375a2337 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:19:38 +0100 Subject: [PATCH 0703/1313] New translations en.md (German) skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/de.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/de.md index 7d5e1300bb9..09743f6ce72 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/de.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/de.md @@ -2,7 +2,7 @@ title: "Crotch Naht Biegen" --- -Steuert die Krümmung der Kräuternaht, die die Passform an Ihrem Wurf beeinflusst. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From bc43cae12fe48d3ad07f86443f2ed30c2757fbe5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:19:56 +0100 Subject: [PATCH 0704/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/wahid/instructions/de.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/wahid/instructions/de.md b/markdown/org/docs/designs/wahid/instructions/de.md index c76188e1845..055a1399698 100644 --- a/markdown/org/docs/designs/wahid/instructions/de.md +++ b/markdown/org/docs/designs/wahid/instructions/de.md @@ -140,7 +140,7 @@ Die Tasche nach hinten drehen und nach unten drücken. ![Drücke die Dreiecke an den kurzen Seiten nach unten](05h.png) -Bewegen Sie Ihre Tasche von der Hand, um die kleinen Traingles an der Seite Ihrer Tasche aufzudecken. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Falte sie zurück, um sicherzustellen, dass deine Tasche ein sauberes Rechteck öffnet, und drücke sie herunter. @@ -214,7 +214,7 @@ Legen Sie Ihr Futter in die Weste, gute Seiten zusammen. Mit anderen Worten, die #### Futter an Stoff anheften -![Nähen an Stoff](09b.png) +![Futter an Stoff anheften](09b.png) Legen Sie das Futter mit der Gewebekante an und befestigen Sie es an der Stelle. @@ -222,7 +222,7 @@ Beginnen Sie mit der Mitte nach hinten, und folgen Sie der Halslinie nach unten #### Futter für Stoff nähen -![Nähen zum Stoff](09c.png) +![Futter für Stoff nähen](09c.png) Das Futter ist sauber angehängt, Nähfutter und Gewebe sind zusammengesetzt. @@ -252,7 +252,7 @@ falten Sie nun das Futter ein bisschen vor dem Rand des Armlochs zurück und pin #### Handnähen Sie das Futter für den Stoff -![Handgenähtes Futter für die Farbric](10c.png) +![Handnähen Sie das Futter für den Stoff](10c.png) Benutzen Sie einen Hausschuh, um das Futter an den Stoff entlang des Armlochs zu nähen. From 401c7458ac2e53a5a812e52a050b7f2ea44d335e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:20:30 +0100 Subject: [PATCH 0705/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/walburga/needs/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/de.md b/markdown/org/docs/designs/walburga/needs/de.md index d1f7e1ed3f7..0760f9d4bec 100644 --- a/markdown/org/docs/designs/walburga/needs/de.md +++ b/markdown/org/docs/designs/walburga/needs/de.md @@ -6,4 +6,4 @@ Um Walburga zu erstellen, benötigst du Folgendes: - [Grundlegendes Nähzubehör](/docs/sewing/basic-sewing-supplies) - Etwa 1 Meter (1,1 Yards) eines geeigneten Stoffes (siehe [Stoffoptionen](/docs/designs/walburga/fabric)) -- (optional) ca. 3 Meter Schrägband oder Zuschnitt für den Abschluss der Schnittkanten +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From a1c85d2dfb456506f746e123efc02fcdec60ae14 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:20:40 +0100 Subject: [PATCH 0706/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/waralee/options/backraise/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/de.md b/markdown/org/docs/designs/waralee/options/backraise/de.md index 9cbfbef1e84..8275853b137 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/de.md +++ b/markdown/org/docs/designs/waralee/options/backraise/de.md @@ -2,7 +2,7 @@ title: "Hintere Anstieg" --- -Diese Einstellung erhöht die Taille in der Rückseite. Unsere Taille sitzt nicht horizontal, sondern ist nach oben geschwenkt. Dieses Seting erlaubt es Ihnen, diese im Rücken anzuheben, wenn Sie es für eine gute Passform benötigen. +Diese Einstellung erhöht die Taille in der Rückseite. Unsere Taille sitzt nicht horizontal, sondern ist nach oben geschwenkt. This setting allows you to raise this in the back if you need it for a good fit. From 377018e9acf17da452086f0ce5d879bc798d4fc3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:20:51 +0100 Subject: [PATCH 0707/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/de.md b/markdown/org/docs/designs/waralee/options/waistoverlap/de.md index eace43dd51e..5ddcbf78aee 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/de.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/de.md @@ -2,7 +2,7 @@ title: "Übertritt an der Taille" --- -Dadurch wird bestimmt, wie sehr sich die Beinklappen an der Taille überlappen. Eine Einstellung von 0 würde sie an der Seitennaht treffen, und eine Einstellung von 100 macht sie treffen sich auf die Vorder/Rückseite. +This dictates how much you want the leg flaps to overlap at the waist. Eine Einstellung von 0 würde sie an der Seitennaht treffen, und eine Einstellung von 100 macht sie treffen sich auf die Vorder/Rückseite. From a59c2681340f71aab6d6714732f9fd62b595cd2e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:20:54 +0100 Subject: [PATCH 0708/1313] New translations en.md (German) skip-build --- .../org/docs/designs/yuri/instructions/de.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/de.md b/markdown/org/docs/designs/yuri/instructions/de.md index 44c7bc983df..df89f1afb4c 100644 --- a/markdown/org/docs/designs/yuri/instructions/de.md +++ b/markdown/org/docs/designs/yuri/instructions/de.md @@ -4,24 +4,24 @@ title: "Yuri Hoodie: Anleitung zum Nähen" -Dieses Muster kann mit oder mit einem Overlocker/Serger genäht werden. Um Nähte ohne Overlocker/Serger zu _bearbeiten_, kannst du entweder deine bevorzugte Methode oder eine der folgenden Methoden anwenden: +Dieses Muster kann mit oder mit einem Overlocker/Serger genäht werden. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: ##### Finishing Method 1 -- Bügle die Nahtzugaben auf. +- Press open the seam allowances. - Dann nähst du auf der guten Seite 3 mm (1/8 Zoll) entfernt oder näher an beiden Seiten der Naht und fängst die Nahtzugaben darunter auf. - Auf der falschen Seite die Nahtzuschläge in der Nähe des Kantenstichens abschneiden. -##### Fertigstellungsmethode 2 +##### Finishing Method 2 -- Nähen Sie die Nahtzustände entweder mit einem Ziz-Zag, einem Überschlag oder einem geraden Stitch und drücken Sie auf eine Seite. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Bei Bedarf auf 1cm Naht abschneiden. -Bei Verwendung eines Overlockers/Sergers können Sie Nähte nähen, die in einem Schritt Finishing benötigen, anstatt die Naht konventionell zu nähen und zu beenden. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ Auf dem Schnittmuster ist die hintere Kerbe als Kreuzkerbe gekennzeichnet (siehe - (Optional) Die rohe Kante des Ärmels überziehen. - Drücken Sie die Saumerlaubnis auf die falsche Seite des Stoffes und Baste in der Nähe der Rohkante. - Auf der Außenseite abgenäht von der gefalteten Kante, wobei die Saummenge unter Verwendung des Basters als Richtschnur für die Rohkante gefangen wird. -- (Optional) Auf der Außenseite ist die Stitch 6mm (1/4 Zoll) parallel zum ursprünglichen Stich entlang der Saumlänge. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Basting entfernen. @@ -94,8 +94,8 @@ Es wird empfohlen, die **Fertigstellungsmethode 1** für diesen Schritt zu verwe - Nähen Sie den angehefteten Rand zusammen. - Schneiden Sie die Nahterlaubnis auf 1cm (3/8 Zoll), wenn Ihr gewähltes Nahtgewicht größer ist und Sie nicht verwendet haben und Überlocker/Server. Ansonsten ist _nicht_ die Naht zu schneiden. - Drehen Sie die Kapuze gute Seiten aus und drücken Sie die Außenkante flach. -- Auf der Außenseite der Topstitch am Rand der Kapuze entlang, ca. 1,5 - 2cm von der Kante. Vergewissern Sie sich, dass Ihre Aufstichung umschließt, aber nicht durch die Naht der äußeren Haube Kante geht. Dadurch entsteht ein dekorativer Felgen, wobei die eingeschlossene Naht die Felge ein bisschen poofy macht. -- Mit rohen Kanten zusammen, den Boden der Kapuze. Sie können dies entweder mit einem Overlocker/Serger oder einem Ziz-Zag oder einem Übergießstich auf einer normalen Maschine tun. +- Auf der Außenseite der Topstitch am Rand der Kapuze entlang, ca. 1,5 - 2cm von der Kante. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. Dadurch entsteht ein dekorativer Felgen, wobei die eingeschlossene Naht die Felge ein bisschen poofy macht. +- Mit rohen Kanten zusammen, den Boden der Kapuze. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ Du kannst auch ein gefaltetes Band machen, so dass das Nackenband keine rohe Kan - Mit guten Seiten zusammen, beginnend von der Mitte hinten Pin die Kapuze zum Hals, passend zur Mitte und zum Überlappen der Kapuze endet an der Vorderseite. - Stecke das Nackenband an der Kapuze fest, wobei die gute Seite des Nackenbandes an der Futterseite der Kapuze liegt und die Mitte des Nackenbandes an der hinteren Mitte liegt. - Bei Verwendung eines Overlockers/Sergers ziehen Hals und Kapuze durch alle Lagen zusammen. -- Bei Nähmaschine mit Zickzackstich können alle Näh- und Haubenschichten zusammengenäht werden. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - Überprüfen Sie nach außen die Halslinie, um sicherzustellen, dass alle Schichten gefangen werden. - Drucknahtzuschläge in Richtung Körper. -- Auf der guten Seite Mit einer geraden Sitze ca. 1cm vom Halsrand zum Körper entfernt, um das Halsband darunter zu fangen und zu sichern. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Schneiden Sie die überschüssige Bindung von innen ab. -Wenn Sie einen Überlocker/Serger verwenden, um die Kapuze zu befestigen, können Sie sperrige Bereiche zuerst mit einem geraden Heftsucher nach unten anbringen, da die Vorderseite als Überlocker/Serger Probleme haben kann, diese Teile zu nähen. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From b12d9dca7681c068f078223ed0b6281385fcada4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:21:08 +0100 Subject: [PATCH 0709/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapease/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/de.md b/markdown/org/docs/designs/yuri/options/sleevecapease/de.md index 531a282eced..f9136c24487 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/de.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/de.md @@ -6,7 +6,7 @@ Bestimmt die Menge der Zugabe an der Armkugel. -Die Menge an Sleevecap Leichtigkeit bestimmt, wie die Ärmel vom Shouder rollen. +Die Menge an Ärmelleicht bestimmt, wie die Ärmel von der Schulter rollen. Mehr Leichtigkeit macht die Ärmel Curl in die Naht wie Sie auf Anzug Jacken sehen. Weniger Leichtigkeit lässt die Ärmel flach liegen. Für leichten Stoff oder Stricken wollen Sie wenig bis keine Ärmel leicht. Für schwerere Gewebe brauchen Sie mehr Ärmel. From 0cfda66714f860ff24df481b3a861f49ce095f7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:21:16 +0100 Subject: [PATCH 0710/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/de.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/de.md index 27de838cb3e..5a47a3fa2a3 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/de.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/de.md @@ -2,7 +2,7 @@ title: "Armkugel Q3 Spreizung nach oben" --- -![Der Aufwärtstrend breitet sich im thrid-Quadranten der Ärmel aus](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Diese Option steuert die Aufwärtsverteilung im dritten Quadranten der Ärmel. From 25ebc2696c189e813237f7aecf5694891e5e4ee9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:25:48 +0100 Subject: [PATCH 0711/1313] New translations en.yaml (German) skip-build --- sites/shared/components/workbench/menus/core-settings/de.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/de.yaml b/sites/shared/components/workbench/menus/core-settings/de.yaml index 82b2f8c0ddf..9725985cb34 100644 --- a/sites/shared/components/workbench/menus/core-settings/de.yaml +++ b/sites/shared/components/workbench/menus/core-settings/de.yaml @@ -31,6 +31,8 @@ fr.t: Französisch fr.d: Verwende dies, um ein französisches Muster zu erstellen nl.t: Holländisch nl.d: Verwende dies, um ein niederländisches Muster zu erstellen +uk.t: Ukrainian +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Ein vollständiges Muster generieren From ba7c9ace51d12ace89136811714411894d82ae50 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:09 +0100 Subject: [PATCH 0712/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/de.md b/markdown/org/docs/designs/aaron/options/bindingwidth/de.md index cef50ae2af3..fafe0bd1d5a 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/de.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/de.md @@ -2,7 +2,7 @@ title: Breite der Bindung --- -Steuert die Breite der Kniw-Bindung auf Aaron. +Controls the width of the knit binding on Aaron. Die Standardbreite des Strickbands ist 6 x die Nahtzugabe. Für metrische Benutzer mit der Standard-Nahtzugabe von 1 cm ergibt dies ein 1,5 cm breites Strickband, was ein guter Wert ist. @@ -10,5 +10,5 @@ Bei Nutzern mit kaiserlichen Maßen (die eine Standard-Nahtzugabe von 0,5" haben -Diese Option wird als Prozentsatz der Nahtzugabe angegeben. Der Standardwert ist also 600%, also das 6-fache der Nahtzugabe. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From 3e91cca51c096264136ea37fca762335d53c727e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:12 +0100 Subject: [PATCH 0713/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/aaron/notes/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/de.md b/markdown/org/docs/designs/aaron/notes/de.md index ceceed12618..c6235bf4460 100644 --- a/markdown/org/docs/designs/aaron/notes/de.md +++ b/markdown/org/docs/designs/aaron/notes/de.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt: Designer-Notizen" --- -Aaron ist - wie die meisten Muster, die ich entwerfe - aus der Not heraus geboren. I needed a A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. @@ -10,7 +10,7 @@ Für sich genommen ist es ein ziemlich einfaches Design. It extends [the Brian b Es gibt ein paar Dinge, die *besonders* über Aaron sind, FreeSewing Trivia, wenn du so willst: -- Aaron ist derjenige, an den ich Designer verweise, wenn sie Fragen dazu haben, wie sie etwas machen sollen. Sie ist immer die erste in der Liste (weil sie mit einem doppelten A beginnt) und erhält immer als erste neue Funktionen, wird auf eine neue Version migriert und so weiter. Aaron ist so etwas wie das Kanarienvogel-Design von FreeSerwing. Alles, was passiert, passiert zuerst mit Aaron. +- Aaron ist derjenige, an den ich Designer verweise, wenn sie Fragen dazu haben, wie sie etwas machen sollen. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Alles, was passiert, passiert zuerst mit Aaron. - Ich habe dieses Design `aaron` in Erinnerung an [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz)genannt. Ruhe in Frieden, Bruder. joost From 67b48df61ba5a5278ab98388a3c1d47e7c0cffac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:14 +0100 Subject: [PATCH 0714/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bee/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/de.md b/markdown/org/docs/designs/bee/notes/de.md index d96b1b59467..3fb0212d206 100644 --- a/markdown/org/docs/designs/bee/notes/de.md +++ b/markdown/org/docs/designs/bee/notes/de.md @@ -2,7 +2,7 @@ title: "Bienen-Bikinioberteil: Designer Notes" --- -Ich habe Bee zusammen mit Prudencerabbit gemacht, weil sie ein Bademodenmuster machen wollten, das zu einem früheren Freesewing-Muster passt. Es basiert auf einem Kleidungsstück, das sie selbst hergestellt haben und das sie auch anderen zur Verfügung stellen wollten. Wir haben den Körperblock Bella von FreeSewing als Basis verwendet und ihn für das Oberteil in einen Abnäherblock umgewandelt. Während des Mustertests hat einer unserer Mitwirkenden, TangerineShark, eine Variante mit überkreuzten Rückenbändern entworfen, die wir so cool fanden, dass wir sie zu Bee hinzugefügt haben! Du kannst diese Variante mit der [Option Cross Back Ties](/docs/designs/bee/options/crossbackties/)erhalten. Bee kann auch reversibel gemacht werden, indem du die Optionen [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours)verwendest. Da das vorherige Muster nicht mehr verwendet wird, kannst du [Uma](docs/designs/uma) verwenden, um ein passendes Bikini-Unterteil herzustellen. +Ich habe Bee zusammen mit Prudencerabbit gemacht, weil sie ein Bademodenmuster machen wollten, das zu einem früheren Freesewing-Muster passt. Es basiert auf einem Kleidungsstück, das sie selbst hergestellt haben und das sie auch anderen zur Verfügung stellen wollten. Wir haben den Körperblock Bella von FreeSewing als Basis verwendet und ihn für das Oberteil in einen Abnäherblock umgewandelt. During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! Du kannst diese Variante mit der [Option Cross Back Ties](/docs/designs/bee/options/crossbackties/)erhalten. Bee kann auch reversibel gemacht werden, indem du die Optionen [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours)verwendest. Da das vorherige Muster nicht mehr verwendet wird, kannst du [Uma](docs/designs/uma) verwenden, um ein passendes Bikini-Unterteil herzustellen. _ From 308f5c1d49845c72645b54232c4a8330b6cd55e7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:14 +0100 Subject: [PATCH 0715/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bella/notes/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/de.md b/markdown/org/docs/designs/bella/notes/de.md index cc9239d83d2..46b6b64e178 100644 --- a/markdown/org/docs/designs/bella/notes/de.md +++ b/markdown/org/docs/designs/bella/notes/de.md @@ -4,9 +4,9 @@ title: "Bella Body Block: Designer-Notizen" Dieser Block war eine Zusammenarbeit zwischen mir und einer Branchenkennerin, die es aufgrund ihres Berufs vorzieht, anonym zu bleiben. -Es ist die parametrische Version eines Basisblocks für Damenmode, der in der italienischen Industrie für den Entwurf von Damenmode verwendet wird. Der Block passt sich zwar an deine Maße an, aber der ursprüngliche Block, auf dem er basiert, ist nicht für einen sehr großen Größenbereich geeignet. +Es ist die parametrische Version eines Basisblocks für Damenmode, der in der italienischen Industrie für den Entwurf von Damenmode verwendet wird. However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -Du kannst hier also sehr weit kommen, vor allem, wenn du nicht zu den schlanken Frauen gehörst, für die Italienerinnen entwerfen. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. Mehr Hintergrundinformationen findest du in den [FAQs zu den Damenbekleidungs-Grundschnitten ](/docs/about/faq/womenswear-blocks). From 7a6e8751b0d60baf8cb3ea0320a7150953b3b68e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:15 +0100 Subject: [PATCH 0716/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/benjamin/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/de.md b/markdown/org/docs/designs/benjamin/notes/de.md index 594065eaa5c..289d0a74b87 100644 --- a/markdown/org/docs/designs/benjamin/notes/de.md +++ b/markdown/org/docs/designs/benjamin/notes/de.md @@ -4,7 +4,7 @@ title: "Benjamin Fliege: Designer Notes" Benjamin ist der erste Entwurf, den ich jemals für FreeSewing gemacht habe. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. Das schien etwas zu sein, das ich übernehmen könnte. Since I had no experience with making patterns, my first attempt should be a simple one. Auf der Website gab es bereits ein Muster für eine Krawatte, ich bevorzuge jedoch Fliegen. Das wäre also etwas, das ich beitragen könnte. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. Du findest sie in Fachgeschäften und kannst sie auch online kaufen. From 43a186ed0d9e3a3901278f2d3354581cd2dcd73c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:19 +0100 Subject: [PATCH 0717/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/brian/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/notes/de.md b/markdown/org/docs/designs/brian/notes/de.md index a1bddacbd08..d51b34197e2 100644 --- a/markdown/org/docs/designs/brian/notes/de.md +++ b/markdown/org/docs/designs/brian/notes/de.md @@ -4,7 +4,7 @@ title: "Brian Body Block: Designer-Notizen" Brian ist der FreeSewing-Grundbaustein für Herrenmode. Sie ist die Grundlage für viele unserer Entwürfe und das schon seit vielen Jahren. -It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and foward on both collar and shoulder side, as well as a highly configureable sleevecap. +It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and forward on both collar and shoulder side, as well as a highly configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. Es geht direkt von der Brust abwärts. No fitting of the waist whatsoever. From 12aedef8102043ac310c1f10cd444d6aa37be101 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:21 +0100 Subject: [PATCH 0718/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/carlton/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/notes/de.md b/markdown/org/docs/designs/carlton/notes/de.md index ef4925f73e3..f0193b58249 100644 --- a/markdown/org/docs/designs/carlton/notes/de.md +++ b/markdown/org/docs/designs/carlton/notes/de.md @@ -2,7 +2,7 @@ title: "Carlton Mantel: Designer Notes" --- -Carlon is the reverse-engineerd version of the coat worn by benedict cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). +Carlon is the reverse-engineered version of the coat worn by Benedict Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and pictures we found on the internet. From 94ceb65f2f0305179ec1ccbc3c0e906cd312f741 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:22 +0100 Subject: [PATCH 0719/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/cathrin/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/de.md b/markdown/org/docs/designs/cathrin/notes/de.md index 9f50027f860..c193d292bcf 100644 --- a/markdown/org/docs/designs/cathrin/notes/de.md +++ b/markdown/org/docs/designs/cathrin/notes/de.md @@ -6,7 +6,7 @@ Cathrin ist ein Nebeneffekt eines Projekts, das nie zustande kam. Ich wollte ein aufwändiges Kleid nähen und brauchte ein Korsett, das ich darunter tragen konnte. So I did some research online, and I found [this tutorial by Cathrin Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/) on drafting an underbust corset. -So, I essentially implemented those instructions in code, and the rest is history as the original project got abaondoned. +So, I essentially implemented those instructions in code, and the rest is history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From 290b9c1fb80d620be721a69ee9c9abe5318ad662 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:23 +0100 Subject: [PATCH 0720/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/charlie/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/de.md b/markdown/org/docs/designs/charlie/notes/de.md index bf0da117878..d986e7c34f9 100644 --- a/markdown/org/docs/designs/charlie/notes/de.md +++ b/markdown/org/docs/designs/charlie/notes/de.md @@ -8,7 +8,7 @@ Es hat eine Weile gedauert, denn es hat lange gedauert, bis [Titan](/designs/tit This is for the most part a rather straight-forward chino pattern, but it has one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. -Es ist ein etwas ungewöhnliches und kreatives Design, das ich wohl gemacht habe, weil ich es kann? Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. +Es ist ein etwas ungewöhnliches und kreatives Design, das ich wohl gemacht habe, weil ich es kann? Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost From c6d598e23f6f2f708e605c55a3cfcd2790519c46 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:25 +0100 Subject: [PATCH 0721/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/florence/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/de.md b/markdown/org/docs/designs/florence/notes/de.md index 886d9706366..4b85efc2202 100644 --- a/markdown/org/docs/designs/florence/notes/de.md +++ b/markdown/org/docs/designs/florence/notes/de.md @@ -4,7 +4,7 @@ title: "Florence Gesichtsmaske: Designer-Notizen" When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. -So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hostpital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. +So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. As a result, this simple design probably did more to let people know FreeSewing exists than any other thing I've ever done. Which is something I try not to think about too much. From c8bb226912922f630fbb8b6510813380e7686876 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:27 +0100 Subject: [PATCH 0722/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hi/notes/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/de.md b/markdown/org/docs/designs/hi/notes/de.md index e3e476d0809..ae63287d635 100644 --- a/markdown/org/docs/designs/hi/notes/de.md +++ b/markdown/org/docs/designs/hi/notes/de.md @@ -8,9 +8,9 @@ A while ago rumours started swirling that IKEA would discontinue it's Blåhaj st Es stellte sich heraus, dass niemand in der Gemeinde jemals einen Blåhaj zerlegt hatte und auch niemand den Mut hatte, es zu tun. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -Das schien ein großartiges Projekt zu sein, an dem man arbeiten konnte, und das Fehlen eines Blåhaj war kein unüberwindbares Hindernis. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +Das schien ein großartiges Projekt zu sein, an dem man arbeiten konnte, und das Fehlen eines Blåhaj war kein unüberwindbares Hindernis. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -Es kann zwischen 50 cm und 5 m größer und kleiner skaliert werden. Es gibt also einen Hai für jede*n. +It can be scaled up and down between 50 cm and 5 meter. Es gibt also einen Hai für jede*n. From 69e6875f9a069ebd97b5fb81f0fee091639956fc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:31 +0100 Subject: [PATCH 0723/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/lucy/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/de.md b/markdown/org/docs/designs/lucy/notes/de.md index 79ff33ce698..38e35e58583 100644 --- a/markdown/org/docs/designs/lucy/notes/de.md +++ b/markdown/org/docs/designs/lucy/notes/de.md @@ -2,4 +2,4 @@ title: "Lucy Tasche zum Anbinden: Designer Notes" --- -Dies ist ein Taschenmuster aus dem 18. Jahrhundert, das auf der hängenden Tasche in Patterns of Fashion 1 pp. 73. Ich habe es gemacht, damit die Leute ein historisches Taschenmuster haben, das leicht anzupassen ist. Ich würde mir wünschen, dass historische Muster und Ressourcen für die Menschen zugänglicher sind, damit die Dokumentation einen historischen Kontext und Vorschläge für historisch korrekte Herstellungsweisen enthält, aber es ist genauso toll zu sehen, wie die Menschen wilde moderne Versionen machen. +Dies ist ein Taschenmuster aus dem 18. Jahrhundert, das auf der hängenden Tasche in Patterns of Fashion 1 pp. 73. Ich habe es gemacht, damit die Leute ein historisches Taschenmuster haben, das leicht anzupassen ist. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From 8e0c32df521eeb24377a45dcfabc1c3a60d7507f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:32 +0100 Subject: [PATCH 0724/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/lunetius/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/de.md b/markdown/org/docs/designs/lunetius/notes/de.md index ae2efe9e8f4..9f21cee028a 100644 --- a/markdown/org/docs/designs/lunetius/notes/de.md +++ b/markdown/org/docs/designs/lunetius/notes/de.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna: Designer-Notizen" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Und warum? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. From 36c2aeb700c01e88a8df5234b09bafce615efab3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:33 +0100 Subject: [PATCH 0725/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/noble/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/de.md b/markdown/org/docs/designs/noble/notes/de.md index 52f54e3354a..2ff8efa968c 100644 --- a/markdown/org/docs/designs/noble/notes/de.md +++ b/markdown/org/docs/designs/noble/notes/de.md @@ -4,7 +4,7 @@ title: "Edler Körperblock: Designer-Notizen" Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. Wouter From 5f3543a5c74567d974dccdbf15212696b863fca3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:34 +0100 Subject: [PATCH 0726/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/octoplushy/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/de.md b/markdown/org/docs/designs/octoplushy/notes/de.md index aa4f413f33b..db33b7d29c9 100644 --- a/markdown/org/docs/designs/octoplushy/notes/de.md +++ b/markdown/org/docs/designs/octoplushy/notes/de.md @@ -2,7 +2,7 @@ title: "Octoplushy, der plüschige Oktopus: Designer-Notizen" --- -Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. +Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. A plushy octopus. With a cute name. That had to become something very cuddly. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. It worked out fine. From ea8e48d40924f22b2f46b0f8fddde03250288eda Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:36 +0100 Subject: [PATCH 0727/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/penelope/notes/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/de.md b/markdown/org/docs/designs/penelope/notes/de.md index 20766afed8c..196d234540d 100644 --- a/markdown/org/docs/designs/penelope/notes/de.md +++ b/markdown/org/docs/designs/penelope/notes/de.md @@ -2,11 +2,11 @@ title: "Penelope Bleistiftrock: Designer Notes" --- -Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the apropriate thing to do. I found a drafting method online and made het a skirt. This fitted remarkably well. +Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. -The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (whic I would recommend). +The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (which I would recommend). Wouter From 9c28870274f9f3686bc0e2a4d729aaed915a4ab5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:38 +0100 Subject: [PATCH 0728/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/simone/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/de.md b/markdown/org/docs/designs/simone/notes/de.md index 7dbcb3b3494..54b9349f95a 100644 --- a/markdown/org/docs/designs/simone/notes/de.md +++ b/markdown/org/docs/designs/simone/notes/de.md @@ -2,7 +2,7 @@ title: "Simone Hemd: Designer Notes" --- -Simone ist im Wesentlichen [Simon](/designs/simon) mit einer Vollbusenanpassung. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt design, but anyone can choose Simone for a more female-presenting look due to the bust dart. From e129c6b30432e93fe5545ee64ee53deeef4d89b8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:42 +0100 Subject: [PATCH 0729/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/tiberius/notes/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/de.md b/markdown/org/docs/designs/tiberius/notes/de.md index 62a269e124e..df8152cd9c9 100644 --- a/markdown/org/docs/designs/tiberius/notes/de.md +++ b/markdown/org/docs/designs/tiberius/notes/de.md @@ -2,9 +2,9 @@ title: "Tiberius Tunica: Designer-Notizen" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) -Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Ziemlich faszinierend, +Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Ziemlich faszinierend, Der Name stammt übrigens von James T. Kirk, der das Glück hatte, Eltern zu haben, die anscheinend einige fragwürdige römische Kaiser mochten. From 689db38103f5a91357a28f9a43c0785ea5649f1e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:43 +0100 Subject: [PATCH 0730/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/titan/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/de.md b/markdown/org/docs/designs/titan/notes/de.md index a833df973a9..657b27e4ae2 100644 --- a/markdown/org/docs/designs/titan/notes/de.md +++ b/markdown/org/docs/designs/titan/notes/de.md @@ -4,7 +4,7 @@ title: "Titan-Hosenblock: Designer Notes" I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. -I had started on this a couple of times on my own, but for various reasons was never happy and abondoned the effort more than once. +I had started on this a couple of times on my own, but for various reasons was never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From 79a9fb7b320ff078d8852b2812eeeb91a74422a4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:44 +0100 Subject: [PATCH 0731/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/uma/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/de.md b/markdown/org/docs/designs/uma/notes/de.md index 627ba2b46f3..50a3d7707fb 100644 --- a/markdown/org/docs/designs/uma/notes/de.md +++ b/markdown/org/docs/designs/uma/notes/de.md @@ -6,7 +6,7 @@ This design is inspired by an earlier design (Ursula) which was created by my fr In the run-up to the v3 release, we discussed the migration of the various designs, and it became clear that for reasons (gestures vaguely towards people on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. -Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also mase some changes that people had been asking for, such as the bulge option to make it gender-neutral. +Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Lange Rede kurzer Sinn: From 915811b23d07a297b4c77f90100e2d51f0a45d89 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:46 +0100 Subject: [PATCH 0732/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/walburga/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/de.md b/markdown/org/docs/designs/walburga/notes/de.md index a8985de946c..25910d73277 100644 --- a/markdown/org/docs/designs/walburga/notes/de.md +++ b/markdown/org/docs/designs/walburga/notes/de.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock: Designer-Notizen" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga ist der Sonderling unter den drei Mustern, denn sie ist zwar "historisch inspiriert", folgt aber eigentlich keinem echten historischen Gewand. Es basiert auf dem Wappenrock (daher der Name, der mit einem W beginnt), der in einem westeuropäischen mittelalterlichen Umfeld angesiedelt ist. Um ehrlich zu sein, ist es mehr von The Legend of Zelda inspiriert als von irgendetwas anderem. From 020a52e9eb6bfa3ca9af05049287c7d466e7001e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:47 +0100 Subject: [PATCH 0733/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/waralee/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/de.md b/markdown/org/docs/designs/waralee/notes/de.md index c44de66bba1..47986badaec 100644 --- a/markdown/org/docs/designs/waralee/notes/de.md +++ b/markdown/org/docs/designs/waralee/notes/de.md @@ -6,7 +6,7 @@ Waralee is one of those designs that you just make because it's easy, and you fe Die Konstruktion ist einfach, wenn du sie ohne Taschen machst. And with them, it's still not that hard for a practiced sewist. -Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. +Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. Diese Wickelhosen sind bei warmem Wetter besonders schön, vor allem wenn sie aus Leinen sind. From 2687154202e6f9c2959931ca7db756b7ec682620 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:49 +0100 Subject: [PATCH 0734/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/uma/cutting/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/de.md b/markdown/org/docs/designs/uma/cutting/de.md index c7dab9a7230..c64a6f543b3 100644 --- a/markdown/org/docs/designs/uma/cutting/de.md +++ b/markdown/org/docs/designs/uma/cutting/de.md @@ -2,7 +2,7 @@ title: "Ursula Unterhosen: Schnittanleitung" --- -Uma besteht in der Regel aus einer Vorderseite, einer Rückseite und einem gefütterten Zwickel. In dieser Konstellation ist dies die Schnittliste: +Uma besteht in der Regel aus einer Vorderseite, einer Rückseite und einem gefütterten Zwickel. In that constellation, this is the cut list: - **Oberstoff** - Ursula besteht aus einem vorderen Teil, einem hinteren Teil und einem gefütterten Zwickel. From 74972c4925c42c53f7ea1a65a65e672282faf2eb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:26:59 +0100 Subject: [PATCH 0735/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/de.md b/markdown/org/docs/designs/teagan/options/fitwaist/de.md index a6a5b39a558..2ef9ff1668a 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/de.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/de.md @@ -4,7 +4,7 @@ title: "Kurve zur Taille" Diese Option kann auch verwendet werden, wenn die Taillenmessung die Hüftmessung überschreitet. Dies führt jedoch zu einer nicht standardmäßigen T-Shirt-Form, die möglicherweise nicht angezogen werden kann. -Dies führt zu den besten Ergebnissen für diejenigen mit einer schmaleren Taille, die ein eher sanduhrförmig geschnittenes T-Shirt suchen. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. Wenn deine Taille größer ist als deine Hüften, solltest du diese Option nicht aktivieren, da du sonst ein T-Shirt bekommst, in das du nicht mehr hineinpasst. From 134c404a34e85c05c4679ff7b5e64d87bf93d2e7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:27:31 +0100 Subject: [PATCH 0736/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/de.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/de.md b/markdown/org/docs/about/site/draft/core-settings/locale/de.md index 49b42de8338..56720a0acb8 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/de.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/de.md @@ -11,6 +11,7 @@ FreeSewing unterstützt derzeit die folgenden Sprachen: - Französisch - Deutsch - Holländisch +- Ukrainian You can pick any of these and your pattern will be translated in this language. From 2622ebe71f9360d47c20d98f018f1182b420fe90 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:28:12 +0100 Subject: [PATCH 0737/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/shelly/instructions/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/de.md b/markdown/org/docs/designs/shelly/instructions/de.md index 65629cb679e..aaff618e0bc 100644 --- a/markdown/org/docs/designs/shelly/instructions/de.md +++ b/markdown/org/docs/designs/shelly/instructions/de.md @@ -4,13 +4,13 @@ title: "Shelly Shirt: Anleitung zum Nähen" -Um die Größe der fertigen Nähte klein zu halten, wird die Verwendung eines Sergers oder eines Overlocking-Fußes empfohlen. Wenn du einen Serger verwendest, wird eine Nahtzugabe von 12 mm (1/2 Zoll) empfohlen. Wenn du einen Overlocking-Fuß an einer Nähmaschine verwendest oder ohne Messer versäuberst, wird eine Nahtzugabe von 6 mm (1/4 Zoll) empfohlen. +Um die Größe der fertigen Nähte klein zu halten, wird die Verwendung eines Sergers oder eines Overlocking-Fußes empfohlen. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. Wenn du einen Overlocking-Fuß an einer Nähmaschine verwendest oder ohne Messer versäuberst, wird eine Nahtzugabe von 6 mm (1/4 Zoll) empfohlen. Alle Nähte, auch das Nackenband, können mit demselben Stich genäht werden, egal ob mit einem Serger, einem Overlockstich oder einem Stretchstich. Säume sind optional (da Strick nicht ausfranst), aber wenn du Säume anfertigst, solltest du darauf achten, dass sie sich dehnen können. -Achte darauf, dass du eine Naht verwendest, die sich dehnen kann. Wenn du einen dehnbaren Stoff nähst, musst du die Spannung so anpassen, dass sie die zusätzliche Dehnung berücksichtigt. Bei einem Serger bedeutet das in der Regel, dass du die Nadelspannung senkst, vor allem die der rechten Nadel, und die Spannung des Greifers nach Bedarf anpasst, damit die Masche gut aussieht. Bei einer normalen Nähmaschine musst du die Spannung verringern. Teste deine Stichwahl zuerst auf einem Stoffrest und versuche, die Testnaht zu formen, indem du die Naht über ihre Länge dehnst. Sie sollte erst nach einer gewissen Dehnung reißen. Wenn er zu leicht aufspringt, solltest du mit den Einstellungen für die Stiche und die Spannung spielen, bis du etwas bekommst, das auch etwas Missbrauch aushält. +Achte darauf, dass du eine Naht verwendest, die sich dehnen kann. Wenn du einen dehnbaren Stoff nähst, musst du die Spannung so anpassen, dass sie die zusätzliche Dehnung berücksichtigt. Bei einem Serger bedeutet das in der Regel, dass du die Nadelspannung senkst, vor allem die der rechten Nadel, und die Spannung des Greifers nach Bedarf anpasst, damit die Masche gut aussieht. Bei einer normalen Nähmaschine musst du die Spannung verringern. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. Sie sollte erst nach einer gewissen Dehnung reißen. Wenn er zu leicht aufspringt, solltest du mit den Einstellungen für die Stiche und die Spannung spielen, bis du etwas bekommst, das auch etwas Missbrauch aushält. Für die Herstellung von T-Shirts oder anderen Hemden mit 2-Wege-Stretch sollten normale Einstellungen mit einer dehnbaren Naht ausreichen. @@ -103,4 +103,4 @@ Für die Herstellung von T-Shirts oder anderen Hemden mit 2-Wege-Stretch sollten ### Schritt 5: Viel Spaß mit deinem neuen Shirt! -- Es ist an der Zeit, dein neues Hemd zum Schwimmen mitzunehmen oder es am Strand vorzuführen! \ No newline at end of file +- Es ist an der Zeit, dein neues Hemd zum Schwimmen mitzunehmen oder es am Strand vorzuführen! From e731a481f11a6da52b2fe9ca116d0a8f5d3519b8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:28:33 +0100 Subject: [PATCH 0738/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/skully/fabric/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/de.md b/markdown/org/docs/designs/skully/fabric/de.md index c3a71690fb0..5e86411ffa3 100644 --- a/markdown/org/docs/designs/skully/fabric/de.md +++ b/markdown/org/docs/designs/skully/fabric/de.md @@ -8,7 +8,7 @@ Dieses Plüschtier wird am besten aus einem Filzstoff hergestellt. This will pro ## Haar -Skully braucht Haare. Embrodery-Zwirn funktioniert sehr gut und ist in allen Farben erhältlich. +Skully braucht Haare. Embroidery floss works very well, and can be had in all colors. ## Stuffing @@ -16,4 +16,4 @@ Da es sich um ein Plüschtier handelt, muss es mit Stoff ausgestopft werden. Mei ## Nadel -Skully hat sein Schwert gegen eine Nadel getauscht. Eine Nadel dieser Größe wird meist als Polsternadel verkauft. Das ist besonders praktisch, wenn du am Ende der Bauarbeiten einige Ausbesserungen vornehmen willst. \ No newline at end of file +Skully hat sein Schwert gegen eine Nadel getauscht. Eine Nadel dieser Größe wird meist als Polsternadel verkauft. Das ist besonders praktisch, wenn du am Ende der Bauarbeiten einige Ausbesserungen vornehmen willst. From 3954036ae10457f1f65c5f274834f55d56f74c98 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:28:34 +0100 Subject: [PATCH 0739/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/skully/instructions/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/de.md b/markdown/org/docs/designs/skully/instructions/de.md index 7f4ff852f80..8603d5015b0 100644 --- a/markdown/org/docs/designs/skully/instructions/de.md +++ b/markdown/org/docs/designs/skully/instructions/de.md @@ -89,12 +89,12 @@ Turn it right sides out. ## Schritt 5: Haare -Jetzt ist es an der Zeit, dem Skully Haare hinzuzufügen. Achte beim Einsetzen der Stickwatte darauf, dass du auf der Innenseite Knoten anbringst, sonst kannst du Skully später ganz leicht die Haare ausreißen. +Now is the time to add hair to Skully. Achte beim Einsetzen der Stickwatte darauf, dass du auf der Innenseite Knoten anbringst, sonst kannst du Skully später ganz leicht die Haare ausreißen. ## Schritt 6: Füllung - Fill the plush toy with stuffing through the opening you left, making sure to fill all the parts well. Die Bereiche an der Vorderseite sind am schwersten zu erreichen. -- _Slipsticth_ oder _whipstitch_ die Öffnung geschlossen. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Schritt 7: Tweaks @@ -104,4 +104,4 @@ Es ist auch eine gute Idee, zwischen den Nähten 5 und 14, entlang der Länge be ## Schritt 7: Viel Spaß mit deinem neuen Shirt! -Das war's, du bist fertig. Fang an zu planen, auf welchem Piratenschiff du nähen wirst! \ No newline at end of file +Das war's, du bist fertig. Fang an zu planen, auf welchem Piratenschiff du nähen wirst! From 5970cca0a9dbc5cc1f15b39337284bea4a4392cb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:28:38 +0100 Subject: [PATCH 0740/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/skully/options/size/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/options/size/de.md b/markdown/org/docs/designs/skully/options/size/de.md index 2ec07e9927f..77d465d8f2d 100644 --- a/markdown/org/docs/designs/skully/options/size/de.md +++ b/markdown/org/docs/designs/skully/options/size/de.md @@ -4,4 +4,4 @@ title: "Größe" Skully kann in verschiedenen Größen hergestellt werden. Die Vorgabe ist etwa 75% eines normalen menschlichen Kopfes (ca. 16cm hoch). -If you set the percentage to 100%, and you enter your own head measurwement, Skully will be approximately the size of your head. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will be approximately the size of your head. From 2965da933a270a9bc38c5e34464448df43679583 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:29:01 +0100 Subject: [PATCH 0741/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/onyx/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/de.md b/markdown/org/docs/designs/onyx/instructions/de.md index ecf1838d0d0..ed5add0f57f 100644 --- a/markdown/org/docs/designs/onyx/instructions/de.md +++ b/markdown/org/docs/designs/onyx/instructions/de.md @@ -4,9 +4,9 @@ title: "Onyx einteilig: Anleitung zum Nähen" -Es wird empfohlen, einen Serger/Overlocker zu verwenden, um die Größe der fertigen Nähte klein zu halten und die Nähte dehnbar zu machen. Wenn du einen Serger mit eingeschaltetem Messer verwendest, wird eine Nahtzugabe von 1/2 Zoll (12 mm) empfohlen. Wenn du einen Overlocking-Fuß an einer Nähmaschine verwendest oder ohne Messer versäuberst, wird eine Nahtzugabe von 6 mm (1/4 Zoll) empfohlen. +Es wird empfohlen, einen Serger/Overlocker zu verwenden, um die Größe der fertigen Nähte klein zu halten und die Nähte dehnbar zu machen. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. Wenn du einen Overlocking-Fuß an einer Nähmaschine verwendest oder ohne Messer versäuberst, wird eine Nahtzugabe von 6 mm (1/4 Zoll) empfohlen. -Wenn nicht anders angegeben, solltest du für die Herstellung dieses Kleidungsstücks Stretch-Dampf verwenden. Wir empfehlen einen 4-Faden-Overlockstich oder einen Overlock-Fuß an einer Nähmaschine, wenn du keinen Serger zur Verfügung hast. +Unless otherwise stated, use stretch steams for construction of this garment. Wir empfehlen einen 4-Faden-Overlockstich oder einen Overlock-Fuß an einer Nähmaschine, wenn du keinen Serger zur Verfügung hast. Säume oder Bündchen sind optional (da Strick nicht ausfranst), aber wenn du Säume oder Bündchen anbringst, solltest du darauf achten, dass sie sich dehnen können. In dieser Anleitung wird beschrieben, wie du mit einer Doppelnadel einen einfach gefalteten Saum anfertigst, der sich für Bademode oder leichte Kleidungsstücke eignet, und wie du ein Rippenstrickbündchen anfertigst, das sich für Fleece-Pyjamas oder Kigurumi eignet. From 6dc00f2f29ed3ebc68bfcac7d48b9754d3ccdc95 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:29:38 +0100 Subject: [PATCH 0742/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/onyx/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/de.md b/markdown/org/docs/designs/onyx/notes/de.md index 55dbb300bd7..d8f05a9f701 100644 --- a/markdown/org/docs/designs/onyx/notes/de.md +++ b/markdown/org/docs/designs/onyx/notes/de.md @@ -10,7 +10,7 @@ Der Rock wurde aus Gründen der Bescheidenheit hinzugefügt, vor allem für die Onyx kopiert einige Merkmale von Shelly, z. B. die Raglanärmel für mehr Bewegungsfreiheit und die Verwendung symmetrischer Vorder- und Rückenteile, mit Ausnahme von Hals und Kopf. -Onyx ist nach dem Edelstein und seiner tiefschwarzen Farbe benannt, die nicht zufällig eine großartige Grundfarbe für Onyx-Badeanzüge ist, vor allem, wenn man möchte, dass sie wie ein Neoprenanzug aussehen. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. Ein bisschen Geschichte: Onyx wäre vielleicht nie geboren worden, wenn es im Frühjahr 2023 nicht zu den Anti-LGBTQ+-Protesten und -Boykotten gekommen wäre, die dazu führten, dass ein Anzug, der mir besonders gut gefiel, aus den Regalen eines großen US-Einzelhändlers genommen wurde und ich einen passenden Ersatz brauchte. From cc646a7632c6926ce0920d28562f40b7de81a745 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:29:50 +0100 Subject: [PATCH 0743/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/lumira/instructions/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/de.md b/markdown/org/docs/designs/lumira/instructions/de.md index 9c98a54ee4c..f078ea4d43b 100644 --- a/markdown/org/docs/designs/lumira/instructions/de.md +++ b/markdown/org/docs/designs/lumira/instructions/de.md @@ -1,6 +1,6 @@ ---- +\-- title: "Lumira leggings: Sewing Instructions" ---- +--------------------------------------------- @@ -58,4 +58,4 @@ in the right spot. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -Sie sind fertig! Enjoy your Lumina leggings! +Sie sind fertig! Enjoy your Lumira leggings! From df343a2cc08b2efbdda5f2704cd42d9aaa833824 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:29:55 +0100 Subject: [PATCH 0744/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/lumira/options/ease/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/de.md b/markdown/org/docs/designs/lumira/options/ease/de.md index 68520b74557..1741bf51cb8 100644 --- a/markdown/org/docs/designs/lumira/options/ease/de.md +++ b/markdown/org/docs/designs/lumira/options/ease/de.md @@ -3,10 +3,10 @@ title: Zugabe --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narrower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From 1d522b6edcdb0a0e4de8cb1890c4de5dd60ddd63 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:30:56 +0100 Subject: [PATCH 0745/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/aaron/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/nl.md b/markdown/org/docs/designs/aaron/instructions/nl.md index 5bbf949d7b9..01f6643a51e 100644 --- a/markdown/org/docs/designs/aaron/instructions/nl.md +++ b/markdown/org/docs/designs/aaron/instructions/nl.md @@ -103,7 +103,7 @@ Met nog een zestal cm te gaan voor de een complete cirkel gemaakt hebben is het ![Markeer het einde van je biezen](step03f.png) -Neem een van de uiteindes, en rek het lichtjes uit langs de 3 cm tot aan het startpunt, zoals je zou doen als je aan het naaien was. +Neem een van de randen en rek het uit over de 3 cm van het beginpunt en je zou het ook tijdens het naaien. Markeer de bies waar het beginpunt wordt bereikt. Doe hetzelfde voor het andere uiteinde. @@ -113,7 +113,7 @@ Markeer de bies waar het beginpunt wordt bereikt. Doe hetzelfde voor het andere Plooi je hemdje op welke manier dan ook om beide uiteindes van de bies met de goede kanten op elkaar te leggen en de markeringen gelijk te leggen. Naai de uiteindes aan elkaar op de markering. -> 6 cm is niet veel, maar zou genoeg moeten zijn om de twee uiteindes makkelijk onder je naaimachine te leggen en aan elkaar te naaien. +> 6 cm is niet veel, maar zou genoeg moeten zijn om de twee randen comfortabel onder je naaimachine te krijgen om ze aan elkaar te naaien. ### Stik de laatste 6 cm van de bies vast From 5ce9f0c0b543a1469e9281b59c10737f9e26f30e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:31:16 +0100 Subject: [PATCH 0746/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bee/cutting/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/nl.md b/markdown/org/docs/designs/bee/cutting/nl.md index 2495035e1f6..f6c72023a5c 100644 --- a/markdown/org/docs/designs/bee/cutting/nl.md +++ b/markdown/org/docs/designs/bee/cutting/nl.md @@ -38,6 +38,6 @@ Er zijn drie variaties van dit patroon. **One Colour**, waarbij het bikinitopje -Dit patroon is gemakkelijk omkeerbaar te maken door een stof te kopen die lijkt op de hoofdstof en die als contrast te gebruiken. Om verwarring in de instructies te voorkomen wordt hiernaar verwezen als de voeringstof. +Dit patroon is gemakkelijk omkeerbaar te maken door een stof te kopen die lijkt op de hoofdstof en die als contrast te gebruiken. To save confusion on instructions it will be referred to as the lining fabric. From 394d0a554f56c597a675323df9d89ee9af864c1b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:31:18 +0100 Subject: [PATCH 0747/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bee/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/nl.md b/markdown/org/docs/designs/bee/fabric/nl.md index 3c94841aaea..f59913ebcff 100644 --- a/markdown/org/docs/designs/bee/fabric/nl.md +++ b/markdown/org/docs/designs/bee/fabric/nl.md @@ -8,6 +8,6 @@ De hoofd- en voeringstof zijn van hetzelfde materiaal. Bee is gemaakt met zwemkl -Je hebt alleen voeringstof nodig als je van plan bent het patroon omkeerbaar te maken of als je wilt dat de band voor de kruislingse stropdasvariant een contrasterende stof is. Anders kun je alle benodigde stukken uit je hoofdstof knippen. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Anders kun je alle benodigde stukken uit je hoofdstof knippen. From 4e5dd987675215c3fc588be84938eb20cb468385 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:31:19 +0100 Subject: [PATCH 0748/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bee/instructions/nl.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/nl.md b/markdown/org/docs/designs/bee/instructions/nl.md index 1483b28a1eb..5acd10b4f3b 100644 --- a/markdown/org/docs/designs/bee/instructions/nl.md +++ b/markdown/org/docs/designs/bee/instructions/nl.md @@ -8,7 +8,7 @@ Zorg ervoor dat je een rekbare steek gebruikt -Als je een omkeerbare top maakt, wordt de tweede kleur de voeringstof genoemd. +When making a reversible top the second colour will be referred to as the lining fabric. De inkepingen in dit patroon werken meer als stippen, dus **klem ze niet** om ze te markeren. @@ -30,7 +30,7 @@ De inkepingen in dit patroon werken meer als stippen, dus **klem ze niet** om ze - Knip de naadtoeslagen bij en knip de hoeken af. - Keer binnenstebuiten. Pers. -Herhaal dit voor de overige stropdasdelen +Repeat this for the remaining neck tie pieces ### Stap 2: De kopjes @@ -51,9 +51,9 @@ De inkepingen in dit patroon werken meer als stippen, dus **klem ze niet** om ze Als je naadtoeslag breed is, moet je de naadtoeslagen van de openingen misschien een beetje bijknippen om de bulk te verminderen. -Als je problemen hebt met het keren van de cups, kun je een van de volgende methodes proberen: +If you are having trouble turning the cups you can try one of these methods: -- Maak een opening van 2,5 cm in de voor- of zijnaad en keer daar doorheen, door de opening dicht te _slippen_ naaien of door de opening dicht te _edgestikken_ naaien tijdens stap 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Verbreed een van de bestaande openingen en draai daar doorheen. Dan wordt bij het keren _edgestikt_ of _slipsteek_ het verbrede deel gesloten. @@ -85,7 +85,7 @@ Er zijn ook inkepingen aan weerszijden van het midden van het bandstuk om je een -Je kunt er de voorkeur aan geven om de ene cup halverwege over de andere te wikkelen. Om dit te doen plaats je de zijkanten van de cups op de andere inkepingen en leg je de voorkant ervan langs het middelpunt met de linkerkant bovenop. +Je kunt er de voorkeur aan geven om de ene cup halverwege over de andere te wikkelen. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From 068aba9555cd396a0e7cd51bc8a1c9242a69f507 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:20 +0100 Subject: [PATCH 0749/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/nl.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/nl.md index 68075ac4483..1f293e93234 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/nl.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/nl.md @@ -2,7 +2,7 @@ title: "Reductie schouderhelling" --- -Dit patroon past zich aan aan de schouder af door rekening te houden met de hellingsmeting van de schouder. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. Maar voor jassen of jassen wil je misschien meer ruimte op de schouders creëren om schouderhangers toe te staan. Met deze optie kun je extra ruimte op de schouders creëren door het bedrag dat de schouders schudden te verlagen. From ffca19432da779e700157225e05351575979a40e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:26 +0100 Subject: [PATCH 0750/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bob/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/nl.md b/markdown/org/docs/designs/bob/instructions/nl.md index b523511cdb0..d874bd09c26 100644 --- a/markdown/org/docs/designs/bob/instructions/nl.md +++ b/markdown/org/docs/designs/bob/instructions/nl.md @@ -25,7 +25,7 @@ Make sure to sew close to the edge so that the stitches will be under the bias t ## Stap 2: Biaisband aanbrengen -We gaan biaisband aanbrengen als afwerking rond de hele rand van de slab. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. From 2304b3df2911b85f38b3c6e7e7cc3016ff3eeb44 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:31 +0100 Subject: [PATCH 0751/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bob/options/widthratio/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/nl.md b/markdown/org/docs/designs/bob/options/widthratio/nl.md index b076c37ca25..72a28c49006 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/nl.md +++ b/markdown/org/docs/designs/bob/options/widthratio/nl.md @@ -5,7 +5,7 @@ title: Breedte verhouding Bepaalt de breedte van het slabbetje. - Verhoog het percentage om de breedte van de slab te vergroten. -- Verlaag het percentage om de breedte van de slab te beperken. +- Decrease the percentage to constrict the width of the bib. From b2c91431bd60b9b547a4ca4c0e1dcc6c5d093be6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:40 +0100 Subject: [PATCH 0752/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/breanna/options/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/nl.md b/markdown/org/docs/designs/breanna/options/nl.md index 49c83823e72..79e824fc901 100644 --- a/markdown/org/docs/designs/breanna/options/nl.md +++ b/markdown/org/docs/designs/breanna/options/nl.md @@ -40,7 +40,7 @@ De hoogte van de mouwkop is gelijk aan de afstand tussen de punten 3 en 4. De ex - [Mouwkop top X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Bepaalt de horizontale plaatsing van punt 3 en 4 - [Mouwkop top Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Bepaalt de verticale plaatsing van punt 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### De inflectiepunten From 4a76651dc0668007d74b654822c5d0c7cf83cf44 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:45 +0100 Subject: [PATCH 0753/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/nl.md b/markdown/org/docs/designs/breanna/options/shoulderdart/nl.md index 6a46f433a6a..4f43c4c5127 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/nl.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/nl.md @@ -2,7 +2,7 @@ title: "Schouder neep" --- -Wel of geen schouderpas op de rug om de rug af te ronden. +Whether or not to include a back shoulder dart to round the back. From ac78b1998512aa2165dc96174ba88355995a2c93 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:51 +0100 Subject: [PATCH 0754/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/breanna/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/nl.md b/markdown/org/docs/designs/breanna/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From ae0de779474ea5abb74eaae392ddcaaa8a924c07 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:32:58 +0100 Subject: [PATCH 0755/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 4add59c7cf9af8828d8eb74e54227210c954ce4f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:05 +0100 Subject: [PATCH 0756/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/breanna/options/waistdart/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/nl.md b/markdown/org/docs/designs/breanna/options/waistdart/nl.md index 60ef70a5ba1..03482299c8f 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/nl.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/nl.md @@ -2,7 +2,7 @@ title: "Taille neep" --- -Wel of geen tailleboog om de rug af te ronden. +Whether or not to include a back waist dart to round the back. From 813b87b23986d86b993c874cbf41f8c9d000cbce Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:17 +0100 Subject: [PATCH 0757/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/brian/options/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/nl.md b/markdown/org/docs/designs/brian/options/nl.md index c28081c6e67..2b44648bf50 100644 --- a/markdown/org/docs/designs/brian/options/nl.md +++ b/markdown/org/docs/designs/brian/options/nl.md @@ -40,7 +40,7 @@ De hoogte van de mouwkop is gelijk aan de afstand tussen de punten 3 en 4. De ex - [Mouwkop top X](/docs/designs/brian/options/sleevecaptopfactorx/) : Bepaalt de horizontale plaatsing van punt 3 en 4 - [Mouwkop top Y](/docs/designs/brian/options/sleevecaptopfactory/) : Bepaalt de verticale plaatsing van punt 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### De inflectiepunten From d1f72eeeee837c441d87ff87d958b263a4d08cc4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:24 +0100 Subject: [PATCH 0758/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/brian/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/nl.md b/markdown/org/docs/designs/brian/options/sleevecapease/nl.md index 8ac5c54960e..fd27aed1796 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/nl.md @@ -8,7 +8,7 @@ Deze optie bepaalt de hoeveelheid gemak bij de mouwopzet. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From f37c7b7c1b9c430ea88799ab32debb5843e3d514 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:31 +0100 Subject: [PATCH 0759/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/nl.md index 025ade1b5fa..a7517b0aa79 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/nl.md @@ -4,7 +4,7 @@ title: "Mouwkop Q3 opwaardse spreiding" *** -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 619216b3bef95bb40668239509243ab2ce45530e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:40 +0100 Subject: [PATCH 0760/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bruce/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/nl.md b/markdown/org/docs/designs/bruce/instructions/nl.md index bce3c2c13cb..35b62662a4f 100644 --- a/markdown/org/docs/designs/bruce/instructions/nl.md +++ b/markdown/org/docs/designs/bruce/instructions/nl.md @@ -158,7 +158,7 @@ Neem het langzaam, en wees **zeer bewust** waar je overlock in snijdt. ![Zoom de eerste pijp](step11.png) -Tijd om de pijpen om te zomen. Zoom ze op dezelfde manier als je elke andere elastische gebreide stof zou zomen. Ga voor een elastische steek. Je kan een zigzaksteek of tweelingnaald gebruiken als je geen coverlock of specifieke stretchsteek hebt. +Tijd om de pijpen om te zomen. Zoom ze op dezelfde manier als je elke andere elastische gebreide stof zou zomen. Ga voor een elastische steek. Je kan een zigzagsteek gebruiken of een tweelingnaald als je geen coverlock of specifieke stretchsteek hebt. @@ -201,7 +201,7 @@ Als je een coverlock gebruikt, leg de elastiek bovenop de goede kant van de stof -De lengte van je elastiek is waarschijnlijk niet hetzelfde als de lengte van je stof, aangezien de twee op een andere manier uitrekken. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Een paar spelden helpen om alles gelijk te krijgen. Verdeel zowel je elastiek als de taille van je boxershort in 4 (of 8) gelijke delen. Speld elastiek en stof samen op deze punten. From 66e6977dae87ca2396dfa5f7e1e7a89bb5591b6d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:46 +0100 Subject: [PATCH 0761/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bruce/options/rise/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/nl.md b/markdown/org/docs/designs/bruce/options/rise/nl.md index 8c12e08f8f2..49423e29074 100644 --- a/markdown/org/docs/designs/bruce/options/rise/nl.md +++ b/markdown/org/docs/designs/bruce/options/rise/nl.md @@ -4,7 +4,7 @@ title: "Hoogte" ![De optie voor hoogte bij Bruce](./rise.svg) -Deze optie bepaalt de algemene hoogte van de taille. +This option controls the overall height of the waist. > Hoe hoger de hoogte, hoe hoger je taille. From 6c0b905c33a839cfe8d92d5e08d46c4f031de8d3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:33:50 +0100 Subject: [PATCH 0762/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/carlita/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlita/instructions/nl.md b/markdown/org/docs/designs/carlita/instructions/nl.md index 2514dd5dfe6..38cb2486ce8 100644 --- a/markdown/org/docs/designs/carlita/instructions/nl.md +++ b/markdown/org/docs/designs/carlita/instructions/nl.md @@ -43,7 +43,7 @@ Vergeet de naadtoeslag voor deze stukken niet bij het knippen als je deze delen - Trek het deel **Back** na. - Snijd langs de oranje lijn. - Gooi het onderste stuk weg. -- Verwijder de naadtoeslagen (indien meegeleverd) van het bovenstuk. +- Verwijder de naadtoeslagen (indien inbegrepen) van het bovenste stuk. - Het bovenste stuk is nu het **Rugschouder** deel. #### Knippen From 0569d2a896c445a55e8a68eaf22ed8ecf760093c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:34:22 +0100 Subject: [PATCH 0763/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/carlton/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/instructions/nl.md b/markdown/org/docs/designs/carlton/instructions/nl.md index bab6e49f36e..c535a8b1d99 100644 --- a/markdown/org/docs/designs/carlton/instructions/nl.md +++ b/markdown/org/docs/designs/carlton/instructions/nl.md @@ -51,7 +51,7 @@ Vergeet de naadtoeslag voor deze stukken niet bij het knippen als je deze delen - Trek het deel **Back** na. - Snijd langs de oranje lijn. - Gooi het onderste stuk weg. -- Verwijder de naadtoeslagen (indien meegeleverd) van het bovenstuk. +- Verwijder de naadtoeslagen (indien inbegrepen) van het bovenste stuk. - Het bovenste stuk is nu het **Rugschouder** deel. #### Knippen From a2cfe69827d7148dc34c2d388332227edea97f09 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:34:48 +0100 Subject: [PATCH 0764/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/carlton/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/nl.md b/markdown/org/docs/designs/carlton/options/sleevecapease/nl.md index 58b11d4ea9d..23abca42f73 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/nl.md @@ -8,7 +8,7 @@ Hoeveel extra ruimte wil je in de mouwkop? > #### Waarom? > -> De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +> De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. > > Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. From a35e9e11b4fd4ce1820b0596ccd26755bfd166c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:04 +0100 Subject: [PATCH 0765/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/charlie/instructions/nl.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/nl.md b/markdown/org/docs/designs/charlie/instructions/nl.md index 54f0c91147c..b8710dc9f78 100644 --- a/markdown/org/docs/designs/charlie/instructions/nl.md +++ b/markdown/org/docs/designs/charlie/instructions/nl.md @@ -193,7 +193,7 @@ Strijk de binnennaad open wanneer je klaar bent. Controleer of je rechter- en linkerbeen overeenkomen met de markeringen op het patroon. Het kruis van het rechterbeen moet iets verder uitsteken dan het linkerbeen. Raadpleeg het patroon en knip zo nodig overtollig deel van het linkerbeen af. -Het kan waardevol zijn om met krijt of draad de **middenvoor** op elk been te markeren. Zo weet je zeker dat de onderdelen op de juiste plek zitten tijdens het vliegen. +Het kan waardevol zijn om met krijt of draad de **middenvoor** op elk been te markeren. This will help you make sure the pieces are in the right place during fly construction. @@ -276,14 +276,14 @@ Denk eraan dat de naadtoeslag iets rechts van het middenvoorpand begint, het mid Zorg ervoor dat je de gevouwen rand van het rechterbeen net links van de tandjes van de rits legt om te voorkomen dat er stof tussen de rits komt. -Stop met naaien bij de bovenste inkeping van de 'fly extention', iets boven de kruisnaad, en naai averechts. Als je dit niet doet, kun je het verlengstuk niet uit de weg houden tijdens het naaien van de J-naad. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. Als je dit niet doet, kun je het verlengstuk niet uit de weg houden tijdens het naaien van de J-naad. ![Bevestig het verlengstuk aan het rechterbeen](AttachExtensionToRightLeg.svg) ### Maak de rits vast aan de voorkant van de gulp. -Let erop dat je het been links uitlijnt op de rechter middenvoor. Het kan waardevol zijn om te spelden of te rijgen door het beleg en de rechterzijkant van het ritsband. (We moeten de linkerkant van het ritsband aan het linkerbeen naaien). Zorg ervoor dat alles gevoerd is en naai het gulpgedeelte aan de linkerkant van de rits. Probeer dicht bij de rits te komen, maar niet te dicht. +Let erop dat je het been links uitlijnt op de rechter middenvoor. It can be valuable to pin or baste through the facing and right side of the zipper tape. (We moeten de linkerkant van het ritsband aan het linkerbeen naaien). Zorg ervoor dat alles gevoerd is en naai het gulpgedeelte aan de linkerkant van de rits. Probeer dicht bij de rits te komen, maar niet te dicht. ![Facing aan rits bevestigen](AttachFacingToZipper.svg) @@ -292,15 +292,15 @@ Let erop dat je het been links uitlijnt op de rechter middenvoor. Het kan waarde -Gebruik een stukje papier als geleider om de J-naad te naaien, dit kun je van je patroon knippen langs de aangegeven steeklijn. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Stik nu de zogenaamde J-naad van de gulp. Zorg ervoor dat de vliegextensie buiten de weg blijft. Omdat je niet helemaal langs het verlengstuk van de gulp hebt genaaid, zou je het uit de weg moeten kunnen spelden. +Stik nu de zogenaamde J-naad van de gulp. Zorg ervoor dat de vliegextensie buiten de weg blijft. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Balk de onderkant van de gulp aan -Maak nu een bartack aan de onderkant van de J-naad (het horizontale deel), maar zorg er dit keer voor dat je ook het verlengstuk van de gulp opvangt. Je kunt er ook voor kiezen om een extra bar tack langs de J-naad toe te voegen (in paars weergegeven). +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. Je kunt er ook voor kiezen om een extra bar tack langs de J-naad toe te voegen (in paars weergegeven). ![De J-naad naaien](SewTheJSeam.svg) @@ -310,7 +310,7 @@ Maak nu een bartack aan de onderkant van de J-naad (het horizontale deel), maar -Voor de efficiëntie, zullen we een lange strook riem herhalen die we in 8 delen zullen verdelen. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -360,7 +360,7 @@ Stik een lijn van stiksel aan de binnenkant van de tailleband, dicht bij de rand Leg de tailleband met de goede kanten op elkaar langs de taille. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -Zorg er ook voor dat je achterliggende naadwaarde voorbij het begin en het einde van de tailleband achterlaat. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Stik langs de totale taille en bevestig de tailleband en stik de riemlusjes in één keer. @@ -398,7 +398,7 @@ Dit houdt in dat de achterkant van de tailleband die we gemaakt hebben om iets v ### Stik de riemlusjes vast om ze breder te maken -Je kunt de riemlussen het beste iets breder maken dan de tailleband, zodat er bredere riemen in passen. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. Laat hiervoor de tailleband plat liggen en naai hem vast met een bartack van ongeveer 1,5 cm onder de tailleband. From 2c0523a8b7cdb8356d80e10a447f9611fc0b5c14 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:09 +0100 Subject: [PATCH 0766/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/nl.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/nl.md index aaefc5f36d8..20ac711d136 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/nl.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/nl.md @@ -2,7 +2,7 @@ title: "Breedte achterzak" --- -Breedte van de achterzakken. +Controls the width of the back pockets. From 7de004289ae9894471424c82603cc53d0ad92416 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:09 +0100 Subject: [PATCH 0767/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/charlie/options/beltloops/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/nl.md b/markdown/org/docs/designs/charlie/options/beltloops/nl.md index 87152dd1782..19ed9344f43 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/nl.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/nl.md @@ -2,7 +2,7 @@ title: "Rand lussen" --- -Stallen hoeveel bellussen we gaan genereren. +Controls how many beltloops we'll generate. From 14af50c27628fcfef87ee5c232b40e0391a1889d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:13 +0100 Subject: [PATCH 0768/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/nl.md b/markdown/org/docs/designs/charlie/options/crotchdrop/nl.md index 29f0c06b78f..f4d70e51cad 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/nl.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/nl.md @@ -4,8 +4,8 @@ title: "Diepte kruis" Bepaalt hoeveel het kruis verlaagd is. -Het kruis verlagen zorgt voor een meer casual pasvorm. -Een betekenisvol verlaagde kruis kan ook een keus zijn. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 0a29249d5372c089457b72049db4b69e809d4eff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:14 +0100 Subject: [PATCH 0769/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/nl.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/nl.md index 0491e4480e5..87a96bd5e43 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/nl.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/nl.md @@ -2,7 +2,7 @@ title: "Buiging kruisnaad" --- -Bepaalt de curve van de kruisnaad, die de pasvorm aan je kruis beïnvloedt. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From eddd5edca95d8412a9f7be05d1a857883308d985 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:17 +0100 Subject: [PATCH 0770/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/charlie/options/flylength/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/nl.md b/markdown/org/docs/designs/charlie/options/flylength/nl.md index d037b9c8dc8..03e3500b6bd 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/nl.md +++ b/markdown/org/docs/designs/charlie/options/flylength/nl.md @@ -2,7 +2,7 @@ title: "Vlieg lengte" --- -Constreert de lengte van de vlucht. +Bepaalt de lengte van de gulp. From 6e40e26d3faa8085d116c24bc7cbd1b9936f2b92 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:32 +0100 Subject: [PATCH 0771/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/cornelius/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/nl.md b/markdown/org/docs/designs/cornelius/fabric/nl.md index 9669a9f0efb..63f7344d27c 100644 --- a/markdown/org/docs/designs/cornelius/fabric/nl.md +++ b/markdown/org/docs/designs/cornelius/fabric/nl.md @@ -4,7 +4,7 @@ title: "Cornelius fietsbroek: Stof Opties" ### Hoofd stof -Elke **bodemstof (broekstof)** werkt prima voor dit patroon. Over het algemeen wil je alles dat zwaarder is dan 7oz (230gsm) vermijden, omdat dit waarschijnlijk te stijf en oncomfortabel zal zijn. Je wilt iets dat een beetje warmte biedt en toch kan draperen, zoals **Corduroy** of **Medium Weight Suiting** stoffen. Als je op zoek bent naar iets dat meer historisch correct is, dan is **wollen pakwerk van gemiddelde dikte** iets voor jou. **Linnen** is ook een optie, vooral als je iets wilt dat niet te warm is. +Elke **bodemstof (broekstof)** werkt prima voor dit patroon. Over het algemeen wil je alles dat zwaarder is dan 7oz (230gsm) vermijden, omdat dit waarschijnlijk te stijf en oncomfortabel zal zijn. Je wilt iets dat een beetje warmte biedt en toch kan draperen, zoals **Corduroy** of **Medium Weight Suiting** stoffen. If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **Linnen** is ook een optie, vooral als je iets wilt dat niet te warm is. From a9477a5f4b55d0cc9e9465bb71389b685d0f34d7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:33 +0100 Subject: [PATCH 0772/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/cornelius/instructions/nl.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/nl.md b/markdown/org/docs/designs/cornelius/instructions/nl.md index 4f9d89b7340..28ce7e05ddf 100644 --- a/markdown/org/docs/designs/cornelius/instructions/nl.md +++ b/markdown/org/docs/designs/cornelius/instructions/nl.md @@ -4,13 +4,13 @@ title: "Cornelius fietsbroek: Naai-instructies" ### Stap 1: De voorzakken -- Pers onder de naadtoeslagen van de niet-geknipte randen van de pokcet facings. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Speld de verkeerde kanten van de zakvullingen op de goede kant van de zakvullingen met dezelfde inkepingen, _Edgestitch_ de gevouwen randen op de zakvullingen. - _Rijg_ de naadtoeslagen van de gekerfde randen van de zakvullingen aan de zakzakken. - Met de goede kanten op elkaar en de dubbele inkepingen naai je de zakjes aan de voorkant en pers je ze naar de verkeerde kant. - Vouw de zakken dubbel langs de vouwlijn, goede kanten op elkaar. Naai de onderkant van de zak aan elkaar. - Je kunt ook _Franse naad_ de onderste naden van de zakjes aan elkaar naaien als je dat liever doet. -- _Rijg_ de bovenkant en zijkant van de zakjes aan de voorste naadtoeslagen met de inkepingen. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Gebruik de methode van de manchetstijl die je hebt gekozen, want ze verschillen - Strijk de bovenste naadtoeslag naar de verkeerde kant van de overgebleven delen van de beenband. Knip de naadtoeslag aan de bovenkant bij. - Naai met de goede kanten op elkaar de overgebleven beenstukken aan de aangehechte beenbanden langs de onderkant en zijkanten. - Draai de beenbanden naar buiten. Pers. -- _Schuifsteek_ of _Zweepsteek_ de gevouwen rand van de tailleband naar voren, zorg ervoor dat de gevouwen rand het stiksel bedekt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Naai het knoopsgat. De knopen worden later genaaid. @@ -89,7 +89,7 @@ Als je je zorgen maakt over tocht, kun je van je zakstof een driehoekig stuk sto - Strijk de bovenste naadtoeslag naar de verkeerde kant van de overgebleven delen van de beenband. Knip de naadtoeslag aan de bovenkant bij. - Naai met de goede kanten op elkaar de overgebleven beenstukken aan de aangehechte beenbanden langs de onderkant en zijkanten. - Draai de beenbanden naar buiten. Pers. -- _Schuifsteek_ of _Zweepsteek_ de gevouwen rand van de tailleband naar voren, zorg ervoor dat de gevouwen rand het stiksel bedekt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Naai het knoopsgat. De knopen worden later genaaid. @@ -108,13 +108,13 @@ Je kunt de beenbanden aan elkaar _Edgestikken_ als een moderne tailleband als je ### Stap 5: Tailleband -- Strijk een van de stukken van de tailleband met je favoriete methode. +- Face one of the waistband pieces using your preferred method. - Naai het stuk tailleband met de goede kanten op elkaar aan de bovenkant van de benen. - Pers de tailleband en naadtoeslag omhoog en weg van het been. Knip de naadtoeslag bij om de bulk te verminderen. - Pers de onderste naadtoeslag naar de verkeerde kant van het overgebleven stuk tailleband. Knip de onderste naadtoeslag bij. - Naai met de goede kanten op elkaar de overgebleven tailleband langs de bovenkant en zijkanten aan de tailleband. - Draai de tailleband naar buiten. Pers. -- _Schuifsteek_ of _Zweepsteek_ de gevouwen rand van de tailleband naar voren, zorg ervoor dat de gevouwen rand het stiksel bedekt. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Naai het knoopsgat. De knopen worden later genaaid. From 1494746c2cc2d987fd30b63534ebcec2c218fd1b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:53 +0100 Subject: [PATCH 0773/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/nl.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/nl.md index d6ac8d2578b..fa048b70eee 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/nl.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/nl.md @@ -4,7 +4,7 @@ title: "Lengte schoudernaad" ![De optie voor de lengte van de schoudernaad bij Diana](./shoulderseamlength.svg) -Deze optie bepaalt hoe breed de halsopening is, door de lengte van de schoudernaad te bepalen. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From bd093e488556916c5b8ef9e8d02f8ef8211995c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:35:55 +0100 Subject: [PATCH 0774/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/diana/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/nl.md b/markdown/org/docs/designs/diana/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From 1ec4e39a34cf6f59a553f53173d406e643b45604 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:03 +0100 Subject: [PATCH 0775/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From e8a1439febfdb1ff7ce4a3a11e6154da0e14702a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:12 +0100 Subject: [PATCH 0776/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/florence/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/nl.md b/markdown/org/docs/designs/florence/fabric/nl.md index 662cb03cb77..37241328b5e 100644 --- a/markdown/org/docs/designs/florence/fabric/nl.md +++ b/markdown/org/docs/designs/florence/fabric/nl.md @@ -4,7 +4,7 @@ title: "Gezichtsmasker Florence: Stof Opties" Het doel van ons masker is om droplets te stoppen. Dus u wilt iets doen dat de mensen wegjaagt. En nogmaals, je moet door je masker kunnen ademen, zodat we stof willen die adem ademt, zonder droplets door te laten gaan. -Bovendien willen we dat het binnenste zich comfortabel op onze huid bevindt. Dus hier zou ik een sterk geweven katoen of viscose/rayon voorstellen. Voor de buitenstof, katoen opnieuw, of een stevig geweven wol. +Bovendien willen we dat het binnenste zich comfortabel op onze huid bevindt. Dus hier zou ik een sterk geweven katoen of viscose/rayon voorstellen. For the outer fabric, cotton again, or a tightly woven wool. From d9cfd27c2ad9c786cd5595e262d7f0ee29371a20 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:17 +0100 Subject: [PATCH 0777/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/florent/cutting/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/nl.md b/markdown/org/docs/designs/florent/cutting/nl.md index 19ae1ebb5db..dfba1c6ceee 100644 --- a/markdown/org/docs/designs/florent/cutting/nl.md +++ b/markdown/org/docs/designs/florent/cutting/nl.md @@ -2,7 +2,7 @@ title: "Florent platte pet: Snij-instructies" --- -Om Floren te maken, knip je de volgende delen uit: +To make Florent, cut out the following parts: - **Buitenstof** - Knip **1 bovenkant** aan de stofvouw (laat dan de naadwaarde aan middenvoor weg) of **2 bovenkant** met naadwaarde middenvoor. From c47128b658c2a3a1ea6c03dd9bc955caeec9302d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:28 +0100 Subject: [PATCH 0778/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hi/options/hungry/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/nl.md b/markdown/org/docs/designs/hi/options/hungry/nl.md index 2b9f3b25468..a269eee21db 100644 --- a/markdown/org/docs/designs/hi/options/hungry/nl.md +++ b/markdown/org/docs/designs/hi/options/hungry/nl.md @@ -2,7 +2,7 @@ title: "Hongerig" --- -This setting determins how long it has been since your Hi has had something to eat. Meer honger resulteert in een slankere haai. +This setting determines how long it has been since your Hi has had something to eat. Meer honger resulteert in een slankere haai. From aef91eb2ae19bcd5cadd102fc8d2208eeeba1f28 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:30 +0100 Subject: [PATCH 0779/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/holmes/cutting/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/nl.md b/markdown/org/docs/designs/holmes/cutting/nl.md index e8bef7a7fe8..84184a75e1e 100644 --- a/markdown/org/docs/designs/holmes/cutting/nl.md +++ b/markdown/org/docs/designs/holmes/cutting/nl.md @@ -17,7 +17,7 @@ Het **kroon** patroonstuk moet geknipt worden aan de stofvouw om een heel stuk t ### Optionele Stoffen -Als je geen lint wilt gebruiken voor je dassen kan je ze uit stof maken. Knip 4 kruisgraan strips van een 1" (2. cm) of breedte van jouw keuze + naadwaarde breed en stik twee buizen die één van de korte kanten open laten om te draaien. Knip de hoeken en naad bij. Draai een pers uit. De rauwe rand van de buizen kan dan verborgen worden in de oordnaad bij het maken van de oorflakken. De rauwe rand van de buizen kan dan verborgen worden in de oordnaad bij het maken van de oorflakken. +Als je geen lint wilt gebruiken voor je dassen kan je ze uit stof maken. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Knip de hoeken en naad bij. Draai een pers uit. De rauwe rand van de buizen kan dan verborgen worden in de oordnaad bij het maken van de oorflakken. De rauwe rand van de buizen kan dan verborgen worden in de oordnaad bij het maken van de oorflakken. @@ -26,6 +26,6 @@ Het wordt aangeraden om het patroondeel nett te tekenen en het patroon te gebrui -Het is aan te raden om eerst een nep met je kroon patroon te maken voordat je je stof knipt. Dit is om de lengte en de draagwijdte van het kroon te testen. Knip de naadwaarde aan de onderkant, voordat je het probeert. Als het te klein is, wie het patroon moet herschikken met meer gemak, denk er dan aan dat het gemak over elke kroon wordt gesplitst. Als de piek te hoog is, wil je misschien het patroon herschikken en de kroon lengte verkleinen. Eenmaal geherformuleerd maak een andere gelegenheid om te controleren of je al dan niet verzadigd bent met de wijzigingen. Herhaal opnieuw als je niet tevreden bent. +Het is aan te raden om eerst een nep met je kroon patroon te maken voordat je je stof knipt. Dit is om de lengte en de draagwijdte van het kroon te testen. Knip de naadwaarde aan de onderkant, voordat je het probeert. Als het te klein is, wie het patroon moet herschikken met meer gemak, denk er dan aan dat het gemak over elke kroon wordt gesplitst. Als de piek te hoog is, wil je misschien het patroon herschikken en de kroon lengte verkleinen. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Herhaal opnieuw als je niet tevreden bent. From 83c831d6407151a5f0ff9138f663bdb2c5a7b46a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:33 +0100 Subject: [PATCH 0780/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/holmes/instructions/nl.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/nl.md b/markdown/org/docs/designs/holmes/instructions/nl.md index de240548637..c542f9a7178 100644 --- a/markdown/org/docs/designs/holmes/instructions/nl.md +++ b/markdown/org/docs/designs/holmes/instructions/nl.md @@ -31,7 +31,7 @@ Deze instructies gaan ervan uit dat je naadlijnen hebt gemarkeerd. Ze kunnen moe - Pers de naden open. Je moest hiervoor een kleerham gebruiken, als je er geen hebt, kun je flannels of handdoeken gebruiken. - (Optioneel) _Kantsteek_ beide kanten van de naad, zorg ervoor dat je de naadtoeslagen opvangt. - Herhaal dit tot je twee helften hebt. Als de helft van het aantal kroon een raar getal is, moet je aan elke helft één stuk naaien. bv. Als je 6 kroon stukjes hebt, maak je twee helften van 3 stikken aan elkaar vast. -- Naai de twee helften aan elkaar met de goede kanten op elkaar en de naadlijnen en pieken op elkaar. Het is mogelijk dat het makkelijker is om de piek samen te doorstikken door bulk of precisie. Deze naad wordt verwezen naar de "middelste kroonnaad" die verder gaat. +- With right sides together, matching seam lines and peaks, sew the two halves together. Het is mogelijk dat het makkelijker is om de piek samen te doorstikken door bulk of precisie. This seam will be referred to as the "centre crown seam" going forward. - (Optioneel) _Kantsteek_ aan beide kanten van de middelste kroonnaad, zorg ervoor dat je de naadtoeslagen opvangt. @@ -44,7 +44,7 @@ Afhankelijk van je naadwaarde wil je misschien naden bijknippen terwijl je bulk #### Oorkleppen met bandjes -- Knip twee stukken lint van 30 cm tot 40 cm. Daar zal naar worden verwezen naarmate de banden vorderen. +- Knip twee stukken lint van 30 cm tot 40 cm. These will be referred to as ties going forward. - _Rijg_ een stropdas aan de rechterkant van een oorflap (de verstevigde als je die gebruikt). Herhaal voor andere stropdassen. - Naai, met de goede kanten op elkaar en de naadlijnen op elkaar, een oorflap met stropdas aan een oorflap zonder stropdas. - Knip in en knip de naadtoeslag bij. @@ -74,7 +74,7 @@ Als je liever je eigen stropdassen met stof maakt, [zie Holmes knippen](/docs/de - Keer binnenstebuiten en pers. - (Optioneel) _Stik_ of _Edgestitch_ de gevouwen rand. - _Rijg_ de knipranden aan elkaar. -- Naai het knoopsgat op de methode van je voorkeur. +- Sew the buttonhole in your preferred method. - Herhaal dit voor de resterende oorflap. @@ -98,7 +98,7 @@ Er zijn twee methoden om de vizieren te maken. Dit komt door de verschillende so #### De Visors Methode 1 - Plaats het vizierinzetstuk op één vizierstuk binnen de naadlijnen. -- Zet het vizierinzetstuk tijdelijk vast op het vizier met een tijdelijk _kussentje. Steken_. Dit wordt voortaan "faced visor" genoemd. +- Zet het vizierinzetstuk tijdelijk vast op het vizier met een tijdelijk _kussentje. Steken_. This will be referred to as "faced visor" going forward. - _Rijg_ vast langs de naadlijn van de binnenbocht van het vizier, en zorg ervoor dat het vizierinzetstuk niet vast komt te zitten. - Met de goede kanten op elkaar, de naadlijnen en de middenkanten op elkaar, naai je het vizier aan een ander vizier langs de buitenste ronding dicht bij het vizierinzetstuk, waarbij je ervoor zorgt dat het vizierinzetstuk niet vast komt te zitten. - Maak inkepingen en knip de buitenste ronding af en zorg ervoor dat je het stiksel niet afknipt. (Misschien wil je voor deze stap de vorm draaien en controleren) @@ -120,10 +120,10 @@ Als je liever zou zien dat je tijdelijk de bezoeker bevestigt, dan moet je ander #### De Visors Methode 2 -- Naai, met de goede kanten op elkaar, de naadlijnen en middenvoor op elkaar, de buitenste rondingen van twee vizierstukken aan elkaar. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Maak inkepingen en knip (indien nodig) de buitenste ronding bij en zorg ervoor dat je het stiksel niet afknipt. (Misschien wil je voor deze stap de vorm draaien en controleren) - Keer binnenstebuiten en pers. -- Steek het vizierinzetstuk strak in het genaaide vizier, zodat er geen ruimte is aan de buitenste kromming en de naadtoeslagen allemaal aan één kant van het vizierinzetstuk zitten. Dit is de bovenkant van het vizier. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. Dit is de bovenkant van het vizier. - Speld de binnenbocht vast en zorg ervoor dat de buitenrand strak over het vizierinzetstuk wordt getrokken. - _Rijg_ zo dicht mogelijk tegen de binnenste ronding van het vizierinzetstuk en zorg dat je de stof strak over de buitenrand trekt terwijl je naait. - Herhaal dit voor de overige stukken van het vizier. @@ -144,7 +144,7 @@ Eens te meer zijn er twee methodes voor de definitieve vergadering en de aanslui - Verwijder alle opvul- en rijgsteken. - Pers de naadtoeslagen naar binnen en zorg dat het stiksel niet zichtbaar is aan de buitenkant. - (Optioneel) Naai de naden losjes met een _whipstitch_ aan de binnenkant van de kroon en zorg ervoor dat het stiksel niet zichtbaar is aan de buitenkant. -- Construeer de voering op dezelfde manier als de kroon door _edgestikt_weg te laten. +- Construct lining the same way as the crown omitting _edgestitching_. - Vouw en pers onder de onderste naadtoeslag van de voering. Je vindt dat je onder meer moet indrukken om te voorkomen dat de voering wordt weergegeven. Het kan ook zijn dat je _moet rijgen_ de naadtoeslag naar beneden. - Speld de voering op de hoed met de verkeerde kanten op elkaar, zodat de middelste kroonnaden en paneelnaden op elkaar aansluiten. Plaats de gevouwen rand langs de stiklijnen. - _Naai met een schuifsteek_ of met een _zweepsteek_ de voering vast aan de naadtoeslag van de muts. @@ -160,8 +160,8 @@ Eens te meer zijn er twee methodes voor de definitieve vergadering en de aanslui - Rijg het vizier met de hand op de kroon en zorg dat de rijglijnen van het vizier overeenkomen met de naadlijnen van de kroon. _Het is makkelijker om_ eerst het midden naar beneden te rijgen en dan vanuit het midden naar buiten te werken. - (Optioneel) Plak het vizier met de machine op de kroon langs de naadlijnen. - Herhaal dit voor het resterende vizier aan de andere kant van de middelste kroonnaad. -- Construeer de voering op dezelfde manier als de kroon, door _edgestikt_ weg te laten en een opening in de middelste voeringsnaad over te laten die groot genoeg is om de hoed te draaien. -- Leg, met de goede kanten op elkaar, de middelste kroonnaden, paneelnaden en naadlijnen op elkaar. Stik de voering aan de kroon langs de naadlijnen. Als je grootmoedig bent kun je de voering naden of beide naden bijknippen. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- Leg, met de goede kanten op elkaar, de middelste kroonnaden, paneelnaden en naadlijnen op elkaar. Sew the lining to the crown along seam lines. Als je grootmoedig bent kun je de voering naden of beide naden bijknippen. - Keer de hoed binnenstebuiten en druk de voering naar binnen. - (Optioneel/Alternatief) _Onderstik_ voering. - Voeringopening dichtgestikt. @@ -226,7 +226,7 @@ Tenzij je de knoopsgatenvlakken doet hoef je geen knop aan te naaien, maar het k Hoewel het zeker facultatief is, vind je misschien dat er een knop ontbreekt bij de hoed om het uiterlijk af te maken. Dus als je niet zeker bent van het uiterlijk op dit punt, verzin dan een snelle knop en plaats die er tijdelijk op om te zien of dit is wat er ontbreekt. Neem dit permanent toe als het is. -Terwijl een gedekte knop wordt aanbevolen, kunt u elke knop gebruiken die u wilt, voel je vrij om te experimenteren! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From 3f269992224c31f9e1066bda02d17fc430087622 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:42 +0100 Subject: [PATCH 0781/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hortensia/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/nl.md b/markdown/org/docs/designs/hortensia/nl.md index f03e283fddc..3c49c5612d2 100644 --- a/markdown/org/docs/designs/hortensia/nl.md +++ b/markdown/org/docs/designs/hortensia/nl.md @@ -2,7 +2,7 @@ title: "Hortensia handtas" --- -Hortensia is ontworpen door @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. Ze had geen programmeerervaring en ik bood mijn tijd aan. +Hortensia is ontworpen door @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteered my time. Het ontwerp is goed uitgedacht en is gebaseerd op de Gouden Regel. It can be sized up and down to fit your exact needs. De constructie is wat pietluttig, aangezien het gebogen naden heeft. It can be lined, or you can finish the seams with a bias tape. From 1c320af423c548bf774eb9cbc3d56ec2964773fa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:43 +0100 Subject: [PATCH 0782/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hortensia/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/nl.md b/markdown/org/docs/designs/hortensia/fabric/nl.md index 2e042b6f35b..55e92f43f6f 100644 --- a/markdown/org/docs/designs/hortensia/fabric/nl.md +++ b/markdown/org/docs/designs/hortensia/fabric/nl.md @@ -6,7 +6,7 @@ title: "Hortensia handtas: Stof opties" De belangrijkste stofkeuzes voor Hortensia zijn niet-strekkend, duurzaam en sterk genoeg om voorwerpen vast te houden. -Je belangrijkste stofkeuze hangt uiteindelijk af van je persoonlijke stijl en waar je je handtas voor wilt gebruiken. Omdat Hortensia een maatoptie heeft, kan hij ook vergroot worden en gebruikt worden voor bijvoorbeeld een sporttas die niet zo mooi hoeft te zijn als een luxe handtas. Dus misschien wil je gewoon gaan voor **Cottons**, **Linens** of een beetje plezier maken met **Bedrukt katoen**. Als je iets chiquers wilt, kun je kiezen voor **Brocades** en andere luxe stoffen. Als je iets wilt dat heel duurzaam is, kun je **Bekledingsstoffen**proberen. Je kunt ook **Leather** proberen, maar dit is moeilijker te naaien, vooral als het dik is, dus gebruik het alleen als je weet wat je doet. Als je het altijd wilt gebruiken, geef dan de voorkeur aan praktisch nut boven design, want het doel moet zijn om het lang mee te laten gaan en niet om het mooi te maken. Als je het uiterlijk helemaal niet belangrijk vindt, kan dit een kans zijn om stof uit je voorraad te gebruiken die je anders niet zou gebruiken, zoals die lelijke stof waar je nooit een bestemming voor kunt vinden. +Je belangrijkste stofkeuze hangt uiteindelijk af van je persoonlijke stijl en waar je je handtas voor wilt gebruiken. Omdat Hortensia een maatoptie heeft, kan hij ook vergroot worden en gebruikt worden voor bijvoorbeeld een sporttas die niet zo mooi hoeft te zijn als een luxe handtas. Dus misschien wil je gewoon gaan voor **Cottons**, **Linens** of een beetje plezier maken met **Bedrukt katoen**. Als je iets chiquers wilt, kun je kiezen voor **Brocades** en andere luxe stoffen. Als je iets wilt dat heel duurzaam is, kun je **Bekledingsstoffen**proberen. Je kunt ook **Leather** proberen, maar dit is moeilijker te naaien, vooral als het dik is, dus gebruik het alleen als je weet wat je doet. Als je het altijd wilt gebruiken, geef dan de voorkeur aan praktisch nut boven design, want het doel moet zijn om het lang mee te laten gaan en niet om het mooi te maken. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From a600c7f87bdbc72a771531831bad4b0507d257e7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:44 +0100 Subject: [PATCH 0783/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hortensia/instructions/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/nl.md b/markdown/org/docs/designs/hortensia/instructions/nl.md index 09d4a933c04..57e4a105c75 100644 --- a/markdown/org/docs/designs/hortensia/instructions/nl.md +++ b/markdown/org/docs/designs/hortensia/instructions/nl.md @@ -30,9 +30,9 @@ De plaatsing van de bandjes staat niet op het patroon en moet worden bepaald. Mi -Als je banden voor tasriemen gebruikt in plaats van stoffen banden, doe dan het volgende: +If using bag strap webbing instead of fabric made straps do the following, -- Knip de banden op de lengte van de banden met naadtoeslag. +- Cut the webbing to the length of the straps with seam allowance. - Pers onder de naadtoeslag van de korte rand. - Bevestig de banden op dezelfde manier als de stoffen banden. @@ -83,8 +83,8 @@ Het wordt aanbevolen om de opening voor het draaien aan de zijkant te laten in p - Met _goede kanten op elkaar_ naai je de voorste en achterste voeringdelen aan het onderste voeringdeel. - Met _goede kanten op elkaar_ bevestig je de zijpanelen van de voering. - Pers onder de bovenste naadtoeslagen. -- Als alternatief kun je de bovenste randen afbinden. -- Leg de voering in de tas _met de verkeerde kanten naar elkaar toe_ . +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Schuifsteek_ of _Zweepsteek_ de voering aan het ritsdeel. ### Stap 10: Geniet! From 85f846534945701edcaf219565205eb0ddf2fda0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:45 +0100 Subject: [PATCH 0784/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hortensia/needs/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/nl.md b/markdown/org/docs/designs/hortensia/needs/nl.md index 0c5ef80f7be..4784ffc29b8 100644 --- a/markdown/org/docs/designs/hortensia/needs/nl.md +++ b/markdown/org/docs/designs/hortensia/needs/nl.md @@ -8,7 +8,7 @@ Om Hortensia te maken heb je het volgende nodig: - Ongeveer 0,5 - 2 meter van een geschikte stof ([zie Hortensia stofopties](/docs/designs/hortensia/fabric/)). - Ongeveer 0,5 - 2 meter voeringstof ([zie Hortensia Stofopties](/docs/designs/hortensia/fabric/)) - Een rits die korter is dan het ritspaneel en overeenkomt met de breedte van de rol [](/docs/designs/hortensia/options/zippersize/) geselecteerd. -- (Optioneel) Ongeveer 1 - 2 meter biaisband als je de randen van het zijpaneel aan de buitenkant wilt afwerken. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Optioneel) Tasriemband dubbel zo lang als het riemgedeelte met naadtoeslag en vergelijkbare breedte als je niet je eigen riemen wilt maken. - (Optioneel) Tussenvlies indien nodig om de stof te verstevigen en/of voor het bandje From b5960ac0ce4dcfd7b5fb5488f21294f31a52bae1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:49 +0100 Subject: [PATCH 0785/1313] New translations en.md (Dutch) skip-build --- .../hortensia/options/zippersize/nl.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/options/zippersize/nl.md b/markdown/org/docs/designs/hortensia/options/zippersize/nl.md index 6dd233e8a2e..91d5d553d48 100644 --- a/markdown/org/docs/designs/hortensia/options/zippersize/nl.md +++ b/markdown/org/docs/designs/hortensia/options/zippersize/nl.md @@ -10,16 +10,16 @@ De maten zijn gebaseerd op de ritsen van het merk YKK en verwijzen naar de breed Maattabel voor Hortensia: -| Optie | Grootte in millimeter (mm) | -| ------------ | -------------------------- | -| #Onzichtbaar | 0 | -| #3 | 4.8 | -| #4 | 5.4 | -| #4.5 | 5.9 | -| #5 | 6.2 | -| #6 | 7 | -| #8 | 8 | -| #10 | 10.6 | +| Optie | Grootte in millimeter (mm) | +| ---------- | -------------------------- | +| #Invisible | 0 | +| #3 | 4.8 | +| #4 | 5.4 | +| #4.5 | 5.9 | +| #5 | 6.2 | +| #6 | 7 | +| #8 | 8 | +| #10 | 10.6 | From 140724252c13401bbc08db027735ede54c516c3a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:36:52 +0100 Subject: [PATCH 0786/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/huey/instructions/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/nl.md b/markdown/org/docs/designs/huey/instructions/nl.md index 850b4747c41..2d5dd58df61 100644 --- a/markdown/org/docs/designs/huey/instructions/nl.md +++ b/markdown/org/docs/designs/huey/instructions/nl.md @@ -53,7 +53,7 @@ De trekkoorden worden geregen nadat de hoodie is gemaakt. - Draai de goede kanten naar buiten. - Rijg de voorste en onderste knipranden aan elkaar. - Maak een omhulsel voor het koord door ongeveer 2,5 cm van de binnenrand af te naaien aan de kant met de koordgaten. -- (Eventueel) Als je geen koord gebruikt, naai dan met _Doorstikken_ of _Kantstikken_ de binnenbocht. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ Een nekband kan handig zijn om de neknaden te stabiliseren en te bedekken, maar - Pers de naadtoeslag naar boven. - _Stik_ of _Edgestitch_ tailleband naadtoeslag aan het lijfje. -### Stap 8: De manchetten vastmaken +### Step 8: Attaching the cuffs -- Met _goede kanten op elkaar_ naai je de korte kanten van de manchetten aan elkaar tot twee banden. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Pers de naadtoeslagen open. - (Optioneel) _Kantsteek_ de naadtoeslagen naar beneden. - Vouw de manchetten in de lengte dubbel met de verkeerde kanten op elkaar. Pers. @@ -104,7 +104,7 @@ Een nekband kan handig zijn om de neknaden te stabiliseren en te bedekken, maar - Rits de rits een stukje open. - Vouw de bovenkant van het ritsband naar beneden tot de _goede kant_ van het ritsband. Bijsnijden als dat nodig is. - Speld de rits langs een van de voorranden van de capuchon, voorkant en tailleband. The zipper teeth should just be slightly over the seam line with the edge of the tape either matching or being slightly over from the hoodie edge. Making sure the zipper pull is faced the _good sides_ of the hoodie and the bottoms are lined up. -- Gebruik een ritsvoetje om de rits aan de hoodie te naaien met je naadbreedte. Als je bij de ritstrekker bent, stop dan, leg je naald neer, til de naaivoet op, trek de ritstrekker langs de naaivoet en laat de naaivoet zakken. Daarna kun je doorgaan met het naaien van de naad. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. Als je bij de ritstrekker bent, stop dan, leg je naald neer, til de naaivoet op, trek de ritstrekker langs de naaivoet en laat de naaivoet zakken. Daarna kun je doorgaan met het naaien van de naad. - Maak de rits los. - Speld en naai de losse ritsband op dezelfde manier aan de andere kant van de hoodie. - Strijk de naden naar de binnenkant en let op dat je de tandjes van de rits niet smelt met je strijkijzer. From e7a6f028c3a82847b9093ef603ad788aeba8536f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:14 +0100 Subject: [PATCH 0787/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/huey/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/nl.md b/markdown/org/docs/designs/huey/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From aa5d39eeceff11163a9b814089142a0ce20e91c3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:21 +0100 Subject: [PATCH 0788/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 19ea8ff62926309c212e076cbeb5814efa2009b2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:29 +0100 Subject: [PATCH 0789/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hugo/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/nl.md b/markdown/org/docs/designs/hugo/instructions/nl.md index fc3096f5045..a768b79c096 100644 --- a/markdown/org/docs/designs/hugo/instructions/nl.md +++ b/markdown/org/docs/designs/hugo/instructions/nl.md @@ -113,5 +113,5 @@ Deze zesdelige reeks toont je van begin tot eind hoe je de hoodie in elkaar zet: - Lock (of zigzag) de boordstof aan de mouw. Rek de boordstof zachtjes uit tot de manchet en mouwopening even lang zijn. Verwijder spelden voor ze in de overlock terechtkomen. - Knip de onderrand van de zak bij als die langer is dan de onderrand van de trui. - Let op dat de tailleband gelijkmatig verdeeld is over de onderrand van de trui. -- Lock of zigzag de tailleband, en rek deze ook zachtjes uit zodat de boord en trui even lang zijn. Stik met de hoodie bovenaan zodat je kan zien of alle lagen mee in de naad zitten. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Stik met de hoodie bovenaan zodat je kan zien of alle lagen mee in de naad zitten. - Stik de onderste randen van de zak aan het voorpand om ze definitief te bevestigen. From ea74e09e2c6aed851ac4c2060f0c1461d839ce0c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:41 +0100 Subject: [PATCH 0790/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/jaeger/instructions/nl.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/nl.md b/markdown/org/docs/designs/jaeger/instructions/nl.md index a0158ed8820..533767e78de 100644 --- a/markdown/org/docs/designs/jaeger/instructions/nl.md +++ b/markdown/org/docs/designs/jaeger/instructions/nl.md @@ -88,7 +88,7 @@ Stik vast langs de bovenste lijn. Remember this should be shorter than the botto #### Knip de zakopening, keer en strijk -![Strijk de borstzak](pressChestPocket.svg) Knip nu je zakopening open tussen de twee stiklijnen. Knip niet tot aan de rand, maar in een hoek van 45° zodat je aan het uiteinde kleine driehoekjes krijgt. +![Strijk de borstzak](pressChestPocket.svg) Knip nu je zakopening open tussen de twee stiklijnen. Don't cut to the edge, but create a triangular shape there. Keer het zakdeel en de paspel naar de achterkant door ze door het gat te halen dat je net gemaakt hebt. @@ -108,7 +108,7 @@ Neem naald en draad en werk de borstzak met de hand af door de zijkanten van de Als laatste sluit je de binnenzak door de zijkanten dicht te stikken. Doe die door het voorpand neer te leggen met de goede kant naar boven. Vouw dan de zijkant naar boven en stik het zakdeel aan de twee kanten. Let op dat je die kleine driehoekjes aan de zakopening mee vastnaait. Dit verstevigt de zakopening. -Drieg de bortzak dicht terwijl je de rest van het jasje maakt. +Baste the chest pocket closed while we construct the jacket. ### Bereid de voorpanden voor @@ -163,11 +163,11 @@ Onthoud: ![Sluit de zijnaden](closeSides.svg) -Leg je voorpanden neer met de goede kant omhoog, en je zijpanden erop met de goede kant omlaag. -Leg de voor- en zijnaden gelijk, speld ze eventueel samen en stik. +Place your front with the good side up, and your side on it with the good side down. +Align the front/side seams, pin them in place if you feel like it, and sew them together. -Leg dit neer met de goede kant omhoog, en leg je rugpand hierop met de goede kant naar beneden. -Leg de rug- en zijnaden gelijk, speld ze eventueel samen en stik. +Place this down with the good side up, and place your back on top with the good side down. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Let op dat het haardoek niet mee vastgestikt wordt. @@ -181,7 +181,7 @@ Leg de rug- en zijnaden gelijk, speld ze eventueel samen en stik. ![Sluit de achternaad](closeBack.svg) -Leg de twee halve jasjes met de goede kanten op elkaar en stik de middenachternaad dicht. +Align your two half-jackets with the good sides together, and close the back seam. @@ -216,23 +216,23 @@ Dus zorg dat je op de merktekens afgaat. Daar dienen ze voor. ### De kraag maken -Om er echt strak uit te zien, moet de kraag aan beide kanten symmetrisch zijn. Ongeveer 5 mm verschil is al zichtbaar aan een kraag, dus hoe nauwkeuriger je deze stappen uitvoert, hoe beter. +In order to look real crisp, the collar should be symmetrical on both sides. Ongeveer 5 mm verschil is al zichtbaar aan een kraag, dus hoe nauwkeuriger je deze stappen uitvoert, hoe beter. ### Markeringen toevoegen aan beide halsbanden Maar beide kragen op elkaar, rijg de hoeken aan elkaar en knip de rijg af. Gebruik dan een markeerpotlood of een krijtje om de randen van de kraag te markeren. Meet 2 keer om er zeker van te zijn dat de resterende kragen en de locatie van de hoeken 100% identiek zijn op beide hoeken. ![Markeer de randen van de kraag](collarMarkings.svg) #### Voeg versteviging of canvas toe aan de buitenkraag en onderkraag. -Gebruik een opvulbare vlieseline of, als je hardcore wilt zijn, een canvas van paardenhaar. Naai het aan de buitenkant van de kraag met dezelfde techniek als bij het toevoegen van canvas aan de revers. ![Voeg canvas toe aan de collor](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. ![Add canvas to the collar](collarWithCanvas.svg) #### Naai de buitenkraag aan de onderkraag en voeg toe aan het jasje. -Zorg ervoor dat de buitenkraag en onderkraag alligend zijn en naai ze aan elkaar Naai de buitenkraag+onderkraag aan de halslijn van het jasje Maak kleine knipjes in de stof rond de halslijn om het meer gemak te geven Knip de naadtoeslag in de hoeken diagonaal in voor een betere pasvorm +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit ![maak kleine sneden in SA rond de kraag](collarCuts.svg) ### Mouwen -Naai de bovenmouw aan de ondermouw tot de scheiding +Sew the uppersleeve to the undersleeve until the split #### Maak de split aan de binnenkant van de mouw @@ -245,13 +245,13 @@ De binnenzak is een dubbele paspelzak. Dat is hetzelfde als de zakken aan de voo Zie de afbeeldingen bij de zakken aan de voorkant voor details -Bepaal de plaats van de zak op de linkerbinnenvoering met rijgsteek Voeg wat plakvlieseline toe rond het gebied Teken de zak op de versteviging. Voeg de boordsels toe aan de boven- en onderkant van de zak Naai de boordsels op de lijn aan beide kanten van de zak. Zorg ervoor dat de lusjes precies op elkaar eindigen. Snijd de ingang van de zak tot ongeveer 1 of 2 cm van het uiteinde. Snijd het laatste deel diagonaal in zodat je een visgraatsnede krijgt Keer de boordsels binnenstebuiten, rijg vast en pers Keer de driehoeken binnenstebuiten, rijg vast en pers Naai rond de zak om alles op zijn plaats te zetten Neem de zak, naai die aan de onderste boordsel en het andere deel aan de bovenste boordsel (Zie: borstzak). +Locate the position of the pocket on the left inner lining with basting Add some fusible interfacing around the area Draw the pocket on the interfacing. Voeg de boordsels toe aan de boven- en onderkant van de zak Naai de boordsels op de lijn aan beide kanten van de zak. Make use the welts end exactly on top of each other. Snijd de ingang van de zak tot ongeveer 1 of 2 cm van het uiteinde. Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Voering -Naai de achternaad van de voering tot de split Naai de figuurnaden in de voorpanden Voeg de hele voering samen (voorpand, zijkant, achterpand) Voeg de voering toe aan het voorpand. Laat ongeveer 5 cm open vanaf de onderkant Sluit de schouders Voeg de binnenkraag toe aan de bovenkraag en voeg toe aan het voeringvest Maak kleine insnijdingen in de halslijn en de hoeken Voeg de bovenste en onderste mouwen toe Voeg de mouwen toe aan het voeringvest +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners Add upper to lower sleeves Add sleeves to lining jacket ### Sluit het -Maar de jas + voeringjassen op elkaar met de goede kanten. Naai rond de kraag en ga door tot aan het voorpand Keer het jasje met de goede kant naar buiten Vouw de mouwen vast (zorg ervoor dat ze niet gedraaid zijn!!). Voeg de mouwvoering toe aan de mouwsplit Zorg dat de kragen recht op elkaar liggen (ze sluiten op elkaar aan) en voeg de naadtoeslagen met de hand aan elkaar toe. Voeg op een paar plaatsen voor SA aan voering SA met de hand toe vanaf de binnenkant van het jasje Maak de split aan de achterkant en voeg de voering handmatig toe aan de hoofdstof Voeg knoopsgaten en knopen toe. +Maar de jas + voeringjassen op elkaar met de goede kanten. Naai rond de kraag en ga door tot aan het voorpand Keer het jasje met de goede kant naar buiten Vouw de mouwen vast (zorg ervoor dat ze niet gedraaid zijn!!). Add the sleeves lining to the sleeves split Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Voeg op een paar plaatsen voor SA aan voering SA met de hand toe vanaf de binnenkant van het jasje Maak de split aan de achterkant en voeg de voering handmatig toe aan de hoofdstof Voeg knoopsgaten en knopen toe. From 68df3aa948729dd455530c69010a61bc14b95950 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:43 +0100 Subject: [PATCH 0791/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/jaeger/needs/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/needs/nl.md b/markdown/org/docs/designs/jaeger/needs/nl.md index bc275a03ce8..91c3409a374 100644 --- a/markdown/org/docs/designs/jaeger/needs/nl.md +++ b/markdown/org/docs/designs/jaeger/needs/nl.md @@ -17,10 +17,10 @@ Om Jaeger te maken heb je het volgende nodig: -###### Waar haal je al deze spullen +###### Where to get all this stuff -Jaeger maken is een leuk en leerzaam project, maar het kan een uitdaging zijn om alle benodigde onderdelen -en stukjes te vinden. +Making Jaeger is a fun and rewarding project, but getting all the required bits +and pieces can be challenging. Dat komt omdat dit soort projecten iets ambitieuzer is dan het typische naaiproject voor thuis op , en daarom is het onwaarschijnlijk dat je plaatselijke fourniturenwinkel From f8a81a9572f69a0892910930f712628f42c3470e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:37:49 +0100 Subject: [PATCH 0792/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/nl.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/nl.md index 4a947f1ce47..a529ae8a743 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/nl.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/nl.md @@ -4,7 +4,7 @@ title: "Middenrug neep" ![Middenrug neep](centerbackdart.svg) -De reductie aan de middenrug, van schouders naar nek, die aanpast voor een gebogen bovenrug. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From c8649abcbc01d70f10b2a181f3efcd9617b7d9d3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:38:23 +0100 Subject: [PATCH 0793/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lucy/measurements/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/nl.md b/markdown/org/docs/designs/lucy/measurements/nl.md index 943d1097c87..753e62e4bc8 100644 --- a/markdown/org/docs/designs/lucy/measurements/nl.md +++ b/markdown/org/docs/designs/lucy/measurements/nl.md @@ -3,5 +3,5 @@ title: "Lucy bindzakje: Benodigde afmetingen" --- -Luci vereist geen metingen +Lucy does not require any measurements From 6e463f034cae667e7f95d9719379c3f67ef7d4d5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:38:48 +0100 Subject: [PATCH 0794/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/nl.md b/markdown/org/docs/designs/noble/options/upperdartlength/nl.md index d0da8cbdf1d..fe9a28bf6bb 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/nl.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/nl.md @@ -4,7 +4,7 @@ title: "Lengte bovenste pijl" *** -De **Bovenpijllengte** regelt de lengte van de bovenpijl, 100% is helemaal tot aan de buste. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From 3b982070e1fd03ccd132896c039dea04372d28c6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:38:52 +0100 Subject: [PATCH 0795/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/octoplushy/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/nl.md b/markdown/org/docs/designs/octoplushy/instructions/nl.md index 6ed4918ec94..27a96efe126 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/nl.md +++ b/markdown/org/docs/designs/octoplushy/instructions/nl.md @@ -69,13 +69,13 @@ Voordat je de wenkbrauwen doormidden naait, kun je de wenkbrauwen opvullen om ee - Met _goede kanten tegen elkaar_ match je de beendelen met de lichaamsdelen. - Naai elk been vanaf inkeping B/D naar beneden en terug naar inkeping B/D. -- Als het beengedeelte iets korter is dan het been op het hoofdgedeelte, moet je het iets minder zwaar maken terwijl je het op elkaar afstemt. Er zijn inkepingen aangebracht om dit gemakkelijker te maken. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Er zijn inkepingen aangebracht om dit gemakkelijker te maken. Het is het makkelijkst om een been bijna tot de volgende B/D inkeping te naaien, te stoppen met naaien, het volgende been te spelden en door te gaan met naaien in plaats van te proberen alle benen in één keer te spelden en te naaien. -Wie meer zelfvertrouwen heeft, kan dit doen met de naald naar beneden op de machine, maar als je minder zelfvertrouwen hebt, kun je de naald van de machine halen, spelden en dan opnieuw beginnen met naaien, een beetje over het oorspronkelijke stiksel heen om het vast te zetten. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From 2e7ab2d4185cd95680f428d74de54ad80dc14391 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:01 +0100 Subject: [PATCH 0796/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/paco/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/nl.md b/markdown/org/docs/designs/paco/instructions/nl.md index 925b7b513ef..724f403cacf 100644 --- a/markdown/org/docs/designs/paco/instructions/nl.md +++ b/markdown/org/docs/designs/paco/instructions/nl.md @@ -205,7 +205,7 @@ niet de binnenkant van je tailleband. Leg vervolgens de middenruggen en speld samen en voeg extra pinnen om de tailleband toe indien nodig. -Stik de tailleband aan de spelers, zo dicht mogelijk bij het elastiek, maar stik niet in het elastiek. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Besteed tailleband met eenvoudige methode](step13.svg) @@ -288,7 +288,7 @@ er genoeg zijn. -Stik de manchet aan de broek opening, zo dicht mogelijk bij het elastiek, maar stik niet in het elastiek. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Snaai manchetten met eenvoudige methode](step16.svg) From 15c64985e4df8706fc829d35a584ae4846573b24 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:07 +0100 Subject: [PATCH 0797/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/nl.md b/markdown/org/docs/designs/paco/options/crotchdrop/nl.md index 29f0c06b78f..f4d70e51cad 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/nl.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/nl.md @@ -4,8 +4,8 @@ title: "Diepte kruis" Bepaalt hoeveel het kruis verlaagd is. -Het kruis verlagen zorgt voor een meer casual pasvorm. -Een betekenisvol verlaagde kruis kan ook een keus zijn. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 21a39e4b48e90ea3c0765a57036bb5675b1e756d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:08 +0100 Subject: [PATCH 0798/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/nl.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/nl.md index 0491e4480e5..87a96bd5e43 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/nl.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/nl.md @@ -2,7 +2,7 @@ title: "Buiging kruisnaad" --- -Bepaalt de curve van de kruisnaad, die de pasvorm aan je kruis beïnvloedt. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 6f54b372ac334199743f30f1538af41ec6095477 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:19 +0100 Subject: [PATCH 0799/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/penelope/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/nl.md b/markdown/org/docs/designs/penelope/fabric/nl.md index 2007e74f6e3..db57e63ac5c 100644 --- a/markdown/org/docs/designs/penelope/fabric/nl.md +++ b/markdown/org/docs/designs/penelope/fabric/nl.md @@ -6,7 +6,7 @@ title: "Penelope kokerrok: Stof opties" Een kokerrok is een vrij formele snit en wordt meestal gemaakt van een suiting stof. Met andere woorden, een **fijne wol**. Meer casual opties onder de **middelzware** stoffen zijn **katoen** of **denim**. -Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **Scuba** zie je vaak in kokerrokken omdat het stevig is, body heeft maar ook rekt. +Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Voering From a58f99f57ca76ceb4477953994daa57374f6c921 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:20 +0100 Subject: [PATCH 0800/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/penelope/instructions/nl.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/nl.md b/markdown/org/docs/designs/penelope/instructions/nl.md index ee65726f929..9d6539a0c28 100644 --- a/markdown/org/docs/designs/penelope/instructions/nl.md +++ b/markdown/org/docs/designs/penelope/instructions/nl.md @@ -24,7 +24,7 @@ Een tailleband is optioneel op Penelope. If you omit it, there will be quite som Zonder de rits zal het onmogelijk zijn om in en uit de rok te geraken. So it should be at least the length from your waist to the largest part of your bum. Longer will make it easier to put the skirt on and off. Don't use one that's too long, because the part of the seam where the zipper is behaves differently than the part without it, and you want to try to make it invisible also in movement. -Traditioneel wordt een onzichtbare rits gebruikt in een kokerrok, maar een gewone rits werkt net zo goed. Je kunt zelfs een rits gebruiken die je stof constrasteert als je daar zin in hebt. Kies wat werkt voor jou en de stijl waar je voor gaat. Wees creatief (of niet), dat is helemaal aan jou! Maar als je stof aan de zwaardere kant is, kun je misschien beter voor een andere sluiting kiezen. +Traditioneel wordt een onzichtbare rits gebruikt in een kokerrok, maar een gewone rits werkt net zo goed. You can even use a zipper that contrasts your fabric if the fancy takes you. Kies wat werkt voor jou en de stijl waar je voor gaat. Wees creatief (of niet), dat is helemaal aan jou! Maar als je stof aan de zwaardere kant is, kun je misschien beter voor een andere sluiting kiezen. ### Vuur @@ -41,8 +41,8 @@ Nepen worden gebruikt om het verschil tussen je taille en zitvlak te compenseren We gaan niet helemaal uit de doeken doen hoe je alle afzonderlijke details van een kokerrok kunt maken. These instructions assume that you know how to sew a dart, insert an invisible zipper, make a vent, etc. If not, there are numerous excellent articles available on the -web, both in writen form, and on video. Zo niet, dan zijn er talloze uitstekende artikelen beschikbaar op -web, zowel in geschreven vorm als op video. Als je vastloopt, kun je altijd contact opnemen met +web, both in writen form, and on video. If not, there are numerous excellent articles available on the +web, both in written form, and on video. Als je vastloopt, kun je altijd contact opnemen met [andere FreeSewers](https://discord.freesewing.org/) in onze discord. @@ -51,7 +51,7 @@ web, zowel in geschreven vorm als op video. Als je vastloopt, kun je altijd cont - Naai alle figuurnaden. - Druk de pijltjes naar achteren. - - Voor de achterkant(en) betekent dit dat je de figuurnaden naar elkaar toe drukt. + - For the back piece(s), that means you press the darts towards each other. - Voor het voorpand betekent dit dat je de figuurnaden naar de zijnaden toe perst. ### Stap 2: De rits @@ -77,11 +77,11 @@ Je kunt deze stap overslaan als je geen voering maakt. - Volg stap 1 - 4 om de voering te maken met de volgende wijzigingen: - Pas de figuurnaden aan om het extra 'gemak' in de voeringdelen te compenseren. - Neem de rits niet mee, maar laat de opening in de naad van de rits zitten. -- Bevestig de voering aan het lijfje op de manier die jij het mooist vindt. Hierbij moet je de opening maken en de voering aansluiten op de rits. +- Attach the lining to the body in your preferred way. Hierbij moet je de opening maken en de voering aansluiten op de rits. -Hoe je het extra 'gemak' verdeelt is aan jou. Je kunt het toevoegen aan de darts door ze te verhogen. Of je kunt nog een figuurnaad of plooi in het midden toevoegen. +Hoe je het extra 'gemak' verdeelt is aan jou. Je kunt het toevoegen aan de darts door ze te verhogen. Or you can add another dart or box pleat in the middle. @@ -117,7 +117,7 @@ Deze stap is alleen nodig als je je rok niet hebt gevoerd, omdat de zoom en vent - Werk de zoom en ventilatieopeningen desgewenst bij. - Construeer de ventilatieopeningen met de methode van je voorkeur - Pers onder de zoomtoeslagen van de rok. -- Als de zoom groot genoeg is en/of de stof aan de bovenkant een klein beetje naar beneden drukt, helpt dit om farying te voorkomen. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Maak de zoom vast met de methode van je voorkeur. Je kunt bijvoorbeeld vanaf de buitenkant naaien of _Slipstitch_ vanaf de binnenkant. Dit hangt af van hoe je wilt dat het eindproduct eruit ziet. From 0c18e9f5911d87a5110a81f264f506d1757a3ea2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:33 +0100 Subject: [PATCH 0801/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sandy/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/nl.md b/markdown/org/docs/designs/sandy/fabric/nl.md index 1a4a2759163..cc7bca16ac4 100644 --- a/markdown/org/docs/designs/sandy/fabric/nl.md +++ b/markdown/org/docs/designs/sandy/fabric/nl.md @@ -6,7 +6,7 @@ title: "Sandy cirkelrok: Stofopties" Een cirkelrok is een heel veelzijdig kledingstuk en kan van allerlei verschillende stoffen worden gemaakt. Het hangt allemaal af van het beoogde gebruik en de voorkeursstijl. -- Als je een rok voor elke dag wilt die gemakkelijk te wassen is, dan is **Linnen** en **Katoen** de juiste keuze. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - Als je op zoek bent naar iets formelers, kun je **Suiting Fabrics**proberen. - Als je iets warms wilt voor de winter kun je **Wools**proberen. - Als je iets vloeiends wilt dat drapeert, kun je lichtgewicht materialen proberen zoals **Chiffon**. From 8c10123e021690d76f4eadb6774f907c51d3dbff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:34 +0100 Subject: [PATCH 0802/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sandy/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/nl.md b/markdown/org/docs/designs/sandy/instructions/nl.md index 6a77c997e73..22cae4fc7b5 100644 --- a/markdown/org/docs/designs/sandy/instructions/nl.md +++ b/markdown/org/docs/designs/sandy/instructions/nl.md @@ -5,7 +5,7 @@ title: "Sandy cirkelrok: Naai-instructies" Door de verschillende stijlen en configuraties van Sandy kan het zijn dat je bepaalde stappen moet overslaan of anders moet rangschikken. -We gaan hier niet uitleggen hoe je alle afzonderlijke details van een cirkelrok kunt maken. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in writen form, and on video. Zo niet, dan zijn er talloze uitstekende artikelen beschikbaar op het -web, zowel schriftelijk als op video. Als je vastloopt, kun je altijd contact opnemen met [andere FreeSewers](https://discord.freesewing.org/) in onze discord. +We gaan hier niet uitleggen hoe je alle afzonderlijke details van een cirkelrok kunt maken. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in writen form, and on video. If not, there are numerous excellent articles available on the web, both in written form, and on video. Als je vastloopt, kun je altijd contact opnemen met [andere FreeSewers](https://discord.freesewing.org/) in onze discord. @@ -111,7 +111,7 @@ Zoom de rok op een van de volgende manieren: -Er zijn veel manieren om de onderkant van een rok te zomen. Als je een methode hebt die je voorkeur heeft, gebruik die dan hier. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From 913e73d702e6d537542764a477b9039647d1ae63 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:35 +0100 Subject: [PATCH 0803/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sandy/needs/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/nl.md b/markdown/org/docs/designs/sandy/needs/nl.md index fb3c9bb86e1..7de702e9caa 100644 --- a/markdown/org/docs/designs/sandy/needs/nl.md +++ b/markdown/org/docs/designs/sandy/needs/nl.md @@ -16,7 +16,7 @@ Door de vele verschillende stijlen van Sandy is het moeilijk om precies te zegge ##### Hoofd stof -De lengte die je nodig hebt hangt af van hoe lang en hoe vol je cirkelrok is. Halve rokken en kleinere rokken zijn voldoende met 2 - 2,5 meter, terwijl een rok met vloerlengte meer nodig heeft. Koop bij twijfel een meter meer dan je denkt. Wees ook niet bang om een stuk te maken als je stof niet breed of lang genoeg is, het is beter om een extra naad te hebben dan om de stof die je mooi vindt niet te gebruiken. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. Koop bij twijfel een meter meer dan je denkt. Wees ook niet bang om een stuk te maken als je stof niet breed of lang genoeg is, het is beter om een extra naad te hebben dan om de stof die je mooi vindt niet te gebruiken. @@ -40,7 +40,7 @@ Om de rok meer flair te geven/vorm te houden kun je misschien een facing aan de ##### Sluitingen -Als je geen elastische Sandy maakt, heb je een soort sluiting nodig. Dit kan gewoon een rits zijn die in de tailleband en naad wordt gestoken, of het kunnen knopen, kledinghaken of drukknopen zijn met een overlappende tailleband en een opening, placket of rits bovenaan de naad. +Als je geen elastische Sandy maakt, heb je een soort sluiting nodig. This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Elastiek From 251589f307dcd4ff3fd3197419437f206e6d2fc6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:44 +0100 Subject: [PATCH 0804/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shin/fabric/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/nl.md b/markdown/org/docs/designs/shin/fabric/nl.md index f8efbb3f30a..770db40763d 100644 --- a/markdown/org/docs/designs/shin/fabric/nl.md +++ b/markdown/org/docs/designs/shin/fabric/nl.md @@ -6,6 +6,6 @@ Een zwembroek zou gemaakt moeten worden uit elastisch materiaal dat tegen zout o Gewoonlijk valt dit onder te verdelen in een aantal categorieën: -- Nylon gemengd met elasthaan, spandex of lycra is zacht en elastisch. Dit wordt voor de meeste commerciële zwemkledij gebruikt. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. Dit wordt voor de meeste commerciële zwemkledij gebruikt. - Polyester gemengd met PBT (polybutyleen terephthalaat) is minder zacht, maar bestand tegen chloor en zout water. Dit wordt vaak voor competitiebadpakken gebruikt. - Neopreen, ook bekend als scuba, is zwaarder en minder rekbaar. Hier worden duikpakken van gemaakt. From 3cc2ffe784a4d3f828589435ffbc2acb40a71f4e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:45 +0100 Subject: [PATCH 0805/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shin/instructions/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/nl.md b/markdown/org/docs/designs/shin/instructions/nl.md index 837720035a3..7401ae4089a 100644 --- a/markdown/org/docs/designs/shin/instructions/nl.md +++ b/markdown/org/docs/designs/shin/instructions/nl.md @@ -8,13 +8,13 @@ title: "Shin zwembroek: Naai-instructies" ## Stap 1: Achternaad -Leg je twee rugpanden op elkaar met de goede kanten samen, en stik langs de middenachternaad. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Stap 2: Voornaad ### Naai de voornaad -Leg je twee voorpanden bovenop elkaar met de goede kanten samen, en stik de middenvoornaad. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Herhaal met de twee andere voorpanden zodat je twee identieke sets hebt. @@ -38,7 +38,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Markeer het midden van de lengte van je tailleband. Fold the waistband double, and mark the middle of the width (do not take the seam allowance into account). -Installeer twee vetergaten links en rechts van deze markering. This will avoid an embarassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. +Installeer twee vetergaten links en rechts van deze markering. This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### Verstevigen is een goed idee > @@ -68,7 +68,7 @@ Find the front of the waistband (easy if there's eyelets, if not just fold it do Speld nu de tailleband langs de hele taille van de zwembroek. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew into the elastic. +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, make a second round to sew it a bit more snugly. From 7708f3c550bbb8d3895152665e0699f0c1fa669e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:46 +0100 Subject: [PATCH 0806/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shin/needs/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/nl.md b/markdown/org/docs/designs/shin/needs/nl.md index ae6e9160a9b..11ea3d26cac 100644 --- a/markdown/org/docs/designs/shin/needs/nl.md +++ b/markdown/org/docs/designs/shin/needs/nl.md @@ -12,4 +12,4 @@ Om Shin te maken heb je het volgende nodig: > > Zoals met alle gebreide en elastische stoffen maakt een overlock het leven eenvoudiger. > -> Als je geen overlock hebt, geen zorg. Je hebt het niet echt nodig. Je kan een andere techniek gebruiken voor het naaien van elastische naden, zoals een zigzagsteek, tweelingnaald of elastisch garen. +> Als je geen overlock hebt, geen zorg. Je hebt het niet echt nodig. You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From a2fa64634d91843a51ab976b570ea36667fa8575 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:50 +0100 Subject: [PATCH 0807/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shin/options/rise/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/nl.md b/markdown/org/docs/designs/shin/options/rise/nl.md index be59074d5ab..e64f7f7b7d0 100644 --- a/markdown/org/docs/designs/shin/options/rise/nl.md +++ b/markdown/org/docs/designs/shin/options/rise/nl.md @@ -2,7 +2,7 @@ title: "Hoogte" --- -Deze optie bepaalt de algemene hoogte van de taille. +This option controls the overall height of the waist. > Hoe hoger de hoogte, hoe hoger je taille. From 920ef6db0b65af9e31819e137083618d6f8c4bcf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:51 +0100 Subject: [PATCH 0808/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shin/options/stretch/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/stretch/nl.md b/markdown/org/docs/designs/shin/options/stretch/nl.md index 85207dcd413..280c5a184b3 100644 --- a/markdown/org/docs/designs/shin/options/stretch/nl.md +++ b/markdown/org/docs/designs/shin/options/stretch/nl.md @@ -2,7 +2,7 @@ title: "Stretch" --- -De hoeveelheid algemene (horizontale) stretch. +De hoeveelheid (horizontaal) stretch. From 4410da1558ff2efa2baf729bfbb2d9f9184d9a64 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:39:55 +0100 Subject: [PATCH 0809/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simon/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/nl.md b/markdown/org/docs/designs/simon/instructions/nl.md index cca0ede4cde..fff1da0ebef 100644 --- a/markdown/org/docs/designs/simon/instructions/nl.md +++ b/markdown/org/docs/designs/simon/instructions/nl.md @@ -629,7 +629,7 @@ Nu je kraag vasthangt mag je hem nog eens goed strijken. ### Stap 20: Zoom je hemd -![Plooi en strijk](20a.png) ![Plooi opnieuw, en strijk opnieuw](20b.png) ![Stik de zoom](20c.png) +![Plooi en strijk](20a.png) ![Fold over again, and press again](20b.png) ![Stik de zoom](20c.png) Tijd om de zoom af te werken (dat is het stuk dat je in je broek stopt). From df1178e024a4c825a4386cc12483336bcdc5fff0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:40:12 +0100 Subject: [PATCH 0810/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simon/options/collargap/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/nl.md b/markdown/org/docs/designs/simon/options/collargap/nl.md index 0762464200d..2c46e6c3907 100644 --- a/markdown/org/docs/designs/simon/options/collargap/nl.md +++ b/markdown/org/docs/designs/simon/options/collargap/nl.md @@ -8,7 +8,7 @@ Hoe ver de kraag uit elkaar zit als hij gesloten is. -Dit is meestal een stijlkeuze, maar een bredere kraagopening (samen met de hoek van de kraag) kan ruimte maken voor een bredere das (knoop). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 8f5cb0688e75d7a908da798d0edcd306055b5b52 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:40:31 +0100 Subject: [PATCH 0811/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simon/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/nl.md b/markdown/org/docs/designs/simon/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From 5def40c8c7b2ee65e07e76a23cf29fc6cf6b38a2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:40:38 +0100 Subject: [PATCH 0812/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 3672f4a5f3d1eea3951c28a59c5b3fdddca61dde Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:41:10 +0100 Subject: [PATCH 0813/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simone/options/collargap/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/nl.md b/markdown/org/docs/designs/simone/options/collargap/nl.md index 0762464200d..2c46e6c3907 100644 --- a/markdown/org/docs/designs/simone/options/collargap/nl.md +++ b/markdown/org/docs/designs/simone/options/collargap/nl.md @@ -8,7 +8,7 @@ Hoe ver de kraag uit elkaar zit als hij gesloten is. -Dit is meestal een stijlkeuze, maar een bredere kraagopening (samen met de hoek van de kraag) kan ruimte maken voor een bredere das (knoop). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From dcabe0d4148d4b501c482bf86e818b5847afc4a9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:41:30 +0100 Subject: [PATCH 0814/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simone/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/nl.md b/markdown/org/docs/designs/simone/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From d3d204c392b0f0ca326c7773db90d5da8db7b792 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:41:38 +0100 Subject: [PATCH 0815/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 256eb6ad105b214b0ee62335769aa905145cdc1c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:41:51 +0100 Subject: [PATCH 0816/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sven/instructions/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/nl.md b/markdown/org/docs/designs/sven/instructions/nl.md index 10f3dd64156..c56b1403dd8 100644 --- a/markdown/org/docs/designs/sven/instructions/nl.md +++ b/markdown/org/docs/designs/sven/instructions/nl.md @@ -4,7 +4,7 @@ title: "Sven sweatshirt: Naai-instructies" ### Stap 1: Sluit de schoudernaden -- Leg het voorpand op het rugpand met de juiste kanten tegen elkaar. +- Place the back and front on top of each other with the good sides together. - Leg de schoudernaad gelijk, en stik/lock de naad op de standaard naadwaarde. - Herhaal voor de tweede schoudernaad. @@ -38,7 +38,7 @@ title: "Sven sweatshirt: Naai-instructies" - Meet de breedte van de mouw aan de manchet - Knip een stuk boordstof dat (twee keer deze lengte - 2 c/1 inc) is en 7 cm/ 3 inch breed -- Plooi de boordstof dubbel langs de langste kant, en stik de korte uiteindes samen zodat je een ring hebt +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Keer je Sven binnenstebuiten - Plooi de ring van boordstof met de goede kant naar buiten, en stop de geplooide kant in je binnenstebuiten mouw - Leg de onafgewerkte kant van de boordstof gelijk met de rand van de mouw en speld vast. De boorstof is een beetje korter, dus rek ze een beetje uit bij het spelden zodat ze in de mouw past. @@ -51,7 +51,7 @@ title: "Sven sweatshirt: Naai-instructies" - Meet de breedte van Sven aan de zoom - Knip een stuk boordstof dat 1.9 keer deze lengte is en 7 cm/ 3 inch breed - Als je boordstof niet breed genoeg is moet je verschillende stukken aan elkaar zetten -- Plooi de boordstof dubbel langs de langste kant, en stik de korte uiteindes samen zodat je een ring hebt +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Keer je Sven binnenstebuiten - Plooi de boordstof met de goede kant naar buiten, en stop de geplooide kant in je binnenstebuiten trui - Leg de onafgewerkte kant van de boordstof samen met de rand van de zoom en speld vast. De boordstof is een beetje korter, dus rek ze een beetje uit tijdens het spelden om dit verschil te verdelen. From ca7d880e4ae908ef3aea90119b7127156e073eaa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:07 +0100 Subject: [PATCH 0817/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sven/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/nl.md b/markdown/org/docs/designs/sven/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From 1e4300808f6502713b8301a0542344ceec3fdd3e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:14 +0100 Subject: [PATCH 0818/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From fd1929c4a0b18152dbded9c2348b8ecdd52ce1ef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:23 +0100 Subject: [PATCH 0819/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/tamiko/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/nl.md b/markdown/org/docs/designs/tamiko/instructions/nl.md index 15214dcfdf9..dd4aca6bc04 100644 --- a/markdown/org/docs/designs/tamiko/instructions/nl.md +++ b/markdown/org/docs/designs/tamiko/instructions/nl.md @@ -4,7 +4,7 @@ title: "Tamiko top: Naai-instructies" ### Stap 1: werk het armsgat af -![Werk het armsgat af](step03.png) +![Finish the armhole seam](step03.png) - Werk het armsgat af met een smalle zoom. From ef536ef7874240e4c2ca43c146b70286ed01030a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:31 +0100 Subject: [PATCH 0820/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/teagan/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/nl.md b/markdown/org/docs/designs/teagan/instructions/nl.md index aa3c34517e6..ba108eb74fd 100644 --- a/markdown/org/docs/designs/teagan/instructions/nl.md +++ b/markdown/org/docs/designs/teagan/instructions/nl.md @@ -77,7 +77,7 @@ Nu is het tijd om de uiteinden van onze gebreide band aan elkaar te naaien. - Nu de uiteinden van je band aan elkaar zitten, is het tijd om de laatste 6 cm af te werken, door de band uit te rekken en vast te naaien zoals je voor de rest hebt gedaan. -Hoera! Je bent klaar met het lastigste deel! Eventueel kun je de knipranden vastzetten door ze vast te naaien aan de T-shirtstof, net binnen de gebreide band met een sig-zag of coverlocksteek. Dit is niet verplicht, maar het is een detail dat je op veel confectie T-shirts ziet en het kan je nekband helpen plat te liggen. +Hoera! Je bent klaar met het lastigste deel! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. Dit is niet verplicht, maar het is een detail dat je op veel confectie T-shirts ziet en het kan je nekband helpen plat te liggen. ![Naai gebreide band vast](step03i.svg) @@ -85,7 +85,7 @@ Hoera! Je bent klaar met het lastigste deel! Eventueel kun je de knipranden vast -Een uitgebreidere how-to voor gebreid binden kun je vinden in de [Aaron Instuctions](/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From a4a54be0378ea7d8161ea77269653540c55d11fc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:43 +0100 Subject: [PATCH 0821/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/teagan/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/nl.md b/markdown/org/docs/designs/teagan/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From 085907a5d19aaa4ade64d4e5562ba931b6544f7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:42:50 +0100 Subject: [PATCH 0822/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 1d4fe15e22a70ac0e2c37b4411f9e7418ccdbb29 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:43:14 +0100 Subject: [PATCH 0823/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/nl.md b/markdown/org/docs/designs/titan/options/crotchdrop/nl.md index 29f0c06b78f..f4d70e51cad 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/nl.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/nl.md @@ -4,8 +4,8 @@ title: "Diepte kruis" Bepaalt hoeveel het kruis verlaagd is. -Het kruis verlagen zorgt voor een meer casual pasvorm. -Een betekenisvol verlaagde kruis kan ook een keus zijn. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 15575b2ffad19e37496b8938d4dafa68382bd0ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:43:16 +0100 Subject: [PATCH 0824/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/nl.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/nl.md index 0491e4480e5..87a96bd5e43 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/nl.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/nl.md @@ -2,7 +2,7 @@ title: "Buiging kruisnaad" --- -Bepaalt de curve van de kruisnaad, die de pasvorm aan je kruis beïnvloedt. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 20c69651b6bc267da5006236eb4559df9d967148 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:43:33 +0100 Subject: [PATCH 0825/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/wahid/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/wahid/instructions/nl.md b/markdown/org/docs/designs/wahid/instructions/nl.md index 3faaf74f87f..def22d5d8f6 100644 --- a/markdown/org/docs/designs/wahid/instructions/nl.md +++ b/markdown/org/docs/designs/wahid/instructions/nl.md @@ -140,7 +140,7 @@ Keer het zakbeleg naar de achterkant van de stof en strijk plat. ![Strijk de driehoekjes aan de korte kanten plat](05h.png) -Leg je zakbeleg uit de weg om die kleine driehoekjes aan het uiteinde van de zakopening zichtbaar te maken. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Plooi ze terug, en let op dat je zakopening een mooie rechthoek blijft, en strijk ze plat. From accbc6a43749e52403e01334684554c0a77f1897 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:43:54 +0100 Subject: [PATCH 0826/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/walburga/needs/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/nl.md b/markdown/org/docs/designs/walburga/needs/nl.md index 04f19f22970..a4db7289d86 100644 --- a/markdown/org/docs/designs/walburga/needs/nl.md +++ b/markdown/org/docs/designs/walburga/needs/nl.md @@ -6,4 +6,4 @@ Om Walburga te maken heb je het volgende nodig: - [Basis naaimateriaal](/docs/sewing/basic-sewing-supplies) - Ongeveer 1 meter van een geschikte stof (zie [Stofopties](/docs/designs/walburga/fabric)) -- (optioneel) ongeveer 3 meter biaisband of afsnijdsels om de knipranden af te werken +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From feea23f638bcc98ca6af7ae14438012220f21550 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:44:04 +0100 Subject: [PATCH 0827/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/waralee/options/backraise/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/nl.md b/markdown/org/docs/designs/waralee/options/backraise/nl.md index f75abc24425..0ba790fe243 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/nl.md +++ b/markdown/org/docs/designs/waralee/options/backraise/nl.md @@ -2,7 +2,7 @@ title: "Hoogte Rug" --- -Deze instelling legt de taille op de rug. Onze taille zit niet horizontaal, maar ligt aan de rug. Deze set stelt je in staat om dit in de rug te verhogen als je het nodig hebt voor een goede pasvorm. +Deze instelling legt de taille op de rug. Onze taille zit niet horizontaal, maar ligt aan de rug. This setting allows you to raise this in the back if you need it for a good fit. From e0964f0c5c2fc806c1beb9a1f97a430fbd3018b7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:44:14 +0100 Subject: [PATCH 0828/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/nl.md b/markdown/org/docs/designs/waralee/options/waistoverlap/nl.md index 717cb08b62f..a590d3d3171 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/nl.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/nl.md @@ -2,7 +2,7 @@ title: "Overlap Taille" --- -Dit maakt uit hoeveel je wilt dat de broekkleppen overlappen aan de taille. Een instelling van 0 zorgt ervoor dat ze elkaar ontmoeten aan de zijnaad, en een instelling van 100 zorgt ervoor dat ze elkaar ontmoeten aan de voor/achterkant. +This dictates how much you want the leg flaps to overlap at the waist. Een instelling van 0 zorgt ervoor dat ze elkaar ontmoeten aan de zijnaad, en een instelling van 100 zorgt ervoor dat ze elkaar ontmoeten aan de voor/achterkant. From e90ded0ef6db7ab356c50ce725f11eef11ff5c9f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:44:17 +0100 Subject: [PATCH 0829/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/yuri/instructions/nl.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/nl.md b/markdown/org/docs/designs/yuri/instructions/nl.md index d6925781cbb..d3d86fb5c11 100644 --- a/markdown/org/docs/designs/yuri/instructions/nl.md +++ b/markdown/org/docs/designs/yuri/instructions/nl.md @@ -4,24 +4,24 @@ title: "Yuri hoodie: Naai-instructies" -Dit patroon kan met of met een overlocker/overlock worden gestikt. Om _naden af te werken_ zonder een overlocker/serger kun je de methode van je voorkeur gebruiken of een van de onderstaande methoden: +Dit patroon kan met of met een overlocker/overlock worden gestikt. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: -##### Afwerkmethode 1 +##### Finishing Method 1 -- Pers de naadtoeslagen open. +- Press open the seam allowances. - Naai dan aan de goede kant op 3 mm afstand of dichter bij beide kanten van de naad de naadtoeslagen eronder. - Aan de verkeerde kant bijknippen de naadwaarde dicht bij het stikteken. ##### Finishing Method 2 -- Stik de naadtoeslag samen met een ziz-zag, verpletterend of rechte stiksel en strijk aan één kant. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Knip indien nodig op 1 cm (3/8 inch) naadwaarde bij -Als je een overlocker/overlock gebruikt, kun je naden naaien die in één keer fininshing nodig hebben in plaats van de naad conventioneel te naaien en af te werken. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ Op het patroon is de inkeping aan de achterkant gemarkeerd als een kruisinkeping - (Optioneel) Verplaatst de onafgewerkte rand van de mouw. - Strijk de zoomtoeslag naar de verkeerde kant van de stof en drieg op z'n plek dicht bij de onbewerkte rand. - Buiten stik je weg van de geplooide rand, pak de zoomtoeslag onder met het driegen als gids over waar de onafgewerkte rand is. -- (Optioneel) buitenzijde, stik 6mm (1/4 inch) parallel aan de originele stiksel langs de zoomvergoeding. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Driegen verwijderen. @@ -94,8 +94,8 @@ Het is aanbevolen om de **afwerkingsmethode** voor deze stap te gebruiken, ongea - Stik de gepinde rand samen. - Knip de naadwaarde bij op 1 cm (3/8 inch) als de naadwaarde groter is en je niet hebt gebruikt en overlocker/overlocker/overlock hebt. Anders _knip de naad niet_ bij. - Keer de goede kanten van de kap uit en strijk de buitenrand plat. -- Stik langs de rand van de kap, ongeveer 1,5 - 2 cm (5/8 - 3/4 inch) van de rand. Zorg ervoor dat je omstiksel door de naadwaarde van de buitenste rand gaat, maar niet door de naadwaarde gaat. Dit maakt een decoratieve rand met de naadwaarde van de naadwaarde van de naadwaarde een beetje de rand van de rand maakt. -- Met ruwe randen samen, verwierp je de bodem van de kap. Je kunt dit doen met een overlocker/serger of een ritz of een stiksel op een gewone machine. +- Stik langs de rand van de kap, ongeveer 1,5 - 2 cm (5/8 - 3/4 inch) van de rand. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. Dit maakt een decoratieve rand met de naadwaarde van de naadwaarde van de naadwaarde een beetje de rand van de rand maakt. +- Met ruwe randen samen, verwierp je de bodem van de kap. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ Je kan ook een geplooide band maken zodat de nekband geen onbewerkte rand heeft, - Met de goede kanten op elkaar, vanaf de middelste achterpand naar de nek, overeenkomend met de middelste rug en overlap de capuchon aan de middenvoorkant. - Met de goede kant van de nekband aan de voeringkant van de capuchon, speld je de nekband vast aan de capuchon, waarbij je het midden van de nekband aan het midden van de rug speldt. - Als je een overlocker/overlock gebruikt, vervang dan de nek en capuchon samen door alle lagen. -- Wanneer je een naaimachine gebruikt, gebruik dan een zigzagsteek om alle nek en capuchonlagen aan elkaar te naaien. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - Bij de buitencheck om de halslijn om ervoor te zorgen dat alle lagen worden gevangen. - Strijk naadwaarde naar het lichaam. -- Aan de goede kant sierstiksel met een rechte zitplaats ongeveer 1 cm (3/8 inch) van de nekrand naar het lichaam, om de halsband onder te vangen. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Knip de overtollige bies aan de binnenkant bij. -Als je een overlocker/overlock gebruikt om de capuchon te bevestigen die je misschien eerst grote oppervlakken wilt vastmaken met een rechte stiksel als voorpand als overlocker/overlock kan het moeilijk krijgen om deze onderdelen te naaien. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From a6b7a62a423d1ad2751252415bee1d04e64ba5b2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:44:32 +0100 Subject: [PATCH 0830/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapease/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/nl.md b/markdown/org/docs/designs/yuri/options/sleevecapease/nl.md index 366a6891e8b..0083880e1a7 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/nl.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/nl.md @@ -6,7 +6,7 @@ Bepaalt de hoeveelheid extra ruimte in de mouwkop. -De hoeveelheid extra ruimte in de mouwkop bepaalt hoe de mouw over de schouder valt. +De hoeveelheid extra stof in de mouwkop bepaalt hoe de mouw van de schouder rolt. Meer ruimte zorgt voor een ronde mouwkop, zoals je zou zien op een jas. Minder ruimte geeft de mouw een platter aanzicht. Voor lichte stof of knuppels wil je weinig tot geen extra rug. Voor zwaardere geweven stoffen heb je meer stof voor mouwkop nodig. From ba4b4c99f9283f7e2a7002328476098da5520e1c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:44:39 +0100 Subject: [PATCH 0831/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/nl.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/nl.md index c17368ec8c6..a47b1f3ed8b 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/nl.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/nl.md @@ -2,7 +2,7 @@ title: "Mouwkop Q3 opwaardse spreiding" --- -![De opwaartse spreiding in de thrid quadrant van de mouwkop](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Deze optie controleert de opwaartse spreiding in de derde quadrant van de mouwkop. From 80ae2381539fe062e2ae039e5fa540b50efa1268 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:03 +0100 Subject: [PATCH 0832/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/components/workbench/menus/core-settings/nl.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/nl.yaml b/sites/shared/components/workbench/menus/core-settings/nl.yaml index cbe02d849f9..b4fccec07ab 100644 --- a/sites/shared/components/workbench/menus/core-settings/nl.yaml +++ b/sites/shared/components/workbench/menus/core-settings/nl.yaml @@ -31,6 +31,8 @@ fr.t: Frans fr.d: Gebruik dit om een Frans patroon te genereren nl.t: Nederlands nl.d: Gebruik dit om een Nederlands patroon te genereren +uk.t: Oekraïens +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Genereer een compleet patroon From 5be809f490049e3d09ee50c2a4691f097fe3f995 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:23 +0100 Subject: [PATCH 0833/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/nl.md b/markdown/org/docs/designs/aaron/options/bindingwidth/nl.md index f7ac53dd401..bca47ad9a03 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/nl.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/nl.md @@ -2,7 +2,7 @@ title: Bindbreedte --- -Regelt de breedte van de kniw-binding op Aaron. +Controls the width of the knit binding on Aaron. De standaard gebreide bindbreedte is 6 x de naadtoeslag. Voor metrische gebruikers met de standaard naadtoeslag van 1 cm resulteert dit in een gebreide binding van 1,5 cm breed, wat een goede waarde is. @@ -10,5 +10,5 @@ Voor imperial gebruikers (die een standaard naadtoeslag van 0,5" hebben) of gebr -Deze optie wordt uitgedrukt in procenten van de naadtoeslag. Dus de standaard s600%, of 6 keer de naadtoeslag,. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From 59ce7f21c02bab158319b0ac9d407d7c83491928 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:26 +0100 Subject: [PATCH 0834/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/aaron/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/nl.md b/markdown/org/docs/designs/aaron/notes/nl.md index 5b704165570..2ab19e753c6 100644 --- a/markdown/org/docs/designs/aaron/notes/nl.md +++ b/markdown/org/docs/designs/aaron/notes/nl.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt: Opmerkingen van de ontwerper" --- -Aaron is -- zoals de meeste patronen die ik ontwerp -- geboren uit onnodigheid. I needed a A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. @@ -10,7 +10,7 @@ Op zichzelf is het een tamelijk eenvoudig ontwerp. It extends [the Brian block]( Er zijn een paar dingen die *speciaal* zijn over Aaron, FreeSewing trivia als je wilt: -- Aaron is waar ik ontwerpers naar verwijs als ze vragen hebben over hoe ze iets moeten doen. Het is altijd de eerste in de lijst (omdat het begint met een dubbele A), altijd de eerste die nieuwe functies krijgt, gemigreerd wordt naar een nieuwe versie, enzovoort. Aaron is een soort kanarieontwerp van FreeSerwing. Alles wat er gebeurt, gebeurt eerst met Aaron. +- Aaron is waar ik ontwerpers naar verwijs als ze vragen hebben over hoe ze iets moeten doen. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Alles wat er gebeurt, gebeurt eerst met Aaron. - Ik heb dit ontwerp `aaron` genoemd ter nagedachtenis aan [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Rust in vrede broeder. joost From ec383fbe6fe9946b03509d3831001291fec4cdf2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:28 +0100 Subject: [PATCH 0835/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bee/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/nl.md b/markdown/org/docs/designs/bee/notes/nl.md index db4ace9f17a..d7e70c152b0 100644 --- a/markdown/org/docs/designs/bee/notes/nl.md +++ b/markdown/org/docs/designs/bee/notes/nl.md @@ -2,7 +2,7 @@ title: "Bikinitopje Bee: Designer Notities" --- -Ik heb Bee samen met Prudencerabbit gemaakt, omdat ze een badmodepatroon wilden maken dat samenging met een eerder freeswingpatroon. Het is gebaseerd op een kledingstuk dat ze hebben gemaakt en beschikbaar wilden maken voor andere mensen om ook te maken. We werkten met FreeSewing's body block Bella als basis en zetten het om in een single dart block om de bovenkant te maken. Tijdens het testen van het patroon maakte een van onze medewerkers, TangerineShark, een variant met gekruiste rugbanden die we zo cool vonden dat we hem hebben toegevoegd aan Bee! Je kunt deze variatie krijgen door [optie Cross Back Ties](/docs/designs/bee/options/crossbackties/)te gebruiken. Bee kan ook omkeerbaar worden gemaakt met de opties [Omkeerbaar](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). Nu het vorige patroon uit de handel is, kun je [Uma](docs/designs/uma) gebruiken om een bijpassend bikinibroekje te maken. +Ik heb Bee samen met Prudencerabbit gemaakt, omdat ze een badmodepatroon wilden maken dat samenging met een eerder freeswingpatroon. Het is gebaseerd op een kledingstuk dat ze hebben gemaakt en beschikbaar wilden maken voor andere mensen om ook te maken. We werkten met FreeSewing's body block Bella als basis en zetten het om in een single dart block om de bovenkant te maken. During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! Je kunt deze variatie krijgen door [optie Cross Back Ties](/docs/designs/bee/options/crossbackties/)te gebruiken. Bee kan ook omkeerbaar worden gemaakt met de opties [Omkeerbaar](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). Nu het vorige patroon uit de handel is, kun je [Uma](docs/designs/uma) gebruiken om een bijpassend bikinibroekje te maken. _ From e226b20ae07c359a128cd0cbdefa2996f15afc6b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:29 +0100 Subject: [PATCH 0836/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bella/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/nl.md b/markdown/org/docs/designs/bella/notes/nl.md index cdcdd1714d8..ea58907d176 100644 --- a/markdown/org/docs/designs/bella/notes/nl.md +++ b/markdown/org/docs/designs/bella/notes/nl.md @@ -4,9 +4,9 @@ title: "Bella lichaam blok: Ontwerpnotities" Dit blok was een samenwerking tussen mijzelf en een insider uit de industrie die vanwege haar beroep liever anoniem blijft. -Het is de parametrische versie van een basisblok voor damesmode dat in de industrie in Italië wordt gebruikt om damesmode te ontwerpen. Maar hoewel het blok zich aanpast aan jouw maten, is het originele blok waarop het is gebaseerd eigenlijk niet geschikt voor een heel breed matenbereik. +Het is de parametrische versie van een basisblok voor damesmode dat in de industrie in Italië wordt gebruikt om damesmode te ontwerpen. However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -Het kan dus heel goed uitpakken, vooral als je verder staat dan het soort magere dames waar Italianen vaak voor ontwerpen. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). From 7d68e2dc4e158d5973c1f44cffbd60c30a9b6fe6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:30 +0100 Subject: [PATCH 0837/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/benjamin/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/nl.md b/markdown/org/docs/designs/benjamin/notes/nl.md index 77782108a69..2cf6f064391 100644 --- a/markdown/org/docs/designs/benjamin/notes/nl.md +++ b/markdown/org/docs/designs/benjamin/notes/nl.md @@ -4,7 +4,7 @@ title: "Benjamin vlinderdas: Designer Notities" Benjamin is het eerste ontwerp dat ik ooit voor FreeSewing heb gemaakt. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. Dit leek me iets wat ik kon ondernemen. Since I had no experience with making patterns, my first attempt should be a simple one. Op de site stond al een patroon voor een stropdas, maar toch geef ik de voorkeur aan vlinderdassen. Dus dat zou iets zijn wat ik zou kunnen bijdragen. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. Deze zijn verkrijgbaar in speciaalzaken en online. From bd850e3d6cd9a91654bf7df9cb3ef2a43f171a25 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:33 +0100 Subject: [PATCH 0838/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/brian/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/notes/nl.md b/markdown/org/docs/designs/brian/notes/nl.md index d5be7addf96..b932c37a4b6 100644 --- a/markdown/org/docs/designs/brian/notes/nl.md +++ b/markdown/org/docs/designs/brian/notes/nl.md @@ -4,7 +4,7 @@ title: "Brian lichaam blok: Opmerkingen ontwerper" Brian is het basisblok van FreeSewing voor herenkleding. Het vormt de basis voor veel van onze ontwerpen en doet dat al vele jaren. -It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and foward on both collar and shoulder side, as well as a highly configureable sleevecap. +It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and forward on both collar and shoulder side, as well as a highly configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. Het is gewoon recht naar beneden vanaf de borst. No fitting of the waist whatsoever. From ebd98961bfcd926d9702f87df8fe44c6b646e75a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:35 +0100 Subject: [PATCH 0839/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/carlton/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/notes/nl.md b/markdown/org/docs/designs/carlton/notes/nl.md index f6894efaec8..441cd00d4dd 100644 --- a/markdown/org/docs/designs/carlton/notes/nl.md +++ b/markdown/org/docs/designs/carlton/notes/nl.md @@ -2,7 +2,7 @@ title: "Carlton jas: Designer Notities" --- -Carlon is the reverse-engineerd version of the coat worn by benedict cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). +Carlon is the reverse-engineered version of the coat worn by Benedict Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and pictures we found on the internet. From 96356cd6368078c2b29a191c884ae1f51d523563 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:36 +0100 Subject: [PATCH 0840/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/cathrin/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/nl.md b/markdown/org/docs/designs/cathrin/notes/nl.md index 3ebadaecacd..db03ac30bdb 100644 --- a/markdown/org/docs/designs/cathrin/notes/nl.md +++ b/markdown/org/docs/designs/cathrin/notes/nl.md @@ -6,7 +6,7 @@ Cathrin is een neveneffect van een project dat nooit ergens toe heeft geleid. Ik ging een uitgebreide jurk maken en ik had een korset nodig voor eronder. So I did some research online, and I found [this tutorial by Cathrin Åhlén](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/) on drafting an underbust corset. -So, I essentially implemented those instructions in code, and the rest is history as the original project got abaondoned. +So, I essentially implemented those instructions in code, and the rest is history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From af2f615b0e91e8902d467b5173e71ffb4cc6e4a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:37 +0100 Subject: [PATCH 0841/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/charlie/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/nl.md b/markdown/org/docs/designs/charlie/notes/nl.md index 4e03e848cfc..64982e403ec 100644 --- a/markdown/org/docs/designs/charlie/notes/nl.md +++ b/markdown/org/docs/designs/charlie/notes/nl.md @@ -8,7 +8,7 @@ Het duurde even omdat het lang duurde voordat [Titan](/designs/titan) in een sta This is for the most part a rather straight-forward chino pattern, but it has one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. -Het is een beetje ongewoon en creatief ontwerp dat ik denk ik heb gedaan omdat ik het kan? Anyway, it's something to be mind ful of because if you do not expect it the front panels look a bit weird. +Het is een beetje ongewoon en creatief ontwerp dat ik denk ik heb gedaan omdat ik het kan? Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost From 874963c3b8dce6fafbcc7b0fffcc580283017edf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:40 +0100 Subject: [PATCH 0842/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/florence/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/nl.md b/markdown/org/docs/designs/florence/notes/nl.md index 665e8992300..3a7d34bc754 100644 --- a/markdown/org/docs/designs/florence/notes/nl.md +++ b/markdown/org/docs/designs/florence/notes/nl.md @@ -4,7 +4,7 @@ title: "Gezichtsmasker Florence: Opmerkingen van de ontwerper" When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. -So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hostpital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. +So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. As a result, this simple design probably did more to let people know FreeSewing exists than any other thing I've ever done. Which is something I try not to think about too much. From cf01f6ac5a3750ed21532587d4dc50a598a4ed9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:41 +0100 Subject: [PATCH 0843/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hi/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/nl.md b/markdown/org/docs/designs/hi/notes/nl.md index ac6c8372ae0..d501cb542f3 100644 --- a/markdown/org/docs/designs/hi/notes/nl.md +++ b/markdown/org/docs/designs/hi/notes/nl.md @@ -8,9 +8,9 @@ A while ago rumours started swirling that IKEA would discontinue it's Blåhaj st Het bleek dat niemand in de gemeenschap ooit een Blåhaj uit elkaar had gehaald en niemand had de moed om dat te doen. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -Dit leek me een geweldig project om aan te werken en het ontbreken van een Blåhaj was geen onoverkomelijk obstakel. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +Dit leek me een geweldig project om aan te werken en het ontbreken van een Blåhaj was geen onoverkomelijk obstakel. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -Hij kan op en neer worden geschaald tussen 50 cm en 5 meter. Er is dus een haai voor iedereen. +It can be scaled up and down between 50 cm and 5 meter. Er is dus een haai voor iedereen. From 0984a9197bc06818534d1c0dd101f43eedac0a37 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:46 +0100 Subject: [PATCH 0844/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lucy/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/nl.md b/markdown/org/docs/designs/lucy/notes/nl.md index 4fc78e09f9d..d90eefc3bff 100644 --- a/markdown/org/docs/designs/lucy/notes/nl.md +++ b/markdown/org/docs/designs/lucy/notes/nl.md @@ -2,4 +2,4 @@ title: "Lucy opgestikte zak: Ontwerpnotities" --- -Dit is een 18e eeuws zakpatroon gebaseerd op de hangende zak in Patterns of Fashion 1 pp. 73. Ik heb het gemaakt zodat mensen een historisch zakpatroon kunnen hebben dat gemakkelijk verstelbaar is. Ik zou graag zien dat historische patronen en hulpmiddelen toegankelijker worden voor mensen, zodat de documentatie wat historische context heeft en suggesties voor historisch accurate manieren om het te maken, maar het is net zo geweldig om mensen wilde moderne versies te zien maken. +Dit is een 18e eeuws zakpatroon gebaseerd op de hangende zak in Patterns of Fashion 1 pp. 73. Ik heb het gemaakt zodat mensen een historisch zakpatroon kunnen hebben dat gemakkelijk verstelbaar is. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From 1f51b407c18b337331f720feb9351f435a87ddb2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:47 +0100 Subject: [PATCH 0845/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lunetius/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/nl.md b/markdown/org/docs/designs/lunetius/notes/nl.md index 83cb5d10f76..238cdb1a39f 100644 --- a/markdown/org/docs/designs/lunetius/notes/nl.md +++ b/markdown/org/docs/designs/lunetius/notes/nl.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna: Opmerkingen van de ontwerper" --- -Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Not that this means that they can't be made separately ;) Lunetius de lacerna is het patroon dat de meeste naamsveranderingen en iteraties heeft gehad achter de schermen. Waarom? Omdat ik tegenstrijdige informatie vond in secundaire literatuur over hoe dit type mantel genoemd werd en wie het wanneer droeg. From 95b6b283f207f7e06ffc3b344d5f87bb822dee0d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:48 +0100 Subject: [PATCH 0846/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/noble/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/nl.md b/markdown/org/docs/designs/noble/notes/nl.md index 1e61f49ffd8..8f31e157d10 100644 --- a/markdown/org/docs/designs/noble/notes/nl.md +++ b/markdown/org/docs/designs/noble/notes/nl.md @@ -4,7 +4,7 @@ title: "Edel lijfblok: Opmerkingen ontwerper" Noble is een ontwerp voor een blok met prins(es) naden in plaats van darts. Het is gebaseerd op `bella`. -Dit is niet bedoeld om zo te maken, maar alleen om andere ontwerpen op te baseren. This is also why I made it. Ik wilde een jas maken en daarvoor had ik een blok nodig met prins(es) naden. So I made that first, and the coat would come later. +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. Ik wilde een jas maken en daarvoor had ik een blok nodig met prins(es) naden. So I made that first, and the coat would come later. Wouter From 056db827c25835442a180f9e6f7a414d0378a4c6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:49 +0100 Subject: [PATCH 0847/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/octoplushy/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/nl.md b/markdown/org/docs/designs/octoplushy/notes/nl.md index fd66fd83a72..9e909f50afb 100644 --- a/markdown/org/docs/designs/octoplushy/notes/nl.md +++ b/markdown/org/docs/designs/octoplushy/notes/nl.md @@ -2,7 +2,7 @@ title: "Octoplushy, de pluchen octopus: Ontwerpnotities" --- -Octoplushy. Dit is een van die ontwerpen die geen uitleg nodig hebben. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Waar dat vandaan kwam, weet ik niet. But with that name, I could not ignore what I was apparently destined to work on next. +Octoplushy. Dit is een van die ontwerpen die geen uitleg nodig hebben. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Waar dat vandaan kwam, weet ik niet. But with that name, I could not ignore what I was apparently destined to work on next. Een knuffel octopus. Met een schattige naam. Het moest iets heel knuffeligs worden. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. Het is prima gelukt. From 81a4fb5f67f1b6bbe30a8e4fa804847f7e811e72 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:50 +0100 Subject: [PATCH 0848/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/penelope/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/nl.md b/markdown/org/docs/designs/penelope/notes/nl.md index 2a2969de1f1..c7eadf0430c 100644 --- a/markdown/org/docs/designs/penelope/notes/nl.md +++ b/markdown/org/docs/designs/penelope/notes/nl.md @@ -2,11 +2,11 @@ title: "Penelope kokerrok: Ontwerpnotities" --- -Penelope is het eerste kledingstuk dat ik voor iemand anders heb gemaakt. I just met my partner after figuring out that I like to sew. Dus natuurlijk wilde ik iets voor haar naaien. A pencil skirt seemed like the apropriate thing to do. Ik vond online een tekenmethode en maakte een rok voor haar. This fitted remarkably well. +Penelope is het eerste kledingstuk dat ik voor iemand anders heb gemaakt. I just met my partner after figuring out that I like to sew. Dus natuurlijk wilde ik iets voor haar naaien. A pencil skirt seemed like the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. -The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (whic I would recommend). +The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (which I would recommend). Wouter From 7567530deecf481f7b29e502e9882216d40fd912 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:53 +0100 Subject: [PATCH 0849/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/simone/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/nl.md b/markdown/org/docs/designs/simone/notes/nl.md index 88e83f1c5a9..7a137d2c34a 100644 --- a/markdown/org/docs/designs/simone/notes/nl.md +++ b/markdown/org/docs/designs/simone/notes/nl.md @@ -2,7 +2,7 @@ title: "Simone overhemd: Designer Notes" --- -Simone is in wezen [Simon](/designs/simon) met een volledige borstaanpassing. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt design, but anyone can choose Simone for a more female-presenting look due to the bust dart. From d36ab9b1d2eed6fb2c6df2fad69c9f07cd8b71fd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:56 +0100 Subject: [PATCH 0850/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/tiberius/notes/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/nl.md b/markdown/org/docs/designs/tiberius/notes/nl.md index 4c02371f513..4b77414afcc 100644 --- a/markdown/org/docs/designs/tiberius/notes/nl.md +++ b/markdown/org/docs/designs/tiberius/notes/nl.md @@ -2,9 +2,9 @@ title: "Tiberius Tunica: Ontwerpnotities" --- -Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Not that this means that they can't be made separately ;) -Tiberius was de eerste van het stel, en ook de eenvoudigste: een eenvoudige, mooie *tunica*, geïnspireerd op de tunieken die de Romeinen droegen in de late republiek, het vroege keizerrijk (ik kan je vertellen dat ik heel wat bronnen heb gelezen en foto's van beelden en reliëfs heb bekeken om erachter te komen "hoe lang moet hij zijn?"). Dit was een kledingstuk dat ik wilde maken als onderdeel van een kostuum voor mijn TTRPG (een tafelblad rollenspel) personage, die fantasieachtig Romeins is. Tijdens het opschrijven van mijn afmetingen om de *tunica* te maken, realiseerde ik me dat dit zo'n eenvoudig parametrisch ontwerp was dat het voor mij een manier kon zijn om het programmeerdeel van FreeSewing uit te proberen. En dat deed ik dus. Ook al is het "maar" een rechthoek, toch heb ik geprobeerd er achter de schermen wat dingen in te stoppen (naden?), wat faalchecks om ervoor te zorgen dat het een draagbaar kledingstuk oplevert. Omdat het maar een rechthoek is, is er niet veel speelruimte voor de pasvorm, waardoor het lekker makkelijk is, maar ook een uitdaging als je een bepaalde look wilt bereiken (de lengte van de ogenschijnlijke "mouwen", bijvoorbeeld). Een enigszins verborgen functie is de mogelijkheid om positiemarkeringen toe te voegen voor *clavi*, kleurstroken op de *tunica* om rang en/of klasse aan te geven. Heel fascinerend, +Tiberius was de eerste van het stel, en ook de eenvoudigste: een eenvoudige, mooie *tunica*, geïnspireerd op de tunieken die de Romeinen droegen in de late republiek, het vroege keizerrijk (ik kan je vertellen dat ik heel wat bronnen heb gelezen en foto's van beelden en reliëfs heb bekeken om erachter te komen "hoe lang moet hij zijn?"). Dit was een kledingstuk dat ik wilde maken als onderdeel van een kostuum voor mijn TTRPG (een tafelblad rollenspel) personage, die fantasieachtig Romeins is. Tijdens het opschrijven van mijn afmetingen om de *tunica* te maken, realiseerde ik me dat dit zo'n eenvoudig parametrisch ontwerp was dat het voor mij een manier kon zijn om het programmeerdeel van FreeSewing uit te proberen. En dat deed ik dus. Ook al is het "maar" een rechthoek, toch heb ik geprobeerd er achter de schermen wat dingen in te stoppen (naden?), wat faalchecks om ervoor te zorgen dat het een draagbaar kledingstuk oplevert. Omdat het maar een rechthoek is, is er niet veel speelruimte voor de pasvorm, waardoor het lekker makkelijk is, maar ook een uitdaging als je een bepaalde look wilt bereiken (de lengte van de ogenschijnlijke "mouwen", bijvoorbeeld). One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Heel fascinerend, De naam is trouwens ontleend aan James T. Kirk, die gelukkig ouders had die blijkbaar van een aantal discutabele Romeinse keizers hielden. From a01639294b979bf8a78b74992d31854a253bce50 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:57 +0100 Subject: [PATCH 0851/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/titan/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/nl.md b/markdown/org/docs/designs/titan/notes/nl.md index ed4727fb02d..69542032a40 100644 --- a/markdown/org/docs/designs/titan/notes/nl.md +++ b/markdown/org/docs/designs/titan/notes/nl.md @@ -4,7 +4,7 @@ title: "Titan broekenblok: Ontwerpnotities" I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. -I had started on this a couple of times on my own, but for various reasons was never happy and abondoned the effort more than once. +I had started on this a couple of times on my own, but for various reasons was never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From 72498e7c932d975c6c0ad9c3a7b7b696c2528870 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:49:59 +0100 Subject: [PATCH 0852/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/uma/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/nl.md b/markdown/org/docs/designs/uma/notes/nl.md index ed1a609f81a..55891879c6d 100644 --- a/markdown/org/docs/designs/uma/notes/nl.md +++ b/markdown/org/docs/designs/uma/notes/nl.md @@ -6,7 +6,7 @@ This design is inspired by an earlier design (Ursula) which was created by my fr In the run-up to the v3 release, we discussed the migration of the various designs, and it became clear that for reasons (gestures vaguely towards people on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. -Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also mase some changes that people had been asking for, such as the bulge option to make it gender-neutral. +Since it's a rather nice design not to mention a popular one, we agreed that I would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Lang verhaal kort: From 59955d4c84cdd5ac462f6d6445f8894364ad54be Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:50:01 +0100 Subject: [PATCH 0853/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/walburga/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/nl.md b/markdown/org/docs/designs/walburga/notes/nl.md index 83c9a2f2c3a..88f5f4b5e53 100644 --- a/markdown/org/docs/designs/walburga/notes/nl.md +++ b/markdown/org/docs/designs/walburga/notes/nl.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock: Ontwerpers" --- -Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Niet dat dit betekent dat ze niet apart gemaakt kunnen worden ;) +Lunetius, Tiberius en Walburga komen eigenlijk als een set. Niet alleen zijn ze op hetzelfde moment geboren, maar zijn ze ook ontworpen om samen een volledige outfit te vormen. Not that this means that they can't be made separately ;) Walburga is de vreemde van de drie patronen, omdat het nog steeds "historisch geïnspireerd" is, maar eigenlijk geen echt historisch kledingstuk volgt. Het is gebaseerd op tabbaarden ("Wappenrock" in het Duits, vandaar de naam die met een W begint), met de hand geplaatst in een West-Europese setting uit de Middeleeuwen. Eerlijk gezegd is het meer geïnspireerd op de Legend of Zelda dan op iets echts. From aeb20add97e23a48adb02934833ad79a207e0729 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:50:02 +0100 Subject: [PATCH 0854/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/waralee/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/nl.md b/markdown/org/docs/designs/waralee/notes/nl.md index 3f99b8c373e..c3981aea6ce 100644 --- a/markdown/org/docs/designs/waralee/notes/nl.md +++ b/markdown/org/docs/designs/waralee/notes/nl.md @@ -6,7 +6,7 @@ Waralee is one of those designs that you just make because it's easy, and you fe De constructie is eenvoudig als je hem zonder zakken maakt. And with them, it's still not that hard for a practiced sewist. -Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. +Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. Deze wikkelbroek is heerlijk bij warm weer, vooral als hij gemaakt is van linnen. From 91c0d240bde2d14b7a879155f4c34f15c62734a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:50:04 +0100 Subject: [PATCH 0855/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/uma/cutting/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/nl.md b/markdown/org/docs/designs/uma/cutting/nl.md index cd78b74971b..1fc6987b0b8 100644 --- a/markdown/org/docs/designs/uma/cutting/nl.md +++ b/markdown/org/docs/designs/uma/cutting/nl.md @@ -2,7 +2,7 @@ title: "Ursula onderbroek: Knip instructies" --- -Uma bestaat meestal uit een voorkant, een achterkant en een gevoerd kruisje. In die constellatie is dit de cutlist: +Uma bestaat meestal uit een voorkant, een achterkant en een gevoerd kruisje. In that constellation, this is the cut list: - **Buitenstof** - Knip **1 voorpand** From 30df95acdfa2add042a895885852c69d5ce6398c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:50:13 +0100 Subject: [PATCH 0856/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/nl.md b/markdown/org/docs/designs/teagan/options/fitwaist/nl.md index e41af42226b..23f1a9fab74 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/nl.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/nl.md @@ -4,7 +4,7 @@ title: "Pas de taille" Schakel deze optie in om de taille van je Teagan aan te passen, in plaats van een recht T-shirt te ontwerpen. -Dit geeft de beste resultaten voor mensen met een smallere taille die op zoek zijn naar een meer zandloper getailleerd T-shirt. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. Deze optie kan ook worden gebruikt als de tailleomvang groter is dan de heupomvang, maar dit resulteert in een niet-standaard T-shirtvorm die misschien niet kan worden aangetrokken. From 643b45f7dfae2978d66117d68e23824471e64d08 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:50:44 +0100 Subject: [PATCH 0857/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/nl.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/nl.md b/markdown/org/docs/about/site/draft/core-settings/locale/nl.md index c16e14ac0f3..a5d95702995 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/nl.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/nl.md @@ -11,6 +11,7 @@ FreeSewing ondersteunt momenteel de volgende talen: - Frans - Duits - Nederlands +- Oekraïens You can pick any of these and your pattern will be translated in this language. From 45d6c3c15f27217bc1572645a253b23d6a9510f3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:51:26 +0100 Subject: [PATCH 0858/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/shelly/instructions/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/nl.md b/markdown/org/docs/designs/shelly/instructions/nl.md index ea7e5abf37c..f60cc733189 100644 --- a/markdown/org/docs/designs/shelly/instructions/nl.md +++ b/markdown/org/docs/designs/shelly/instructions/nl.md @@ -4,13 +4,13 @@ title: "Shelly overhemd: Naai-instructies" -Het gebruik van een overlockvoet wordt aanbevolen om de naden klein te houden. Als je een overlockmachine gebruikt, wordt een naadtoeslag van 12 mm aanbevolen. Bij gebruik van een overlockvoet op een naaimachine of bij overlocken zonder het mes te gebruiken, wordt een naadtoeslag van 6 mm aanbevolen. +Het gebruik van een overlockvoet wordt aanbevolen om de naden klein te houden. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. Bij gebruik van een overlockvoet op een naaimachine of bij overlocken zonder het mes te gebruiken, wordt een naadtoeslag van 6 mm aanbevolen. Alle naden, inclusief de nekband, kunnen met dezelfde steek worden gedaan, of het nu een overlocksteek, een overlocksteek of een rekbare steek is. Zomen zijn optioneel (omdat breiwerk niet rafelt), maar als je zomen maakt, zorg er dan voor dat ze kunnen rekken. -Zorg ervoor dat je een steek gebruikt die kan rekken. Als je elastische stof naait, pas dan je spanning aan voor extra rek. Op een overlockmachine betekent dit meestal het verlagen van de naaldspanning, vooral van de rechternaald, en het aanpassen van de grijperspanning als dat nodig is om de steek er netjes uit te laten zien. Verlaag de spanning op een gewone naaimachine. Test je steekkeuze eerst op reststof en probeer de testnaad te vormen door de naad over de lengte uit te rekken. Het zou pas moeten knappen na flink uitrekken. Als het te gemakkelijk knalt, blijf dan spelen met je steken/spanningsinstellingen tot je iets krijgt dat wel tegen een stootje kan. +Zorg ervoor dat je een steek gebruikt die kan rekken. Als je elastische stof naait, pas dan je spanning aan voor extra rek. Op een overlockmachine betekent dit meestal het verlagen van de naaldspanning, vooral van de rechternaald, en het aanpassen van de grijperspanning als dat nodig is om de steek er netjes uit te laten zien. Verlaag de spanning op een gewone naaimachine. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. Het zou pas moeten knappen na flink uitrekken. Als het te gemakkelijk knalt, blijf dan spelen met je steken/spanningsinstellingen tot je iets krijgt dat wel tegen een stootje kan. Voor het maken van t-shirts of andere shirts met 2-weg stretch, zijn gewone instellingen met een steek die rekt prima. @@ -103,4 +103,4 @@ Voor het maken van t-shirts of andere shirts met 2-weg stretch, zijn gewone inst ### Stap 5: Geniet van je nieuwe shirt! -- Het is tijd om met je nieuwe shirt te gaan zwemmen, of om ermee te pronken op het strand! \ No newline at end of file +- Het is tijd om met je nieuwe shirt te gaan zwemmen, of om ermee te pronken op het strand! From c96929ebcd2c69232bd62932e143c733eb20a8f3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:51:47 +0100 Subject: [PATCH 0859/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/skully/fabric/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/nl.md b/markdown/org/docs/designs/skully/fabric/nl.md index d0041f43dd3..73776890e3a 100644 --- a/markdown/org/docs/designs/skully/fabric/nl.md +++ b/markdown/org/docs/designs/skully/fabric/nl.md @@ -8,7 +8,7 @@ Deze pluche knuffel kun je het beste maken van een vilten soort stof. This will ## Haar -Skully heeft haar nodig. Embrodery garen werkt heel goed en is verkrijgbaar in alle kleuren. +Skully heeft haar nodig. Embroidery floss works very well, and can be had in all colors. ## Vulling @@ -16,4 +16,4 @@ Since this is a pluch toy, it wil need to be stuffed with material. Meestal wil ## Naald -Skully heeft zijn zwaard ingeruild voor een naald. Een naald van deze grootte wordt meestal verkocht als meubelnaalden. Dit komt van pas bij het retoucheren aan het einde van de bouw. \ No newline at end of file +Skully heeft zijn zwaard ingeruild voor een naald. Een naald van deze grootte wordt meestal verkocht als meubelnaalden. Dit komt van pas bij het retoucheren aan het einde van de bouw. From 2d01e8c37835d4b3c012f21deb9faf0cf4555c26 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:51:48 +0100 Subject: [PATCH 0860/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/skully/instructions/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/nl.md b/markdown/org/docs/designs/skully/instructions/nl.md index 6abf68c0255..bbda7a2e40f 100644 --- a/markdown/org/docs/designs/skully/instructions/nl.md +++ b/markdown/org/docs/designs/skully/instructions/nl.md @@ -90,12 +90,12 @@ Turn it right sides out. ## Stap 5: Haar -Nu is het tijd om haar toe te voegen aan skully. Als je het borduurgaren erin doet, zorg er dan voor dat je knopen aan de binnenkant maakt, anders is het heel gemakkelijk om Skully's haar er later uit te trekken. +Now is the time to add hair to Skully. Als je het borduurgaren erin doet, zorg er dan voor dat je knopen aan de binnenkant maakt, anders is het heel gemakkelijk om Skully's haar er later uit te trekken. ## Stap 6: Vullen - Fill the plush toy with stuffing through the opening you left, making sure to fill all the parts well. De gebieden aan de voorkant zijn het moeilijkst te bereiken. -- _Slipsticth_ of _zweepsteek_ de opening dicht. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Stap 7: Tweaks @@ -105,4 +105,4 @@ Het is ook een goed idee om steken toe te voegen tussen naden 5 en 14, over de l ## Stap 7: Geniet! -Dat is het, je bent helemaal klaar. Begin alvast te plannen aan welk piratennaaischip jij gaat deelnemen! \ No newline at end of file +Dat is het, je bent helemaal klaar. Begin alvast te plannen aan welk piratennaaischip jij gaat deelnemen! From 652aa248fa00cce92b324a963af03fe3d50635ac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:51:53 +0100 Subject: [PATCH 0861/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/skully/options/size/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/options/size/nl.md b/markdown/org/docs/designs/skully/options/size/nl.md index 71d56d325a3..6979bb0385b 100644 --- a/markdown/org/docs/designs/skully/options/size/nl.md +++ b/markdown/org/docs/designs/skully/options/size/nl.md @@ -4,4 +4,4 @@ title: "Maat" Skully kan in verschillende maten worden gemaakt. De standaardwaarde is ongeveer 75% van een normaal menselijk hoofd (ongeveer 16 cm hoog). -If you set the percentage to 100%, and you enter your own head measurwement, Skully will be approximately the size of your head. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will be approximately the size of your head. From 3dbc8e08056d28e522682ec1be2e9b7c79afacee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:52:18 +0100 Subject: [PATCH 0862/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/onyx/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/nl.md b/markdown/org/docs/designs/onyx/instructions/nl.md index b8ca997a206..2a523ca23be 100644 --- a/markdown/org/docs/designs/onyx/instructions/nl.md +++ b/markdown/org/docs/designs/onyx/instructions/nl.md @@ -4,9 +4,9 @@ title: "Onyx uit één stuk: Naai-instructies" -Het gebruik van een overlockmachine wordt aanbevolen om de naden klein te houden en de naden te laten rekken. Als je een overlockmachine gebruikt met het mes ingeschakeld, wordt een naadtoeslag van 12 mm aanbevolen. Bij gebruik van een overlockvoet op een naaimachine of bij overlocken zonder het mes te gebruiken, wordt een naadtoeslag van 6 mm aanbevolen. +Het gebruik van een overlockmachine wordt aanbevolen om de naden klein te houden en de naden te laten rekken. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. Bij gebruik van een overlockvoet op een naaimachine of bij overlocken zonder het mes te gebruiken, wordt een naadtoeslag van 6 mm aanbevolen. -Gebruik, tenzij anders vermeld, stretchstomen voor de constructie van dit kledingstuk. Een 4-draads overlocksteek wordt aanbevolen, of een overlockvoet op een naaimachine als je geen overlockmachine hebt. +Unless otherwise stated, use stretch steams for construction of this garment. Een 4-draads overlocksteek wordt aanbevolen, of een overlockvoet op een naaimachine als je geen overlockmachine hebt. Zomen of manchetten zijn optioneel (omdat breiwerk niet rafelt), maar als je zomen maakt of manchetten toevoegt, zorg er dan voor dat ze kunnen rekken. Deze instructies beschrijven hoe je een enkelvoudige zoom maakt met een dubbele naald, die geschikt is voor badmode of lichtgewicht kledingstukken, en hoe je een ribgebreide boord maakt, die geschikt is voor fleece pyjama's of kigurumi's. From 9345a2db306a6c63298cd72331fccc90d1a2be46 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:52:54 +0100 Subject: [PATCH 0863/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/onyx/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/nl.md b/markdown/org/docs/designs/onyx/notes/nl.md index 73a9f134118..f8fcacce264 100644 --- a/markdown/org/docs/designs/onyx/notes/nl.md +++ b/markdown/org/docs/designs/onyx/notes/nl.md @@ -10,7 +10,7 @@ De rok is toegevoegd voor bescheidenheid, voornamelijk voor de zwemkleding, maar Onyx kopieert een aantal kenmerken van Shelly, zoals raglanmouwen voor mobiliteit en het gebruik van symmetrische voor- en achterkant, behalve de nek en het hoofd. -Onyx is vernoemd naar de edelsteen en zijn diepzwarte kleur, die niet toevallig een geweldige basiskleur is voor Onyx zwempakken, vooral als je wilt dat ze eruit zien als een wetsuit. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. Een stukje geschiedenis: Onyx was misschien nooit geboren als er geen anti-LGBTQ+ protesten en boycots waren geweest in het voorjaar van 2023, waardoor een unisuit dat ik erg leuk vond uit de schappen van een grote Amerikaanse winkel werd gehaald en ik een geschikte vervanging nodig had. From 2b9fefe30fd5acec235e0edf3e3c073f694f5659 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:53:09 +0100 Subject: [PATCH 0864/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/instructions/nl.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/nl.md b/markdown/org/docs/designs/lumira/instructions/nl.md index 3e32fe1fb7d..3f89e90e975 100644 --- a/markdown/org/docs/designs/lumira/instructions/nl.md +++ b/markdown/org/docs/designs/lumira/instructions/nl.md @@ -1,6 +1,6 @@ ---- -title: "Lumira leggings: Naai instructies" ---- +\-- +title: "Lumira leggings: Sewing Instructions" +--------------------------------------------- @@ -58,4 +58,4 @@ op de juiste plek te naaien. Nu kan je het elastiek aan de beenopeningen toevoegen. Of maak ze af zoals jij wilt. -Je bent allemaal klaar! Veel plezier met je Lumina leggings! +Je bent allemaal klaar! Enjoy your Lumira leggings! From 449c50e4abe6602d67da8474fa4b173f2b6aa2c3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:53:14 +0100 Subject: [PATCH 0865/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/lumira/options/ease/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/nl.md b/markdown/org/docs/designs/lumira/options/ease/nl.md index 5ef9e8a7dda..ddda690a9ba 100644 --- a/markdown/org/docs/designs/lumira/options/ease/nl.md +++ b/markdown/org/docs/designs/lumira/options/ease/nl.md @@ -3,10 +3,10 @@ title: Overwijdte --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narrower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From 940d023f99b94706525c6055a783210755d06b20 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:54:09 +0100 Subject: [PATCH 0866/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/aaron/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/uk.md b/markdown/org/docs/designs/aaron/instructions/uk.md index 40358452c90..e6c0144d371 100644 --- a/markdown/org/docs/designs/aaron/instructions/uk.md +++ b/markdown/org/docs/designs/aaron/instructions/uk.md @@ -103,7 +103,7 @@ title: "Викрійка футболки Аарона: Інструкція з ![Позначте кінці палітурки](step03f.png) -Візьміть один з країв і розтягніть його на 3 см, відокремлюючи від початкової точки, як під час шиття. +Візьміть один з країв і розтягніть його на 3 см, що відокремлюють його від початкової точки, як під час шиття. Позначте палітурку там, де вона досягає початкової точки. Зробіть те саме з іншого боку. @@ -113,7 +113,7 @@ title: "Викрійка футболки Аарона: Інструкція з Складіть футболку у будь-який спосіб, щоб вам було легше покласти обидва кінці зшивання лицьовими сторонами один до одного, сумістивши мітки. Зшийте їх разом по мітці. -> 6 см - це небагато, але має бути достатньо для того, щоб обидва краї зручно розташувати під швейною машинкою і зшити їх разом. +> 6 см - це небагато, але цього має бути достатньо, щоб обидва краї зручно розташувати під швейною машинкою і зшити їх разом. ### Обробіть останні 6 см палітурки From b32527566e92670dc07302d52d8e8e6bc1be5d91 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:54:26 +0100 Subject: [PATCH 0867/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bee/cutting/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/uk.md b/markdown/org/docs/designs/bee/cutting/uk.md index 69e12a7a048..a4161d405e3 100644 --- a/markdown/org/docs/designs/bee/cutting/uk.md +++ b/markdown/org/docs/designs/bee/cutting/uk.md @@ -38,6 +38,6 @@ title: "Бджолиний топ-бікіні: Інструкція з крою -Цей візерунок легко зробити двостороннім, купивши тканину, схожу на основну, і використавши її як контрастну. Щоб уникнути плутанини в інструкції, ми будемо називати її підкладковою тканиною. +Цей візерунок легко зробити двостороннім, купивши тканину, схожу на основну, і використавши її як контрастну. To save confusion on instructions it will be referred to as the lining fabric. From beefcfbaa11a2314b5444a11e959a7572825453f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:54:28 +0100 Subject: [PATCH 0868/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bee/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/uk.md b/markdown/org/docs/designs/bee/fabric/uk.md index 83b89da42e6..2bd13b87e9e 100644 --- a/markdown/org/docs/designs/bee/fabric/uk.md +++ b/markdown/org/docs/designs/bee/fabric/uk.md @@ -8,6 +8,6 @@ title: "Топ-бікіні \"Бджілка\": Варіанти тканин" -Підкладкова тканина потрібна лише в тому випадку, якщо ви плануєте зробити викрійку двосторонньою або якщо ви хочете, щоб стрічка для перехресного зав'язування спинки була контрастною тканиною. В іншому випадку ви можете вирізати всі необхідні шматки з основної тканини. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. В іншому випадку ви можете вирізати всі необхідні шматки з основної тканини. From f4b1d9b081c531dab763efd074d9e88414f101ea Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:54:29 +0100 Subject: [PATCH 0869/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bee/instructions/uk.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/uk.md b/markdown/org/docs/designs/bee/instructions/uk.md index 76d07639ed9..d7c342ea96d 100644 --- a/markdown/org/docs/designs/bee/instructions/uk.md +++ b/markdown/org/docs/designs/bee/instructions/uk.md @@ -8,7 +8,7 @@ title: "Топ-бікіні \"Бджілка\": Інструкція з поши -При виготовленні двостороннього верху другий колір буде називатися підкладковою тканиною. +When making a reversible top the second colour will be referred to as the lining fabric. Насічки на цьому візерунку більше схожі на крапки, тому **не** закріплюйте їх, щоб позначити. @@ -30,7 +30,7 @@ title: "Топ-бікіні \"Бджілка\": Інструкція з поши - Обріжте припуски на шви і закріпіть кути. - Вивернися навиворіт. Преса. -Повторіть цю процедуру для решти зав'язок на шиї +Repeat this for the remaining neck tie pieces ### Крок 2: Чашки @@ -51,9 +51,9 @@ title: "Топ-бікіні \"Бджілка\": Інструкція з поши Якщо припуски на шви широкі, можливо, вам доведеться трохи обрізати припуски на шви, щоб зменшити об'єм. -Якщо у вас виникли проблеми з вивертанням чашок, спробуйте один з цих методів: +If you are having trouble turning the cups you can try one of these methods: -- Зробіть проміжок 2,5 см (1 дюйм) у передньому або боковому шві і виверніть через нього, закривши проміжок стьожковим швом або закріпивши його стібком "упритул" під час кроку 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Розширте один з існуючих проміжків і проїдьте крізь нього. Потім при виконанні стібка "назад голку" або "ковзного стібка" розширена частина закривалася. @@ -85,7 +85,7 @@ title: "Топ-бікіні \"Бджілка\": Інструкція з поши -Ви можете загорнути одну чашку над іншою посередині. Для цього прикладіть бокові сторони чашок до надсічок і накладіть їх лицьовими сторонами через середину так, щоб ліва була зверху. +Ви можете загорнути одну чашку над іншою посередині. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From 982373f881374a9ea351b9a61476c426832acb32 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:55:40 +0100 Subject: [PATCH 0870/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/uk.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/uk.md index c2a853de419..3a838a38693 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/uk.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/uk.md @@ -2,7 +2,7 @@ title: "Зменшення нахилу укосів" --- -Ця модель адаптується до похилого плеча, враховуючи вимір нахилу плеча. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. Однак, для піджаків або пальт, можливо, ви захочете створити більше місця на плечах, щоб можна було вставити підплічники. Ця опція дозволяє створити додатковий простір на плечах за рахунок зменшення нахилу плечей. From 9e83240de0b24fac1611d9daad022dc3045b452f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:55:46 +0100 Subject: [PATCH 0871/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bob/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/uk.md b/markdown/org/docs/designs/bob/instructions/uk.md index e92ba2946db..6d0dcd352ea 100644 --- a/markdown/org/docs/designs/bob/instructions/uk.md +++ b/markdown/org/docs/designs/bob/instructions/uk.md @@ -25,7 +25,7 @@ Make sure to sew close to the edge so that the stitches will be under the bias t ## Крок 2: Наклейте скотч -Ми наклеїмо бейку в якості оздоблення по всьому краю нагрудника. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. From 8d8470be98bf7d1250665a025dde75e26f910d55 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:55:50 +0100 Subject: [PATCH 0872/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bob/options/widthratio/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/uk.md b/markdown/org/docs/designs/bob/options/widthratio/uk.md index c616ad9d0d4..ba37bb55e86 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/uk.md +++ b/markdown/org/docs/designs/bob/options/widthratio/uk.md @@ -5,7 +5,7 @@ title: Співвідношення ширини Контролює ширину нагрудника. - Збільште відсоток, щоб розширити ширину нагрудника. -- Зменшіть відсоток, щоб звузити ширину нагрудника. +- Decrease the percentage to constrict the width of the bib. From 56522229d8c9e3cbad4650c87b5f4ee5904d0a73 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:55:59 +0100 Subject: [PATCH 0873/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/breanna/options/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/uk.md b/markdown/org/docs/designs/breanna/options/uk.md index 0858448b503..511d4c1d7dc 100644 --- a/markdown/org/docs/designs/breanna/options/uk.md +++ b/markdown/org/docs/designs/breanna/options/uk.md @@ -40,7 +40,7 @@ The image above shows a sleevecap, starting at point 1, then going up until poin - [Верх рукава X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Контролює горизонтальне розташування точок 3 і 4 - [Верх рукава Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Керує вертикальним розміщенням точки 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Точки перегину From 98f97cb0710c2174f5df65f9540fc191077a4fef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:04 +0100 Subject: [PATCH 0874/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/uk.md b/markdown/org/docs/designs/breanna/options/shoulderdart/uk.md index bb25d2df8da..1a0e27cdda2 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/uk.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/uk.md @@ -2,7 +2,7 @@ title: "Плечова витачка" --- -Чи варто включати виточку на спині, щоб закруглити спину. +Whether or not to include a back shoulder dart to round the back. From 3b5788453d3f051b08afdd5558b076c559f0d2c8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:09 +0100 Subject: [PATCH 0875/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/breanna/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/uk.md b/markdown/org/docs/designs/breanna/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From b682a02a207c6524535f9bc7f30c4a74a3e21bfb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:16 +0100 Subject: [PATCH 0876/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From 06bef8b96b6d3a12aff98fb0cc09a4c3b7e63b92 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:23 +0100 Subject: [PATCH 0877/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/breanna/options/waistdart/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/uk.md b/markdown/org/docs/designs/breanna/options/waistdart/uk.md index 2ccd338a1b9..3b5025d6b87 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/uk.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/uk.md @@ -2,7 +2,7 @@ title: "Поясна виточка" --- -Чи варто включати виточку на талії, щоб закруглити спинку. +Whether or not to include a back waist dart to round the back. From b703ed5b43642aab8042a6f01726b7c2222fc379 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:35 +0100 Subject: [PATCH 0878/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/brian/options/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/uk.md b/markdown/org/docs/designs/brian/options/uk.md index 699a2b539d2..001a5b38fac 100644 --- a/markdown/org/docs/designs/brian/options/uk.md +++ b/markdown/org/docs/designs/brian/options/uk.md @@ -40,7 +40,7 @@ The image above shows a sleevecap, starting at point 1, then going up until poin - [Верх рукава X](/docs/designs/brian/options/sleevecaptopfactorx/) : Контролює горизонтальне розташування точок 3 і 4 - [Верх рукава Y](/docs/designs/brian/options/sleevecaptopfactory/) : Керує вертикальним розміщенням точки 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### Точки перегину From 3e63a4891761e5d7669b193c9998d2c215eb73ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:41 +0100 Subject: [PATCH 0879/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/brian/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/uk.md b/markdown/org/docs/designs/brian/options/sleevecapease/uk.md index abedd1bc560..cb7254ebdb4 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/uk.md @@ -8,7 +8,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 38da1cd6b9e4daae1351b8572cda16fa16085387 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:48 +0100 Subject: [PATCH 0880/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/uk.md index ba1cda44aee..a5be1503302 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/uk.md @@ -4,7 +4,7 @@ title: "Спред по рукавному покриттю Q3 висхідни *** -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From 958b9f9ae204474d7b273b3b29b6e96d68f9eb93 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:56:57 +0100 Subject: [PATCH 0881/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bruce/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/uk.md b/markdown/org/docs/designs/bruce/instructions/uk.md index 5ed5c88d65b..78f3ce963aa 100644 --- a/markdown/org/docs/designs/bruce/instructions/uk.md +++ b/markdown/org/docs/designs/bruce/instructions/uk.md @@ -158,7 +158,7 @@ title: "Труси-боксери \"Брюс\": Інструкція з поши ![Підшийте першу ногу](step11.png) -Час підшивати ноги. Підшийте їх так само, як і будь-який інший еластичний трикотаж. Використовуйте гнучкий стібок. Ви можете використовувати зигзагоподібний стібок або подвійну голку, якщо у вас немає човникового замка або спеціального налаштування гнучкого стібка. +Час підшивати ноги. Підшийте їх так само, як і будь-який інший еластичний трикотаж. Використовуйте гнучкий стібок. Ви можете використовувати зигзагоподібну строчку або подвійну голку, якщо у вас немає човникового замка або спеціального налаштування гнучкої строчки. @@ -201,7 +201,7 @@ title: "Труси-боксери \"Брюс\": Інструкція з поши -Довжина вашої резинки, ймовірно, відрізнятиметься від довжини тканини, оскільки вони розтягуються по-різному. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Булавки допоможуть вам досягти рівномірного розтягування. Розділіть еластичну та боксерську талію на 4 (або 8) частин. З'єднайте гумку і тканину разом у цих точках. From d4bbcc4b00f5f86d280e54e5494344ecd813dc9a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:57:02 +0100 Subject: [PATCH 0882/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bruce/options/rise/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/uk.md b/markdown/org/docs/designs/bruce/options/rise/uk.md index a8bd880c10d..bf4d25a8b06 100644 --- a/markdown/org/docs/designs/bruce/options/rise/uk.md +++ b/markdown/org/docs/designs/bruce/options/rise/uk.md @@ -4,7 +4,7 @@ title: "Вставай." ![Варіант зростання на Брюса](./rise.svg) -Цей параметр регулює загальну висоту талії. +This option controls the overall height of the waist. > Чим вище підйом, тим вище талія. From ee82f7627df2a2b66450e9b993375e2f7b0ff81b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:57:06 +0100 Subject: [PATCH 0883/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/carlita/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlita/instructions/uk.md b/markdown/org/docs/designs/carlita/instructions/uk.md index 85c2e1ccef3..5eda29d39e9 100644 --- a/markdown/org/docs/designs/carlita/instructions/uk.md +++ b/markdown/org/docs/designs/carlita/instructions/uk.md @@ -43,7 +43,7 @@ title: "Пальто Карліта: Інструкція з пошиття" - Трасування з **Назад** частина. - Розрізати вздовж помаранчевої лінії. - Нижню частину викинути. -- Видаліть припуски на шви (якщо вони є) верхньої частини. +- Видаліть припуски на шви (якщо вони є) верхньої деталі. - Верхня частина - це тепер **частина заднього плеча** . #### Крій From d09e8cbe0a43638c76d5798ced6f3903ceee7f4d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:57:36 +0100 Subject: [PATCH 0884/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/carlton/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/instructions/uk.md b/markdown/org/docs/designs/carlton/instructions/uk.md index eb7c81d0c61..70dc9b26efc 100644 --- a/markdown/org/docs/designs/carlton/instructions/uk.md +++ b/markdown/org/docs/designs/carlton/instructions/uk.md @@ -51,7 +51,7 @@ title: "Пальто карлтон: Інструкція з пошиття" - Трасування з **Назад** частина. - Розрізати вздовж помаранчевої лінії. - Нижню частину викинути. -- Видаліть припуски на шви (якщо вони є) верхньої частини. +- Видаліть припуски на шви (якщо вони є) верхньої деталі. - Верхня частина - це тепер **частина заднього плеча** . #### Крій From 03e1c753570e2dc3ec36fdac489cf356cf683cf0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:01 +0100 Subject: [PATCH 0885/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/carlton/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/uk.md b/markdown/org/docs/designs/carlton/options/sleevecapease/uk.md index ebbc63a0e71..da801e9859a 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/uk.md @@ -8,7 +8,7 @@ title: "Зручність рукавів" > #### У чому сенс? > -> Легкість манжета визначає, як рукав скочується з плеча. +> Легкість манжета визначає, як рукав буде скочуватися з плеча. > > Для більшої легкості рукав загорнутий у шов, як ви очікуєте від пальта. Менша легкість робить рукав більш плоским. From 088fd1fea08b004942688a8e81d34e9842133d84 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:17 +0100 Subject: [PATCH 0886/1313] New translations en.md (Ukrainian) skip-build --- .../docs/designs/charlie/instructions/uk.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/uk.md b/markdown/org/docs/designs/charlie/instructions/uk.md index 16ddfb51e43..2fb8ae4194e 100644 --- a/markdown/org/docs/designs/charlie/instructions/uk.md +++ b/markdown/org/docs/designs/charlie/instructions/uk.md @@ -193,7 +193,7 @@ What we want to to prevent these edges from ravelling after we've completed our Перевірте, щоб права і ліва ноги збігалися з розміткою на викрійці. Промежина правої ноги повинна трохи виходити за ліву. Подивіться на викрійку і за потреби обріжте зайве на лівій нозі. -Може бути корисно позначити крейдою або ниткою **Центр спереду** на кожній ніжці. Це допоможе вам переконатися, що перчики знаходяться в потрібному місці під час побудови мушки. +Може бути корисно позначити крейдою або ниткою **Центр спереду** на кожній ніжці. This will help you make sure the pieces are in the right place during fly construction. @@ -276,14 +276,14 @@ What we want to to prevent these edges from ravelling after we've completed our Переконайтеся, що ви розмістили складений край правої штанини трохи лівіше від зубців застібки-блискавки, щоб запобігти потраплянню тканини в застібку-блискавку. -Зупиніть шиття на верхній надсічці "розширення мушки", трохи вище поперечного шва, і обов'язково виконайте зворотну строчку. Якщо ви цього не зробите, то не зможете утримати подовжувач на місці під час виконання шва "J". +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. Якщо ви цього не зробите, то не зможете утримати подовжувач на місці під час виконання шва "J". ![Прикріпіть подовжувач до правої ноги](AttachExtensionToRightLeg.svg) ### Прикріпіть застібку-блискавку до лицьового боку мушки. -Будьте обережні, щоб вирівняти ліву ногу по центру спереду правої. Може бути корисно приколоти або пришити стрічку-блискавку через лицьовий і правий бік. (Нам потрібно пришити ліву частину тасьми-блискавки до лівої штанини). Переконавшись, що все пришито, пришийте мушку лицьовим боком до лівої сторони застібки-блискавки. Намагайтеся наблизитися до блискавки, але не надто близько. +Будьте обережні, щоб вирівняти ліву ногу по центру спереду правої. It can be valuable to pin or baste through the facing and right side of the zipper tape. (Нам потрібно пришити ліву частину тасьми-блискавки до лівої штанини). Переконавшись, що все пришито, пришийте мушку лицьовим боком до лівої сторони застібки-блискавки. Намагайтеся наблизитися до блискавки, але не надто близько. ![Прикріпіть лицьову сторону до застібки-блискавки](AttachFacingToZipper.svg) @@ -292,15 +292,15 @@ What we want to to prevent these edges from ravelling after we've completed our -Використовуйте аркуш паперу як орієнтир для виконання шва "J", його можна вирізати з вашої викрійки вздовж зазначеної лінії стібка. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Тепер прострочіть так званий J-образний шов ширинки. Переконайтеся, що подовжувач мушки не заважає. Оскільки ви не прошили по всій довжині ширінки, ви зможете приколоти її збоку. +Тепер прострочіть так званий J-образний шов ширинки. Переконайтеся, що подовжувач мушки не заважає. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Закріпіть нижню частину мушки -Тепер приметайте саму гудзик J-образного шва (горизонтальну частину), але цього разу не забудьте також прихопити подовжувач ширинки. Ви також можете додати додаткову закріпку вздовж J-образного шва (показано фіолетовим кольором). +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. Ви також можете додати додаткову закріпку вздовж J-образного шва (показано фіолетовим кольором). ![Зшийте J-подібний шов](SewTheJSeam.svg) @@ -310,7 +310,7 @@ What we want to to prevent these edges from ravelling after we've completed our -Для ефективності ми сконструюємо одну довгу смужку ремінної петлі, яку розділимо на 8 частин. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -360,7 +360,7 @@ Place the belt loop at these places with their good side down (against the good Покладіть пояс виворітними сторонами разом уздовж талії. Для прямого пояса переконайтеся, що сторона зі стандартним припуском на шов суміщена з талією, а не сторона з подвійним припуском на шов. -Також не забудьте залишити достатній припуск на шви за межами початку і кінця пояса. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Прошийте по всій довжині талії, прикріпивши пояс і пришивши петлі для ременя за один прийом. @@ -398,7 +398,7 @@ Place the belt loop at these places with their good side down (against the good ### Зшийте петлі для ременя, щоб вони стали ширшими -Краще зробити петлі для ременя трохи ширшими, ніж для пояса, щоб можна було вдягати ширші ремені. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. Для цього нехай пояс лежить рівно, і пришийте його на 1,5 см (півдюйма) нижче пояса. From 8610123789d770c6f5e75336a36ad45ccaf91933 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:21 +0100 Subject: [PATCH 0887/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/uk.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/uk.md index 7fe05ec085a..42d6769478e 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/uk.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/uk.md @@ -2,7 +2,7 @@ title: "Ширина задньої кишені" --- -Регулює ширину задніх кишень. +Controls the width of the back pockets. From e2973bd99bee818d4248b78ab4116682bbb55a93 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:22 +0100 Subject: [PATCH 0888/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/charlie/options/beltloops/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/uk.md b/markdown/org/docs/designs/charlie/options/beltloops/uk.md index 04f9d8f61db..d5e74e1ed3e 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/uk.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/uk.md @@ -2,7 +2,7 @@ title: "Поясні петельки" --- -Контролюйте, скільки петель ми згенеруємо. +Controls how many beltloops we'll generate. From aa69f1c012e262ff6cf5318552c9a435047e186f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:25 +0100 Subject: [PATCH 0889/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/uk.md b/markdown/org/docs/designs/charlie/options/crotchdrop/uk.md index f18d274e91a..e6a59d33d41 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/uk.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/uk.md @@ -4,8 +4,8 @@ title: "Посадка" Контролює, наскільки опускається промежина. -Занижена кльош створює більш невимушену посадку. -Значно занижена промежина також може бути вибором стилю. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From dd5488a2a4ba1071772fc88cd95c4dad4fce6717 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:27 +0100 Subject: [PATCH 0890/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/uk.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/uk.md index a30b45c7e94..f3989f93e7a 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/uk.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/uk.md @@ -2,7 +2,7 @@ title: "Підгин пахового шва" --- -Контролює кривизну кроточного шва, що впливає на облягання промежини. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 30a36dcca1d5eb7a099fd71b81c0ecbb1955bf70 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:30 +0100 Subject: [PATCH 0891/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/charlie/options/flylength/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/uk.md b/markdown/org/docs/designs/charlie/options/flylength/uk.md index 9d23dbdefe9..dc1e662cb1f 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/uk.md +++ b/markdown/org/docs/designs/charlie/options/flylength/uk.md @@ -2,7 +2,7 @@ title: "Довжина гульфика" --- -Регулює довжину мушки. +Керує загальною довжиною гульфика. From 44ccc1a34046fa97843cd41de384fbbb53e7c09e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:44 +0100 Subject: [PATCH 0892/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/cornelius/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/uk.md b/markdown/org/docs/designs/cornelius/fabric/uk.md index 53438019a58..c2bdfa4e7f0 100644 --- a/markdown/org/docs/designs/cornelius/fabric/uk.md +++ b/markdown/org/docs/designs/cornelius/fabric/uk.md @@ -4,7 +4,7 @@ title: "Велосипедні бриджі Cornelius: Варіанти ткан ### Основна тканина -Для цієї викрійки підійде будь-який **матеріал для низу (штанів)** . Як правило, краще уникати всього, що важить більше 7 унцій (230 г), оскільки це, швидше за все, буде занадто жорстким і незручним. Ви хочете щось, що забезпечує трохи тепла, але при цьому може драпіруватися, наприклад, **вельветові** або **тканини для костюмів середньої ваги** . Якщо ви шукаєте щось більш історично правильне, тоді **костюм з вовни середньої ваги** - це те, що вам потрібно. **Лляна** також є варіантом, особливо якщо ви хочете щось не надто тепле. +Для цієї викрійки підійде будь-який **матеріал для низу (штанів)** . Як правило, краще уникати всього, що важить більше 7 унцій (230 г), оскільки це, швидше за все, буде занадто жорстким і незручним. Ви хочете щось, що забезпечує трохи тепла, але при цьому може драпіруватися, наприклад, **вельветові** або **тканини для костюмів середньої ваги** . If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **Лляна** також є варіантом, особливо якщо ви хочете щось не надто тепле. From 6da37b8765eca692314a29033b7553b73f49deca Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:58:45 +0100 Subject: [PATCH 0893/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/cornelius/instructions/uk.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/uk.md b/markdown/org/docs/designs/cornelius/instructions/uk.md index 00b3b283005..b6cbdd3d73d 100644 --- a/markdown/org/docs/designs/cornelius/instructions/uk.md +++ b/markdown/org/docs/designs/cornelius/instructions/uk.md @@ -4,13 +4,13 @@ title: "Велосипедні бриджі Cornelius: Інструкція з ### Крок 1: Передні кишені -- Притисніть під припуски на шви не надрізаних країв покет-облицювання. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Сумістивши надсічки, приколіть виворітні сторони обшивок кишень до правого боку кишенькових мішків, _приметайте_ підігнуті краї до кишенькових мішків. - _Приметайте_ припуски на шви надсічених країв обшивок кишень до мішковин кишень. - Лицьовими боками до лицьових боків, сумістивши подвійні надсічки, пришийте кишеньки до лицьового боку, а потім припрасуйте на виворітний бік. - Складіть кишені навпіл по лінії згину лицьовими боками разом. Зшийте дно кишенькової сумки. - Також ви можете _французький шов_ нижні шви кишенькових сумок разом, якщо бажаєте. -- _Приметайте_ верхню і бокові частини кишень сумки до припусків переднього шва за допомогою мітчиків. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ title: "Велосипедні бриджі Cornelius: Інструкція з - Припуски верхнього шва припрасуйте до виворітного боку решти деталей штанин. Припуски верхнього шва обрізати. - Лицьовими боками до лицьових сторін пришийте решту штанин і деталі до прикріплених стрічок для штанин уздовж низу і боків. - Виверніть стрічки для ніг назовні. Преса. -- _Шовним швом_ або _Хлистовим швом_ виверніть підігнутий край пояса на лицьову сторону, переконавшись, що підігнутий край закриває строчку. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Пришийте петлю для ґудзика. Ґудзики будуть пришиті пізніше. @@ -89,7 +89,7 @@ title: "Велосипедні бриджі Cornelius: Інструкція з - Припуски верхнього шва припрасуйте до виворітного боку решти деталей штанин. Припуски верхнього шва обрізати. - Лицьовими боками до лицьових сторін пришийте решту штанин і деталі до прикріплених стрічок для штанин уздовж низу і боків. - Виверніть стрічки для ніг назовні. Преса. -- _Шовним швом_ або _Хлистовим швом_ виверніть підігнутий край пояса на лицьову сторону, переконавшись, що підігнутий край закриває строчку. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Пришийте петлю для ґудзика. Ґудзики будуть пришиті пізніше. @@ -108,13 +108,13 @@ title: "Велосипедні бриджі Cornelius: Інструкція з ### Крок 5: Пояс -- Лицьовою стороною до лицьової сторони випрасуйте одну з деталей пояса обраним вами способом. +- Face one of the waistband pieces using your preferred method. - Пришити лицьову частину пояса до верхньої частини штанин лицьовими боками до лицьового боку. - Припрасуйте пояс і припуски швів догори і в сторону від ноги. Обріжте припуски на шви, щоб зменшити об'єм. - Припуски нижнього шва припрасуйте до виворітного боку деталі пояса, що залишилася. Припуски нижнього шва обрізати. - Лицьовими боками разом пришити решту пояса до виворітного пояса зверху і з боків. - Виверніть пояс назовні. Преса. -- _Шовним швом_ або _Хлистовим швом_ виверніть підігнутий край пояса на лицьову сторону, переконавшись, що підігнутий край закриває строчку. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Пришийте петлю для ґудзика. Ґудзики будуть пришиті пізніше. From ca5a5bed8405d41e4609b4d4790c0e3e6b03e06c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:12 +0100 Subject: [PATCH 0894/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/uk.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/uk.md index 4f7fa8933d8..ad0ae33a35a 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/uk.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/uk.md @@ -4,7 +4,7 @@ title: "Довжина плечового шва" ![Варіант довжини плечового шва на Діані](./shoulderseamlength.svg) -Цей параметр визначає, наскільки широким буде виріз горловини, шляхом регулювання довжини плечового шва. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From 8fb62e578d6203270323e4aa135eb4553563477f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:14 +0100 Subject: [PATCH 0895/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/diana/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/uk.md b/markdown/org/docs/designs/diana/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From d1f1fdc8f1052c4b7a477b20d7bc7f91dbf2c4ef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:21 +0100 Subject: [PATCH 0896/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From f1704e41d6a004d88abd0f22d0bbc18477f72e3d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:29 +0100 Subject: [PATCH 0897/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/florence/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/uk.md b/markdown/org/docs/designs/florence/fabric/uk.md index 582151a6c0b..0306bc19cb8 100644 --- a/markdown/org/docs/designs/florence/fabric/uk.md +++ b/markdown/org/docs/designs/florence/fabric/uk.md @@ -4,7 +4,7 @@ title: "Маска для обличчя \"Флоренція\": Варіант Мета нашої маски - зупинити краплі. Тому ви хочете вибрати щось, що відфільтрує їх. Знову ж таки, ви повинні мати можливість дихати через маску, тому нам потрібна тканина, яка дихає, не пропускаючи краплі. -Крім того, ми хочемо, щоб всередині було комфортно на шкірі. Тому тут я б порадила щільно сплетену бавовну або віскозу/віскозу/віскозу. Для зовнішньої тканини знову ж таки бавовна або щільно сплетена вовна. +Крім того, ми хочемо, щоб всередині було комфортно на шкірі. Тому тут я б порадила щільно сплетену бавовну або віскозу/віскозу/віскозу. For the outer fabric, cotton again, or a tightly woven wool. From a871eb2b689be8fd2340d3411d724cc9fb6c7944 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:34 +0100 Subject: [PATCH 0898/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/florent/cutting/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/uk.md b/markdown/org/docs/designs/florent/cutting/uk.md index 1b1928de5ba..e4ee85a5a09 100644 --- a/markdown/org/docs/designs/florent/cutting/uk.md +++ b/markdown/org/docs/designs/florent/cutting/uk.md @@ -2,7 +2,7 @@ title: "Плоский ковпачок Florent: Інструкція з нарізки" --- -Щоб зробити Флорен, виріжте такі частини: +To make Florent, cut out the following parts: - **Основна тканина** - Виріжте **1 верхню частину** по згину, але не враховуючи припуски на центральний шов, або **2 верхню частину** з припусками на центральний шов. From 8e60b21c36b87c8cc53be8176632ed41d27ac6cb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:45 +0100 Subject: [PATCH 0899/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hi/options/hungry/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/uk.md b/markdown/org/docs/designs/hi/options/hungry/uk.md index 10dec753750..e377bdfb535 100644 --- a/markdown/org/docs/designs/hi/options/hungry/uk.md +++ b/markdown/org/docs/designs/hi/options/hungry/uk.md @@ -2,7 +2,7 @@ title: "Голодний." --- -Цей параметр визначає, скільки часу минуло відтоді, як ваш Привіт їв щось поїсти. Більш голодна акула призводить до того, що вона стає худішою. +This setting determines how long it has been since your Hi has had something to eat. Більш голодна акула призводить до того, що вона стає худішою. From 7222a4c430fb6fda6d0072690ef45c14397b17ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:47 +0100 Subject: [PATCH 0900/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/holmes/cutting/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/uk.md b/markdown/org/docs/designs/holmes/cutting/uk.md index c129d1fdbad..ebd2ddb0226 100644 --- a/markdown/org/docs/designs/holmes/cutting/uk.md +++ b/markdown/org/docs/designs/holmes/cutting/uk.md @@ -17,7 +17,7 @@ title: "Капелюх оленячого переслідувача Холмс ### Додаткові тканинні стяжки -Якщо ви не хочете використовувати стрічку для краватки, ви можете зробити її з тканини. Просто виріжте 4 поперечні смужки шириною 1 дюйм (2,5 см) або шириною на ваш вибір + припуски на шви і зшийте дві трубки, залишивши одну з коротких сторін відкритою для вивертання. Закріпіть кути і обріжте шви. Увімкніть пресу. За бажанням ви можете _Edgestitch_ або _Topstitch_ трубочки, щоб зупинити зсув тканини. Необроблений край трубок можна потім сховати в шов вушної раковини при виготовленні вушних раковин. +Якщо ви не хочете використовувати стрічку для краватки, ви можете зробити її з тканини. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Закріпіть кути і обріжте шви. Увімкніть пресу. За бажанням ви можете _Edgestitch_ або _Topstitch_ трубочки, щоб зупинити зсув тканини. Необроблений край трубок можна потім сховати в шов вушної раковини при виготовленні вушних раковин. @@ -26,6 +26,6 @@ title: "Капелюх оленячого переслідувача Холмс -Перед тим, як розкроїти тканину, рекомендується спочатку зробити макет коронки. Це потрібно для того, щоб перевірити довжину і легкість коронки. Не забудьте відрізати припуск на нижній шов перед тим, як приміряти. Якщо викрійка занадто туга, потрібно переробити її з більшою легкістю для голови, просто пам'ятайте, що легкість розподіляється по кожній коронці. Якщо пік занадто високий, ви можете переробити викрійку, зменшивши довжину маківки. Після переробки зробіть ще один макет, щоб перевірити, чи влаштовують вас зміни. Повторіть ще раз, якщо ви не задоволені. +Перед тим, як розкроїти тканину, рекомендується спочатку зробити макет коронки. Це потрібно для того, щоб перевірити довжину і легкість коронки. Не забудьте відрізати припуск на нижній шов перед тим, як приміряти. Якщо викрійка занадто туга, потрібно переробити її з більшою легкістю для голови, просто пам'ятайте, що легкість розподіляється по кожній коронці. Якщо пік занадто високий, ви можете переробити викрійку, зменшивши довжину маківки. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Повторіть ще раз, якщо ви не задоволені. From e1c66b547edbf22c1429a65aa491de07d2892f88 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:49 +0100 Subject: [PATCH 0901/1313] New translations en.md (Ukrainian) skip-build --- .../docs/designs/holmes/instructions/uk.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/uk.md b/markdown/org/docs/designs/holmes/instructions/uk.md index d92c3f0c7a7..9ea8d0cc26f 100644 --- a/markdown/org/docs/designs/holmes/instructions/uk.md +++ b/markdown/org/docs/designs/holmes/instructions/uk.md @@ -31,7 +31,7 @@ title: "Капелюх оленячого переслідувача Холмс - Розпрасуйте шви. Для цього вам знадобиться кравецький окорок, якщо у вас його немає, ви можете використати фланелеві або рушникові серветки. - (Необов'язково) _Краєобметочний шов_ з обох боків шва, обов'язково захопивши припуски на шви. - Повторюйте, поки не отримаєте дві половинки. Якщо половина кількості частин корони непарна, вам доведеться пришити по одній частині до кожної половини. Наприклад, якщо у вас є 6 частин коронки, ви робите дві половинки з 3, пришиваючи одну частину до двох зшитих разом частин. -- Зшийте обидві половинки лицьовими боками разом, сумістивши лінії швів і вершини, з'єднайте їх разом. Можливо, вам буде легше зшити пік вручну через об'ємність або для точності. Надалі цей шов буде називатися "центральним швом коронки". +- With right sides together, matching seam lines and peaks, sew the two halves together. Можливо, вам буде легше зшити пік вручну через об'ємність або для точності. This seam will be referred to as the "centre crown seam" going forward. - (Необов'язково) _Краєобметочний шов_ з обох боків центрального вінцевого шва, не забуваючи про припуски на шви. @@ -44,7 +44,7 @@ title: "Капелюх оленячого переслідувача Холмс #### Вушанки на зав'язках -- Відріжте дві стрічки довжиною 12" (30 см) - 16" (40 см). Надалі вони будуть називатися зв'язками. +- Відріжте дві стрічки довжиною 12" (30 см) - 16" (40 см). These will be referred to as ties going forward. - _Прикріпіть_ зав'язку до правого боку вушної раковини (якщо вона використовується). Повторіть для іншої краватки. - Лицьовими боками до лицьових боків, сумістивши лінії швів, пришийте пелерину до пелерини без краватки. - Закріпіть і обріжте припуски швів. @@ -74,7 +74,7 @@ title: "Капелюх оленячого переслідувача Холмс - Виверніть навиворіт і натисніть. - (За бажанням) _Topstitch_ або _Edgestitch_ згинання краю. - _Зліпити_ необроблені краї разом. -- Пришийте петлю для ґудзика у зручний для вас спосіб. +- Sew the buttonhole in your preferred method. - Повторіть для решти вушної раковини. @@ -98,7 +98,7 @@ title: "Капелюх оленячого переслідувача Холмс #### Метод козирків 1 - Помістіть вставку козирка на одну деталь козирка всередині лінії швів. -- Тимчасово закріпіть вставку козирка до козирка за допомогою тимчасової накладки _Шви_. Надалі ми будемо називати його "фасадним козирком". +- Тимчасово закріпіть вставку козирка до козирка за допомогою тимчасової накладки _Шви_. This will be referred to as "faced visor" going forward. - _Приклейте_ по лінії шва внутрішнього вигину козирка, намагаючись не зачепити вставку козирка. - Лицьовими боками разом, сумістивши лінії швів і центри лицьових боків, пришийте козирок з лицьового боку до іншого козирка по зовнішньому вигину впритул до вставки козирка, намагаючись не зачепити вставку козирка. - Надсічіть і обріжте зовнішній вигин, намагаючись не обрізати строчку. (Можливо, ви захочете перевернути і перевірити форму перед цим кроком) @@ -120,10 +120,10 @@ title: "Капелюх оленячого переслідувача Холмс #### Метод козирків 2 -- Лицьовими боками до лицьових боків, сумістивши лінії швів і центри лицьових боків, зшийте зовнішній вигин двох деталей козирка разом. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Надсічіть і обріжте (якщо потрібно) зовнішній вигин, намагаючись не обрізати строчку. (Можливо, ви захочете перевернути і перевірити форму перед цим кроком) - Виверніть навиворіт і натисніть. -- Вставте вставку козирка в зшитий козирок так, щоб на зовнішньому вигині не було зазору, а припуски на шви були однаковими з обох боків вставки козирка. Це буде верхня сторона козирка. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. Це буде верхня сторона козирка. - Скріпіть внутрішній вигин разом, переконавшись, що зовнішній край щільно натягнутий на вставку козирка. - _Пришийте_ якомога ближче до внутрішнього вигину вставки козирка, переконавшись, що ви щільно натягуєте тканину на зовнішній край під час шиття. - Повторіть для решти частин козирка. @@ -144,7 +144,7 @@ title: "Капелюх оленячого переслідувача Холмс - Видаліть усі прокладкові та наметочні стібки. - Припуски швів притисніть всередину, переконавшись, що зшивання не видно зовні. - (Необов'язково) Вільно _зшийте_ шви з внутрішньої сторони корони, переконавшись, що шви не видно ззовні. -- Виконайте підкладку так само, як і верхівку, пропускаючи _кантові строчки_. +- Construct lining the same way as the crown omitting _edgestitching_. - Складіть і притисніть під припуском нижнього шва підкладки. Можливо, вам доведеться притиснути підкладку сильніше, щоб її не було видно. Можливо, вам також знадобиться _запрасувати_ припуски на шви вниз. - Сумістивши середні шви верхівки і шви панелей, приколіть підкладку до капелюха виворітними боками разом. Покладіть підігнутий край уздовж ліній строчки. - _Пришийте підкладку швом "вперед голку"_ або _швом "назад голку"_ до припусків на шви капелюха. @@ -160,8 +160,8 @@ title: "Капелюх оленячого переслідувача Холмс - Пришийте вручну козирок до верхівки, сумістивши лінії пришивання козирка з лініями швів верхівки. Простіше _промащувати_ спочатку від центру донизу, а потім працювати від центру до країв. - (Необов'язково) Пришийте козирок до верхівки по лініях швів. - Повторіть для решти козирка з протилежного боку від центрального шва корони. -- Виконайте підкладку так само, як і верхівку, опускаючи _крайові шви_ і залишаючи проміжок в центральному шві підкладки, достатній для того, щоб можна було повернути капелюх. -- Складіть лицьовими боками разом, сумістивши середні шви коронки, шви панелей і лінії швів. Пришийте підкладку до верхівки по лініях швів. Якщо виріб об'ємний, ви можете обрізати шви підкладки або обидва шви. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- Складіть лицьовими боками разом, сумістивши середні шви коронки, шви панелей і лінії швів. Sew the lining to the crown along seam lines. Якщо виріб об'ємний, ви можете обрізати шви підкладки або обидва шви. - Виверніть капелюх навиворіт, притиснувши підкладку всередину. - (Додатково/альтернативно) _Підшивання_ підкладки. - Отвір для підкладки закритий. @@ -226,7 +226,7 @@ title: "Капелюх оленячого переслідувача Холмс Хоча це необов'язково, ви можете виявити, що ґудзик - це те, чого не вистачає капелюху для завершення образу. Тож якщо ви не впевнені, як виглядатиме цей момент, придумайте швидку кнопку і тимчасово прикріпіть її, щоб перевірити, чи це саме те, чого не вистачає. Якщо це так, прикріпіть його назавжди. -Хоча рекомендується використовувати закриту кнопку, ви можете використовувати будь-яку кнопку, яку забажаєте, не соромтеся експериментувати! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From 8c73a7dea5aa7e3ac2777ea270f5d2eea6362498 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:58 +0100 Subject: [PATCH 0902/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hortensia/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/uk.md b/markdown/org/docs/designs/hortensia/uk.md index 1a460848dd7..3d538890f82 100644 --- a/markdown/org/docs/designs/hortensia/uk.md +++ b/markdown/org/docs/designs/hortensia/uk.md @@ -2,7 +2,7 @@ title: "Ручна сумка Гортензія" --- -Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, and had made the paper designs. She did not have any coding experience, and I volunteered my time. The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can finish the seams with a bias tape. From 6bbaf4786c1745b373426be6dc8ac6f7e5d2aba9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 19:59:59 +0100 Subject: [PATCH 0903/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hortensia/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/uk.md b/markdown/org/docs/designs/hortensia/fabric/uk.md index 6a8f42e4feb..cd8e2fb5148 100644 --- a/markdown/org/docs/designs/hortensia/fabric/uk.md +++ b/markdown/org/docs/designs/hortensia/fabric/uk.md @@ -6,7 +6,7 @@ title: "Сумочка Hortensia: Варіанти тканин" Основними тканинами для Hortensia є нерозтяжні, довговічні та достатньо міцні, щоб утримувати речі. -Вибір тканини в кінцевому підсумку залежить від вашого особистого стилю і того, для чого ви хочете використовувати сумочку. Завдяки тому, що Hortensia має можливість вибору розміру, її також можна збільшити і використовувати для таких речей, як спортивна сумка, яка не обов'язково повинна бути такою ж вишуканою, як елітна сумочка. Тож, можливо, ви просто захочете придбати **Бавовняні вироби**, **Постільну білизну** або трохи розважитися з **Бавовняними виробами з принтом**. Якщо ви хочете чогось більш вигадливого, ви можете спробувати **парчу** та інші розкішні тканини. Якщо ви хочете щось дуже довговічне, ви можете спробувати **Оббивні тканини**. Ви також можете спробувати **Шкіру** , але її буде важче шити, особливо якщо вона товста, тому використовуйте її, тільки якщо ви знаєте, що робите. Пам'ятайте, якщо ви хочете користуватися ним постійно, віддавайте перевагу практичності, а не дизайну, оскільки ваша мета - зробити його довговічним, а не вигадливим. Якщо вас зовсім не турбує зовнішній вигляд, то це може стати нагодою використати тканину з вашої заначки, яку ви б інакше не використали, наприклад, ту потворну тканину, якій ви ніколи не знайдете застосування. +Вибір тканини в кінцевому підсумку залежить від вашого особистого стилю і того, для чого ви хочете використовувати сумочку. Завдяки тому, що Hortensia має можливість вибору розміру, її також можна збільшити і використовувати для таких речей, як спортивна сумка, яка не обов'язково повинна бути такою ж вишуканою, як елітна сумочка. Тож, можливо, ви просто захочете придбати **Бавовняні вироби**, **Постільну білизну** або трохи розважитися з **Бавовняними виробами з принтом**. Якщо ви хочете чогось більш вигадливого, ви можете спробувати **парчу** та інші розкішні тканини. Якщо ви хочете щось дуже довговічне, ви можете спробувати **Оббивні тканини**. Ви також можете спробувати **Шкіру** , але її буде важче шити, особливо якщо вона товста, тому використовуйте її, тільки якщо ви знаєте, що робите. Пам'ятайте, якщо ви хочете користуватися ним постійно, віддавайте перевагу практичності, а не дизайну, оскільки ваша мета - зробити його довговічним, а не вигадливим. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From fa81fee4a430b7c811d626d0e58b11e5663fe439 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:00 +0100 Subject: [PATCH 0904/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hortensia/instructions/uk.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/uk.md b/markdown/org/docs/designs/hortensia/instructions/uk.md index 3d6b384b1d3..71e9107698a 100644 --- a/markdown/org/docs/designs/hortensia/instructions/uk.md +++ b/markdown/org/docs/designs/hortensia/instructions/uk.md @@ -30,9 +30,9 @@ title: "Сумочка Гортензія: Інструкція з пошитт -Якщо ви використовуєте тасьму для ремінця сумки замість тканинних ремінців, зробіть наступне, +If using bag strap webbing instead of fabric made straps do the following, -- Відріжте тасьму за довжиною ремінців з припуском на шви. +- Cut the webbing to the length of the straps with seam allowance. - Притисніть під припуском короткого краєвого шва. - Прикріпіть тасьму так само, як і тканинні ремені. @@ -83,8 +83,8 @@ title: "Сумочка Гортензія: Інструкція з пошитт - Лицьовими боками _разом_ пришийте передню і задню підкладкові панелі до нижньої підкладкової панелі. - За допомогою _лицьовими сторонами разом_ прикріпіть підкладкові бокові панелі. - Припрасуйте під припуски верхнього шва. -- За бажанням ви можете зв'язати верхні краї. -- Покладіть підкладку всередину сумки _виворітними сторонами до_ одна до одної. +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Шов "ковзання"_ або _Шов "хлистик"_ пришийте підкладку до панелі на блискавці. ### Крок 10: Насолоджуйтесь! From 15d44004996726aa32bc5f04590f3e579111059d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:03 +0100 Subject: [PATCH 0905/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hortensia/needs/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/uk.md b/markdown/org/docs/designs/hortensia/needs/uk.md index 3f90528951d..48041417afa 100644 --- a/markdown/org/docs/designs/hortensia/needs/uk.md +++ b/markdown/org/docs/designs/hortensia/needs/uk.md @@ -8,7 +8,7 @@ title: "Сумочка Гортензія: Що вам потрібно" - Приблизно 0,5 - 2 метри (0,6 - 2,2 ярда) відповідної тканини ([див. варіанти тканини Hortensia](/docs/designs/hortensia/fabric/)) - Приблизно 0,5 - 2 метри (0,6 - 2,2 ярда) підкладкової тканини ([див. варіанти тканини Hortensia](/docs/designs/hortensia/fabric/)) - Застібка-блискавка коротша за довжину панелі блискавки та відповідна до ширини котушки [](/docs/designs/hortensia/options/zippersize/) обрана -- (Необов'язково) Приблизно 1 - 2 метри (1,1 - 2,2 ярда) бічної бейки, якщо ви хочете з'єднати краї бічних панелей ззовні. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Необов'язково) Тасьма для ремінця сумки вдвічі довша за довжину ремінця з припуском на шви і такої ж ширини, якщо ви не бажаєте виготовляти ремінці самостійно - (Необов'язково) Інтерфейс, якщо це необхідно для зміцнення тканини та/або ремінця From a3b345a97f91cf73cb667462bc7588f6d6434feb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:07 +0100 Subject: [PATCH 0906/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hortensia/options/zippersize/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/options/zippersize/uk.md b/markdown/org/docs/designs/hortensia/options/zippersize/uk.md index fea8a855096..5e8c61cf444 100644 --- a/markdown/org/docs/designs/hortensia/options/zippersize/uk.md +++ b/markdown/org/docs/designs/hortensia/options/zippersize/uk.md @@ -12,7 +12,7 @@ title: "Розмір застібки" | Варіант | Розмір в міліметрах (мм) | | ---------- | ------------------------ | -| #Невидимий | 0 | +| #Invisible | 0 | | #3 | 4.8 | | #4 | 5.4 | | #4.5 | 5.9 | From 44d2c57f41c55ce7fed7724f81acd2f0c2a8bad3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:10 +0100 Subject: [PATCH 0907/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/huey/instructions/uk.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/uk.md b/markdown/org/docs/designs/huey/instructions/uk.md index cf184f739b9..c75f0f67d65 100644 --- a/markdown/org/docs/designs/huey/instructions/uk.md +++ b/markdown/org/docs/designs/huey/instructions/uk.md @@ -53,7 +53,7 @@ title: "Худі з капюшоном Huey: Інструкція з пошит - Виверни гарною стороною назовні. - Зліпити передній і нижній необроблені краї разом. - Зробіть чохол для шнурка, прострочивши приблизно 2,5 см (1 дюйм) від внутрішнього краю з боку з отворами для шнурка. -- (За бажанням) Якщо не використовується шнурок, _Topstitch_ або _Edgestitch_ внутрішній вигин. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ title: "Худі з капюшоном Huey: Інструкція з пошит - Припуски шва притисніть догори. - _Topstitch_ або _Edgestitch_ припуск на пришивання пояса до тіла. -### Крок 8: Прикріплюємо манжети +### Step 8: Attaching the cuffs -- З _лицьовими боками разом_ зшийте короткі краї манжетів разом, щоб утворилися дві смуги. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Розправте припуски на шви. - (Необов'язково) _Краєобметочний шов_ припуски шва вниз. - Складіть манжети навпіл вздовж уздовж виворітними сторонами. Преса. @@ -104,7 +104,7 @@ title: "Худі з капюшоном Huey: Інструкція з пошит - Розстебніть блискавку частково. - Складіть верхню частину тасьми-блискавки вниз на _виворітний бік_ тасьми-блискавки. Якщо потрібно, обріжте. - Застібку-блискавку приколіть вздовж одного з передніх країв капюшона, переду і пояса. Переконайтеся, що застібка-блискавка звернена до _виворітного боку_ худі, а низ вирівняний. Зубці застібки-блискавки повинні трохи виходити за лінію шва, а край стрічки повинен збігатися з краєм худі або трохи виходити за нього. -- За допомогою лапки для застібки-блискавки пришийте застібку-блискавку до худі по всій ширині шва. Коли ви дійдете до застібки-блискавки, зупиніться, опустіть голку, підніміть притискну лапку, протягніть застібку-блискавку повз притискну лапку, опустіть притискну лапку. Після цього можна продовжувати прошивати шов. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. Коли ви дійдете до застібки-блискавки, зупиніться, опустіть голку, підніміть притискну лапку, протягніть застібку-блискавку повз притискну лапку, опустіть притискну лапку. Після цього можна продовжувати прошивати шов. - Розстебніть блискавку. - Приколіть і пришийте стрічку-блискавку, що не прикріплена, до іншої сторони худі таким же чином. - Притисніть шви до внутрішньої сторони, намагаючись не розплавити зубці блискавки праскою. From 866e16ccbe0716c1880305514edf951c0d96fe08 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:33 +0100 Subject: [PATCH 0908/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/huey/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/uk.md b/markdown/org/docs/designs/huey/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 1d897d85949aaad0ab81ecec9f9e89d94abf5622 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:40 +0100 Subject: [PATCH 0909/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From dc873eb0c34af05eab64ef7448b78dbb231b239e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:00:48 +0100 Subject: [PATCH 0910/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hugo/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/uk.md b/markdown/org/docs/designs/hugo/instructions/uk.md index f289436c27c..27252a775b6 100644 --- a/markdown/org/docs/designs/hugo/instructions/uk.md +++ b/markdown/org/docs/designs/hugo/instructions/uk.md @@ -113,5 +113,5 @@ title: "Худі з капюшоном Hugo: Інструкція з пошит - Пришийте ребро до манжети, акуратно розтягуючи, поки ребро і манжета не стануть однакової довжини. Вийміть шпильки до того, як вони потраплять у пристрій для зшивання. - Обріжте нижній край кишені, якщо він виходить за край пояса. - Переконайтеся, що ребра зібрані якомога рівномірніше навколо пояса. -- Серже або зигзагоподібно застрочіть пояс, знову акуратно розтягуючи, поки ребра і пояс не стануть однакової довжини. Зшивайте з капюшоном зверху, щоб ви могли бачити, як він потрапляє в шов. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Зшивайте з капюшоном зверху, щоб ви могли бачити, як він потрапляє в шов. - Пришийте нижні краї кишені до тіла сорочки, щоб закріпити дно кишені. From 613e2e3cbd30f16139895ba07443b582d37d91ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:01:02 +0100 Subject: [PATCH 0911/1313] New translations en.md (Ukrainian) skip-build --- .../docs/designs/jaeger/instructions/uk.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/uk.md b/markdown/org/docs/designs/jaeger/instructions/uk.md index 38ca0a1113b..1f71c86fa8c 100644 --- a/markdown/org/docs/designs/jaeger/instructions/uk.md +++ b/markdown/org/docs/designs/jaeger/instructions/uk.md @@ -88,7 +88,7 @@ With the fusible in place, thread a needle and baste around the chest pocket to #### Розріжте отвір нагрудної кишені, поверніть і притисніть -![Натисніть на нагрудну кишеню](pressChestPocket.svg) Тепер розріжте ваш шов посередині обох швів. Не обрізайте до краю, а створіть там трикутну форму. +![Натисніть на нагрудну кишеню](pressChestPocket.svg) Тепер розріжте ваш шов посередині обох швів. Don't cut to the edge, but create a triangular shape there. Переверніть кишенькову сумку і пришийте до вивороту, протягнувши обидві частини через отвір, який ви щойно створили. @@ -108,7 +108,7 @@ On the backside, fold the pocket bag double and sew it to the pocket welt below Нарешті, закрийте сумку-кишеню, зшивши бокові сторони. Зробіть це, поклавши лицьовою стороною донизу, а виворітною - догори. Потім складіть з обох боків і зшийте сумку-кишеню. Під час зшивання цих боковин не забудьте захопити трикутні маленькі шматочки отвору. Це зміцнить отвір кишені. -Зшийте нагрудну кишеню, поки ми конструюємо піджак. +Baste the chest pocket closed while we construct the jacket. ### Підготуйте фронти @@ -163,11 +163,11 @@ Make sure to make the stitches a bit smaller towards the lapel tip, to make sure ![Закрийте боки](closeSides.svg) -Покладіть лицьову сторону лицьовим боком догори, а виворітну сторону - лицьовим боком донизу. -Вирівняйте лицьовий і боковий шви, приколіть їх, якщо хочете, і зшийте разом. +Place your front with the good side up, and your side on it with the good side down. +Align the front/side seams, pin them in place if you feel like it, and sew them together. -Покладіть його вниз лицьовою стороною догори, а зверху покладіть спинку лицьовою стороною донизу. -Вирівняйте шви спинки і боків, за бажанням приколіть їх і зшийте разом. +Place this down with the good side up, and place your back on top with the good side down. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Переконайтеся, що полотно не застрягло у шві. @@ -181,7 +181,7 @@ Make sure to make the stitches a bit smaller towards the lapel tip, to make sure ![Закрийте задній шов](closeBack.svg) -Складіть дві половинки жакета лицьовими боками разом і закрийте задній шов. +Align your two half-jackets with the good sides together, and close the back seam. @@ -216,23 +216,23 @@ Make sure to make the stitches a bit smaller towards the lapel tip, to make sure ### Зробіть комір -Для того, щоб виглядати по-справжньому круто, комір повинен бути симетричним з обох боків. Різниця в 5 мм вже помітна на нашийнику, тому чим точніше ви зробите ці кроки, тим краще. +In order to look real crisp, the collar should be symmetrical on both sides. Різниця в 5 мм вже помітна на нашийнику, тому чим точніше ви зробите ці кроки, тим краще. ### Додайте маркування до обох нашийників Накладіть обидва коміри один на одного, зшийте кути разом і обріжте намітку. Потім за допомогою розмічального олівця або крейди позначте краї нашийника. Виміряйте 2 рази, щоб переконатися, що решта комірів і розташування кутів на 100% збігаються на обох кутах ![Розмітьте краї коміра](collarMarkings.svg) #### Додайте прокладку або полотно до зовнішньої стійки коміра та під комір -Або використовуйте легкоплавкий інтерфейс, або, якщо ви хочете бути жорстким, використовуйте полотно з кінського волосу. Пришийте його до зовнішньої підставки для колориту, використовуючи ту саму техніку, що й при додаванні полотна до лацкана. ![Додайте полотно до колориту](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. ![Add canvas to the collar](collarWithCanvas.svg) #### Пришийте зовнішній комір-стійку до нижнього коміра та додайте до куртки -Переконайтеся, що зовнішня стійка коміра та підкомір суміщені та зшиті разом Пришийте зовнішню стійку коміра+підкомір до вирізу горловини куртки Зробіть невеликі надрізи в тканині навколо вирізу горловини для більшої зручності Припуски на шви в кутах обріжте по діагоналі для кращого прилягання. +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit ![зробіть невеликі розрізи в СА навколо коміра](collarCuts.svg) ### Рукава -Пришийте верхній рукав до нижнього до розрізу +Sew the uppersleeve to the undersleeve until the split #### Створіть розріз на вході втулки @@ -245,13 +245,13 @@ Make sure to make the stitches a bit smaller towards the lapel tip, to make sure Будь ласка, дивіться зображення на передніх кишенях для деталей -Визначте місце розташування кишені на лівій внутрішній підкладці за допомогою наметування Додайте трохи флізеліну навколо цієї ділянки Намалюйте кишеню на флізеліні. Додайте шви на верхній і нижній стороні кишені Зшийте шви по лінії з обох боків кишені. Використовуйте шви так, щоб вони знаходилися точно один над одним. Обріжте вхід в кишеню приблизно на 1-2 см від кінця. Розріжте останню частину по діагоналі, щоб вийшов зріз риб'ячої кістки Виверніть шви навиворіт, прострочіть і притисніть Виверніть трикутники навиворіт, прострочіть і притисніть Прошийте навколо кишені, щоб все було на своїх місцях Візьміть сумку-кишеню, пришийте її до нижнього шва, а іншу частину до верхнього шва (див.: нагрудна кишеня) +Locate the position of the pocket on the left inner lining with basting Add some fusible interfacing around the area Draw the pocket on the interfacing. Додайте шви на верхній і нижній стороні кишені Зшийте шви по лінії з обох боків кишені. Make use the welts end exactly on top of each other. Обріжте вхід в кишеню приблизно на 1-2 см від кінця. Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Підкладка -Зшийте підкладку ззаду до розрізу Зшийте фігурні шви в передніх частинах Складіть всю підкладку разом (перед, боковини, спинку) Складіть підкладку з лицьової сторони з лицьовою стороною. Залиште знизу відкритими приблизно 5 см Закрийте плечі Додайте внутрішню стійку коміра до верхнього коміра і додайте до підкладки жакета Зробіть невеликі розрізи у вирізі горловини і по кутах Додайте верхні рукави до нижніх Додайте рукави до підкладки жакета. +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners Add upper to lower sleeves Add sleeves to lining jacket ### Закривай. -Але куртка + підкладка накладаються одна на одну гарними сторонами. Прошийте навколо коміра і продовжуйте аж до лицьового боку Виверніть куртку на виворітний бік Складіть рукави на місце (переконайтеся, що вони не вивернуті!!) Додайте підкладку рукава до розрізу рукава Переконайтеся, що коміри прямо накладені один на одного (вирівняні), і додайте припуски на шви вручну. Додайте в декількох місцях передню частину SA до підкладки SA вручну з внутрішньої сторони піджака Створіть спинку і додайте підкладку до основної тканини вручну Додайте петлі та ґудзики +Але куртка + підкладка накладаються одна на одну гарними сторонами. Прошийте навколо коміра і продовжуйте аж до лицьового боку Виверніть куртку на виворітний бік Складіть рукави на місце (переконайтеся, що вони не вивернуті!!) Add the sleeves lining to the sleeves split Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Додайте в декількох місцях передню частину SA до підкладки SA вручну з внутрішньої сторони піджака Створіть спинку і додайте підкладку до основної тканини вручну Додайте петлі та ґудзики From bd25357de7a776043f97a1d695ae0e60c578ad94 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:01:03 +0100 Subject: [PATCH 0912/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/jaeger/needs/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/needs/uk.md b/markdown/org/docs/designs/jaeger/needs/uk.md index 5a47ce29a16..3f9ae3d3beb 100644 --- a/markdown/org/docs/designs/jaeger/needs/uk.md +++ b/markdown/org/docs/designs/jaeger/needs/uk.md @@ -17,10 +17,10 @@ title: "Єгерська куртка: Що вам потрібно" -###### Де взяти все це +###### Where to get all this stuff -Виготовлення "Єгера" - це цікавий і повчальний проект, але дістати всі необхідні деталі -і частини може бути непросто. +Making Jaeger is a fun and rewarding project, but getting all the required bits +and pieces can be challenging. Це тому, що такий проект дещо амбітніший, ніж типовий домашній швейний проект, і, як наслідок, ваш місцевий галантерейний From 17ceedc1533187548685381989c68f09ca9202df Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:01:10 +0100 Subject: [PATCH 0913/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/uk.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/uk.md index dd4e44c47ee..6fadc508cdf 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/uk.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/uk.md @@ -4,7 +4,7 @@ title: "Дротик по центру спини" ![Дротик по центру спини](centerbackdart.svg) -Зменшення по центру спини від плечей до шиї, що пристосовується до вигнутої верхньої частини спини. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From 17cdb975fd47218ee26300c6533b476232b0ddd4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:01:46 +0100 Subject: [PATCH 0914/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/lucy/measurements/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/uk.md b/markdown/org/docs/designs/lucy/measurements/uk.md index 4f0096681c0..04a13ec3d3d 100644 --- a/markdown/org/docs/designs/lucy/measurements/uk.md +++ b/markdown/org/docs/designs/lucy/measurements/uk.md @@ -3,5 +3,5 @@ title: "Кишеня на зав'язці Lucy: Необхідні виміри" --- -Luci не потребує жодних вимірів +Lucy does not require any measurements From f7f3ae77a88782e65143485fd0c4c7d8bfbfc322 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:14 +0100 Subject: [PATCH 0915/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/uk.md b/markdown/org/docs/designs/noble/options/upperdartlength/uk.md index d136ded89e5..6cfba4f4822 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/uk.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/uk.md @@ -4,7 +4,7 @@ title: "Довжина верхньої виточки" *** -Довжина верхньої виточки **** регулює довжину верхньої виточки, 100% - це довжина до точки обхвату грудей. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From b80ead60bfa1c4e1e57b0f70b02661daad6fff6c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:18 +0100 Subject: [PATCH 0916/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/octoplushy/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/uk.md b/markdown/org/docs/designs/octoplushy/instructions/uk.md index 1d0cced4853..d80ae39fbf0 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/uk.md +++ b/markdown/org/docs/designs/octoplushy/instructions/uk.md @@ -69,13 +69,13 @@ title: "Octoplushy, плюшевий восьминіг: інструкція з - За допомогою _гарних сторін разом_ з'єднайте частини ніг з частинами тулуба. - Зшийте кожну ніжку від надсічки B/D вниз і назад до надсічки B/D. -- Якщо ножна частина трохи коротша за ніжку на головній частиніm , вам доведеться полегшити її під час підгонки. Для полегшення цього процесу передбачені насічки. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Для полегшення цього процесу передбачені насічки. Найпростіше пришити одну ногу майже до наступної надсічки В/Д, зупинити шиття, приколоти наступну ногу і продовжити шиття, а не намагатися приколоти і пришити всі ноги за один раз. -Ті, хто більш впевнений у собі, можуть робити це на машині з опущеною голкою, але якщо ви менш впевнені, ви можете витягнути голку з машини, закріпити її шпилькою, а потім почати шити знову, трохи вище початкового стібка, щоб закріпити його. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From bc7cbb808448f8a38deecff89324f7e8beac0a84 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:27 +0100 Subject: [PATCH 0917/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/paco/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/uk.md b/markdown/org/docs/designs/paco/instructions/uk.md index 99a734509bd..3e466d58f6d 100644 --- a/markdown/org/docs/designs/paco/instructions/uk.md +++ b/markdown/org/docs/designs/paco/instructions/uk.md @@ -205,7 +205,7 @@ title: "Штани пако: Інструкція з пошиття" Потім вирівняйте центральні частини спинки і приколіть, додавши додаткові шпильки навколо пояса, якщо потрібно. -Пришийте пояс до штанів якомога ближче до резинки, але не вшивайте його в резинку. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Пояс пришитий простим методом](step13.svg) @@ -288,7 +288,7 @@ As you did with the waistband elastic, wrap the elastic for your cuff around you -Пришийте манжету до розрізу штанів, якомога ближче до резинки, але не вшивайте її в резинку. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Манжети пришиті простим методом](step16.svg) From f7ce66c65bcc408f00d76d0ff5e510abfef63f10 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:33 +0100 Subject: [PATCH 0918/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/uk.md b/markdown/org/docs/designs/paco/options/crotchdrop/uk.md index f18d274e91a..e6a59d33d41 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/uk.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/uk.md @@ -4,8 +4,8 @@ title: "Посадка" Контролює, наскільки опускається промежина. -Занижена кльош створює більш невимушену посадку. -Значно занижена промежина також може бути вибором стилю. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From 1ee4e5cf69d6b7b0e8071a83e6ff3ddc56ca5892 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:34 +0100 Subject: [PATCH 0919/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/uk.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/uk.md index a30b45c7e94..f3989f93e7a 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/uk.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/uk.md @@ -2,7 +2,7 @@ title: "Підгин пахового шва" --- -Контролює кривизну кроточного шва, що впливає на облягання промежини. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 69bc6dbc7d406cece4a2f0b617b37784e295f1ad Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:45 +0100 Subject: [PATCH 0920/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/penelope/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/uk.md b/markdown/org/docs/designs/penelope/fabric/uk.md index 833daaeb85f..5f85960b3b9 100644 --- a/markdown/org/docs/designs/penelope/fabric/uk.md +++ b/markdown/org/docs/designs/penelope/fabric/uk.md @@ -6,7 +6,7 @@ title: "Спідниця-олівець Пенелопа: Варіанти тк Спідниця-олівець - досить офіційний крій, і найчастіше виготовляється з костюмного матеріалу. Іншими словами, **тонкої вовни**. Більш повсякденні варіанти серед **середньої ваги** тканин включають **бавовняні** або **джинсові**. -Використання тканини з деяким розтягуванням полегшить комфортну посадку і дасть вам більше простору для рухів , оскільки спідниці-олівці сидять досить щільно. **Скуба** часто можна побачити в спідницях-олівцях, оскільки вона щільна, має тіло, але при цьому тягнеться. +Використання тканини з деяким розтягуванням полегшить комфортну посадку і дасть вам більше простору для рухів , оскільки спідниці-олівці сидять досить щільно. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Підкладкова тканина From 23ef1909c2ef363a883525a502ea52584e753603 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:46 +0100 Subject: [PATCH 0921/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/penelope/instructions/uk.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/uk.md b/markdown/org/docs/designs/penelope/instructions/uk.md index 33f6ce7cc12..f5ec3ea3431 100644 --- a/markdown/org/docs/designs/penelope/instructions/uk.md +++ b/markdown/org/docs/designs/penelope/instructions/uk.md @@ -24,7 +24,7 @@ title: "Спідниця-олівець Пенелопа: Інструкція Без застібки-блискавки неможливо буде влізти і вилізти зі спідниці. Тож вона повинна довжиною щонайменше від талії до найбільшої частини сідниць. Довший полегшить надягання та знімання спідниці. Не використовуйте занадто довгу, тому що частина шва, де застібка-блискавка, поводиться інакше, ніж частина без неї, і ви хочете спробувати зробити її непомітною також і в русі. -Традиційно в спідниці-олівець використовується невидима застібка-блискавка, але звичайна застібка-блискавка підійде так само добре. Ви навіть можете використати блискавку, яка контрастує з тканиною, якщо вам заманеться. Обирайте те, що підходить вам і стилю, до якого ви прагнете. Бути креативним (чи ні) - це повністю залежить від вас! Хоча, якщо ваша тканина важча, можливо, ви захочете вибрати іншу застібку. +Традиційно в спідниці-олівець використовується невидима застібка-блискавка, але звичайна застібка-блискавка підійде так само добре. You can even use a zipper that contrasts your fabric if the fancy takes you. Обирайте те, що підходить вам і стилю, до якого ви прагнете. Бути креативним (чи ні) - це повністю залежить від вас! Хоча, якщо ваша тканина важча, можливо, ви захочете вибрати іншу застібку. ### Вентиляційний отвір @@ -40,8 +40,8 @@ title: "Спідниця-олівець Пенелопа: Інструкція Ми не будемо детально пояснювати, як створювати всі окремі деталі , з яких складається спідниця-олівець. Ці інструкції припускають, що ви знаєте, як вшити виточку, вставити невидиму -блискавку, зробити вентиляційний отвір і т.д. Якщо ні, то на сайті -можна знайти безліч чудових статей, як у письмовому вигляді, так і на відео. Якщо ви застрягли, ви завжди можете звернутися до +блискавку, зробити вентиляційний отвір і т.д. If not, there are numerous excellent articles available on the +web, both in written form, and on video. Якщо ви застрягли, ви завжди можете звернутися до [інші FreeSewer](https://discord.freesewing.org/) у нашому дискорді. @@ -50,7 +50,7 @@ title: "Спідниця-олівець Пенелопа: Інструкція - Зшийте всі виточки. - Притисніть виточки до спинки. - - Для задньої частини це означає, що виточки притискаються одна до одної. + - For the back piece(s), that means you press the darts towards each other. - Для передньої частини це означає, що виточки притискаються до бокових швів. ### Крок 2: Застібка-блискавка @@ -76,11 +76,11 @@ title: "Спідниця-олівець Пенелопа: Інструкція - Виконайте кроки 1 - 4, щоб побудувати підкладку з наступними змінами: - Відрегулюйте виточки, щоб компенсувати додаткову "легкість" підкладки. - Не застібайте блискавку, але залиште отвір у шві застібки-блискавки. -- Прикріпіть підкладку до тіла у зручний для вас спосіб. Під час цього вам потрібно буде зробити вентиляційний отвір і з'єднати підкладку із застібкою-блискавкою. +- Attach the lining to the body in your preferred way. Під час цього вам потрібно буде зробити вентиляційний отвір і з'єднати підкладку із застібкою-блискавкою. -Як розподілити додаткову "легкість" - вирішувати вам. Ви можете додати його до виточок, збільшивши їх. або можна додати ще одну виточку чи коробчату складку посередині. +Як розподілити додаткову "легкість" - вирішувати вам. Ви можете додати його до виточок, збільшивши їх. Or you can add another dart or box pleat in the middle. @@ -116,7 +116,7 @@ title: "Спідниця-олівець Пенелопа: Інструкція - За бажанням, виверніть лицьовою стороною до подолу і вентиляційних отворів. - Побудуйте вентиляційні отвори за вашим бажанням - Припрасуйте під припуски на підгин спідниці. -- Якщо підгин досить великий і/або тканина трохи притиснута вздовж верху, це допоможе запобігти викривленню. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Закріпіть кант на місці у зручний для вас спосіб. Наприклад, ви можете шити ззовні або _Slipstitch_ зсередини. Це залежить від того, як ви хочете, щоб виглядав готовий продукт. From 3915195ce8cd8271381c2108bcbc5d0792239f29 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:02:59 +0100 Subject: [PATCH 0922/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sandy/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/uk.md b/markdown/org/docs/designs/sandy/fabric/uk.md index 398136ef207..a2007568785 100644 --- a/markdown/org/docs/designs/sandy/fabric/uk.md +++ b/markdown/org/docs/designs/sandy/fabric/uk.md @@ -6,7 +6,7 @@ title: "Пісочна спідниця-коло: Варіанти тканин" Спідниця-коло - це дуже універсальний одяг, який може бути виготовлений з різноманітних тканин. Все залежить від вашого призначення та стилю, якому ви надаєте перевагу. -- Якщо ви хочете повсякденну спідницю, яку легко прати, тоді **Лляна** і **Бавовняна** - це те, що вам потрібно. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - Якщо ви шукаєте щось більш формальне, спробуйте **Костюмні тканини**. - Якщо ви хочете щось тепле на зиму, можете спробувати **Вовняні**. - Якщо ви хочете щось струмливе, що драпірується, ви можете спробувати легкі матеріали, такі як **Шифон**. From 15986cafdd47f7bc1aed8bb21adf615a6cedfefb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:01 +0100 Subject: [PATCH 0923/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sandy/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/uk.md b/markdown/org/docs/designs/sandy/instructions/uk.md index ff639e06fbd..58faf92ce5b 100644 --- a/markdown/org/docs/designs/sandy/instructions/uk.md +++ b/markdown/org/docs/designs/sandy/instructions/uk.md @@ -5,7 +5,7 @@ title: "Пісочна спідниця по колу: Інструкція з Через різні стилі та конфігурації Sandy вам може знадобитися пропустити або змінити порядок певних кроків. -Ми не будемо детально пояснювати, як створювати всі окремі деталі, з яких складається спідниця-коло. Ці інструкції припускають, що ви вмієте пришивати блискавку, конструювати кишені тощо. Якщо ні, то в Інтернеті є безліч чудових статей, як у письмовому вигляді, так і на відео. Якщо ви застрягли, ви завжди можете зв'язатися з [іншими FreeSewer'ами](https://discord.freesewing.org/) у нашому дискорді. +Ми не будемо детально пояснювати, як створювати всі окремі деталі, з яких складається спідниця-коло. Ці інструкції припускають, що ви вмієте пришивати блискавку, конструювати кишені тощо. If not, there are numerous excellent articles available on the web, both in written form, and on video. Якщо ви застрягли, ви завжди можете зв'язатися з [іншими FreeSewer'ами](https://discord.freesewing.org/) у нашому дискорді. @@ -111,7 +111,7 @@ __Інші закриття__ -Існує багато способів підшити/обробити низ спідниці, якщо у вас є улюблений метод, використовуйте його тут. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From 2c6dc0fb5f0a8bbe9b9329b48183be9331d2423a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:02 +0100 Subject: [PATCH 0924/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sandy/needs/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/uk.md b/markdown/org/docs/designs/sandy/needs/uk.md index 46c23af88fd..0c4cd3e20b7 100644 --- a/markdown/org/docs/designs/sandy/needs/uk.md +++ b/markdown/org/docs/designs/sandy/needs/uk.md @@ -16,7 +16,7 @@ title: "Пісочна спідниця-коло: Що вам потрібно" ##### Основна тканина -Довжина, яка вам потрібна, залежить від довжини та об'єму вашої спідниці, середньої довжини та меншої довжини буде достатньо 2 - 2,5 метра, тоді як для спідниці до підлоги знадобиться більше. Якщо ви сумніваєтеся, купіть на метр більше, ніж ви думаєте. Також не бійтеся розкроювати тканину, якщо вона недостатньо широка або довга, краще мати додатковий шов, ніж не використовувати тканину, яка вам подобається. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. Якщо ви сумніваєтеся, купіть на метр більше, ніж ви думаєте. Також не бійтеся розкроювати тканину, якщо вона недостатньо широка або довга, краще мати додатковий шов, ніж не використовувати тканину, яка вам подобається. @@ -40,7 +40,7 @@ title: "Пісочна спідниця-коло: Що вам потрібно" ##### Закриття -Якщо ви не робите еластичний пісочний годинник, вам знадобиться якийсь тип застібки. Це може бути просто застібка-блискавка, вставлена в пояс і шов, або ж ґудзики, гачки для одягу чи застібки з перехрещеним поясом і застібкою, планкою чи блискавкою у верхній частині шва. +Якщо ви не робите еластичний пісочний годинник, вам знадобиться якийсь тип застібки. This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Еластичний From 72a260a8cae0c3032f0c318f5c6ed8e46cdf3665 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:11 +0100 Subject: [PATCH 0925/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/shin/fabric/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/uk.md b/markdown/org/docs/designs/shin/fabric/uk.md index e5f817a0758..c0c07164606 100644 --- a/markdown/org/docs/designs/shin/fabric/uk.md +++ b/markdown/org/docs/designs/shin/fabric/uk.md @@ -6,6 +6,6 @@ title: "Плавки з гомілкою: Варіанти тканин" Зазвичай це розпадається на кілька категорій: -- Нейлон, змішаний з еластином, спандексом або лайкрою, м'який і еластичний. Це те, з чого виготовляють більшість повсякденних купальників. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. Це те, з чого виготовляють більшість повсякденних купальників. - Поліестер, змішаний з PBT (полібутилентерефталат), менш м'який на дотик, але стійкий до хлору і солоної води. Це те, з чого зроблено багато змагальних купальників. - Неопрен, також відомий як акваланг, важчий і менш еластичний. Це матеріал, з якого виготовляють акваланги. From 5919c90614ad88193b727cb398e6308dc19eaf03 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:13 +0100 Subject: [PATCH 0926/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/shin/instructions/uk.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/uk.md b/markdown/org/docs/designs/shin/instructions/uk.md index b610408058d..4d1cddfea06 100644 --- a/markdown/org/docs/designs/shin/instructions/uk.md +++ b/markdown/org/docs/designs/shin/instructions/uk.md @@ -8,13 +8,13 @@ title: "Плавки з гомілкою: інструкція з пошиття ## Крок 1: З'єднайте спинки -Покладіть обидві спинки одна на одну виворітними сторонами разом і зшийте їх уздовж центрального шва спинки. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Крок 2: З'єднайте фронти ### Зшийте передній шов -Покладіть дві передні частини одна на одну лицьовими сторонами разом і зшийте їх уздовж центрального переднього шва. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Повторіть це з двома іншими лицьовими сторонами, щоб у вас вийшло два однакових набори. @@ -38,7 +38,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Відзначте середину довжини вашого пояса. Складіть пояс удвічі і позначте середину ширини (припуски на шви не враховуйте). -Трохи лівіше і правіше від цього місця ви можете додати два люверси для протягування шнурка. Це допоможе уникнути незручної ситуації, коли ви підете на велике занурення, а потім раптом виявите, що ваші плавки на щиколотках. +Трохи лівіше і правіше від цього місця ви можете додати два люверси для протягування шнурка. This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### Найкраще додати деяке посилення > @@ -68,7 +68,7 @@ Keep your swim trunks with the good side inwards (the back at least, the front h Тепер пройдіться навколо талії плавок, закріпивши пояс на місці. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew into the elastic. +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, make a second round to sew it a bit more snugly. From c793e5c78955a60b4379c448cda2712fdc163bc0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:14 +0100 Subject: [PATCH 0927/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/shin/needs/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/uk.md b/markdown/org/docs/designs/shin/needs/uk.md index 97adb1b8ddb..af55c78e19f 100644 --- a/markdown/org/docs/designs/shin/needs/uk.md +++ b/markdown/org/docs/designs/shin/needs/uk.md @@ -12,4 +12,4 @@ title: "Плавки для гомілки: Що вам потрібно" > > Як і з усіма еластичними тканинами, сергер/оверлок полегшить вам життя. > -> Проте, якщо у Вас її немає - не розчаровуйтесь. Для цього проєкту вона не обов'язкова. Ви можете використовувати іншу техніку для розтягнутих швів, наприклад, зигзагоподібний стібок, подвійну голку або еластичну нитку. +> Проте, якщо у Вас її немає - не розчаровуйтесь. Для цього проєкту вона не обов'язкова. You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From 648bdf61a49ca6b0b98794f000e4ea322d26d4ec Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:19 +0100 Subject: [PATCH 0928/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/shin/options/rise/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/uk.md b/markdown/org/docs/designs/shin/options/rise/uk.md index 5b1d09d832a..6bb05386d79 100644 --- a/markdown/org/docs/designs/shin/options/rise/uk.md +++ b/markdown/org/docs/designs/shin/options/rise/uk.md @@ -2,7 +2,7 @@ title: "Вставай." --- -Цей параметр регулює загальну висоту талії. +This option controls the overall height of the waist. > Чим вище підйом, тим вище талія. From f45d435ac63b8493d03547faa3e74269ad0fd96b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:23 +0100 Subject: [PATCH 0929/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simon/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/uk.md b/markdown/org/docs/designs/simon/instructions/uk.md index 0312787bd05..ab606660ae2 100644 --- a/markdown/org/docs/designs/simon/instructions/uk.md +++ b/markdown/org/docs/designs/simon/instructions/uk.md @@ -629,7 +629,7 @@ title: "Сорочка-символ: Інструкція з пошиття" ### Крок 20: Підшийте сорочку -![Переверніть і натисніть](20a.png) ![Знову виберіть і натисніть ще раз](20b.png) ![Зшийте поділ](20c.png) +![Переверніть і натисніть](20a.png) ![Fold over again, and press again](20b.png) ![Зшийте поділ](20c.png) Час закінчити підгин (це та частина, яку ви заправляєте в штани). From c308e0d80484b3490546af7157e0e576fa803644 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:40 +0100 Subject: [PATCH 0930/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simon/options/collargap/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/uk.md b/markdown/org/docs/designs/simon/options/collargap/uk.md index 215762c6c32..c0eb4abd3e6 100644 --- a/markdown/org/docs/designs/simon/options/collargap/uk.md +++ b/markdown/org/docs/designs/simon/options/collargap/uk.md @@ -8,7 +8,7 @@ title: "Комірний зазор" -Це залежить від стилю, але ширший комір (разом з кутом нахилу коміра) може вмістити ширшу краватку (вузол). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 46f8dcd9df8c3be4c5b391a8edb3c31d81639a8e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:03:59 +0100 Subject: [PATCH 0931/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simon/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/uk.md b/markdown/org/docs/designs/simon/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 02a2b340d3f72a650a95d4ca155a9689c885668e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:04:06 +0100 Subject: [PATCH 0932/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From 35acfc5b515999354616df8833d20403a7953aa1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:04:37 +0100 Subject: [PATCH 0933/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simone/options/collargap/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/uk.md b/markdown/org/docs/designs/simone/options/collargap/uk.md index 215762c6c32..c0eb4abd3e6 100644 --- a/markdown/org/docs/designs/simone/options/collargap/uk.md +++ b/markdown/org/docs/designs/simone/options/collargap/uk.md @@ -8,7 +8,7 @@ title: "Комірний зазор" -Це залежить від стилю, але ширший комір (разом з кутом нахилу коміра) може вмістити ширшу краватку (вузол). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 088c04ef667d542f4c9e51527ac211899e60963e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:04:56 +0100 Subject: [PATCH 0934/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simone/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/uk.md b/markdown/org/docs/designs/simone/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 22ac6410e08cf8e0eaac8f9826869f33f4327b47 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:04 +0100 Subject: [PATCH 0935/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From d17fddb114cee90d63223413dd8d055e017eb782 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:16 +0100 Subject: [PATCH 0936/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sven/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/uk.md b/markdown/org/docs/designs/sven/instructions/uk.md index 55974c33f9e..c554ed71a33 100644 --- a/markdown/org/docs/designs/sven/instructions/uk.md +++ b/markdown/org/docs/designs/sven/instructions/uk.md @@ -4,7 +4,7 @@ title: "Світшот Sven: Інструкція з пошиття" ### Крок 1: Зшийте плечові шви -- Покладіть спинку і передню частину один на одного лицьовими сторонами разом. +- Place the back and front on top of each other with the good sides together. - Вирівняйте плечовий шов і застрочіть/застрочіть його зі стандартним припуском на шов. - Повторіть для другого плечового шва. @@ -38,7 +38,7 @@ title: "Світшот Sven: Інструкція з пошиття" - Виміряйте ширину рукава на манжеті - Відріжте шматок ребра довжиною (вдвічі більше цієї довжини - 2 см / 1 дюйм) і шириною 7 см / 3 дюйми -- Складіть ребристість вдвічі вздовж найдовшої сторони і зшийте краї так, щоб вийшло суцільне кільце +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Виверніть свій Sven навиворіт - Складіть ребристе кільце лицьовим боком назовні і вставте складений бік у внутрішній/зовнішній рукав Sven - Вирівняйте відрізану сторону ребра з краєм рукава і приколіть його на місце. Ребра трохи коротші, тому трохи розтягніть їх під час приколювання, щоб вшити в рукав. @@ -51,7 +51,7 @@ title: "Світшот Sven: Інструкція з пошиття" - Виміряйте ширину Sven на подолі - Відріжте шматок ребра довжиною в 1,9 рази більше і шириною 7 см / 3 дюйми - Можливо, вам доведеться прикріпити різні шматки, якщо ваша ребриста тканина недостатньо широка -- Складіть ребристість вдвічі вздовж найдовшої сторони і зшийте краї так, щоб вийшло суцільне кільце +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Виверніть свій Sven навиворіт - Складіть ребристе кільце лицьовою стороною назовні і вставте складений бік у внутрішню/зовнішню частину корпусу Sven - Вирівняйте відрізану сторону ребра з краєм корпусу і приколіть його на місце. Ребра трохи коротші, тому трохи розтягніть їх під час приколювання, щоб вони увійшли в тіло. From 5203debb491e6008734530c05dec84a869fb8a14 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:31 +0100 Subject: [PATCH 0937/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sven/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/uk.md b/markdown/org/docs/designs/sven/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 8305c194e89b7a54c6e5e5258c53d5f6f57aa160 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:39 +0100 Subject: [PATCH 0938/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From b7966662c2883d541b1a1c7ff6e18e2f42e9a2fa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:48 +0100 Subject: [PATCH 0939/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/tamiko/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/uk.md b/markdown/org/docs/designs/tamiko/instructions/uk.md index 56354b0e98c..38e03e138d9 100644 --- a/markdown/org/docs/designs/tamiko/instructions/uk.md +++ b/markdown/org/docs/designs/tamiko/instructions/uk.md @@ -4,7 +4,7 @@ title: "Топ \"Таміко\": Інструкція з пошиття" ### Крок 1: Виконайте шов пройми -![Обробіть шов пройми](step03.png) +![Finish the armhole seam](step03.png) - Шов пройми обробіть вузьким кантом. From afe9d50ca799d84175dc89c5051b754bf6f7135a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:05:57 +0100 Subject: [PATCH 0940/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/teagan/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/uk.md b/markdown/org/docs/designs/teagan/instructions/uk.md index e1e02ac0b1d..c05279033d5 100644 --- a/markdown/org/docs/designs/teagan/instructions/uk.md +++ b/markdown/org/docs/designs/teagan/instructions/uk.md @@ -77,7 +77,7 @@ title: "Футболка Teagan: Інструкція з пошиття" - Тепер, коли кінці стрічки з'єднані разом, настав час закінчити останні 6 см, розтягуючи і пришиваючи стрічку так само, як ви робили це з рештою. -Ура! Ви закінчили найскладнішу частину! За бажанням ви можете закріпити необроблені краї, пришивши їх до тканини футболки, безпосередньо всередині трикотажної стрічки, швом "зигзаг" або потайним швом. Це не обов'язково, але це деталь, яку ви побачите на багатьох готових футболках, і вона може допомогти шийній стрічці лежати рівно. +Ура! Ви закінчили найскладнішу частину! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. Це не обов'язково, але це деталь, яку ви побачите на багатьох готових футболках, і вона може допомогти шийній стрічці лежати рівно. ![Пришийте трикотажну стрічку для фіксації](step03i.svg) @@ -85,7 +85,7 @@ title: "Футболка Teagan: Інструкція з пошиття" -Більш детальну інструкцію по в'язанню можна знайти в [Інструкції Аарона] (/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From dc4987e6da548d2e5eb618b44dc016c555599b48 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:06:09 +0100 Subject: [PATCH 0941/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/teagan/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/uk.md b/markdown/org/docs/designs/teagan/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From b8f60dfe68c65ca7bb39208d3e219c09c3829a5b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:06:16 +0100 Subject: [PATCH 0942/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From 71b464d0013ebfa0461cc5cd71f163e9e9bd779e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:06:39 +0100 Subject: [PATCH 0943/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/uk.md b/markdown/org/docs/designs/titan/options/crotchdrop/uk.md index f18d274e91a..e6a59d33d41 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/uk.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/uk.md @@ -4,8 +4,8 @@ title: "Посадка" Контролює, наскільки опускається промежина. -Занижена кльош створює більш невимушену посадку. -Значно занижена промежина також може бути вибором стилю. +Lowering the crotch makes for a more casual fit. +A significantly lowered crotched can also be a style choice. From d09482e9cbf38f9acb64053ff6b456d6e58895d3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:06:41 +0100 Subject: [PATCH 0944/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/uk.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/uk.md index a30b45c7e94..f3989f93e7a 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/uk.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/uk.md @@ -2,7 +2,7 @@ title: "Підгин пахового шва" --- -Контролює кривизну кроточного шва, що впливає на облягання промежини. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 0aeb2fb0a3aa927a70963e1f97116c438cecc024 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:06:58 +0100 Subject: [PATCH 0945/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/wahid/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/wahid/instructions/uk.md b/markdown/org/docs/designs/wahid/instructions/uk.md index 4c87619ef3f..bb6b54e0c26 100644 --- a/markdown/org/docs/designs/wahid/instructions/uk.md +++ b/markdown/org/docs/designs/wahid/instructions/uk.md @@ -140,7 +140,7 @@ title: "Жилет вахід: Інструкція з пошиття" ![Притисніть трикутники на коротких сторонах](05h.png) -Переверніть кишеню лицьовою стороною назовні, щоб показати маленькі сліди збоку кишені. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Складіть їх так, щоб у кишені залишився чистий прямокутник, і притисніть. @@ -214,7 +214,7 @@ title: "Жилет вахід: Інструкція з пошиття" #### Приколіть підкладку до тканини -![Пришивна підкладка до тканини](09b.png) +![Приколіть підкладку до тканини](09b.png) Вирівняйте підкладку по краю тканини і приколіть її на місці. @@ -230,7 +230,7 @@ title: "Жилет вахід: Інструкція з пошиття" #### Підверніть жилет і припрасуйте краї -![Підверніть жилет і припрасуйте край](09d.png) +![Підверніть жилет і припрасуйте краї](09d.png) Простягніть руку крізь щілину, яку ви залишили відкритою на подолі, і виверніть жилет. From ec37738eed1d0532ec9ef90da5a6c48612620221 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:07:19 +0100 Subject: [PATCH 0946/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/walburga/needs/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/uk.md b/markdown/org/docs/designs/walburga/needs/uk.md index 4f6d27eda31..bcb82d2cdbf 100644 --- a/markdown/org/docs/designs/walburga/needs/uk.md +++ b/markdown/org/docs/designs/walburga/needs/uk.md @@ -6,4 +6,4 @@ title: "Вальбурга Ваппенрок: Те, що тобі потріб - [Базові матеріали для шиття](/docs/sewing/basic-sewing-supplies) - Приблизно 1 метр (1,1 ярда) відповідної тканини (див. [Варіанти тканин](/docs/designs/walburga/fabric)) -- (необов'язково) близько 3 метрів (3,3 ярда) бейки або обрізки для обробки необроблених країв +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From 427eda8362dade4b03b817a39e974de0da6082cb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:07:29 +0100 Subject: [PATCH 0947/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/waralee/options/backraise/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/uk.md b/markdown/org/docs/designs/waralee/options/backraise/uk.md index 926fd40ef08..5c962a432a2 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/uk.md +++ b/markdown/org/docs/designs/waralee/options/backraise/uk.md @@ -2,7 +2,7 @@ title: "Посадка ззаду" --- -Це налаштування піднімає талію ззаду. Наша талія сидить не горизонтально, а під кутом ззаду. Це налаштування дозволяє вам підняти його ззаду, якщо вам потрібно, щоб він краще прилягав до тіла. +Це налаштування піднімає талію ззаду. Наша талія сидить не горизонтально, а під кутом ззаду. This setting allows you to raise this in the back if you need it for a good fit. From 571a32ea19d2d8223e63d33f6a30c509d0e832d5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:07:39 +0100 Subject: [PATCH 0948/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/uk.md b/markdown/org/docs/designs/waralee/options/waistoverlap/uk.md index 7e3599c40b1..8fcff705f93 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/uk.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/uk.md @@ -2,7 +2,7 @@ title: "Запах на талії" --- -Це визначає, наскільки ви хочете, щоб штанини перекривали один одного на талії. При значенні 0 вони зустрінуться в боковому шві, а при значенні 100 - спереду/ззаду. +This dictates how much you want the leg flaps to overlap at the waist. При значенні 0 вони зустрінуться в боковому шві, а при значенні 100 - спереду/ззаду. From 56e8c835a520c1f6ba431853af8329e2ac826bb0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:07:43 +0100 Subject: [PATCH 0949/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/yuri/instructions/uk.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/uk.md b/markdown/org/docs/designs/yuri/instructions/uk.md index 14394e99be7..aaacb6c85f6 100644 --- a/markdown/org/docs/designs/yuri/instructions/uk.md +++ b/markdown/org/docs/designs/yuri/instructions/uk.md @@ -4,24 +4,24 @@ title: "Худі Юрія: Інструкція з пошиття" -Цю викрійку можна шити як на оверлоці, так і без нього. Для обробки швів без оверлока/розпошивача ви можете використати ваш улюблений метод або один з методів, наведених нижче: +Цю викрійку можна шити як на оверлоці, так і без нього. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: -##### Спосіб обробки 1 +##### Finishing Method 1 -- Відкрийте припуски на шви. +- Press open the seam allowances. - Потім з виворітного боку прострочіть на відстані 3 мм (1/8 дюйма) або ближче з обох боків шва, захопивши припуски шва під ним. - На виворітному боці сколіть припуски шва впритул до канта. -##### Спосіб обробки 2 +##### Finishing Method 2 -- Зшийте припуски швів разом зигзагоподібним, оверлочним або прямим швом і притисніть до одного боку. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - За необхідності обріжте припуски на шви до 1 см (3/8 дюйма). -Якщо ви використовуєте оверлок/сервер, ви можете зшивати шви, які потребують обробки, за один прохід, замість того, щоб зшивати традиційним способом і обробляти їх. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ title: "Худі Юрія: Інструкція з пошиття" - (Необов'язково) Обробіть необроблений край рукава. - Притисніть припуск на підгин до виворітного боку тканини і приметайте близько до необробленого краю. - З зовнішньої сторони прострочіть від складеного краю, підхоплюючи припуск на підгин під ним, використовуючи намітку як орієнтир, де знаходиться необроблений край. -- (Необов'язково) Із зовнішнього боку прострочіть 6 мм (1/4 дюйма) паралельно початковій строчці вздовж припуску на підгин. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Видалити заливку. @@ -94,8 +94,8 @@ title: "Худі Юрія: Інструкція з пошиття" - Зшийте приколоті краї разом. - Обріжте припуск на шов до 1 см (3/8 дюйма), якщо вибраний вами припуск на шов більший і ви не використовували оверлок/розпошивальну машину. В іншому випадку _не_ обрізати шов. - Виверніть капюшон виворітною стороною назовні і притисніть зовнішній край. -- Із зовнішнього боку прострочіть вздовж краю капюшона, приблизно 1,5 - 2 см (5/8 - 3/4 дюйма) від краю. Переконайтеся, що верхня строчка прилягає до припуску на шов зовнішнього краю капюшона, але не проходить через нього. Це створить декоративний обідок, а припуски на шви зроблять обідок трохи пухнастим. -- З'єднавши необроблені краї разом, накрийте нижню частину капюшона. Ви можете зробити це за допомогою оверлока/сервера або зигзагоподібної чи оверлочної строчки на звичайній машині. +- Із зовнішнього боку прострочіть вздовж краю капюшона, приблизно 1,5 - 2 см (5/8 - 3/4 дюйма) від краю. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. Це створить декоративний обідок, а припуски на шви зроблять обідок трохи пухнастим. +- З'єднавши необроблені краї разом, накрийте нижню частину капюшона. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ title: "Худі Юрія: Інструкція з пошиття" - Приколіть капюшон до горловини, сумістивши бокові сторони разом, починаючи з центральної частини спинки, і накладіть кінці капюшона по центру спереду на передню частину. - Прикладіть горловину до підкладки з виворітного боку капюшона, приколіть горловину до капюшона, сумістивши середину горловини з центром спинки. - Якщо ви використовуєте оверлок/розпошивач, зшийте горловину і капюшон разом через усі шари. -- Якщо ви використовуєте швейну машину, зшийте всі шари горловини і капюшона зигзагоподібною строчкою. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - Із зовнішнього боку перевірте навколо вирізу горловини, щоб переконатися, що всі шари зачеплені. - Припуски швів припрасувати до тіла. -- З хорошого боку прострочіть прямим стібком приблизно на 1 см (3/8 дюйма) від краю горловини в напрямку до тіла, щоб прихопити і закріпити шийну стрічку під нею. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Обріжте надлишки палітурки зсередини. -Якщо ви використовуєте оверлок/сервер для пришивання капюшона, ви можете спочатку пришити об'ємні ділянки вниз прямим стібком, наприклад, спереду, оскільки оверлок/сервер може мати проблеми з пришиванням цих частин. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From 4c476e586d9393b6d04673b63fec282ce8021721 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:07:57 +0100 Subject: [PATCH 0950/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapease/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/uk.md b/markdown/org/docs/designs/yuri/options/sleevecapease/uk.md index 3f5800793d0..19052e1c526 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/uk.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/uk.md @@ -6,7 +6,7 @@ title: "Зручність рукавів" -Легкість манжета визначає, як рукав скочується з плеча. +Легкість манжета визначає, як рукав буде скочуватися з плеча. Для більшої зручності рукав підвертається в шов, як на піджаках, як ви бачите на костюмах. Менша легкість робить рукав плоским. Для легких тканин або трикотажу вам не потрібна майже ніяка легкість рукава. Для важчих тканин вам потрібна більша легкість рукава. From 3ff50771620039c9271f2748e33adea9efff0cef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:08:04 +0100 Subject: [PATCH 0951/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/uk.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/uk.md index 5b1d41efca2..795be5bb230 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/uk.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/uk.md @@ -2,7 +2,7 @@ title: "Спред по рукавному покриттю Q3 висхідний" --- -![Розширення догори в третьому квадранті пілочки рукава](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) Ця опція контролює розкид вгору в третьому квадранті ковпачка рукава. From 4fe3b2fbaeb6eaca2daa56f2a0b518cd2a547268 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:30 +0100 Subject: [PATCH 0952/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/components/workbench/menus/core-settings/uk.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/uk.yaml b/sites/shared/components/workbench/menus/core-settings/uk.yaml index 0534e66cf6b..ea1b0cf0d94 100644 --- a/sites/shared/components/workbench/menus/core-settings/uk.yaml +++ b/sites/shared/components/workbench/menus/core-settings/uk.yaml @@ -31,6 +31,8 @@ fr.t: Французька fr.d: Використовуйте це, щоб створити французький візерунок nl.t: Голландська nl.d: Використовуйте це, щоб створити голландський візерунок +uk.t: Українська +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Створіть повний шаблон From b2ee580881b8d3ae999a19a79a240bd6a554e768 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:52 +0100 Subject: [PATCH 0953/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/uk.md b/markdown/org/docs/designs/aaron/options/bindingwidth/uk.md index e204f0d607b..eb0ff23bd25 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/uk.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/uk.md @@ -2,7 +2,7 @@ title: Ширина палітурки --- -Контролює ширину переплетення кніва на Аароні. +Controls the width of the knit binding on Aaron. За замовчуванням ширина трикотажної в'язки становить 6 х припуск на шов. Для користувачів метричної системи з припуском на шви за замовчуванням 1 см, це означає, що трикотажна палітурка шириною 1,5 см - це хороша ціна. @@ -10,5 +10,5 @@ title: Ширина палітурки -Цей параметр виражається у відсотках від припуску на шов. Отже, за замовчуванням s600%, або 6-кратний припуск на шов. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From 48f4e922e97d3b038e9ef48cda28e6b8dfbc5cea Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:55 +0100 Subject: [PATCH 0954/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/aaron/notes/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/uk.md b/markdown/org/docs/designs/aaron/notes/uk.md index 2f4d6fb7e05..6c1944c6993 100644 --- a/markdown/org/docs/designs/aaron/notes/uk.md +++ b/markdown/org/docs/designs/aaron/notes/uk.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt: Нотатки дизайнера" --- -Аарон, як і більшість моделей, які я розробляю, народився з потреби. Мені потрібна була футболка, щоб носити її під сорочками, коли стає трохи холодніше, а я намагаюся носити тільки одяг, пошитий за лекалами FreeSewing, так з'явився Аарон. +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. @@ -10,7 +10,7 @@ Aaron's been around for many years and has been made by several people, so you c Є кілька речей, які є *особливими* про Аарона, дрібниці FreeSewing, якщо хочете: -- Аарон - це те, до кого я звертаюся до дизайнерів, коли у них виникають питання про те, як щось зробити. Він завжди перший у списку (бо починається з подвійної А), завжди першим отримує нові відзнаки, мігрує на нову версію і так далі. Аарон - це свого роду канарковий дизайн FreeSerwing. Все, що відбувається, спочатку відбувається з Аароном. +- Аарон - це те, до кого я звертаюся до дизайнерів, коли у них виникають питання про те, як щось зробити. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Все, що відбувається, спочатку відбувається з Аароном. - Я назвав цей дизайн `aaron` в пам'ять про [Аарона Шварца](https://en.wikipedia.org/wiki/Aaron_Swartz). Спочивай з миром, брате. Йост From e77766aa8767e29e3d576e31c533486d4890bbdf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:56 +0100 Subject: [PATCH 0955/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bee/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/uk.md b/markdown/org/docs/designs/bee/notes/uk.md index 0e2ca6df507..3e8b1eb7696 100644 --- a/markdown/org/docs/designs/bee/notes/uk.md +++ b/markdown/org/docs/designs/bee/notes/uk.md @@ -2,7 +2,7 @@ title: "Топ-бікіні \"Бджілка\": Нотатки дизайнера" --- -Я створила Bee разом з Prudencerabbit, оскільки вони хотіли створити модель купальника, яка б поєднувалася з попередньою моделлю фрісліфтингу. Він заснований на одязі, який вони виготовили і хотіли зробити доступним для інших людей. Ми працювали з боді-блоком Bella від FreeSewing як основою, перетворивши його на блок з однією виточкою для виготовлення верху. Під час тестування візерунків одна з наших учасниць TangerineShark зробила варіант з перехресними зав'язками на спині, який нам видався настільки крутим, що ми додали його до Bee! Ви можете отримати цю варіацію, використовуючи [опцію Cross Back Ties](/docs/designs/bee/options/crossbackties/). Бджілку також можна зробити двосторонньою за допомогою опцій [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Tie](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). Після того, як попередня викрійка буде знята, ви можете використати [Uma](docs/designs/uma) , щоб зробити відповідну нижню частину бікіні. +Я створила Bee разом з Prudencerabbit, оскільки вони хотіли створити модель купальника, яка б поєднувалася з попередньою моделлю фрісліфтингу. Він заснований на одязі, який вони виготовили і хотіли зробити доступним для інших людей. Ми працювали з боді-блоком Bella від FreeSewing як основою, перетворивши його на блок з однією виточкою для виготовлення верху. During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! Ви можете отримати цю варіацію, використовуючи [опцію Cross Back Ties](/docs/designs/bee/options/crossbackties/). Бджілку також можна зробити двосторонньою за допомогою опцій [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Tie](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). Після того, як попередня викрійка буде знята, ви можете використати [Uma](docs/designs/uma) , щоб зробити відповідну нижню частину бікіні. _ From 65b8463e19e0c01ab17345579e5a091b78db2af0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:57 +0100 Subject: [PATCH 0956/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bella/notes/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/uk.md b/markdown/org/docs/designs/bella/notes/uk.md index afc1cbdc59c..95dc438eeaf 100644 --- a/markdown/org/docs/designs/bella/notes/uk.md +++ b/markdown/org/docs/designs/bella/notes/uk.md @@ -4,9 +4,9 @@ title: "Боді-блок Bella: Нотатки дизайнера" Цей блок був результатом співпраці між мною та інсайдером індустрії, який вважає за краще залишатися анонімним через свою професію. -Це параметрична версія базового блоку для жіночого одягу, яка використовується в промисловості Італії для проектування жіночого одягу. Однак, хоча блок адаптується до ваших вимірів, оригінальний блок, на якому він базується, насправді не підходить для дуже широкого діапазону розмірів. +Це параметрична версія базового блоку для жіночого одягу, яка використовується в промисловості Італії для проектування жіночого одягу. However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -Тож ваш пробіг може бути дуже великим, особливо якщо ви не схожі на худеньких жінок, на яких розраховані італійські дизайнери. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). From ed54f16d47642f6287de9753cfb60e4a6bc8a372 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:12:58 +0100 Subject: [PATCH 0957/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/benjamin/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/uk.md b/markdown/org/docs/designs/benjamin/notes/uk.md index c7960fa0dec..b9599f58c5a 100644 --- a/markdown/org/docs/designs/benjamin/notes/uk.md +++ b/markdown/org/docs/designs/benjamin/notes/uk.md @@ -4,7 +4,7 @@ title: "Метелик-метелик Бенджамін: Нотатки диз Benjamin is the first design I have ever made for FreeSewing. I had just discovered Joost's site, then still called MakeMyPattern. The site only had designs made by Joost, and he invited others to help him. This seemed like something I could undertake. Since I had no experience with making patterns, my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. The bow tie can be made to be tied traditionally, and it also allows for a specific band to be added that will make the bow tie adjustable. These can be found in speciality stores, and are available online. From 47601c49841572ecace69551a74a731876f38420 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:01 +0100 Subject: [PATCH 0958/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/brian/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/notes/uk.md b/markdown/org/docs/designs/brian/notes/uk.md index 494db043395..11767fb0641 100644 --- a/markdown/org/docs/designs/brian/notes/uk.md +++ b/markdown/org/docs/designs/brian/notes/uk.md @@ -4,7 +4,7 @@ title: "Корпус Брайана: Нотатки дизайнера" Брайан - це основний лекало для чоловічого одягу FreeSewing. Він лежить в основі багатьох наших дизайнів і робить це вже багато років. -It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and foward on both collar and shoulder side, as well as a highly configureable sleevecap. +It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder seam backward and forward on both collar and shoulder side, as well as a highly configurable sleevecap. Можливо, не менш важливим, ніж те, що він робить, є те, чого він не робить: Він не прилягає до тіла. Це просто прямо з грудей. Ніякого облягання талії взагалі. From ecad37267c25587135d037039ec26f8e217bc69a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:04 +0100 Subject: [PATCH 0959/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/carlton/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/notes/uk.md b/markdown/org/docs/designs/carlton/notes/uk.md index 1535122026d..2142406ca5b 100644 --- a/markdown/org/docs/designs/carlton/notes/uk.md +++ b/markdown/org/docs/designs/carlton/notes/uk.md @@ -2,7 +2,7 @@ title: "Пальто \"Карлтон\": Нотатки дизайнера" --- -Carlon is the reverse-engineerd version of the coat worn by benedict cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). +Carlon is the reverse-engineered version of the coat worn by Benedict Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke Caramin](https://www.instagram.com/annekecaramin/) from screengrabs, and pictures we found on the internet. From 52d7a2f9badf498a24d37cf903d335b1c9869ca4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:05 +0100 Subject: [PATCH 0960/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/cathrin/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/uk.md b/markdown/org/docs/designs/cathrin/notes/uk.md index 04e92e9ef16..afc13dbdb4a 100644 --- a/markdown/org/docs/designs/cathrin/notes/uk.md +++ b/markdown/org/docs/designs/cathrin/notes/uk.md @@ -6,7 +6,7 @@ title: "Корсет Cathrin: Нотатки дизайнера" Я збиралася зробити складну сукню, і мені потрібен був корсет, щоб носити її під нею. Тож я пошукала в Інтернеті і знайшла [цей підручник Катрін Олен](https://katafalk.wordpress.com/2010/06/24/underbust-pattern-tutorial/) про розробку корсету для нижнього бюста. -So, I essentially implemented those instructions in code, and the rest is history as the original project got abaondoned. +So, I essentially implemented those instructions in code, and the rest is history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From 7793933d432467d6269985ebae5b57a8038df125 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:06 +0100 Subject: [PATCH 0961/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/charlie/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/uk.md b/markdown/org/docs/designs/charlie/notes/uk.md index 54bc8b1b15d..f1e5fd78051 100644 --- a/markdown/org/docs/designs/charlie/notes/uk.md +++ b/markdown/org/docs/designs/charlie/notes/uk.md @@ -8,7 +8,7 @@ title: "Чарлі чінос: Нотатки дизайнера" Здебільшого це досить проста модель чинос, але вона має один нюанс: передні пакети розміщені на боковому шві. Цей бічний шов загортається до переду, щоб надати кишені вигляду похилої. -Це трохи незвичний і креативний дизайн, який я зробив, мабуть, тому, що я можу? У будь-якому випадку, це те, на що варто звернути увагу, тому що, якщо ви цього не очікуєте, передні панелі виглядають трохи дивно. +Це трохи незвичний і креативний дизайн, який я зробив, мабуть, тому, що я можу? Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. Йост From 3cd99690ead2f91524d03f841849da5811b0d51e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:08 +0100 Subject: [PATCH 0962/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/florence/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/uk.md b/markdown/org/docs/designs/florence/notes/uk.md index 4d5e7a8f091..45a351aa14f 100644 --- a/markdown/org/docs/designs/florence/notes/uk.md +++ b/markdown/org/docs/designs/florence/notes/uk.md @@ -4,7 +4,7 @@ title: "Маска для обличчя \"Флоренція\": Нотатки When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. -Тож я вирішив розробити цей патерн, а також зробив цілу купу для місцевого університетського кампусу. Оскільки я досить рано заповнив цю потребу, її підхопили різні видання, такі як Forbes, New York Times та багато інших. +So I set out to design this pattern, and also ended up making a whole bunch of them for the local university hospital. Оскільки я досить рано заповнив цю потребу, її підхопили різні видання, такі як Forbes, New York Times та багато інших. В результаті, цей простий дизайн, мабуть, зробив більше для того, щоб люди дізналися, що FreeSewing існує, ніж будь-яка інша річ, яку я коли-небудь робив. Це те, про що я намагаюся не думати надто багато. From bd49b85c0afddafc47a823e8b1472074c9e35b86 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:10 +0100 Subject: [PATCH 0963/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hi/notes/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/uk.md b/markdown/org/docs/designs/hi/notes/uk.md index c689172a7f3..a17a4bef9f8 100644 --- a/markdown/org/docs/designs/hi/notes/uk.md +++ b/markdown/org/docs/designs/hi/notes/uk.md @@ -8,9 +8,9 @@ A while ago rumours started swirling that IKEA would discontinue it's Blåhaj st It turned out that no one in the community had ever taken a Blåhaj apart, and no one had the courage to do so. The only Blåhaj in my household was my daughter's, and I couldn't touch that one. -This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. +This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +It can be scaled up and down between 50 cm and 5 meter. So there is a shark for everyone. From 06ac6a08d222d39eee6d0b8f91feb0e5bd239820 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:14 +0100 Subject: [PATCH 0964/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/lucy/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/uk.md b/markdown/org/docs/designs/lucy/notes/uk.md index 0f9d66e723e..e7a91b04969 100644 --- a/markdown/org/docs/designs/lucy/notes/uk.md +++ b/markdown/org/docs/designs/lucy/notes/uk.md @@ -2,4 +2,4 @@ title: "Кишеня на зав'язці Люсі: Дизайнерські нотатки" --- -Це викрійка кишені 18 століття, заснована на висячій кишені з "Візерунків моди" 1 стор. 73. Я зробив його, щоб люди могли мати історичну модель кишені, яку легко регулювати. Мені б хотілося, щоб історичні зразки і ресурси були більш доступними для людей, щоб документація мала певний історичний контекст і пропозиції щодо історично точних способів її створення, але так само чудово бачити, як люди створюють дикі сучасні версії. +Це викрійка кишені 18 століття, заснована на висячій кишені з "Візерунків моди" 1 стор. 73. Я зробив його, щоб люди могли мати історичну модель кишені, яку легко регулювати. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From b5c09f849d3322545cbba409b50cf20fbad79a0d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:15 +0100 Subject: [PATCH 0965/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/lunetius/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/uk.md b/markdown/org/docs/designs/lunetius/notes/uk.md index 9a3d46c6e83..de4a363d088 100644 --- a/markdown/org/docs/designs/lunetius/notes/uk.md +++ b/markdown/org/docs/designs/lunetius/notes/uk.md @@ -2,7 +2,7 @@ title: "Лунецій Лацерна: Нотатки дизайнера" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Чому? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. From e2803a3a36387bd64df3a12c36048ef77e22b586 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:16 +0100 Subject: [PATCH 0966/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/noble/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/uk.md b/markdown/org/docs/designs/noble/notes/uk.md index b2967e935d3..94cb3a4cbcd 100644 --- a/markdown/org/docs/designs/noble/notes/uk.md +++ b/markdown/org/docs/designs/noble/notes/uk.md @@ -4,7 +4,7 @@ title: "Благородний блок для тіла: Нотатки диза Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. Wouter From 2b09d2442d315656426fde98046ee129851665ee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:18 +0100 Subject: [PATCH 0967/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/octoplushy/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/uk.md b/markdown/org/docs/designs/octoplushy/notes/uk.md index ae4481b9587..c3d7c2dcf63 100644 --- a/markdown/org/docs/designs/octoplushy/notes/uk.md +++ b/markdown/org/docs/designs/octoplushy/notes/uk.md @@ -2,7 +2,7 @@ title: "Octoplushy, плюшевий восьминіг: Нотатки дизайнера" --- -Восьмипалий. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. +Восьмипалий. This is one of those designs that have no explanation. I was almost done with the `hi` design, so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. A plushy octopus. With a cute name. That had to become something very cuddly. The first attempt was a round head, complete with sewn smile and buttons for eyes, and eight arms to complete it. Using the eight arms and extending the upper part into segments for the head seemed logical. It worked out fine. From 3b26e35b5d74ac9d78db9b183cf908b997292c59 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:19 +0100 Subject: [PATCH 0968/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/penelope/notes/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/uk.md b/markdown/org/docs/designs/penelope/notes/uk.md index 6364c56a809..5e5334e2974 100644 --- a/markdown/org/docs/designs/penelope/notes/uk.md +++ b/markdown/org/docs/designs/penelope/notes/uk.md @@ -2,11 +2,11 @@ title: "Спідниця-олівець Пенелопа: Нотатки дизайнера" --- -Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the apropriate thing to do. I found a drafting method online and made het a skirt. This fitted remarkably well. +Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious choice. I used the same basis for the drafting, but changed everything to percentages, so it would scale from dolls to giants. -The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (whic I would recommend). +The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, specially if you line the skirt (which I would recommend). Wouter From 9d3b914970c01e38acd13b0339f612b66bd073aa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:22 +0100 Subject: [PATCH 0969/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/simone/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/uk.md b/markdown/org/docs/designs/simone/notes/uk.md index 7fc0c0e5b34..e3cf61d9aec 100644 --- a/markdown/org/docs/designs/simone/notes/uk.md +++ b/markdown/org/docs/designs/simone/notes/uk.md @@ -2,7 +2,7 @@ title: "Сорочка Simone: Нотатки дизайнера" --- -Симона - це, по суті, [Симон](/designs/simon) з регулюванням на весь бюст. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt design, but anyone can choose Simone for a more female-presenting look due to the bust dart. From 2cd8f5a51b4b44a64d6e10c13d1541e87f017da3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:25 +0100 Subject: [PATCH 0970/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/tiberius/notes/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/uk.md b/markdown/org/docs/designs/tiberius/notes/uk.md index d4a6fae42e3..0352459b5ad 100644 --- a/markdown/org/docs/designs/tiberius/notes/uk.md +++ b/markdown/org/docs/designs/tiberius/notes/uk.md @@ -2,9 +2,9 @@ title: "Туніка Тіберія: Нотатки дизайнера" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) -Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. From c9c3533938f0bd4a40cac5529fd12058a9666ddc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:26 +0100 Subject: [PATCH 0971/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/titan/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/uk.md b/markdown/org/docs/designs/titan/notes/uk.md index e137b110974..726e30648dc 100644 --- a/markdown/org/docs/designs/titan/notes/uk.md +++ b/markdown/org/docs/designs/titan/notes/uk.md @@ -4,7 +4,7 @@ title: "Титанові штани: Нотатки дизайнера" I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. -I had started on this a couple of times on my own, but for various reasons was never happy and abondoned the effort more than once. +I had started on this a couple of times on my own, but for various reasons was never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From 04fcf9899e49e8dcd567ce08bf4ec114b4c67970 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:28 +0100 Subject: [PATCH 0972/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/uma/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/uk.md b/markdown/org/docs/designs/uma/notes/uk.md index ba19ba31d54..06b3b60ff97 100644 --- a/markdown/org/docs/designs/uma/notes/uk.md +++ b/markdown/org/docs/designs/uma/notes/uk.md @@ -6,7 +6,7 @@ This design is inspired by an earlier design (Ursula) which was created by my fr In the run-up to the v3 release, we discussed the migration of the various designs, and it became clear that for reasons (gestures vaguely towards people on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. -Оскільки це досить гарний дизайн, не кажучи вже про популярність, ми домовилися, що я перевтілюю його в життя. Також я вніс деякі зміни, про які просили люди , наприклад, змінив опцію випуклості, щоб зробити її гендерно нейтральною. +Оскільки це досить гарний дизайн, не кажучи вже про популярність, ми домовилися, що я перевтілюю його в життя. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Коротше кажучи: From a4600907ddf370b579f94468ec089b52fe4612c7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:30 +0100 Subject: [PATCH 0973/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/walburga/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/uk.md b/markdown/org/docs/designs/walburga/notes/uk.md index 72d52b66dbd..1fab85206b9 100644 --- a/markdown/org/docs/designs/walburga/notes/uk.md +++ b/markdown/org/docs/designs/walburga/notes/uk.md @@ -2,7 +2,7 @@ title: "Вальбурга Ваппенрок: Дизайнерські нотатки" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. From 54d827d0b70dd3ada2dc2c1f7fe81c66bd0d220b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:31 +0100 Subject: [PATCH 0974/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/waralee/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/uk.md b/markdown/org/docs/designs/waralee/notes/uk.md index f250809b508..83ad52b7a77 100644 --- a/markdown/org/docs/designs/waralee/notes/uk.md +++ b/markdown/org/docs/designs/waralee/notes/uk.md @@ -6,7 +6,7 @@ Waralee is one of those designs that you just make because it's easy, and you fe The construction is easy when you make it without pockets. And with them, it's still not that hard for a practiced sewist. -Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transfering the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. +Keep in mind that `waralee` is basically two large rectangles, and you can easily make them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. These wrap pants are lovely in warm weather, specially when made from linen. From 45226de6384c6ee2c5c68d0ec99d15e27bff60c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:33 +0100 Subject: [PATCH 0975/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/uma/cutting/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/uk.md b/markdown/org/docs/designs/uma/cutting/uk.md index 67a477f0784..187720e76c6 100644 --- a/markdown/org/docs/designs/uma/cutting/uk.md +++ b/markdown/org/docs/designs/uma/cutting/uk.md @@ -2,7 +2,7 @@ title: "Урсула роздягається: Інструкція з розкрою" --- -Ума зазвичай складається з передньої частини, спинки та підкладкової ластовиці. У цій композиції - це список для виключення: +Ума зазвичай складається з передньої частини, спинки та підкладкової ластовиці. In that constellation, this is the cut list: - **Основна тканина** - Частина 1: Розріз **1 передня частина** From 265f701a2b8969fcab356a220e2fe0c6abec9a9f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:13:43 +0100 Subject: [PATCH 0976/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/uk.md b/markdown/org/docs/designs/teagan/options/fitwaist/uk.md index bb4f03d4d2d..3515a507eed 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/uk.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/uk.md @@ -4,7 +4,7 @@ title: "Вигин до талії" Виберіть цей параметр, щоб накреслити Тіган так, щоб вона вигнулася до талії, а потім до стегон. -Якщо обхват талії (плюс вільний обхват) менший за обхват стегон (плюс вільний обхват), це створює форму пісочного годинника, як у "приталених" або "жіночих" футболок (на відміну від "звичайних" або "унісекс"). +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. Якщо ваша талія більша за стегна, вам не варто вмикати цю опцію, оскільки ви можете отримати футболку, в яку не зможете влізти. From 5873e917d73c884667b38be2c07800e1bb984f15 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:14:14 +0100 Subject: [PATCH 0977/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/uk.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/uk.md b/markdown/org/docs/about/site/draft/core-settings/locale/uk.md index 27267d8ae3e..09ffaf18194 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/uk.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/uk.md @@ -11,6 +11,7 @@ title: Мова - Французька - Німецька - Голландська +- Українська You can pick any of these and your pattern will be translated in this language. From 8907c2a5991f2be7db93edffd8f390893de9cc20 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:14:55 +0100 Subject: [PATCH 0978/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/shelly/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/uk.md b/markdown/org/docs/designs/shelly/instructions/uk.md index 858b82dd31f..2d0fe314081 100644 --- a/markdown/org/docs/designs/shelly/instructions/uk.md +++ b/markdown/org/docs/designs/shelly/instructions/uk.md @@ -4,13 +4,13 @@ title: "Сорочка Шеллі: Інструкція з пошиття" -Рекомендується використовувати сермер або оверлочну лапку, щоб зберегти невеликий розмір готових швів. У разі використання сергера рекомендується залишати припуск на шов 1/2 дюйма (12 мм). У разі використання оверлочної лапки на швейній машині або зшивання без використання ножа рекомендується робити припуск на шов 1/4 дюйма (6 мм). +Рекомендується використовувати сермер або оверлочну лапку, щоб зберегти невеликий розмір готових швів. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. У разі використання оверлочної лапки на швейній машині або зшивання без використання ножа рекомендується робити припуск на шов 1/4 дюйма (6 мм). Всі шви, включаючи горловину, можуть бути виконані однією і тією ж строчкою, будь то сергерна, оверлочна або розтяжна строчка. Підгинання необов'язкове (оскільки трикотаж не зношується), але якщо ви робите підгинання, переконайтеся, що вони можуть розтягуватися. -Переконайтеся, що ви використовуєте стібок, який може розтягуватися. Якщо ви шиєте еластичну тканину, відрегулюйте натяг, щоб забезпечити додаткове розтягнення. На швейній машині це зазвичай означає послаблення натягу голки, особливо правої, і регулювання натягу петлі за необхідності, щоб стібок виглядав пристойно. На звичайній швейній машині зменшіть натяг. Спочатку випробуйте обраний шов на клаптику тканини і спробуйте сформувати пробний шов, розтягнувши його по всій довжині. Він повинен клацнути лише після того, як трохи розтягнеться. Якщо вона розривається надто легко, продовжуйте гратися зі стібками та налаштуваннями натягу, поки не отримаєте щось, що витримає певні зловживання. +Переконайтеся, що ви використовуєте стібок, який може розтягуватися. Якщо ви шиєте еластичну тканину, відрегулюйте натяг, щоб забезпечити додаткове розтягнення. На швейній машині це зазвичай означає послаблення натягу голки, особливо правої, і регулювання натягу петлі за необхідності, щоб стібок виглядав пристойно. На звичайній швейній машині зменшіть натяг. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. Він повинен клацнути лише після того, як трохи розтягнеться. Якщо вона розривається надто легко, продовжуйте гратися зі стібками та налаштуваннями натягу, поки не отримаєте щось, що витримає певні зловживання. Для пошиття футболок або інших сорочок з двостороннім розтягуванням підійдуть звичайні налаштування зі строчкою, що розтягується. @@ -103,4 +103,4 @@ title: "Сорочка Шеллі: Інструкція з пошиття" ### Крок 5: Насолоджуйтесь своєю новою сорочкою! -- Настав час взяти нову сорочку для купання або для того, щоб похизуватися нею на пляжі! \ No newline at end of file +- Настав час взяти нову сорочку для купання або для того, щоб похизуватися нею на пляжі! From d9f42cf5b7f19d68c39499e14ba968e89a5abce9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:15:18 +0100 Subject: [PATCH 0979/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/skully/fabric/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/uk.md b/markdown/org/docs/designs/skully/fabric/uk.md index 5c677213903..526e46be8a7 100644 --- a/markdown/org/docs/designs/skully/fabric/uk.md +++ b/markdown/org/docs/designs/skully/fabric/uk.md @@ -8,7 +8,7 @@ title: "Скаллі: Варіанти тканин" ## Волосся -Скаллі потрібне волосся. Вишивальне муліне працює дуже добре, і його можна придбати у всіх кольорах. +Скаллі потрібне волосся. Embroidery floss works very well, and can be had in all colors. ## Начинка @@ -16,4 +16,4 @@ title: "Скаллі: Варіанти тканин" ## Голка. -Скаллі проміняв свій меч на голку. Голки такого розміру здебільшого продаються як голки для оббивки. Це стане в нагоді, коли ви будете робити деякі доопрацювання в кінці будівництва. \ No newline at end of file +Скаллі проміняв свій меч на голку. Голки такого розміру здебільшого продаються як голки для оббивки. Це стане в нагоді, коли ви будете робити деякі доопрацювання в кінці будівництва. From 2a93532b2f11072a9949a6fd2c682c7e064d7130 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:15:19 +0100 Subject: [PATCH 0980/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/skully/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/uk.md b/markdown/org/docs/designs/skully/instructions/uk.md index 586b913ce80..ca9e6b49c4e 100644 --- a/markdown/org/docs/designs/skully/instructions/uk.md +++ b/markdown/org/docs/designs/skully/instructions/uk.md @@ -91,12 +91,12 @@ Turn it right sides out. ## Крок 5: Волосся -Зараз саме час додати волосся скалі. Коли вишиваєте ниткою, не забудьте зробити вузлики з внутрішньої сторони, інакше потім буде дуже легко витягнути волосся Скаллі. +Now is the time to add hair to Skully. Коли вишиваєте ниткою, не забудьте зробити вузлики з внутрішньої сторони, інакше потім буде дуже легко витягнути волосся Скаллі. ## Крок 6: Фаршируємо - Наповніть плюшеву іграшку начинкою через залишений вами отвір, переконавшись, що всі частини добре заповнені. Найважче дістатися до прифронтових районів. -- _Сліпстик_ або _хлистовим швом_ отвір закрився. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Крок 7: Налаштування @@ -106,4 +106,4 @@ Turn it right sides out. ## Крок 7: Насолоджуйтесь! -Ось і все, ви закінчили. Починайте планувати, до якого піратського швейного корабля ви приєднаєтеся! \ No newline at end of file +Ось і все, ви закінчили. Починайте планувати, до якого піратського швейного корабля ви приєднаєтеся! From 974f7e045749d1b3db8cb19fba522a3416dbcc39 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:15:23 +0100 Subject: [PATCH 0981/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/skully/options/size/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/skully/options/size/uk.md b/markdown/org/docs/designs/skully/options/size/uk.md index ab63073948e..540009950c0 100644 --- a/markdown/org/docs/designs/skully/options/size/uk.md +++ b/markdown/org/docs/designs/skully/options/size/uk.md @@ -4,4 +4,4 @@ title: "Розмір" Скаллі можна виготовити в різних розмірах. За замовчуванням це приблизно 75% від нормальної людської голови (близько 16 см заввишки). -If you set the percentage to 100%, and you enter your own head measurwement, Skully will be approximately the size of your head. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will be approximately the size of your head. From 7ffed34e79062417732cad2198413e1f0788c131 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:15:47 +0100 Subject: [PATCH 0982/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/onyx/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/uk.md b/markdown/org/docs/designs/onyx/instructions/uk.md index c1243ca6ba9..f89efa510d4 100644 --- a/markdown/org/docs/designs/onyx/instructions/uk.md +++ b/markdown/org/docs/designs/onyx/instructions/uk.md @@ -4,9 +4,9 @@ title: "Суцільнокроєна сукня з оніксу: Інструк -Рекомендується використовувати сергер/оверлок, щоб зберегти невеликий розмір готових швів і дати можливість швам розтягнутися. Якщо ви використовуєте зшивач із задіяним ножем, рекомендується залишати припуск на шов 1/2 дюйма (12 мм). У разі використання оверлочної лапки на швейній машині або зшивання без використання ножа рекомендується робити припуск на шов 1/4 дюйма (6 мм). +Рекомендується використовувати сергер/оверлок, щоб зберегти невеликий розмір готових швів і дати можливість швам розтягнутися. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. У разі використання оверлочної лапки на швейній машині або зшивання без використання ножа рекомендується робити припуск на шов 1/4 дюйма (6 мм). -Якщо не вказано інше, для пошиття цього виробу використовуйте еластичну пару. Рекомендується 4-ниткова оверлочна строчка або лапка на швейній машині, якщо немає сервера. +Unless otherwise stated, use stretch steams for construction of this garment. Рекомендується 4-ниткова оверлочна строчка або лапка на швейній машині, якщо немає сервера. Подоли або манжети необов'язкові (оскільки трикотаж не зношується), але якщо ви робите подоли або додаєте манжети, переконайтеся, що вони можуть розтягуватися. У цій інструкції описано, як виконати подвійною голкою однофонтурну кайму, яка підходить для купальників або легкого одягу, і як зробити ребристу в'язку манжета, яка підійде для флісової піжами або кігурумі. From c02f717c76617cb886a2eb252c9e9930d90cb937 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:16:24 +0100 Subject: [PATCH 0983/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/onyx/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/uk.md b/markdown/org/docs/designs/onyx/notes/uk.md index 42ae7e3bde9..65b3ae34ad6 100644 --- a/markdown/org/docs/designs/onyx/notes/uk.md +++ b/markdown/org/docs/designs/onyx/notes/uk.md @@ -10,7 +10,7 @@ title: "Онікс Цілісний: Нотатки дизайнера" Онікс копіює ряд особливостей Шеллі, включаючи рукави реглан для мобільності та використання симетричних передньої та задньої частин, за винятком шиї та голови. -Онікс названий на честь дорогоцінного каменю та його глибокого чорного кольору, який не випадково є чудовим базовим кольором для купальників Onyx, особливо якщо ви хочете, щоб вони виглядали як гідрокостюм. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. Трохи історії: Onyx міг би ніколи не з'явитися на світ, якби не протести та бойкоти проти ЛГБТК+ навесні 2023 року, які призвели до того, що костюм, який мені особливо подобався, був вилучений з полиць великого американського ритейлера, і мені знадобилася відповідна заміна. From 8290e9595402b30b54e12e47ba70e68072952e0c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:16:39 +0100 Subject: [PATCH 0984/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/lumira/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/uk.md b/markdown/org/docs/designs/lumira/instructions/uk.md index b7b451cee07..037e668faac 100644 --- a/markdown/org/docs/designs/lumira/instructions/uk.md +++ b/markdown/org/docs/designs/lumira/instructions/uk.md @@ -1,6 +1,6 @@ ---- +\-- title: "Lumira leggings: Sewing Instructions" ---- +--------------------------------------------- @@ -59,4 +59,4 @@ in the right spot. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -Ви закінчили! Enjoy your Lumina leggings! +Ви закінчили! Enjoy your Lumira leggings! From 074a31ca29e6713715dfb8b3a4cb9fc80e5b3c87 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:16:46 +0100 Subject: [PATCH 0985/1313] New translations en.md (French) skip-build --- .../docs/designs/simon/options/seperatebuttonholeplacket/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/fr.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/fr.md index 47601120953..1f683984815 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/fr.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/fr.md @@ -2,7 +2,7 @@ title: Gorge (Patte de boutonnières) séparée --- -![Gorge (Patte de boutonnières) séparée](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Si vous voulez ou non que la patte de boutonnière soit une partie séparée. From 38d014cae751ca8f606d4d3c4ec392740ad949d5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:16:51 +0100 Subject: [PATCH 0986/1313] New translations en.md (Spanish) skip-build --- .../docs/designs/simon/options/seperatebuttonholeplacket/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/es.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/es.md index a59e1bda36b..d42bbc55d0c 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/es.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/es.md @@ -2,7 +2,7 @@ title: Tapeta de ojal separada --- -![Tapeta de ojal separada](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Si desea o no que la placket del agujero del botón sea una parte separada del patrón. From d11bfae49ae3a734873ae3e84f4e2ed2d5e340a4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:16:56 +0100 Subject: [PATCH 0987/1313] New translations en.md (German) skip-build --- .../docs/designs/simon/options/seperatebuttonholeplacket/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/de.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/de.md index 69328941911..59aec062e2e 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/de.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/de.md @@ -2,7 +2,7 @@ title: Separate Knopflochleiste --- -![Separate Knopflochleiste](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Ob der Buttonlochplatz ein separates Musterteil sein soll oder nicht. From b3dd0b4c3a0289cb4947c963c54ab709f3ce307c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:01 +0100 Subject: [PATCH 0988/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/simon/options/seperatebuttonholeplacket/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/nl.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/nl.md index 44f58739d2e..994c10d371c 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/nl.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/nl.md @@ -2,7 +2,7 @@ title: Apart knoopsgatenpat --- -![Apart knoopsgatenpat](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Kies of je het knoopsgatenpat als apart patroondeel wil. From 3b4de3577f3b548c7913a02a9275889de7b8d733 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:04 +0100 Subject: [PATCH 0989/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/lumira/options/ease/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/uk.md b/markdown/org/docs/designs/lumira/options/ease/uk.md index bfb912ff510..730d817c17c 100644 --- a/markdown/org/docs/designs/lumira/options/ease/uk.md +++ b/markdown/org/docs/designs/lumira/options/ease/uk.md @@ -3,10 +3,10 @@ title: Свобода облягання --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From e4d854f87fe1c58bfd8384943563ced230ed0891 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:15 +0100 Subject: [PATCH 0990/1313] New translations en.md (Ukrainian) skip-build --- .../designs/simon/options/seperatebuttonholeplacket/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/uk.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/uk.md index 74cf13fc6d9..bb93bf47602 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/uk.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/uk.md @@ -2,9 +2,9 @@ title: Окрема планка для петель --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Незалежно від того, чи хочете ви, щоб планка петлі була окремою частиною викрійки, чи ні. +Незалежно від того, чи хочете ви, щоб планка петлі була окремою деталлю викрійки, чи ні. ## Вплив цієї опції на шаблон From fb2c5ffac577056c676b17d81b4e5a6f22370540 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:16 +0100 Subject: [PATCH 0991/1313] New translations en.md (French) skip-build --- .../org/docs/designs/simon/options/seperatebuttonplacket/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/fr.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/fr.md index 0d837864e86..09c7ebea2e2 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/fr.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/fr.md @@ -2,7 +2,7 @@ title: Patte de boutonnage séparée --- -![Patte de boutonnage séparée](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Si vous voulez ou non que la patte de bouton soit une partie séparée. From 91be51a87de2c4c9bbc2a04bb2b9e129c6127790 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:17 +0100 Subject: [PATCH 0992/1313] New translations en.md (French) skip-build --- .../docs/designs/simone/options/seperatebuttonholeplacket/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/fr.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/fr.md index 494a63a7a4a..3e606a29dde 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/fr.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/fr.md @@ -2,7 +2,7 @@ title: Gorge (Patte de boutonnières) séparée --- -![Gorge (Patte de boutonnières) séparée](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Si vous voulez ou non que la patte de boutonnière soit une partie séparée. From 38a68ef89fd7abc5ff9eb082b2a11bbcd1ed5cef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:18 +0100 Subject: [PATCH 0993/1313] New translations en.md (French) skip-build --- .../org/docs/designs/simone/options/seperatebuttonplacket/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/fr.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/fr.md index a4707ccdc73..c0056d16dab 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/fr.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/fr.md @@ -2,7 +2,7 @@ title: Patte de boutonnage séparée --- -![Patte de boutonnage séparée](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Si vous voulez ou non que la patte de bouton soit une partie séparée. From 6a1737aff5d14fe4ce20515d1339e529a688f32a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:25 +0100 Subject: [PATCH 0994/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/simon/options/seperatebuttonplacket/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/es.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/es.md index 2726e009f5f..482c0ac2c78 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/es.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/es.md @@ -2,7 +2,7 @@ title: Tapeta de botones separada --- -![Tapeta de botones separada](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Si desea o no que la placket de botón sea una parte de patrón separada. From 9d55fe8f73cb8164d8c2a4b3735a9487b928f950 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:26 +0100 Subject: [PATCH 0995/1313] New translations en.md (Spanish) skip-build --- .../docs/designs/simone/options/seperatebuttonholeplacket/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/es.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/es.md index ea614159f5a..3a8ef8351ea 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/es.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/es.md @@ -2,7 +2,7 @@ title: Tapeta de ojal separada --- -![Tapeta de ojal separada](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Si desea o no que la placket del agujero del botón sea una parte separada del patrón. From b153b2b8ba80cb8dac7ff338eae3aa0feb084a09 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:27 +0100 Subject: [PATCH 0996/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/simone/options/seperatebuttonplacket/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/es.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/es.md index 65e622c0b4c..94985859769 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/es.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/es.md @@ -2,7 +2,7 @@ title: Tapeta de botones separada --- -![Tapeta de botones separada](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Si desea o no que la placket de botón sea una parte de patrón separada. From 0e7b76a9c8f202487b50cbc236a5bd07a2ab3899 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:33 +0100 Subject: [PATCH 0997/1313] New translations en.md (German) skip-build --- .../org/docs/designs/simon/options/seperatebuttonplacket/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/de.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/de.md index d58e8c1dc05..a2b3e36c981 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/de.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/de.md @@ -2,7 +2,7 @@ title: Separate Knopfleiste --- -![Separate Knopfleiste](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Gibt an, ob der Schaltflächen-Platzhalter ein separates Musterteil sein soll. From 1b3f899cf4b6a8c0b6934bba721ce03dbf2528c8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:34 +0100 Subject: [PATCH 0998/1313] New translations en.md (German) skip-build --- .../docs/designs/simone/options/seperatebuttonholeplacket/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/de.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/de.md index b91c827effb..f2b4c205133 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/de.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/de.md @@ -2,7 +2,7 @@ title: Separate Knopflochleiste --- -![Separate Knopflochleiste](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Ob der Buttonlochplatz ein separates Musterteil sein soll oder nicht. From dd3c4281a2b52dedbb0d3892c0ac86b1314bd2a8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:35 +0100 Subject: [PATCH 0999/1313] New translations en.md (German) skip-build --- .../org/docs/designs/simone/options/seperatebuttonplacket/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/de.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/de.md index fee169dfba4..3cc9b9acd96 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/de.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/de.md @@ -2,7 +2,7 @@ title: Separate Knopfleiste --- -![Separate Knopfleiste](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Gibt an, ob der Schaltflächen-Platzhalter ein separates Musterteil sein soll. From 2f5660d909816ffe49c7cf09f036004dc8c1021c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:41 +0100 Subject: [PATCH 1000/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/simon/options/seperatebuttonplacket/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/nl.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/nl.md index 5b46bdde068..2eec2183133 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/nl.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/nl.md @@ -2,7 +2,7 @@ title: Apart knopenpat --- -![Apart knopenpat](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Kies of je het knopenpat als apart patroondeel wil. From 4a8559d3830522e34aaa442d380585a64636a072 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:42 +0100 Subject: [PATCH 1001/1313] New translations en.md (Dutch) skip-build --- .../docs/designs/simone/options/seperatebuttonholeplacket/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/nl.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/nl.md index d8952edf8c3..7d8aaf90eab 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/nl.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/nl.md @@ -2,7 +2,7 @@ title: Apart knoopsgatenpat --- -![Apart knoopsgatenpat](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) Kies of je het knoopsgatenpat als apart patroondeel wil. From 653e435161b4eeada03ecca3725fb8fbc2977771 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:43 +0100 Subject: [PATCH 1002/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/simone/options/seperatebuttonplacket/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/nl.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/nl.md index 33882edf131..1a404d5bd5a 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/nl.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/nl.md @@ -2,7 +2,7 @@ title: Apart knopenpat --- -![Apart knopenpat](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Kies of je het knopenpat als apart patroondeel wil. From 823384bd4bdf705f7090f362363c4b9d62d7120c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:49 +0100 Subject: [PATCH 1003/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/simon/options/seperatebuttonplacket/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/uk.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/uk.md index 4865bac0fa0..1e01b7e9f4c 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/uk.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/uk.md @@ -2,7 +2,7 @@ title: Окрема планка для ґудзиків --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Незалежно від того, чи хочете ви, щоб планка ґудзика була окремою деталлю викрійки. From 600e8dc03c5ea6acb08710b5a0677b0499e03612 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:50 +0100 Subject: [PATCH 1004/1313] New translations en.md (Ukrainian) skip-build --- .../designs/simone/options/seperatebuttonholeplacket/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/uk.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/uk.md index 86cf1116b36..1063a148939 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/uk.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/uk.md @@ -2,9 +2,9 @@ title: Окрема планка для петель --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Незалежно від того, чи хочете ви, щоб планка петлі була окремою частиною викрійки, чи ні. +Незалежно від того, чи хочете ви, щоб планка петлі була окремою деталлю викрійки, чи ні. ## Вплив цієї опції на шаблон From 2b2455ed7e77127091f9602255047883a63c87df Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:17:51 +0100 Subject: [PATCH 1005/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/simone/options/seperatebuttonplacket/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/uk.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/uk.md index 5ef279406bd..e55e68672b6 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/uk.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/uk.md @@ -2,7 +2,7 @@ title: Окрема планка для ґудзиків --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) Незалежно від того, чи хочете ви, щоб планка ґудзика була окремою деталлю викрійки. From 0c1b7113a82d468ae808f8e47ff6711017dc9722 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:06 +0100 Subject: [PATCH 1006/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/fabric/fr.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/fr.md b/markdown/org/docs/designs/naomiwu/fabric/fr.md index 32b57685221..e2f3096d052 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/fr.md +++ b/markdown/org/docs/designs/naomiwu/fabric/fr.md @@ -2,7 +2,9 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- -A cargo skirt is work wear, so you want to go with fabric that can stand the wear and tear of screwdrivers being wiped clean on them, nuts and bolds rattling around in its pockets. +A cargo skirt is work wear, so you want to go with fabric that can stand the +wear and tear of screwdrivers being wiped clean on them, nuts and bolts +rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a heavy-weight cotton or canvas. You also can't go wrong with what has been the de-facto standard for heavy duty workwear for many years: denim. From bc1baad36e0e08e572ece956a65f7855a9c4f234 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:07 +0100 Subject: [PATCH 1007/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/needs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/fr.md b/markdown/org/docs/designs/naomiwu/needs/fr.md index 7893307b790..665bea0847e 100644 --- a/markdown/org/docs/designs/naomiwu/needs/fr.md +++ b/markdown/org/docs/designs/naomiwu/needs/fr.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - Environ 0.75 mètre (0.8 yard) d'un tissu adapté ([voir Options de tissu](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From 6dc378d9b59c82fecf6ad9028be1f31f3a25ea07 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:08 +0100 Subject: [PATCH 1008/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/fr.md b/markdown/org/docs/designs/naomiwu/notes/fr.md index 967b5dc2fbb..3459ef0156f 100644 --- a/markdown/org/docs/designs/naomiwu/notes/fr.md +++ b/markdown/org/docs/designs/naomiwu/notes/fr.md @@ -54,6 +54,6 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From 79fb94bb2959a024709558c08589e94691d9ca93 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:09 +0100 Subject: [PATCH 1009/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/fr.md b/markdown/org/docs/designs/naomiwu/options/flywidth/fr.md index d360189d8ae..61d3cb17071 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/fr.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/fr.md @@ -4,5 +4,5 @@ title: Fly width This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From 4924201456397591a7ff5d9c61545cddeea049a2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:10 +0100 Subject: [PATCH 1010/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/fr.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/fr.md b/markdown/org/docs/designs/naomiwu/options/invertfly/fr.md index 7610194d1f6..b1c68910254 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/fr.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/fr.md @@ -4,6 +4,8 @@ title: Invert the side of the fly This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. -The side at which the button goes is not functionally relevant, but some garment (typically tops) have the buttons on teh right side for menswear, and the left sife for womenswear. +The side at which the button goes is not functionally relevant, but some +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From b02a2f870a2480de4fac25cc20153b0e384b339a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:11 +0100 Subject: [PATCH 1011/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/fr.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/fr.md index 356e63fac41..79a267bc29f 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/fr.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/fr.md @@ -2,6 +2,6 @@ title: Minimal dart width --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From 12a49d62cdee589894bfbd492b5c7f61dc87bc82 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:12 +0100 Subject: [PATCH 1012/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/fr.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/fr.md index e5e0717f3d1..977e497b334 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/fr.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/fr.md @@ -4,6 +4,6 @@ title: Largeur de ceinture This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From 6401a6f24f80e540dbad07d3a410d23f020fc2c6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:13 +0100 Subject: [PATCH 1013/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/fabric/es.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/es.md b/markdown/org/docs/designs/naomiwu/fabric/es.md index 32b57685221..e2f3096d052 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/es.md +++ b/markdown/org/docs/designs/naomiwu/fabric/es.md @@ -2,7 +2,9 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- -A cargo skirt is work wear, so you want to go with fabric that can stand the wear and tear of screwdrivers being wiped clean on them, nuts and bolds rattling around in its pockets. +A cargo skirt is work wear, so you want to go with fabric that can stand the +wear and tear of screwdrivers being wiped clean on them, nuts and bolts +rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a heavy-weight cotton or canvas. You also can't go wrong with what has been the de-facto standard for heavy duty workwear for many years: denim. From 994fc5b94434c035271b724f6439d5fa20e24d92 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:14 +0100 Subject: [PATCH 1014/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/needs/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/es.md b/markdown/org/docs/designs/naomiwu/needs/es.md index ba7a807569c..0dbe0702a38 100644 --- a/markdown/org/docs/designs/naomiwu/needs/es.md +++ b/markdown/org/docs/designs/naomiwu/needs/es.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - Unos 0,75 metros (0,8 yardas) de una tela adecuada ([ver Opciones de tela](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From aa16c8b8a75c85c0793f0d19eafce7862c17ce8b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:15 +0100 Subject: [PATCH 1015/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/es.md b/markdown/org/docs/designs/naomiwu/notes/es.md index 967b5dc2fbb..3459ef0156f 100644 --- a/markdown/org/docs/designs/naomiwu/notes/es.md +++ b/markdown/org/docs/designs/naomiwu/notes/es.md @@ -54,6 +54,6 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From 915ba21b8d0364442a294515c6b1abeff0d16b62 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:16 +0100 Subject: [PATCH 1016/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/es.md b/markdown/org/docs/designs/naomiwu/options/flywidth/es.md index d360189d8ae..61d3cb17071 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/es.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/es.md @@ -4,5 +4,5 @@ title: Fly width This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From 5c31a70d91fe727dbc7b106aa2052989e26f131c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:17 +0100 Subject: [PATCH 1017/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/es.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/es.md b/markdown/org/docs/designs/naomiwu/options/invertfly/es.md index 7610194d1f6..b1c68910254 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/es.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/es.md @@ -4,6 +4,8 @@ title: Invert the side of the fly This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. -The side at which the button goes is not functionally relevant, but some garment (typically tops) have the buttons on teh right side for menswear, and the left sife for womenswear. +The side at which the button goes is not functionally relevant, but some +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From 3bd19ed64b08a130669360094b7892ee04283047 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:18 +0100 Subject: [PATCH 1018/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/es.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/es.md index 356e63fac41..79a267bc29f 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/es.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/es.md @@ -2,6 +2,6 @@ title: Minimal dart width --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From b9e0d774a96b6566f8789cccd4d17ee7d306f68f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:19 +0100 Subject: [PATCH 1019/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/es.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/es.md index 51933ad23d4..55ba78be0aa 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/es.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/es.md @@ -4,6 +4,6 @@ title: Anchura de la cinturilla This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From 2e531afa8db7474579db0e72085f3a0ade58af95 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:21 +0100 Subject: [PATCH 1020/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/fabric/de.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/de.md b/markdown/org/docs/designs/naomiwu/fabric/de.md index 32b57685221..e2f3096d052 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/de.md +++ b/markdown/org/docs/designs/naomiwu/fabric/de.md @@ -2,7 +2,9 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- -A cargo skirt is work wear, so you want to go with fabric that can stand the wear and tear of screwdrivers being wiped clean on them, nuts and bolds rattling around in its pockets. +A cargo skirt is work wear, so you want to go with fabric that can stand the +wear and tear of screwdrivers being wiped clean on them, nuts and bolts +rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a heavy-weight cotton or canvas. You also can't go wrong with what has been the de-facto standard for heavy duty workwear for many years: denim. From 9f33c42cfcde7df8b87ff040898d271643dcc926 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:22 +0100 Subject: [PATCH 1021/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/needs/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/de.md b/markdown/org/docs/designs/naomiwu/needs/de.md index 5fb46b6d9a5..a6393ebfb31 100644 --- a/markdown/org/docs/designs/naomiwu/needs/de.md +++ b/markdown/org/docs/designs/naomiwu/needs/de.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - Etwa 0.75 cm (0.8") eines geeigneten Stoffes ([siehe Stoffoptionen](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From c3d183a8c21f0aeb986bae3daa2bd3d20e3e232c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:23 +0100 Subject: [PATCH 1022/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/de.md b/markdown/org/docs/designs/naomiwu/notes/de.md index 967b5dc2fbb..3459ef0156f 100644 --- a/markdown/org/docs/designs/naomiwu/notes/de.md +++ b/markdown/org/docs/designs/naomiwu/notes/de.md @@ -54,6 +54,6 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From fbb03dd69af4a441ce8782676e8bef024e347387 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:24 +0100 Subject: [PATCH 1023/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/de.md b/markdown/org/docs/designs/naomiwu/options/flywidth/de.md index d360189d8ae..61d3cb17071 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/de.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/de.md @@ -4,5 +4,5 @@ title: Fly width This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From a0b10607ebcd86f49630c6fc71a59e84c0c0294c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:25 +0100 Subject: [PATCH 1024/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/de.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/de.md b/markdown/org/docs/designs/naomiwu/options/invertfly/de.md index 7610194d1f6..b1c68910254 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/de.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/de.md @@ -4,6 +4,8 @@ title: Invert the side of the fly This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. -The side at which the button goes is not functionally relevant, but some garment (typically tops) have the buttons on teh right side for menswear, and the left sife for womenswear. +The side at which the button goes is not functionally relevant, but some +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From d5ce1f1b22abcf903349c207eb089814fc718cc6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:26 +0100 Subject: [PATCH 1025/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/de.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/de.md index 356e63fac41..79a267bc29f 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/de.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/de.md @@ -2,6 +2,6 @@ title: Minimal dart width --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From 8d34e91e70ee2680708fde76a3895343960956b7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:27 +0100 Subject: [PATCH 1026/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/de.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/de.md index a16c0789fb8..95b3ee38567 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/de.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/de.md @@ -4,6 +4,6 @@ title: Breite des Taillenbundes This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From bcd735ac459aeda250a8738cd57462f8ed52f3ee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:28 +0100 Subject: [PATCH 1027/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/fabric/nl.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/nl.md b/markdown/org/docs/designs/naomiwu/fabric/nl.md index 32b57685221..e2f3096d052 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/nl.md +++ b/markdown/org/docs/designs/naomiwu/fabric/nl.md @@ -2,7 +2,9 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- -A cargo skirt is work wear, so you want to go with fabric that can stand the wear and tear of screwdrivers being wiped clean on them, nuts and bolds rattling around in its pockets. +A cargo skirt is work wear, so you want to go with fabric that can stand the +wear and tear of screwdrivers being wiped clean on them, nuts and bolts +rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a heavy-weight cotton or canvas. You also can't go wrong with what has been the de-facto standard for heavy duty workwear for many years: denim. From c27754d2e4588c0ba2e8553138d4f7c74114e72e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:29 +0100 Subject: [PATCH 1028/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/needs/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/nl.md b/markdown/org/docs/designs/naomiwu/needs/nl.md index ada3e982f69..9caa2524b8e 100644 --- a/markdown/org/docs/designs/naomiwu/needs/nl.md +++ b/markdown/org/docs/designs/naomiwu/needs/nl.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - Ongeveer 0,75 meter van een geschikte stof ([zie Stofopties](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From 38a2f08f8f6d36445d3d77f3d8f72e95bce3b79a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:30 +0100 Subject: [PATCH 1029/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/nl.md b/markdown/org/docs/designs/naomiwu/notes/nl.md index 967b5dc2fbb..3459ef0156f 100644 --- a/markdown/org/docs/designs/naomiwu/notes/nl.md +++ b/markdown/org/docs/designs/naomiwu/notes/nl.md @@ -54,6 +54,6 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From 2bbfeaf784abcc010ac91c5dcbc6f965a32be171 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:31 +0100 Subject: [PATCH 1030/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/nl.md b/markdown/org/docs/designs/naomiwu/options/flywidth/nl.md index d360189d8ae..61d3cb17071 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/nl.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/nl.md @@ -4,5 +4,5 @@ title: Fly width This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From 059c0a7661398d0b2ee895aa3e824aea9f85db45 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:32 +0100 Subject: [PATCH 1031/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/nl.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/nl.md b/markdown/org/docs/designs/naomiwu/options/invertfly/nl.md index 7610194d1f6..b1c68910254 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/nl.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/nl.md @@ -4,6 +4,8 @@ title: Invert the side of the fly This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. -The side at which the button goes is not functionally relevant, but some garment (typically tops) have the buttons on teh right side for menswear, and the left sife for womenswear. +The side at which the button goes is not functionally relevant, but some +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From 8ac216e582b4236cfb74147084e4bc4da97c3321 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:33 +0100 Subject: [PATCH 1032/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/nl.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/nl.md index 356e63fac41..79a267bc29f 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/nl.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/nl.md @@ -2,6 +2,6 @@ title: Minimal dart width --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From 2c48bcc3f3516bdcda8a58a7482fe1c200639fe0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:34 +0100 Subject: [PATCH 1033/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/nl.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/nl.md index ad22c3786c3..680e64e03f1 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/nl.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/nl.md @@ -4,6 +4,6 @@ title: Breedte tailleband This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From 481d97818bde2adb21c1920f6513f32c95475852 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:39 +0100 Subject: [PATCH 1034/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/fabric/uk.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/uk.md b/markdown/org/docs/designs/naomiwu/fabric/uk.md index 22998050709..ce12ea7ba55 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/uk.md +++ b/markdown/org/docs/designs/naomiwu/fabric/uk.md @@ -2,7 +2,9 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- -A cargo skirt is work wear, so you want to go with fabric that can stand the wear and tear of screwdrivers being wiped clean on them, nuts and bolds rattling around in its pockets. +A cargo skirt is work wear, so you want to go with fabric that can stand the +wear and tear of screwdrivers being wiped clean on them, nuts and bolts +rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a heavy-weight cotton or canvas. You also can't go wrong with what has been the From 982cec7dabbc4e202152af0881a735a8ba9fe5cc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:40 +0100 Subject: [PATCH 1035/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/needs/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/uk.md b/markdown/org/docs/designs/naomiwu/needs/uk.md index bfd260688c6..dcbcd1a5de3 100644 --- a/markdown/org/docs/designs/naomiwu/needs/uk.md +++ b/markdown/org/docs/designs/naomiwu/needs/uk.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - About 0.75 meters (0.8 yards) of a suitable fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From fab671ab384a22fddf860a92c7e2b16886f6549e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:41 +0100 Subject: [PATCH 1036/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/uk.md b/markdown/org/docs/designs/naomiwu/notes/uk.md index a4aff369ac0..2059cea8115 100644 --- a/markdown/org/docs/designs/naomiwu/notes/uk.md +++ b/markdown/org/docs/designs/naomiwu/notes/uk.md @@ -54,6 +54,6 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and YouTube channel have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From 69a3c4e7961765a3041f3b07060866bb2cc1ddeb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:42 +0100 Subject: [PATCH 1037/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/uk.md b/markdown/org/docs/designs/naomiwu/options/flywidth/uk.md index 7758ea841c7..61050f45836 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/uk.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/uk.md @@ -4,5 +4,5 @@ title: Ширина гульфика This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From 8d1538b2cadb7b8c3e30d69f747417ee6b9c9b54 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:43 +0100 Subject: [PATCH 1038/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/uk.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/uk.md b/markdown/org/docs/designs/naomiwu/options/invertfly/uk.md index 7610194d1f6..b1c68910254 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/uk.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/uk.md @@ -4,6 +4,8 @@ title: Invert the side of the fly This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. -The side at which the button goes is not functionally relevant, but some garment (typically tops) have the buttons on teh right side for menswear, and the left sife for womenswear. +The side at which the button goes is not functionally relevant, but some +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From c1a0433983d7f7bec456808dcd78e4828954244e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:44 +0100 Subject: [PATCH 1039/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/uk.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/uk.md index 356e63fac41..79a267bc29f 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/uk.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/uk.md @@ -2,6 +2,6 @@ title: Minimal dart width --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From 8b23b4b48851382b2e2d40d90178abdc51cde11c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 20:19:45 +0100 Subject: [PATCH 1040/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/uk.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/uk.md index 0b7ed3efebf..7153b70bb2f 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/uk.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/uk.md @@ -4,6 +4,6 @@ title: Ширина пояса This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From ed7235d944e5a2f208d47c62bbe926347e9169c8 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Fri, 26 Jan 2024 12:07:10 -0800 Subject: [PATCH 1041/1313] fix(shared): Correct ControlTip tag text to use User Experience wording --- sites/shared/i18n/docs/en.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/en.yaml b/sites/shared/i18n/docs/en.yaml index 334cc3ad310..5b855f63f78 100644 --- a/sites/shared/i18n/docs/en.yaml +++ b/sites/shared/i18n/docs/en.yaml @@ -1,9 +1,9 @@ account: Account docs: Documentation -controltip.t: Power versus Simplicity -controltip.d1: The Power versus Simplicity setting of your FreeSewing account will impact how you experience the FreeSewing website. +controltip.t: User Experience +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: By default, some of the more advanced features of this site are hidden to make it more easy for new users to find their way. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Help us improve our documentation authors: Authors maintainers: Maintainers From 26ade08cb2b97d448c11a0ea07e4514d083fdd75 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:23 +0100 Subject: [PATCH 1042/1313] Update source file en.md skip-build --- markdown/org/docs/about/site/draft/core-settings/locale/en.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/org/docs/about/site/draft/core-settings/locale/en.md b/markdown/org/docs/about/site/draft/core-settings/locale/en.md index 8835cc37f61..dcbebada9b7 100644 --- a/markdown/org/docs/about/site/draft/core-settings/locale/en.md +++ b/markdown/org/docs/about/site/draft/core-settings/locale/en.md @@ -11,6 +11,7 @@ FreeSewing currently supports the following languages: - French - German - Dutch +- Ukrainian You can pick any of these and your pattern will be translated in this language. From 2af86c738125b7d6b1df3f444127dc5eb4c2c3bb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:29 +0100 Subject: [PATCH 1043/1313] Update source file en.md skip-build --- markdown/org/docs/designs/aaron/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/instructions/en.md b/markdown/org/docs/designs/aaron/instructions/en.md index 15a0f8a5884..0a9f7bec298 100644 --- a/markdown/org/docs/designs/aaron/instructions/en.md +++ b/markdown/org/docs/designs/aaron/instructions/en.md @@ -106,7 +106,7 @@ With about 6cm left to go before we complete our circle, it's time to sew the en ![Mark binding ends](step03f.png) -Take one of the edges, and stretch it along the 3cm seperating it from the start point as you would while sewing. +Take one of the edges, and stretch it along the 3cm separating it from the start point as you would while sewing. Mark the binding where it reaches the start point. Do the same for the other end. @@ -116,7 +116,7 @@ Mark the binding where it reaches the start point. Do the same for the other end Fold your A-shirt in whatever way makes it easier for you to place both binding ends with good sides together, aligning the marks. Sew them together on the mark. -> 6 cm is not much, but should be enough to get both edges comfortably under your sewing machine to sew them togther. +> 6 cm is not much, but should be enough to get both edges comfortably under your sewing machine to sew them together. ### Finish last 6cm of binding From 96ced37bc428906e0be42a44be28244c53d6fdaf Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:30 +0100 Subject: [PATCH 1044/1313] Update source file en.md skip-build --- markdown/org/docs/designs/aaron/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/en.md b/markdown/org/docs/designs/aaron/notes/en.md index 3b40401afe1..a341eba014d 100644 --- a/markdown/org/docs/designs/aaron/notes/en.md +++ b/markdown/org/docs/designs/aaron/notes/en.md @@ -2,7 +2,7 @@ title: "Aaron A-Shirt: Designer Notes" --- -Aaron is -- like most patterns I design -- born out of nessesity. I needed a +Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. @@ -14,7 +14,7 @@ block](/designs/brian) and has an array of options to tweak the outcome, There's a few things that are *special* about Aaron, FreeSewing trivia if you will: -- Aaron is what I refer designers to when they have questions on how to do something. It's always first in the list (because it starts with double A), always the frirst to get new feautres, be migrated to a new version, and so on. Aaron is sort of FreeSerwing's canary design. Everything that happens happens to Aaron first. +- Aaron is what I refer designers to when they have questions on how to do something. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Everything that happens happens to Aaron first. - I named this design `aaron` in memory of [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Rest in peace brother. joost From fde84bda6f9e4f5391db6800010688bf09c036ef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:31 +0100 Subject: [PATCH 1045/1313] Update source file en.md skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/en.md b/markdown/org/docs/designs/aaron/options/bindingwidth/en.md index 0722435b1d9..78043a4612e 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/en.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/en.md @@ -2,7 +2,7 @@ title: Binding width --- -Controls the width of the kniw binding on Aaron. +Controls the width of the knit binding on Aaron. The default knit binding width is 6 x the seam allowance. For metric users with the default 1cm seam allowance, this results in a 1.5cm wide knit binding which is a good value. @@ -11,5 +11,5 @@ For imperial users (who have a default seam allowance of 0.5") or users who choo -This option is expressed in percetage of the seam allowance. So the default s600%, or 6 time the seam allowance,. +This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. From 6c154443711e9a8d7066d6e4258a6583de9fad3f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:36 +0100 Subject: [PATCH 1046/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bee/cutting/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/cutting/en.md b/markdown/org/docs/designs/bee/cutting/en.md index b3669ce33e9..a750e997a58 100644 --- a/markdown/org/docs/designs/bee/cutting/en.md +++ b/markdown/org/docs/designs/bee/cutting/en.md @@ -38,6 +38,6 @@ There are three variations of this pattern. **One Colour**, which is where the b -This pattern is easily made reversible by buying a similar fabric to the main fabric and using it as contrast. To save confusion on instructions it will be refered to as the lining fabric. +This pattern is easily made reversible by buying a similar fabric to the main fabric and using it as contrast. To save confusion on instructions it will be referred to as the lining fabric. From 3996f4693807287edf9e417b1a0c134ba035318c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:37 +0100 Subject: [PATCH 1047/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bee/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/fabric/en.md b/markdown/org/docs/designs/bee/fabric/en.md index 8a9179dbee0..83adef7aef3 100644 --- a/markdown/org/docs/designs/bee/fabric/en.md +++ b/markdown/org/docs/designs/bee/fabric/en.md @@ -8,6 +8,6 @@ The main and lining fabric are the same type of material. Bee is made with swimw -You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a constrasting fabric. Otherwise you can cut all the required pieces from your main fabric. +You only need lining fabric if you intend to make the pattern reversible or if you want the band for the cross back tie variant to be a contrasting fabric. Otherwise you can cut all the required pieces from your main fabric. From 421d114658cd135286fe0fd10498b7d36aea5f21 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:37 +0100 Subject: [PATCH 1048/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bee/instructions/en.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/bee/instructions/en.md b/markdown/org/docs/designs/bee/instructions/en.md index 6a5d36fbe8c..9180880a3af 100644 --- a/markdown/org/docs/designs/bee/instructions/en.md +++ b/markdown/org/docs/designs/bee/instructions/en.md @@ -8,7 +8,7 @@ Make sure to use a stretch stitch -When making a reversible top the second colour will be refered to as the lining fabric. +When making a reversible top the second colour will be referred to as the lining fabric. The notches in this pattern act more like dots so **do not** clip them to mark them. @@ -30,7 +30,7 @@ The notches in this pattern act more like dots so **do not** clip them to mark t - Trim the seam allowances and clip the corners. - Turn inside out. Press. -Repeat this for the the remaining neck tie pieces +Repeat this for the remaining neck tie pieces ### Step 2: The Cups @@ -53,7 +53,7 @@ The notches in this pattern act more like dots so **do not** clip them to mark t If your seam allowance is wide you may find that you need to trim the gaps' seam allowances a little to reduce bulk. If you are having trouble turning the cups you can try one of these methods: -- Create a 2.5cm (1") gap in the front or side seam and turn throught that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. +- Create a 2.5cm (1") gap in the front or side seam and turn through that, either _slipstitch_-ing the gap closed or _edgestitch_-ing it closed during Step 7. - Widen one of the existing gaps and turn through that. Then when turned _edgestitch_ or _slipstitch_ the widened part closed. @@ -85,7 +85,7 @@ There are also notches on either side of the band piece's midpoint to help give -You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the otuer notches and lay their fronts pass the midpoint with the left on top. +You may prefer to wrap the one cup over the other at the midpoint. To do this place the sides of the cups at the outer notches and lay their fronts pass the midpoint with the left on top. From de25b081973fd3e8c0d8e2bdcd3faeda13dc2de2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:38 +0100 Subject: [PATCH 1049/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bee/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bee/notes/en.md b/markdown/org/docs/designs/bee/notes/en.md index 73e9e972089..eeade76bb48 100644 --- a/markdown/org/docs/designs/bee/notes/en.md +++ b/markdown/org/docs/designs/bee/notes/en.md @@ -5,7 +5,7 @@ title: "Bee bikini top: Designer Notes" I made Bee together with Prudencerabbit, as they wanted to make a swimwear pattern that went along with a previous freesewing pattern. It is based on a garment they made and wanted to make available for other people make as well. We worked of FreeSewing's body block Bella as a base, converting it to a single dart block to make the top. -During pattern testing one of our contributors TangerineShark made a vartiant with crossover back ties which we found so cool we added it to Bee! +During pattern testing one of our contributors TangerineShark made a variant with crossover back ties which we found so cool we added it to Bee! You can get this variation by using [option Cross Back Ties](/docs/designs/bee/options/crossbackties/). Bee can also be made reversible by using options [Reversible](/docs/designs/bee/options/reversible), [Duo Colours Ties](/docs/designs/bee/options/duocolorties) & [Neck Tie Colours](/docs/designs/bee/options/necktiecolours). With the previous pattern being retired you can use [Uma](docs/designs/uma) to make a matching bikini bottom. From 85060b04bde9b859fa3f28524878ff23b02a4eb8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:45 +0100 Subject: [PATCH 1050/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bella/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bella/notes/en.md b/markdown/org/docs/designs/bella/notes/en.md index 58f18a22233..7e7ff024325 100644 --- a/markdown/org/docs/designs/bella/notes/en.md +++ b/markdown/org/docs/designs/bella/notes/en.md @@ -5,9 +5,9 @@ title: "Bella body block: Designer Notes" This block was a collaboration between myself and an industry insider who prefers to remain anonymous because of her profession. It is the parametric version of a base block for womenswear that is used in the industry in Italy to design womenswear. -However, while the block will adapt to your measurments, the original block that it is based on is in really not suitable for a very wide sizing range. +However, while the block will adapt to your measurements, the original block that it is based on is in really not suitable for a very wide sizing range. -So your milage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. +So your mileage may very here, especially when you are further from the kind of skinny ladies Italians tend to design for. See also [this FAQ on womenswear blocks for more background info](/docs/about/faq/womenswear-blocks). From 189e7d6067a62caa1b771cf86253714daf20f731 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:51 +0100 Subject: [PATCH 1051/1313] Update source file en.md skip-build --- markdown/org/docs/designs/benjamin/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/benjamin/notes/en.md b/markdown/org/docs/designs/benjamin/notes/en.md index d60280237d0..dc5a203d701 100644 --- a/markdown/org/docs/designs/benjamin/notes/en.md +++ b/markdown/org/docs/designs/benjamin/notes/en.md @@ -8,7 +8,7 @@ him. This seemed like something I could undertake. Since I had no experience wit my first attempt should be a simple one. The site already had a pattern for a tie, yet I prefer bow ties. So that would be something I could contribute. -In the concept of MakeMyPattern was the posibility of patterns not only adapting to the measurements of +In the concept of MakeMyPattern was the possibility of patterns not only adapting to the measurements of the sewist, but also that patterns could change depending on the options one would like. So I tried to incorporate some options that I thought bow ties should have. From c737b6921670695dbc3a56b2acd9f187b3b7104c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:57 +0100 Subject: [PATCH 1052/1313] Update source file en.md skip-build --- .../org/docs/designs/bent/options/shoulderslopereduction/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md b/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md index 0b9f1dbb133..4993e59e036 100644 --- a/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md +++ b/markdown/org/docs/designs/bent/options/shoulderslopereduction/en.md @@ -2,7 +2,7 @@ title: "Shoulder slope reduction" --- -This pattern adapts to sloped shoulder by taking the shoulder slope measurment into account. +This pattern adapts to sloped shoulder by taking the shoulder slope measurement into account. However, for jackets or coats, you may want to create more room at the shoulders to allow for shoulder pads. This option lets you create extra room at the shoulders by reducing the amount the shoulders are sloped. From 8716d777df784d0e18cbf69f44a02fbc9d0cc730 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:29:59 +0100 Subject: [PATCH 1053/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bob/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/instructions/en.md b/markdown/org/docs/designs/bob/instructions/en.md index 78e104e995a..7eba53c03fe 100644 --- a/markdown/org/docs/designs/bob/instructions/en.md +++ b/markdown/org/docs/designs/bob/instructions/en.md @@ -28,7 +28,7 @@ finish later. ## Step 2: Apply bias tape -Wer're going to apply bias tape as a finish around the entire edge of the bib. +We're going to apply bias tape as a finish around the entire edge of the bib. You probably want to start at the bottom strap, as this way the joint of the bias seam will be covered when the bib is worn. From a4b0b9b53bcc961adbaf92fef451866a4dcccf4a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:01 +0100 Subject: [PATCH 1054/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bob/options/widthratio/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bob/options/widthratio/en.md b/markdown/org/docs/designs/bob/options/widthratio/en.md index db2b00e7621..948832c593b 100644 --- a/markdown/org/docs/designs/bob/options/widthratio/en.md +++ b/markdown/org/docs/designs/bob/options/widthratio/en.md @@ -5,7 +5,7 @@ title: Width ratio Controls the width of the bib. - Increase the percentage to widen the width of the bib. -- Decrease the precentage to constrict the width of the bib. +- Decrease the percentage to constrict the width of the bib. From 4563e4ff855abe1d446c297540453db8ee554d7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:05 +0100 Subject: [PATCH 1055/1313] Update source file en.md skip-build --- markdown/org/docs/designs/breanna/options/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/en.md b/markdown/org/docs/designs/breanna/options/en.md index d532a18a051..6d9a7a3732a 100644 --- a/markdown/org/docs/designs/breanna/options/en.md +++ b/markdown/org/docs/designs/breanna/options/en.md @@ -52,7 +52,7 @@ the exact value. But there are two options that control the shape of our sleevec - [Sleevecap top X](/docs/designs/breanna/options/sleevecaptopfactorx/) : Controls the horizontal placement of point 3 and 4 - [Sleevecap top Y](/docs/designs/breanna/options/sleevecaptopfactory/) : Controls the vertical placement of point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### The inflection points From 09fd2ec1b964cab2d3ccc1b4f202663d88e1c6e4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:07 +0100 Subject: [PATCH 1056/1313] Update source file en.md skip-build --- markdown/org/docs/designs/breanna/options/shoulderdart/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/shoulderdart/en.md b/markdown/org/docs/designs/breanna/options/shoulderdart/en.md index c938167d4ea..71ba14d6d5f 100644 --- a/markdown/org/docs/designs/breanna/options/shoulderdart/en.md +++ b/markdown/org/docs/designs/breanna/options/shoulderdart/en.md @@ -2,7 +2,7 @@ title: "Shoulder dart" --- -Whether or not to inlude a back shoulder dart to round the back. +Whether or not to include a back shoulder dart to round the back. From c59e579ab359a6c84279dfd1efc802e64bbebef6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:09 +0100 Subject: [PATCH 1057/1313] Update source file en.md skip-build --- markdown/org/docs/designs/breanna/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapease/en.md b/markdown/org/docs/designs/breanna/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From c301329c3573003e08a49516237641ecb0d0f107 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:11 +0100 Subject: [PATCH 1058/1313] Update source file en.md skip-build --- .../org/docs/designs/breanna/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/breanna/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From d512dde3cffbfd591d3e50ad55b47c6f0a4230b3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:13 +0100 Subject: [PATCH 1059/1313] Update source file en.md skip-build --- markdown/org/docs/designs/breanna/options/waistdart/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/breanna/options/waistdart/en.md b/markdown/org/docs/designs/breanna/options/waistdart/en.md index 68d60beb315..76239f5c6a6 100644 --- a/markdown/org/docs/designs/breanna/options/waistdart/en.md +++ b/markdown/org/docs/designs/breanna/options/waistdart/en.md @@ -2,7 +2,7 @@ title: "Waist dart" --- -Whether or not to inlude a back waist dart to round the back. +Whether or not to include a back waist dart to round the back. From c76d6913ca32c7f4be0422c9e6003a1d36ef5ee2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:15 +0100 Subject: [PATCH 1060/1313] Update source file en.md skip-build --- markdown/org/docs/designs/brian/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/brian/notes/en.md b/markdown/org/docs/designs/brian/notes/en.md index ccf75d8ff20..058ce8297b2 100644 --- a/markdown/org/docs/designs/brian/notes/en.md +++ b/markdown/org/docs/designs/brian/notes/en.md @@ -7,8 +7,8 @@ It underpins many of our designs and has done so for many years. It is inspired by the teachings of Gareth Kershaw, but has a number of improvements such as handling shoulder slope, the ability to shift the shoulder -seam backward and foward on both collar and shoulder side, as well as a highly -configureable sleevecap. +seam backward and forward on both collar and shoulder side, as well as a highly +configurable sleevecap. Perhaps just as important as what it does, is what it does not do: It does not fit the body. It's just straight down from the chest. No fitting of the waist From 8d18764448582b60524fd13b917033aaa65be716 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:17 +0100 Subject: [PATCH 1061/1313] Update source file en.md skip-build --- markdown/org/docs/designs/brian/options/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/en.md b/markdown/org/docs/designs/brian/options/en.md index 7a6814690ae..cbf05b630a7 100644 --- a/markdown/org/docs/designs/brian/options/en.md +++ b/markdown/org/docs/designs/brian/options/en.md @@ -52,7 +52,7 @@ the exact value. But there are two options that control the shape of our sleevec - [Sleevecap top X](/docs/designs/brian/options/sleevecaptopfactorx/) : Controls the horizontal placement of point 3 and 4 - [Sleevecap top Y](/docs/designs/brian/options/sleevecaptopfactory/) : Controls the vertical placement of point 4 -In other words, point 4 can be made higher and lower and, perhaps less intutitively, it can also +In other words, point 4 can be made higher and lower and, perhaps less intuitively, it can also be changed to lie more to the right or the left, rather than smack in the middle as in our example. ### The inflection points From 65016dbda9ad6e13cdc48f626ff4bd788ed5daaa Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:20 +0100 Subject: [PATCH 1062/1313] Update source file en.md skip-build --- markdown/org/docs/designs/brian/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapease/en.md b/markdown/org/docs/designs/brian/options/sleevecapease/en.md index 76f2808bb0d..85ed2cfb3f7 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/brian/options/sleevecapease/en.md @@ -8,7 +8,7 @@ This option determines the amount of ease at the sleevecap. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From 08d6e38a40c20eee19c33d935a23894248498104 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:22 +0100 Subject: [PATCH 1063/1313] Update source file en.md skip-build --- .../org/docs/designs/brian/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md index bb548d5cf04..5c950e19b64 100644 --- a/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/brian/options/sleevecapq3spread1/en.md @@ -4,7 +4,7 @@ title: "Sleevecap Q3 upward spread" *** -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 4bac471edd660a6066449e41f6d336cc4c6d328a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:25 +0100 Subject: [PATCH 1064/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bruce/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/bruce/instructions/en.md b/markdown/org/docs/designs/bruce/instructions/en.md index 4b602f81999..5468d0a05cc 100644 --- a/markdown/org/docs/designs/bruce/instructions/en.md +++ b/markdown/org/docs/designs/bruce/instructions/en.md @@ -169,7 +169,7 @@ Take it slow, and be **very aware** of where your serger blade is cutting into. ![Hem the first leg](step11.png) -Time to hem the legs. Hem them as you would do any other stretchy knit. Go for a flexible stitch. You can use a zig-zag stitch or twin needle if you don't have a coverlock or specific flexible stich setting. +Time to hem the legs. Hem them as you would do any other stretchy knit. Go for a flexible stitch. You can use a zig-zag stitch or twin needle if you don't have a coverlock or specific flexible stitch setting. @@ -212,7 +212,7 @@ If you're using a coverlock, put the elastic on top of the good side of the fabr -The length of your elastic will probably difffer from the fabric length, as they stretch differently. +The length of your elastic will probably differ from the fabric length, as they stretch differently. Pinning will help you achieve an even stretch. Divide both your elastic and boxer waistline into 4 (or 8) parts. Pin elastic and fabric together at these points. From ed2c17880e557960c2b74761f53bd5832c8e60ac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:27 +0100 Subject: [PATCH 1065/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bruce/options/rise/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/en.md b/markdown/org/docs/designs/bruce/options/rise/en.md index e4f4cb5029c..0c165178df0 100644 --- a/markdown/org/docs/designs/bruce/options/rise/en.md +++ b/markdown/org/docs/designs/bruce/options/rise/en.md @@ -4,7 +4,7 @@ title: "Rise" ![The rise option on Bruce](./rise.svg) -This option controls the overal height of the waist. +This option controls the overall height of the waist. > The higher the rise, the higher your waist. From 44916b7d143bbb4e2958f51a0c3ed9a81c8b002f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:28 +0100 Subject: [PATCH 1066/1313] Update source file en.md skip-build --- markdown/org/docs/designs/carlita/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlita/instructions/en.md b/markdown/org/docs/designs/carlita/instructions/en.md index 8e4aeb62268..05356f9af90 100644 --- a/markdown/org/docs/designs/carlita/instructions/en.md +++ b/markdown/org/docs/designs/carlita/instructions/en.md @@ -43,7 +43,7 @@ Don't forget the seam allowance for these pieces when cutting if you are making - Trace off of **Back** part. - Cut along the orange line. - Discard lower piece. -- Remove the seam allowamces (if included) of the upper piece. +- Remove the seam allowances (if included) of the upper piece. - The upper piece is now the **Back shoulder** part. #### Cutting From 797aa2af0f064c878ca42ead210790566993d9bd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:38 +0100 Subject: [PATCH 1067/1313] Update source file en.md skip-build --- markdown/org/docs/designs/carlton/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/instructions/en.md b/markdown/org/docs/designs/carlton/instructions/en.md index bc4351f35a5..139bf827f13 100644 --- a/markdown/org/docs/designs/carlton/instructions/en.md +++ b/markdown/org/docs/designs/carlton/instructions/en.md @@ -51,7 +51,7 @@ Don't forget the seam allowance for these pieces when cutting if you are making - Trace off of **Back** part. - Cut along the orange line. - Discard lower piece. -- Remove the seam allowamces (if included) of the upper piece. +- Remove the seam allowances (if included) of the upper piece. - The upper piece is now the **Back shoulder** part. #### Cutting From e14d498a7fbb0bca8ec9bb6b5718be83ba43186f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:39 +0100 Subject: [PATCH 1068/1313] Update source file en.md skip-build --- markdown/org/docs/designs/carlton/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/carlton/notes/en.md b/markdown/org/docs/designs/carlton/notes/en.md index 7879213c148..95bdeda2c84 100644 --- a/markdown/org/docs/designs/carlton/notes/en.md +++ b/markdown/org/docs/designs/carlton/notes/en.md @@ -2,8 +2,8 @@ title: "Carlton coat: Designer Notes" --- -Carlon is the reverse-engineerd version of the coat worn by benedict -cumberbatch in [the Sherlock +Carlon is the reverse-engineered version of the coat worn by Benedict +Cumberbatch in [the Sherlock TV-series](https://en.wikipedia.org/wiki/Sherlock_(TV_series)). It was painstakingly puzzled together by myself and [my friend Anneke From 370724c2fc7a276bcab80a1ac343cc08eecf4c16 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:47 +0100 Subject: [PATCH 1069/1313] Update source file en.md skip-build --- markdown/org/docs/designs/carlton/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlton/options/sleevecapease/en.md b/markdown/org/docs/designs/carlton/options/sleevecapease/en.md index ceee42517d4..3e3025c2fba 100644 --- a/markdown/org/docs/designs/carlton/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/carlton/options/sleevecapease/en.md @@ -8,7 +8,7 @@ How much sleevecap ease do you want? > #### What's the point? > -> The amount of sleevecap ease determines how the sleeves rolls from the shouder. +> The amount of sleevecap ease determines how the sleeves rolls from the shoulder. > > More ease makes the sleeve curl into the seam as you would expect from a coat. Less ease makes the sleeve lie flatter. From 9b89e2f9d183e4a3f2d24062dd79ec91ec79e6a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:50 +0100 Subject: [PATCH 1070/1313] Update source file en.md skip-build --- markdown/org/docs/designs/cathrin/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cathrin/notes/en.md b/markdown/org/docs/designs/cathrin/notes/en.md index 86c621924d5..0801d1ec1ce 100644 --- a/markdown/org/docs/designs/cathrin/notes/en.md +++ b/markdown/org/docs/designs/cathrin/notes/en.md @@ -10,7 +10,7 @@ So I did some research online, and I found [this tutorial by Cathrin on drafting an underbust corset. So, I essentially implemented those instructions in code, and the rest is -history as the original project got abaondoned. +history as the original project got abandoned. This design is named `cathrin` after Cathrin Åhlén who taught me (and others) how to draft such a thing. From bdef2ce05d1919fc0525ce1dfd61adfef5e319d8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:53 +0100 Subject: [PATCH 1071/1313] Update source file en.md skip-build --- .../docs/designs/charlie/instructions/en.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/charlie/instructions/en.md b/markdown/org/docs/designs/charlie/instructions/en.md index 74a7ee4004a..cf654e91889 100644 --- a/markdown/org/docs/designs/charlie/instructions/en.md +++ b/markdown/org/docs/designs/charlie/instructions/en.md @@ -198,7 +198,7 @@ When you're done, press open the inseam. Double check that your right and left legs match the pattern markings. The right leg's crotch should extend slightly beyond the left. Refer to the pattern and cut excess on the left leg if necessary. -It can be valuable to mark with chalk or thread mark the **Center Front** on each leg. This will help you make sure the peices are in the right place duing fly construction. +It can be valuable to mark with chalk or thread mark the **Center Front** on each leg. This will help you make sure the pieces are in the right place during fly construction. @@ -286,14 +286,14 @@ Remember that the seam allowance starts slightly right of the center front, the Ensure you place the folded edge of the right leg just left of the zipper teeth to prevent fabric from being caught in the zipper. -Stop sewing at the top 'fly extention' notch, slightly above the cross seam, and be sure to backstitch. If you don't do this you won't be able to keep the extension out of the way when sewing the J-Seam. +Stop sewing at the top 'fly extension' notch, slightly above the cross seam, and be sure to backstitch. If you don't do this you won't be able to keep the extension out of the way when sewing the J-Seam. ![Attach Extension to Right Leg](AttachExtensionToRightLeg.svg) ### Attach the zipper to the fly facing. -Be careful to align the leg left on the right center front. It can be valuable to pin or baste through the facing and right zide of the zipper tape. (We need to sew the left side of the zipper tape to the left leg). +Be careful to align the leg left on the right center front. It can be valuable to pin or baste through the facing and right side of the zipper tape. (We need to sew the left side of the zipper tape to the left leg). Ensuring everything is lined, sew the fly facing to the left side of the zipper. Try to get close to the zipper, but not too close. ![Attach Facing to Zipper](AttachFacingToZipper.svg) @@ -303,15 +303,15 @@ Ensuring everything is lined, sew the fly facing to the left side of the zipper. -Use a peice of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. +Use a piece of paper as a guide to sew the J seam, this can be cut from your pattern along the indicated stitch line. -Now topstitch the so-called J-seam of the fly. Make sure to keep the fly extension out of the way. Since you didn't sew all the way along the fly extention, you should be able to pin it out of the way. +Now topstitch the so-called J-seam of the fly. Make sure to keep the fly extension out of the way. Since you didn't sew all the way along the fly extension, you should be able to pin it out of the way. #### Bar tack the bottom of the fly -Now, bartack the very botton of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. +Now, bartack the very bottom of the J-seam (the horizontal part) but this time make sure to also catch the fly extension. You can choose to add an additional bar tack along the J-Seam as well (shown in purple). ![Sew the J-Seam](SewTheJSeam.svg) @@ -322,7 +322,7 @@ You can choose to add an additional bar tack along the J-Seam as well (shown in -For efficiency, we will contruct one long strip of belt loop that we'll divide into 8 parts. +For efficiency, we will construct one long strip of belt loop that we'll divide into 8 parts. @@ -377,7 +377,7 @@ Place the waistband with good sides together along the waist. For the straight waistband, make sure the side with the standard seam allowance is aligned with the waist, and not the side with double seam allowance. -Also make sure to leave suffucient seam allowance beyond the start and end of the waistband. +Also make sure to leave sufficient seam allowance beyond the start and end of the waistband. Sew along the entirety of the waist, attaching the waist band and sewing down the belt loops in one go. @@ -415,7 +415,7 @@ This will catch the back of the waistband which we've made to extend slightly fu ### Sew the belt loops down to make them wider -It's best to make the belt loops a bit wider than the waistband, to accomodate wider belts. +It's best to make the belt loops a bit wider than the waistband, to accommodate wider belts. For this, let the waistband lie flat, and sew it down with a bartack 1.5cm or so (half an inch) below the waistband. From f9a1c990aad84f31c84289f2cdc2c360abfd0eae Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:53 +0100 Subject: [PATCH 1072/1313] Update source file en.md skip-build --- markdown/org/docs/designs/charlie/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/notes/en.md b/markdown/org/docs/designs/charlie/notes/en.md index 1a55711960d..be6a7eb4ee8 100644 --- a/markdown/org/docs/designs/charlie/notes/en.md +++ b/markdown/org/docs/designs/charlie/notes/en.md @@ -14,7 +14,7 @@ one twist: The front packets are placed on the side seam. That side seam wraps around towards the front to give the slanted pocket look. It's a bit of unusual and creative design that I guess I did because I can? -Anyway, it's something to be mind ful of because if you do not expect it the +Anyway, it's something to be mindful of because if you do not expect it the front panels look a bit weird. joost From 8be255c8e9bf44aa55b447e1bf606ea325bc8149 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:55 +0100 Subject: [PATCH 1073/1313] Update source file en.md skip-build --- markdown/org/docs/designs/charlie/options/backpocketwidth/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md b/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md index e1878f3efcc..13d9a0108df 100644 --- a/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md +++ b/markdown/org/docs/designs/charlie/options/backpocketwidth/en.md @@ -2,7 +2,7 @@ title: "Back pocket width" --- -Constrols the width of the back pockets. +Controls the width of the back pockets. From c11ee7aeddb0578cec3c04ec2de9e6f098c5ba5b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:55 +0100 Subject: [PATCH 1074/1313] Update source file en.md skip-build --- markdown/org/docs/designs/charlie/options/beltloops/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/beltloops/en.md b/markdown/org/docs/designs/charlie/options/beltloops/en.md index f84045584dc..e4f7166ff2d 100644 --- a/markdown/org/docs/designs/charlie/options/beltloops/en.md +++ b/markdown/org/docs/designs/charlie/options/beltloops/en.md @@ -2,7 +2,7 @@ title: "Belt loops" --- -Constrol how many beltloops we'll generate. +Controls how many beltloops we'll generate. From fcef8c3b761003574d7bb8fc43cd617eaedf7851 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:56 +0100 Subject: [PATCH 1075/1313] Update source file en.md skip-build --- markdown/org/docs/designs/charlie/options/crotchdrop/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchdrop/en.md b/markdown/org/docs/designs/charlie/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/charlie/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/charlie/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. From 5a043cd4ec370849b37c543dd5be9850d145e59b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:57 +0100 Subject: [PATCH 1076/1313] Update source file en.md skip-build --- .../org/docs/designs/charlie/options/crotchseamcurvebend/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/charlie/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 348e7f7c142e5b7770edb2b8a34faf8035319400 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:30:58 +0100 Subject: [PATCH 1077/1313] Update source file en.md skip-build --- markdown/org/docs/designs/charlie/options/flylength/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/charlie/options/flylength/en.md b/markdown/org/docs/designs/charlie/options/flylength/en.md index 672bbb3f2ef..2db89902eeb 100644 --- a/markdown/org/docs/designs/charlie/options/flylength/en.md +++ b/markdown/org/docs/designs/charlie/options/flylength/en.md @@ -2,7 +2,7 @@ title: "Fly length" --- -Constrols the length of the fly. +Controls the length of the fly. From 5e1e4d4408b47e01157c9b2ec4ffedcbe8de8916 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:02 +0100 Subject: [PATCH 1078/1313] Update source file en.md skip-build --- markdown/org/docs/designs/cornelius/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/cornelius/fabric/en.md b/markdown/org/docs/designs/cornelius/fabric/en.md index 1fab76bc3fd..74de5ef14b9 100644 --- a/markdown/org/docs/designs/cornelius/fabric/en.md +++ b/markdown/org/docs/designs/cornelius/fabric/en.md @@ -4,7 +4,7 @@ title: "Cornelius cycling breeches: Fabric Options" ### Main Fabric -Any **bottom (trouser) weight material** will work fine for this pattern. Generally you want to avoid anything that is over 7oz (230gsm) as this will more likely be too stiff and uncomfortable. You want something that provides a bit of warmth whilst still being able to drape such as **Corduroy** or **Medium Weight Suiting** fabrics. If you are looking for someting more historically correct, then **Medium weight wool suiting** is the way to go. **Linen** is also an option, especially if you would like something that isn't too warm. +Any **bottom (trouser) weight material** will work fine for this pattern. Generally you want to avoid anything that is over 7oz (230gsm) as this will more likely be too stiff and uncomfortable. You want something that provides a bit of warmth whilst still being able to drape such as **Corduroy** or **Medium Weight Suiting** fabrics. If you are looking for something more historically correct, then **Medium weight wool suiting** is the way to go. **Linen** is also an option, especially if you would like something that isn't too warm. From 06f06681a41e2e9002e1fbe52f3f9ebd86df3657 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:03 +0100 Subject: [PATCH 1079/1313] Update source file en.md skip-build --- .../org/docs/designs/cornelius/instructions/en.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/cornelius/instructions/en.md b/markdown/org/docs/designs/cornelius/instructions/en.md index 4fdbe166486..c9c3daf9040 100644 --- a/markdown/org/docs/designs/cornelius/instructions/en.md +++ b/markdown/org/docs/designs/cornelius/instructions/en.md @@ -4,13 +4,13 @@ title: "Cornelius cycling breeches: Sewing Instructions" ### Step 1: The Front Pockets -- Press under the seam allowances of the non-notched edges of the pokcet facings. +- Press under the seam allowances of the non-notched edges of the pocket facings. - Matching notches, pin the wrong sides of pocket facings to right side of pocket bags, _Edgestitch_ the folded edges to the pocket bags. - _Baste_ the seam allowances of the notched edges of the pocket facings to the pocket bags. - With right sides together matching double notches sew the pocket bags to the front and then press to the wrong side. - Fold the pockets in half along the fold line, right sides together. Stitch the bottom of the pocket bag together. - Alternatively you can _French Seam_ the bottom seams of the pocket bags together if you prefer. -- _Baste_ the top and side of the pocket bags to the front seam allowances mathcing notches. +- _Baste_ the top and side of the pocket bags to the front seam allowances matching notches. @@ -70,7 +70,7 @@ Use the method of the cuff style you chose as they are different depending on wh - Press the top seam allowance to the wrong side of the remaining leg band pieces. Trim the top seam allowance. - With right sides together sew the remaining leg and pieces to the attached leg bands along the bottoms and sides. - Turn the leg bands out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. @@ -89,7 +89,7 @@ If you are worried about a draft you can create a triangle piece of fabric that - Press the top seam allowance to the wrong side of the remaining leg band pieces. Trim the top seam allowance. - With right sides together sew the remaining leg and pieces to the attached leg bands along the bottoms and sides. - Turn the leg bands out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. @@ -108,13 +108,13 @@ You can _Edgestitch_ the leg bands together like a modern waistband if you prefe ### Step 5: Waistband -- Face one of the waistband pieces using your preffered method. +- Face one of the waistband pieces using your preferred method. - Sew the faced waistband piece to the top of the legs right sides together. - Press the waistband and seam allowance up and away from leg. Trim the seam allowance to reduce bulk. - Press the bottom seam allowance to the wrong side of the remaining waistband piece. Trim the bottom seam allowance. - With right sides together sew the remaining waistband to the faced waistband along the top and sides. - Turn the waistband out. Press. -- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitcing. +- _Slipstitch_ or _Whipstitch_ the folded edge of the waistband to front, making sure the folded edge is covering the stitching. - Sew the buttonhole. The buttons will be sewn later. From 60f23d6274888f1f03e4ab620366ab4dc4031cb4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:10 +0100 Subject: [PATCH 1080/1313] Update source file en.md skip-build --- .../org/docs/designs/diana/options/shoulderseamlength/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md b/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md index 633d16eddae..ebbe6d12ad9 100644 --- a/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md +++ b/markdown/org/docs/designs/diana/options/shoulderseamlength/en.md @@ -4,7 +4,7 @@ title: "Shoulder seam length" ![The shoulder seam length option on Diana](./shoulderseamlength.svg) -This option determines how wide the neck opening is, by controllign the length of the shoulder seam. +This option determines how wide the neck opening is, by controlling the length of the shoulder seam. From 421238dbcc385593857d4c50b7d70710dfe66392 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:11 +0100 Subject: [PATCH 1081/1313] Update source file en.md skip-build --- markdown/org/docs/designs/diana/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapease/en.md b/markdown/org/docs/designs/diana/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/diana/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From a6a8908644e9de092fdb416a25cdd74b98693425 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:13 +0100 Subject: [PATCH 1082/1313] Update source file en.md skip-build --- .../org/docs/designs/diana/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/diana/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 36a5fad95dd85ff442fcf564eccd9d7f51410703 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:16 +0100 Subject: [PATCH 1083/1313] Update source file en.md skip-build --- markdown/org/docs/designs/florence/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/fabric/en.md b/markdown/org/docs/designs/florence/fabric/en.md index 5dae79599e8..184001300ec 100644 --- a/markdown/org/docs/designs/florence/fabric/en.md +++ b/markdown/org/docs/designs/florence/fabric/en.md @@ -6,7 +6,7 @@ The goal of our mask is to stop droplets. So you want to go for something that f Then again, you need to be able to breath through your mask, so we want fabric that breathes, without letting droplets through. In addition, we want the inside to be comfortable on our skin. So here I'd suggest a tightly woven cotton or viscose/rayon. -For the outter fabric, cotton again, or a tightly woven wool. +For the outer fabric, cotton again, or a tightly woven wool. From 0100b1476651d7915379fb75523ccd78c9c8e016 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:17 +0100 Subject: [PATCH 1084/1313] Update source file en.md skip-build --- markdown/org/docs/designs/florence/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florence/notes/en.md b/markdown/org/docs/designs/florence/notes/en.md index c8546d46f4c..a4efa94e765 100644 --- a/markdown/org/docs/designs/florence/notes/en.md +++ b/markdown/org/docs/designs/florence/notes/en.md @@ -6,7 +6,7 @@ When the COVID-pandemic swept the globe in early 2019, and a shortage of PPE followed, it became obvious we were going to need a lot of face masks. So I set out to design this pattern, and also ended up making a whole bunch of -them for the local university hostpital. Because I was rather early to fill +them for the local university hospital. Because I was rather early to fill this need, it was picked up by a variety of publications, such a Forbes, the New York Times, and a bunch of others. From b89ec1b88d8ff28393add9a456bac4926f89ff59 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:18 +0100 Subject: [PATCH 1085/1313] Update source file en.md skip-build --- markdown/org/docs/designs/florent/cutting/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/florent/cutting/en.md b/markdown/org/docs/designs/florent/cutting/en.md index b2fa3f71a17..b3516f747ef 100644 --- a/markdown/org/docs/designs/florent/cutting/en.md +++ b/markdown/org/docs/designs/florent/cutting/en.md @@ -2,7 +2,7 @@ title: "Florent flat cap: Cutting Instructions" --- -To make Floren, cut out the following parts: +To make Florent, cut out the following parts: - **Main fabric** - Cut **1 top** on the fold but don't include the center seam allowance, or **2 top** with the center seam allowance. From f08cead42cefbde254c9dfa68e7000e3a36c8282 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:23 +0100 Subject: [PATCH 1086/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hi/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hi/notes/en.md b/markdown/org/docs/designs/hi/notes/en.md index 71c6c810202..c3767f89691 100644 --- a/markdown/org/docs/designs/hi/notes/en.md +++ b/markdown/org/docs/designs/hi/notes/en.md @@ -12,11 +12,11 @@ It turned out that no one in the community had ever taken a Blåhaj apart, and n Blåhaj in my household was my daughter's, and I couldn't touch that one. This seemed like a great project to work on, and the lack of a Blåhaj was not an insurmountable obstacle. So one day I -made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transfered it's innards +made a trip to Ikea, and bought me my own shark. I took the seam ripper to the poor animal, and transferred it's innards to a sterile bag. The individual pieces were traced, scanned, and used in InkScape to generate a fully functional shark pattern. -It can be saled up and down between 50 cm and 5 meter. So there is a shark for everyone. +It can be scaled up and down between 50 cm and 5 meter. So there is a shark for everyone. From d3fefa2413d1b1caa06d44ec2a86a9057db40b22 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:24 +0100 Subject: [PATCH 1087/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hi/options/hungry/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hi/options/hungry/en.md b/markdown/org/docs/designs/hi/options/hungry/en.md index f447e823f94..b7295868b53 100644 --- a/markdown/org/docs/designs/hi/options/hungry/en.md +++ b/markdown/org/docs/designs/hi/options/hungry/en.md @@ -2,7 +2,7 @@ title: "Hungry" --- -This setting determins how long it has been since your Hi has had +This setting determines how long it has been since your Hi has had something to eat. More hungry results in a leaner shark. From 920402d8d265ff323533aaf6ea1c913a6d81bde9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:25 +0100 Subject: [PATCH 1088/1313] Update source file en.md skip-build --- markdown/org/docs/designs/holmes/cutting/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/holmes/cutting/en.md b/markdown/org/docs/designs/holmes/cutting/en.md index 97d851e1af7..7cdf80ca9f8 100644 --- a/markdown/org/docs/designs/holmes/cutting/en.md +++ b/markdown/org/docs/designs/holmes/cutting/en.md @@ -17,7 +17,7 @@ The **crown** pattern piece needs to be cut on the fold to create a whole piece. ### Optional Fabric Ties -If you don't wish to use ribbon for your ties you can make them out of fabric. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your choosen + seam allowances wide and sew two tubes leaving one of the short sides open for turning. Clip the corners and trim seams. Turn out an press. If desired you can _Edgestitch_ or _Topstitch_ the tubes to stop the fabric from shifting. The raw edge of the tubes can then be concealed in the ear flap seam when constructing the ear flaps. +If you don't wish to use ribbon for your ties you can make them out of fabric. Simply cut 4 crossgrain strips of an 1" (2.5cm) or width of your chosen seam allowances wide and sew two tubes leaving one of the short sides open for turning. Clip the corners and trim seams. Turn out an press. If desired you can _Edgestitch_ or _Topstitch_ the tubes to stop the fabric from shifting. The raw edge of the tubes can then be concealed in the ear flap seam when constructing the ear flaps. @@ -26,6 +26,6 @@ It is recommended to draft the pattern nett and use the pattern to trace the sea -It is recommended to make a mock-up with your crown pattern first before cutting your fabrics. This is to test the length and ease of the crown piece. Make sure to cut off the bottom seam allowance before trying it on. If it is too tight who will need to re-draft the pattern with more head ease just remember the ease is split across each crown. If the peak is too high you may want to re-draft the pattern with the crown length reduced. Once re-drafted make another mock-up to check whether you are satified with the changes or not. Repeat again if you are not satisfied. +It is recommended to make a mock-up with your crown pattern first before cutting your fabrics. This is to test the length and ease of the crown piece. Make sure to cut off the bottom seam allowance before trying it on. If it is too tight who will need to re-draft the pattern with more head ease just remember the ease is split across each crown. If the peak is too high you may want to re-draft the pattern with the crown length reduced. Once re-drafted make another mock-up to check whether you are satisfied with the changes or not. Repeat again if you are not satisfied. From 859b97b379bd358c28cbb743ce3873e3fbeddc34 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:26 +0100 Subject: [PATCH 1089/1313] Update source file en.md skip-build --- .../docs/designs/holmes/instructions/en.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/markdown/org/docs/designs/holmes/instructions/en.md b/markdown/org/docs/designs/holmes/instructions/en.md index 34d8742ae76..7dc47fd69fb 100644 --- a/markdown/org/docs/designs/holmes/instructions/en.md +++ b/markdown/org/docs/designs/holmes/instructions/en.md @@ -31,7 +31,7 @@ These instructions assume you have marked your seam lines. They may be harder to - Press seams open. You made need to use a tailors ham for this, if you do not have one you can use flannels or towels instead. - (Optional) _Edgestitch_ both sides of the seam, making sure to catch the seam allowances. - Repeat until you have two halves. If half the number of crown pieces is an odd number you will have to sew a single piece to each half. e.g. If you have 6 crown pieces, you make two halves of 3 sewing one piece to two sewn together pieces. -- With right sides together, matchinig seam lines and peaks, sew the two halves together. You may find it easier to handstitch the peak together due to bulk or for precision. This seam will be refered to as the "centre crown seam" going forward. +- With right sides together, matching seam lines and peaks, sew the two halves together. You may find it easier to handstitch the peak together due to bulk or for precision. This seam will be referred to as the "centre crown seam" going forward. - (Optional) _Edgestitch_ both sides of the centre crown seam, making sure to catch the seam allowances. @@ -44,7 +44,7 @@ Depending on your seam allowance you may want to trim seams as you go to reduce #### Ear Flaps with Ties -- Cut two 12" (30cm) - 16" (40cm) length of ribbon. These will be refered to as ties going forward. +- Cut two 12" (30cm) - 16" (40cm) length of ribbon. These will be referred to as ties going forward. - _Baste_ a tie to the right side of an ear flap (the interfaced one if using). Repeat for other tie. - With right sides together, matching seam lines, sew a tie ear flap to a non-tie ear flap. - Clip and trim seam allowance. @@ -74,7 +74,7 @@ If you prefer you can make your custom ties with fabric, [see Holmes cutting](/d - Turn inside out and press. - (Optional) _Topstitch_ or _Edgestitch_ the folded edge. - _Baste_ the raw edges together. -- Sew the buttonhole in your prefered method. +- Sew the buttonhole in your preferred method. - Repeat for the remaining ear flap. @@ -98,7 +98,7 @@ There are two methods for constructing the visors. This is due to the different #### The Visors Method 1 - Place visor insert on one visor piece inside seam lines. -- Temporarily secure visor insert to visor with temporary _pad Stitches_. This will be refered to as "faced visor" going forward. +- Temporarily secure visor insert to visor with temporary _pad Stitches_. This will be referred to as "faced visor" going forward. - _Baste_ along the seam line of the inner curve of the faced visor, making sure not to catch the visor insert. - With right sides together, matching seam lines and centre fronts, sew the faced visor to another visor piece along the outer curve close to the visor insert, making sure not to catch the visor Insert. - Notch and trim the outer curve making sure not to clip the stitching. (You may wish to turn and check the shape before this step) @@ -120,10 +120,10 @@ If preferred you can temporarily attach the visor insert another way that does n #### The Visors Method 2 -- With rights sides together, matching seam lines and centre fronts, sew the outer curver of two visor pieces together. +- With rights sides together, matching seam lines and centre fronts, sew the outer curve of two visor pieces together. - Notch and trim (if needed) the outer curve making sure not to clip the stitching. (You may wish to turn and check the shape before this step) - Turn inside out and press. -- Insert visor insert in to sewn visor tightly so there is no gap on the outer curver and the seam allowances are all one on side of the visor insert. This will be the upper side of the visor. +- Insert visor insert in to sewn visor tightly so there is no gap on the outer curve and the seam allowances are all one on side of the visor insert. This will be the upper side of the visor. - Pin the inner curve together making sure that the outer edge is pulled tightly over the visor insert. - _Baste_ as close as you can to the inner curve of the visor insert, making sure you pull the fabric tightly over the outer edge as you sew. - Repeat for the remaining visor pieces. @@ -144,7 +144,7 @@ Once again there are two methods for final assembly and lining. Read both method - Remove all pad and basting stitches. - Press the seam allowances inwards, making sure the stitching is not visible on the outside. - (Optional) Loosely _whipstitch_ the seams to the inside of the crown making sure the stitching does not show on the outside. -- Construct lining the same way as the crown ommitting _edgestitching_. +- Construct lining the same way as the crown omitting _edgestitching_. - Fold and Press under the bottom seam allowance of the lining. You may find you need to press under more to prevent the lining from showing. You may also find you need to _baste_ the seam allowance down. - Matching centre crown seams and panel seams, pin the lining into the hat wrong sides together. Placing the folded edge along the stitching lines. - _Slipstitch_ or _whipstitch_ the lining to the seam allowance of the hat. @@ -160,8 +160,8 @@ Once again there are two methods for final assembly and lining. Read both method - Hand-baste the visor to the crown matching the visor basting lines to the crown seam lines. It easier to _baste_ the centre down first and then work from the centre out. - (Optional) Machine-baste the visor to the crown along seam lines. - Repeat for the remaining visor on the opposite side of the centre crown seam. -- Construct lining the same way as the crown ommitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. -- With right sides together, matching centre crown seams, panel seams and seam lines. Sew the lining to the the crown along seam lines. If bulky you may want to trim either the lining seams or both seams. +- Construct lining the same way as the crown omitting _edgestitching_ and leaving a gap in the centre lining seam large enough to turn the hat. +- With right sides together, matching centre crown seams, panel seams and seam lines. Sew the lining to the crown along seam lines. If bulky you may want to trim either the lining seams or both seams. - Turn hat inside out, pressing lining to inside. - (Optional/Alternate) _Understitch_ lining. - Slipstitch lining opening closed. @@ -226,7 +226,7 @@ Unless you are doing the Buttonhole Ear Flaps you do not have to sew a button on Whilst certainly optional, you may find that a button is what is missing from the hat to finish the look. So if you are uncertain of the look at this point, make up a quick button and place it on temporarily to see if this is what is missing. If it is, attach it permanently. -Whilst a covered button is recommeneded you can use whatever button you desire, feel free to experiment! +Whilst a covered button is recommended you can use whatever button you desire, feel free to experiment! From c0b7ff27f1b7ab0db1d9c67362ffe0b6ce58bc77 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:29 +0100 Subject: [PATCH 1090/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hortensia/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/en.md b/markdown/org/docs/designs/hortensia/en.md index 3ef2b5a3e0c..91f2576f528 100644 --- a/markdown/org/docs/designs/hortensia/en.md +++ b/markdown/org/docs/designs/hortensia/en.md @@ -3,7 +3,7 @@ title: "Hortensia handbag" --- Hortensia is designed by @stoffsuchti. She wanted the pattern to be available to people on FreeSewing, -and had made the paper designs. She did not have any coding experience, and I volunteerd my time. +and had made the paper designs. She did not have any coding experience, and I volunteered my time. The design is well thought out, and based on the Golden Rule. It can be sized up and down to fit your exact needs. Construction is a bit finicky, having quite some curved seams. It can be lined, or you can From 0f88bc1029671de14bcdbb822e5a74d8c14c3274 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:29 +0100 Subject: [PATCH 1091/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hortensia/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/fabric/en.md b/markdown/org/docs/designs/hortensia/fabric/en.md index d7233d8e1ef..88a01359196 100644 --- a/markdown/org/docs/designs/hortensia/fabric/en.md +++ b/markdown/org/docs/designs/hortensia/fabric/en.md @@ -6,7 +6,7 @@ title: "Hortensia handbag: Fabric Options" The key fabric choices for Hortensia are non-stretch, durable and strong enough to hold items. -Your main fabric choice ultimately comes down to your personal style and what you wish to use your handbag for. Due to Hortensia having a size option it can also be enlarged and used for things such as a gym bag which does not need to be as fancy as an upmarket handbag. So you may just simply want to go with **Cottons**, **Linens** or have a little fun with **Printed Cottons**. If you want something more fancy you can try going for **Brocades** and other luxe fabrics. If you want something that will be very durable you can try **Upholstery fabrics**. You can also try **Leather** but this will be harder to sew especially if it is thick so only use it if you know what you are doing. Remember if you wish to use it all the time, favour practicality over design, as the goal should be to make it last rather than make it fancy. If you do not care about the look at all then this may be an oppurtunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. +Your main fabric choice ultimately comes down to your personal style and what you wish to use your handbag for. Due to Hortensia having a size option it can also be enlarged and used for things such as a gym bag which does not need to be as fancy as an upmarket handbag. So you may just simply want to go with **Cottons**, **Linens** or have a little fun with **Printed Cottons**. If you want something more fancy you can try going for **Brocades** and other luxe fabrics. If you want something that will be very durable you can try **Upholstery fabrics**. You can also try **Leather** but this will be harder to sew especially if it is thick so only use it if you know what you are doing. Remember if you wish to use it all the time, favour practicality over design, as the goal should be to make it last rather than make it fancy. If you do not care about the look at all then this may be an opportunity to use up fabric from your stash that you otherwise would not such as that ugly fabric you can never find a use for. From 9b29afaafacc2d0c551ce4a2061efb99dfa94d57 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:30 +0100 Subject: [PATCH 1092/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hortensia/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/hortensia/instructions/en.md b/markdown/org/docs/designs/hortensia/instructions/en.md index eee2995fc77..5ce7025e1da 100644 --- a/markdown/org/docs/designs/hortensia/instructions/en.md +++ b/markdown/org/docs/designs/hortensia/instructions/en.md @@ -32,7 +32,7 @@ The placement of the straps are not on the pattern and need to be determined. Yo If using bag strap webbing instead of fabric made straps do the following, -- Cut the webbing to the the length of the straps with seam allowance. +- Cut the webbing to the length of the straps with seam allowance. - Press under the short edge seam allowance. - Attach the webbing the same way as the fabric straps. @@ -83,8 +83,8 @@ It is recommended to leave the gap for turning on the side rather than the top o - With _good sides together_ sew the front and back lining panels to the bottom lining panel. - With _good sides together_ attach the lining side panels. - Press under the top seam allowances. -- Alernatively you can bind the top edges. -- Place the lining inside the bag _wrong sides facing_ eachother. +- Alternatively you can bind the top edges. +- Place the lining inside the bag _wrong sides facing_ each other. - _Slipstitch_ or _Whipstitch_ the lining to the zipper panel. ### Step 10: Enjoy! From cdda708b42318b029a36f93005d4cee216c95866 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:31 +0100 Subject: [PATCH 1093/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hortensia/needs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/needs/en.md b/markdown/org/docs/designs/hortensia/needs/en.md index 6ef8aa9dddd..97635f0d082 100644 --- a/markdown/org/docs/designs/hortensia/needs/en.md +++ b/markdown/org/docs/designs/hortensia/needs/en.md @@ -8,7 +8,7 @@ To make Hortensia, you will need the following: - About 0.5 - 2 metres (0.6 - 2.2 yards) of a suitable fabric ([see Hortensia Fabric options](/docs/designs/hortensia/fabric/)) - About 0.5 - 2 metres (0.6 - 2.2 yards) of lining fabric ([see Hortensia Fabric options](/docs/designs/hortensia/fabric/)) - A zipper shorter in length than the zipper panel and matching the [coil width](/docs/designs/hortensia/options/zippersize/) selected -- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias biniding if you want to bind the side panel edges on the outside. +- (Optional) About 1 - 2 metres (1.1 - 2.2 yards) of bias binding if you want to bind the side panel edges on the outside. - (Optional) Bag strap webbing double the length of the strap part with seam allowance and similar width if you don't wish to make your own straps - (Optional) Interfacing if needed to strengthen fabric and/or for the strap From 50a64e45ba33c90e4e52292a01159e3c90920024 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:32 +0100 Subject: [PATCH 1094/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hortensia/options/zippersize/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hortensia/options/zippersize/en.md b/markdown/org/docs/designs/hortensia/options/zippersize/en.md index 94e05edc3c6..eb03c2e4980 100644 --- a/markdown/org/docs/designs/hortensia/options/zippersize/en.md +++ b/markdown/org/docs/designs/hortensia/options/zippersize/en.md @@ -12,7 +12,7 @@ Size guide for Hortensia: | Option | Size in Millimetres (mm) | | ---- | ----------- | -| #Invisble | 0 | +| #Invisible | 0 | | #3 | 4.8 | | #4 | 5.4 | | #4.5 | 5.9 | From 49e0c47695fd5448f056468e63597aa05b469cb1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:33 +0100 Subject: [PATCH 1095/1313] Update source file en.md skip-build --- markdown/org/docs/designs/huey/instructions/en.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/huey/instructions/en.md b/markdown/org/docs/designs/huey/instructions/en.md index b7994eef378..89212735f35 100644 --- a/markdown/org/docs/designs/huey/instructions/en.md +++ b/markdown/org/docs/designs/huey/instructions/en.md @@ -53,7 +53,7 @@ The drawstrings will be threaded after the hoodie is constructed. - Turn good sides out. - Baste the front and bottom raw edges together. - Create a casing for the drawstring by stitching about 2.5cm (1 inch) away from the inner edge on the side with the drawstring holes. -- (Optionaly) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. +- (Optionally) If not using a drawstring, _Topstitch_ or _Edgestitch_ the inner curve. @@ -87,9 +87,9 @@ A neckband can be useful to stablise and cover the neck seams but it is optional - Press the seam allowance up. - _Topstitch_ or _Edgestitch_ waistband seam allowance to the body. -### Step 8: Attching the cuffs +### Step 8: Attaching the cuffs -- With _good sides together_ sew the short egdes of the cuffs together to create two bands. +- With _good sides together_ sew the short edges of the cuffs together to create two bands. - Press open the seam allowances. - (Optional) _Edgestitch_ the seam allowances down. - Fold the cuffs in half lengthwise matching wrong sides. Press. @@ -104,7 +104,7 @@ A neckband can be useful to stablise and cover the neck seams but it is optional - Unzip the zipper part way. - Fold the top of the zipper tape down to the _good side_ of the zipper tape. Trim if need be. - Pin the zipper along one of the front edges of the hood, front and waistband. Making sure the zipper pull is faced the _good sides_ of the hoodie and the bottoms are lined up. The zipper teeth should just be slightly over the seam line with the edge of the tape either matching or being slightly over from the hoodie edge. -- Using a zipper foot stitch the zipper to the hoodie using you seam allownace width. When you reach the zipper pull, stop, put your needle down, lift the presser foot, pull the zipper pull past the presser foot, lower the presser foot. Then you can continue sewing the seam. +- Using a zipper foot stitch the zipper to the hoodie using you seam allowance width. When you reach the zipper pull, stop, put your needle down, lift the presser foot, pull the zipper pull past the presser foot, lower the presser foot. Then you can continue sewing the seam. - Unzip the zipper. - Pin and sew the unattached zipper tape to the other side of the hoodie the same way. - Press the seams to the inside being careful not to melt the zipper teeth with your iron. From d060cb28c1faa3295d11ff947e18d541d6bf8000 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:40 +0100 Subject: [PATCH 1096/1313] Update source file en.md skip-build --- markdown/org/docs/designs/huey/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapease/en.md b/markdown/org/docs/designs/huey/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/huey/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From ce4683ae473ce50ef41e5a887123b093e368174d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:43 +0100 Subject: [PATCH 1097/1313] Update source file en.md skip-build --- markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/huey/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 4d8856100bf3887252ed771f73e12d9b5fdaa128 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:46 +0100 Subject: [PATCH 1098/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hugo/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/instructions/en.md b/markdown/org/docs/designs/hugo/instructions/en.md index bf0322c53b1..732de4f9c21 100644 --- a/markdown/org/docs/designs/hugo/instructions/en.md +++ b/markdown/org/docs/designs/hugo/instructions/en.md @@ -113,5 +113,5 @@ This 6-episode series shows you how to make your hoodie start to finish: - Serge (or zig-zag stitch) the ribbing to the cuff, stretching gently until the ribbing and cuff are the same length. Remove pins before they enter the serger. - Trim the bottom edge of the pocket if it extends past the waistband edge. - Ensure the ribbing is gathered as uniformly as possible around the waistband. -- Serge or zig-zag the waistband, again gently stretching untill the ribbing and waistband are the same length. Stitch with the hoodie on top so you can see it gets caught in the seam. +- Serge or zig-zag the waistband, again gently stretching until the ribbing and waistband are the same length. Stitch with the hoodie on top so you can see it gets caught in the seam. - Topstitch the lower pocket edges to the body of the shirt to anchor the bottom of the pocket. From 86e1ce7e1ba75ed0c7541d47ab5961861d4ad471 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:51 +0100 Subject: [PATCH 1099/1313] Update source file en.md skip-build --- .../docs/designs/jaeger/instructions/en.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/en.md b/markdown/org/docs/designs/jaeger/instructions/en.md index b1ec5389a83..1f565f9ae1c 100644 --- a/markdown/org/docs/designs/jaeger/instructions/en.md +++ b/markdown/org/docs/designs/jaeger/instructions/en.md @@ -103,7 +103,7 @@ to attach the welt, since you marked 0.5cm inwards from the corners. ![Press the chest pocket](pressChestPocket.svg) Now cut open your welt in the middle of both seamlines. -Don't cut to the edge, but create a trianngular shape there. +Don't cut to the edge, but create a triangular shape there. Flip the pocket bag and welt to the backside by passing both of them through the opening you just created. @@ -126,7 +126,7 @@ Thread a needle and hand-finish the chest pocket by sewing down the sides of the Finally, close the pocket bag by sewing the sides. Do this by placing the front down with the good side up. Then fold over each side and sew the pocket bag. While sewing these sides, make sure to catch those triangular little pieces of the opening. This will reinforce the pocket opening. -Baste the chest pocket closed while we contruct the jacket. +Baste the chest pocket closed while we construct the jacket. ### Prepare the fronts @@ -188,10 +188,10 @@ Keep in mind that: ![Close the sides](closeSides.svg) Place your front with the good side up, and your side on it with the good side down. -Align the front/side seams, pin them in place if you feel like it, and sew them togther. +Align the front/side seams, pin them in place if you feel like it, and sew them together. Place this down with the good side up, and place your back on top with the good side down. -Align the back/side seams, pin them in place if you feel like it, and sew them togther. +Align the back/side seams, pin them in place if you feel like it, and sew them together. > Make sure the canvas does not get caught in the seam. @@ -206,7 +206,7 @@ Align the back/side seams, pin them in place if you feel like it, and sew them t ![Close the back seam](closeBack.svg) -Aling your two half-jackets with the good sides together, and close the back seam. +Align your two half-jackets with the good sides together, and close the back seam. @@ -242,7 +242,7 @@ So make sure to align the notches. It's what they're there for. ### Make the collar -In order to look real crisp, the collar should be symetrical on both sides. +In order to look real crisp, the collar should be symmetrical on both sides. About 5mm difference is already visible to a collar, so the more precise you do these steps, the better. ### Add markings to both collars @@ -253,12 +253,12 @@ Measure 2 times to make sure the remaining collars and the location of the corne #### Add interfacing or canvas to the outside collar stand and under collar -Either use a fusable interfacing, or, if you want to be hardcore use a horsehair canvas. -Stich it to the outside collor stand using the same technique as when adding canvas to the lapel. -![Add canvas to the collor](collarWithCanvas.svg) +Either use a fusible interfacing, or, if you want to be hardcore use a horsehair canvas. +Stitch it to the outside collar stand using the same technique as when adding canvas to the lapel. +![Add canvas to the collar](collarWithCanvas.svg) #### Sew the outside collarstand to the under collar, and add to jacket -Make sure the outside collarstand and under collar are alligend and sew together +Make sure the outside collarstand and under collar are aligned and sew together Sew the outside collarstand+undercollar to the neckline of the jacket Give small cuts in the fabric around the neckline to give it more ease Cut the seam allowance in the corners diagonally for a better fit @@ -267,7 +267,7 @@ Cut the seam allowance in the corners diagonally for a better fit ### Sleeves -Sew the uppersleeve to the undersleeve untill the split +Sew the uppersleeve to the undersleeve until the split #### Create the split at the eng of the sleeve @@ -283,23 +283,23 @@ Please see images at the front pockets for details Locate the position of the pocket on the left inner lining with basting -Add some fusible interfacting around the area +Add some fusible interfacing around the area Draw the pocket on the interfacing. Add the welts to the upper and lower side of the pocket Sew the welts on the line on both sides of the pocket. -Make use the welts end exactly on top of eachother. +Make use the welts end exactly on top of each other. Cut the pocket entrance to about 1 or 2 cm from the end. -Cut the last part diagonally so you get a fish bone fcut +Cut the last part diagonally so you get a fish bone cut Turn the welts inside out, baste and press Turn the triangles inside out, baste and press Sew around the pocket to put everything in place Take the pocketbag, sew it to the lower welt and the other part to the upper welt (See: chest pocket) ### Lining -Sew the lining back seam untill the split +Sew the lining back seam until the split Sew the figure seams in the front parts Add the whole lining together (front, side, back) -Add the from lining to the front facing. LEave about 5cm open from the bottom +Add the from lining to the front facing. Leave about 5cm open from the bottom Close the shoulders Add the inside collar stand to the uppercollar and add to the lining jacket Make small cuts in the neckline and the corners @@ -312,7 +312,7 @@ Sew around the collar and continue all the way to the front facing Turn the jacket right side out Fold the sleeves in place (make sure they are not turned!!) Add the sleeves lining to the sleeves split -Make sure the collars are straight on top of each other (they allign) and add the seam allowences to each other by hand. +Make sure the collars are straight on top of each other (they align) and add the seam allowances to each other by hand. Add in a few places front SA to lining SA by hand from the inside of the jacket Create the backsplit and manually add the lining to the main fabric Add buttonholes and buttons From f5c8f5bfdd097cfada869f5cbd308d24479ade6d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:52 +0100 Subject: [PATCH 1100/1313] Update source file en.md skip-build --- markdown/org/docs/designs/jaeger/needs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/needs/en.md b/markdown/org/docs/designs/jaeger/needs/en.md index b9f8a396af1..3c4e465c76f 100644 --- a/markdown/org/docs/designs/jaeger/needs/en.md +++ b/markdown/org/docs/designs/jaeger/needs/en.md @@ -19,7 +19,7 @@ To make Jaeger, you will need the following: ###### Where to get all this stuff -Making Jaeger is a fun and rewarning project, but getting all the required bits +Making Jaeger is a fun and rewarding project, but getting all the required bits and pieces can be challenging. That is because this kind of project is somewhat more ambitious than the From a9386114c79f559db3ed1898804f3955a19eccde Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:31:54 +0100 Subject: [PATCH 1101/1313] Update source file en.md skip-build --- markdown/org/docs/designs/jaeger/options/centerbackdart/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md b/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md index 92bf6a906a9..35bd1532711 100644 --- a/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md +++ b/markdown/org/docs/designs/jaeger/options/centerbackdart/en.md @@ -4,7 +4,7 @@ title: "Center back dart" ![Center back dart](centerbackdart.svg) -The reduction at the center back from shoulders to neck, which accomodates for a curved upper back. +The reduction at the center back from shoulders to neck, which accommodates for a curved upper back. From 1f61969734cc3819926eb4daf29c0e9861148def Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:05 +0100 Subject: [PATCH 1102/1313] Update source file en.md skip-build --- markdown/org/docs/designs/lucy/measurements/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/measurements/en.md b/markdown/org/docs/designs/lucy/measurements/en.md index ca492b976e5..e2dedb9525b 100644 --- a/markdown/org/docs/designs/lucy/measurements/en.md +++ b/markdown/org/docs/designs/lucy/measurements/en.md @@ -3,5 +3,5 @@ title: "Lucy tie-on pocket: Required measurements" --- -Luci does not require any measurements +Lucy does not require any measurements From 539dc4e4aa08dae4e548f9df5aa90f3e1abf1ddc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:06 +0100 Subject: [PATCH 1103/1313] Update source file en.md skip-build --- markdown/org/docs/designs/lucy/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lucy/notes/en.md b/markdown/org/docs/designs/lucy/notes/en.md index fbb5abb78e9..a772100fa92 100644 --- a/markdown/org/docs/designs/lucy/notes/en.md +++ b/markdown/org/docs/designs/lucy/notes/en.md @@ -2,4 +2,4 @@ title: "Lucy tie-on pocket: Designer Notes" --- -This is a 18th century pocket pattern based on the hanging pocket in Patterns of Fashion 1 pp. 73. I made it so people could have a historical pocket pattern that is easily adjustable. I would like historical patterns and resources to be more accesible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. +This is a 18th century pocket pattern based on the hanging pocket in Patterns of Fashion 1 pp. 73. I made it so people could have a historical pocket pattern that is easily adjustable. I would like historical patterns and resources to be more accessible to people so the documentation has some historical context and suggestions on historically accurate ways to make it, but its just as awesome to see people make wild modern versions. From 16e8cbcf9381ead0eae6e30f1e409de9b930b6bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:07 +0100 Subject: [PATCH 1104/1313] Update source file en.md skip-build --- markdown/org/docs/designs/lumira/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/instructions/en.md b/markdown/org/docs/designs/lumira/instructions/en.md index 26030bb32fc..112cd3d5e3a 100644 --- a/markdown/org/docs/designs/lumira/instructions/en.md +++ b/markdown/org/docs/designs/lumira/instructions/en.md @@ -1,4 +1,4 @@ ---- +-- title: "Lumira leggings: Sewing Instructions" --- @@ -60,4 +60,4 @@ pieces. Now you can add the elastic to the leg openings. Otherwise finish those in any way you like. -You're all done! Enjoy your Lumina leggings! +You're all done! Enjoy your Lumira leggings! From a500ab9420971956ecb30362f07ed8a6b190cc66 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:09 +0100 Subject: [PATCH 1105/1313] Update source file en.md skip-build --- markdown/org/docs/designs/lumira/options/ease/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/lumira/options/ease/en.md b/markdown/org/docs/designs/lumira/options/ease/en.md index db88ee61374..783eaa8fe29 100644 --- a/markdown/org/docs/designs/lumira/options/ease/en.md +++ b/markdown/org/docs/designs/lumira/options/ease/en.md @@ -3,10 +3,10 @@ title: "Ease" --- Controls the amount of ease build into the pattern. Since these are leggings that are to be made of stretch fabric, -the ease is nagative. So the completed garment will be narower than the measurements would dictate. +the ease is negative. So the completed garment will be narrower than the measurements would dictate. -Getting the wease right for your type of fabric is essential for getting a good fit. If you make the ease +Getting the ease right for your type of fabric is essential for getting a good fit. If you make the ease too negative, the leggings will be too constricting, and limiting movement. If you don't make the ease negative enough, the leggings will not hug your legs and torso. The fabric should be stretched in all places, without being too tight. From 6781b7af6dcd85032817194576097cc56ade4bfd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:13 +0100 Subject: [PATCH 1106/1313] Update source file en.md skip-build --- markdown/org/docs/designs/lunetius/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/lunetius/notes/en.md b/markdown/org/docs/designs/lunetius/notes/en.md index 719d2d5b6e5..207203c8c89 100644 --- a/markdown/org/docs/designs/lunetius/notes/en.md +++ b/markdown/org/docs/designs/lunetius/notes/en.md @@ -2,7 +2,7 @@ title: "Lunetius Lacerna: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Lunetius the lacerna is the pattern that went through the most name-changes and iterations behind the scenes. Why? Because I found conflicting information in secondary literature about how this type of cloak was called and who wore it when. From 93204a373f7eb8a42272e61f01dc0a326673bb24 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:14 +0100 Subject: [PATCH 1107/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/fabric/en.md b/markdown/org/docs/designs/naomiwu/fabric/en.md index 5bcaab97ebc..ba59a932d6d 100644 --- a/markdown/org/docs/designs/naomiwu/fabric/en.md +++ b/markdown/org/docs/designs/naomiwu/fabric/en.md @@ -3,7 +3,7 @@ title: "Naomi Wu Cargo Skirt: Fabric Options" --- A cargo skirt is work wear, so you want to go with fabric that can stand the -wear and tear of screwdrivers being wiped clean on them, nuts and bolds +wear and tear of screwdrivers being wiped clean on them, nuts and bolts rattling around in its pockets. While there's plenty of choice in synthetic fibers, I would recommend a From 63fb219260934abb30aba0c894a06b2754aefc1c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:14 +0100 Subject: [PATCH 1108/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/needs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/needs/en.md b/markdown/org/docs/designs/naomiwu/needs/en.md index bfd260688c6..dcbcd1a5de3 100644 --- a/markdown/org/docs/designs/naomiwu/needs/en.md +++ b/markdown/org/docs/designs/naomiwu/needs/en.md @@ -8,7 +8,7 @@ To make Naomi Wu's signature cargo skirt, you will need the following: - About 0.75 meters (0.8 yards) of a suitable fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - About 0.20 meters (0.25 yards) of a suitable lining fabric ([see Fabric options](/docs/patterns/naomiwu/fabric)) - A zipper -- A snap button (both stuf and socket) +- A snap button (both stud and socket) - About 5 centimeter (2 inches) velcro strip (both sides) - About 0.50 meters (20 inches) of strong ribbon (about 2cm/1inch wide) - A D-ring to match the ribbon From e06305d802e58c1d318fa922ac58d774b46e6e80 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:15 +0100 Subject: [PATCH 1109/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/notes/en.md b/markdown/org/docs/designs/naomiwu/notes/en.md index c8dec530fbf..2ad26ecc149 100644 --- a/markdown/org/docs/designs/naomiwu/notes/en.md +++ b/markdown/org/docs/designs/naomiwu/notes/en.md @@ -54,7 +54,7 @@ relentless advocate for women in STEM and LGBTQ rights. Despite all prejudice and setbacks due to her gender expression, she managed to grow a large online audience, become a minor celebrity in the 3D-printers community, and at one point single-handedly compelled Chinese companies to take GPL-violations serious. As further testament to her status as a famous maker, she graced the cover of Make magazine in 2018. -As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Noami drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and [YouTube channel]( +As an outspoken Chinese citizen with a tendency for telling it like it is, and a large international following, Naomi drew the heat, and in the summer of 2023 the Chinese government de-facto silenced her. Ever since, her [Twitter](https://twitter.com/realsexycyborg) and [Instagram](https://www.instagram.com/reallysexycyborg/) accounts, and [YouTube channel]( www.youtube.com/c/SexyCyborg) have fallen silent. Although [her online shop remains available](https://cybernightmarket.com/). From 9766fb3260a4aed1c49c81707caad05e0f9e2764 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:15 +0100 Subject: [PATCH 1110/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/options/flywidth/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/flywidth/en.md b/markdown/org/docs/designs/naomiwu/options/flywidth/en.md index 6368711734b..8b17d2d404a 100644 --- a/markdown/org/docs/designs/naomiwu/options/flywidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/flywidth/en.md @@ -4,6 +4,6 @@ title: "Fly width" This option controls the width of the fly. -This option has not real functional effect, although a certain minimal widht is required for the fly to provide access to the zipper. +This option has not real functional effect, although a certain minimal width is required for the fly to provide access to the zipper. It's mostly about ensuring the fly appears balanced with regards to its width and height proportions. From 4316625a2525c7ad4429ff41b8891bbcc6d07b95 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:16 +0100 Subject: [PATCH 1111/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/options/invertfly/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/naomiwu/options/invertfly/en.md b/markdown/org/docs/designs/naomiwu/options/invertfly/en.md index 411e52ba447..9e69ea2a266 100644 --- a/markdown/org/docs/designs/naomiwu/options/invertfly/en.md +++ b/markdown/org/docs/designs/naomiwu/options/invertfly/en.md @@ -5,8 +5,8 @@ title: "Invert the side of the fly" This option allows you to flip the front sides of the skirt so that the fly/button goes on the other side. The side at which the button goes is not functionally relevant, but some -garment (typically tops) have the buttons on teh right side for menswear, and -the left sife for womenswear. +garment (typically tops) have the buttons on the right side for menswear, and +the left side for womenswear. The reasons for this are historic, but what matters is that to people with gender presentation concerns, these little things can really matter. From 13382c9eb339661cacb1beeac4e62194a730e749 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:16 +0100 Subject: [PATCH 1112/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md b/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md index 225a8646db7..697e44d1086 100644 --- a/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/mindartwidth/en.md @@ -2,7 +2,7 @@ title: "Minimal dart width" --- -This option controls the the minimal width below which darts will be ommitted in favor of shaping at the seams. +This option controls the minimal width below which darts will be omitted in favor of shaping at the seams. It is here for easy of construction. If you do not like sewing darts, you can increase this option to remove them. From 7e2f2903f2883583dd85430c70725db4ebcac778 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:17 +0100 Subject: [PATCH 1113/1313] Update source file en.md skip-build --- markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md index c4592a35d6e..ad6075f8739 100644 --- a/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md +++ b/markdown/org/docs/designs/naomiwu/options/waistbandwidth/en.md @@ -4,7 +4,7 @@ title: "Waist band width" This option controls the width of the waistband. -A common reason to alter this is to accomodate the width of the belt you intent to wear it with. +A common reason to alter this is to accommodate the width of the belt you intent to wear it with. That being said, keep in mind that the belt loops are wider than the waistband. From adc99fa7596895693fc6cdc099e79bee2477353c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:19 +0100 Subject: [PATCH 1114/1313] Update source file en.md skip-build --- markdown/org/docs/designs/noble/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/notes/en.md b/markdown/org/docs/designs/noble/notes/en.md index ea680f3e794..28e0ba4f5fd 100644 --- a/markdown/org/docs/designs/noble/notes/en.md +++ b/markdown/org/docs/designs/noble/notes/en.md @@ -4,7 +4,7 @@ title: "Noble body block: Designer Notes" Noble is a design for a block with prince(ss) seams instead of darts. It is based on `bella`. -This is not inteded to be made as is, but merely to base other designs on. This is also why I made +This is not intended to be made as is, but merely to base other designs on. This is also why I made it. I wanted to make a coat, and for it I needed a block with prince(ss) seams. So I made that first, and the coat would come later. From 939290b59c0dd3238c7b5f3c9bab719181ed7cad Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:23 +0100 Subject: [PATCH 1115/1313] Update source file en.md skip-build --- markdown/org/docs/designs/noble/options/upperdartlength/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/noble/options/upperdartlength/en.md b/markdown/org/docs/designs/noble/options/upperdartlength/en.md index 74bed49c61f..2a790f863e8 100644 --- a/markdown/org/docs/designs/noble/options/upperdartlength/en.md +++ b/markdown/org/docs/designs/noble/options/upperdartlength/en.md @@ -4,7 +4,7 @@ title: "Upper Dart Length" *** -The **Upper Dart Length** controls the length of the upper dart, 100% is all teh way to the bust point. +The **Upper Dart Length** controls the length of the upper dart, 100% is all the way to the bust point. From 1b60b6c93bd733f01790b3ec13b06b32161d0969 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:24 +0100 Subject: [PATCH 1116/1313] Update source file en.md skip-build --- markdown/org/docs/designs/octoplushy/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/octoplushy/instructions/en.md b/markdown/org/docs/designs/octoplushy/instructions/en.md index 0269484d138..d38ebc78192 100644 --- a/markdown/org/docs/designs/octoplushy/instructions/en.md +++ b/markdown/org/docs/designs/octoplushy/instructions/en.md @@ -71,13 +71,13 @@ stuffing later. - With _good sides together_ match up the leg parts with the body parts. - Sew each leg from notch B/D down and back around to notch B/D. -- If the leg part is slightly shorter than the leg on the head partsm you will have to ease it in while matching it up. Notches have been provided to make this easier. +- If the leg part is slightly shorter than the leg on the head parts you will have to ease it in while matching it up. Notches have been provided to make this easier. It is easiest to sew one leg almost to the next B/D notch, stop sewing, pin the next leg, and continue sewing rather than trying to pin and sew all the legs in one go. -Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your originial stitching to secure it. +Those who are more confident can do this with the needle down on their machine but if you are less confident you may wish to remove from the machine, pin and then start sewing again a little bit over your original stitching to secure it. From 98be93381c3318f101a74ebf8a72874fd87259b6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:25 +0100 Subject: [PATCH 1117/1313] Update source file en.md skip-build --- markdown/org/docs/designs/octoplushy/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/octoplushy/notes/en.md b/markdown/org/docs/designs/octoplushy/notes/en.md index 80c9c578bab..82c120ce4d4 100644 --- a/markdown/org/docs/designs/octoplushy/notes/en.md +++ b/markdown/org/docs/designs/octoplushy/notes/en.md @@ -3,7 +3,7 @@ title: "Octoplushy, the plushy octopus: Designer Notes" --- Octoplushy. This is one of those designs that have no explanation. I was almost done with the `hi` design, -so I had plushies on my mind. The sea, and it's inhabetants must have been on my mind, for all of a sudden +so I had plushies on my mind. The sea, and it's inhabitants must have been on my mind, for all of a sudden "octoplushy" pops enters my thoughts. Where that came from, I don't know. But with that name, I could not ignore what I was apparently destined to work on next. From 84a54cb3080d4da9b9d02aef91c89730314a74da Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:29 +0100 Subject: [PATCH 1118/1313] Update source file en.md skip-build --- markdown/org/docs/designs/onyx/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/onyx/instructions/en.md b/markdown/org/docs/designs/onyx/instructions/en.md index 58a3cdff43c..84ffd468957 100644 --- a/markdown/org/docs/designs/onyx/instructions/en.md +++ b/markdown/org/docs/designs/onyx/instructions/en.md @@ -4,9 +4,9 @@ title: "Onyx one-piece: Sewing Instructions" -The use of a serger/overlocker is recommended, to keep the size of the finished seams small and to allow the seams to stretch. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommeded. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. +The use of a serger/overlocker is recommended, to keep the size of the finished seams small and to allow the seams to stretch. If using a serger with the knife engaged, a seam allowance of 1/2 inch (12 mm) is recommended. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. -Unless otherwise stated, use stretch steams for contruction of this garment. A 4-thread overlock stitch is recommended, or an overlock foot on a sewing machine if a serger is unavailable. +Unless otherwise stated, use stretch steams for construction of this garment. A 4-thread overlock stitch is recommended, or an overlock foot on a sewing machine if a serger is unavailable. Hems or cuffs are optional (since knit doesn't fray), but if you do make hems or add cuffs, make sure they can stretch. These instructions describe how to make a single-fold hem with a double needle, which is suitable for swimwear or lightweight garments, and how to make a rib knit cuff, which is suitable for fleece pajamas or kigurumi. From 1d26a4c4b873be85631ecd9f7b2bbb57f5fcfb17 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:30 +0100 Subject: [PATCH 1119/1313] Update source file en.md skip-build --- markdown/org/docs/designs/onyx/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/onyx/notes/en.md b/markdown/org/docs/designs/onyx/notes/en.md index 987ed962635..2bd82d417e5 100644 --- a/markdown/org/docs/designs/onyx/notes/en.md +++ b/markdown/org/docs/designs/onyx/notes/en.md @@ -10,7 +10,7 @@ The skirt was added in for modesty, primarily for the swimwear, though it does a Onyx does copy a number of Shelly's features, including raglan sleeves for mobility and the use of symmetrical front and back parts, except for the neck and head. -Onyx is named after the gemstone and its deep black color, which not coincidentially is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. +Onyx is named after the gemstone and its deep black color, which not coincidentally is a great base color for Onyx swimsuits, particularly if one wants them to look like a wetsuit. A bit of history: Onyx may never have been born had it not been for the anti-LGBTQ+ protests and boycotts in the spring of 2023, which led to a unisuit that I particularly liked being pulled from the shelves of a major US retailer, and me needing a suitable replacement. From e2435e15be846fcab7da750b1182a6bb117ad305 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:43 +0100 Subject: [PATCH 1120/1313] Update source file en.md skip-build --- markdown/org/docs/designs/paco/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/en.md b/markdown/org/docs/designs/paco/instructions/en.md index 4262852a837..a7e5e7b109b 100644 --- a/markdown/org/docs/designs/paco/instructions/en.md +++ b/markdown/org/docs/designs/paco/instructions/en.md @@ -246,7 +246,7 @@ not the inside of your waistband. Next, align the center backs and pin in place, adding additional pins around the waistband as needed. -Sew the waistband to the pants, as close to the the elastic as you can, but don’t sew into the elastic. +Sew the waistband to the pants, as close to the elastic as you can, but don’t sew into the elastic. ![Waistband sewn with simple method](step13.svg) @@ -343,7 +343,7 @@ there are enough. -Sew the cuff to the pants opening, as close to the the elastic as you can, but don’t sew into the elastic. +Sew the cuff to the pants opening, as close to the elastic as you can, but don’t sew into the elastic. ![Cuffs sewn with simple method](step16.svg) From 92537f0b8e5d5a80391c4fd711f6015be7fe6812 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:45 +0100 Subject: [PATCH 1121/1313] Update source file en.md skip-build --- markdown/org/docs/designs/paco/options/crotchdrop/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchdrop/en.md b/markdown/org/docs/designs/paco/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/paco/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/paco/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. From 97c42264f850875275920bc047b58ad3bae3ceac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:46 +0100 Subject: [PATCH 1122/1313] Update source file en.md skip-build --- .../org/docs/designs/paco/options/crotchseamcurvebend/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/paco/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From 3a2545e954b21402e7ef836f5822462b2c8801ad Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:49 +0100 Subject: [PATCH 1123/1313] Update source file en.md skip-build --- markdown/org/docs/designs/penelope/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/penelope/fabric/en.md b/markdown/org/docs/designs/penelope/fabric/en.md index 0054093b572..b44300073f4 100644 --- a/markdown/org/docs/designs/penelope/fabric/en.md +++ b/markdown/org/docs/designs/penelope/fabric/en.md @@ -8,7 +8,7 @@ A pencil skirt is a rather formal cut, and most commonly is made in a suiting ma More casual options among **medium weight** fabrics include **cotton** or **denim**. Using a fabric with some stretch will make it easier to get a comfortable fit and give you some more room to move about -as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretchs. +as pencil skirts fit rather tight. **Scuba** is often seen in pencil skirts as it is firm, has body but also stretches. ### Lining Fabric From 66eda207336ff53e3419e686013802f4c54ceb76 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:50 +0100 Subject: [PATCH 1124/1313] Update source file en.md skip-build --- .../org/docs/designs/penelope/instructions/en.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/penelope/instructions/en.md b/markdown/org/docs/designs/penelope/instructions/en.md index 7bb1d36a8d9..f05d447f737 100644 --- a/markdown/org/docs/designs/penelope/instructions/en.md +++ b/markdown/org/docs/designs/penelope/instructions/en.md @@ -38,7 +38,7 @@ part of the seam where the zipper is behaves differently than the part without i you want to try to make it invisible also in movement. Traditionally, an invisible zipper is used in a pencil skirt but a regular zipper will work just as well. -You can even use a zipper that constrast your fabric if the fancy takes you. +You can even use a zipper that contrasts your fabric if the fancy takes you. Choose what works for you and the style you're going for. Be creative (or not) it is entirely up to you! All though if your fabric is on the heavier side you might want to opt for a different closure entirely. @@ -67,7 +67,7 @@ darts will be included in the front and back pieces. We're not going to go into a full explanation on how to create all the individual details that make up a pencil skirt. These instructions assume that you know how to sew a dart, insert an invisible zipper, make a vent, etc. If not, there are numerous excellent articles available on the -web, both in writen form, and on video. If you do get stuck, you can always reach out to +web, both in written form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. @@ -76,7 +76,7 @@ web, both in writen form, and on video. If you do get stuck, you can always reac - Sew all the darts. - Press the darts towards the back. - - For the back piece(s), that means you press the darts towards eachother. + - For the back piece(s), that means you press the darts towards each other. - For the front piece, that means you press the darts towards the side seams. ### Step 2: The zipper @@ -102,11 +102,11 @@ You can skip this step if not making a lining. - Follow Step 1 - 4 to construct the lining with the following changes: - Adjust the darts to compensate for the extra 'ease' in the lining pieces. - Do not include the zipper but leave the opening in the zipper seam. -- Attach the lining to the body in your prefered way. You will need to construct the vent during this and connect the lining to the zipper. +- Attach the lining to the body in your preferred way. You will need to construct the vent during this and connect the lining to the zipper. -How to distribute the extra 'ease' is up to you. You can either add it to the darts by increasing them. or you can add another dart or box pleat in the middle. +How to distribute the extra 'ease' is up to you. You can either add it to the darts by increasing them. Or you can add another dart or box pleat in the middle. @@ -142,7 +142,7 @@ This step is only needed if you have not lined your skirt as the hem and vents w - If desired, face the hem and vents. - Construct the vents with your preferred method - Press under the hem allowances of the skirt. -- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent farying. +- If hem is large enough and/or the fabric press under a small amount along the top, this will help to prevent fraying. - Secure the hem in place with your preferred method. For instance you can sew from the outside or _Slipstitch_ from the inside. This comes down to how you want the finished product to look. From 3989a0240406428056be28384214d4df654ba721 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:50 +0100 Subject: [PATCH 1125/1313] Update source file en.md skip-build --- markdown/org/docs/designs/penelope/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/penelope/notes/en.md b/markdown/org/docs/designs/penelope/notes/en.md index 1c89170e288..2caaa9378a5 100644 --- a/markdown/org/docs/designs/penelope/notes/en.md +++ b/markdown/org/docs/designs/penelope/notes/en.md @@ -4,7 +4,7 @@ title: "Penelope pencil skirt: Designer Notes" Penelope is the first garment I made for someone else. I just met my partner after figuring out that I like to sew. So obviously I wanted to sew something for her. A pencil skirt seemed like -the apropriate thing to do. I found a drafting method online and made het a skirt. This +the appropriate thing to do. I found a drafting method online and made her a skirt. This fitted remarkably well. So when it was time for me to try making another pattern for FreeSewing, this was the obvious @@ -12,7 +12,7 @@ choice. I used the same basis for the drafting, but changed everything to percen it would scale from dolls to giants. The design should not pose any issues for a sewist, although the hidden zipper may be a challenge, -specially if you line the skirt (whic I would recommend). +specially if you line the skirt (which I would recommend). Wouter From 2dc263266b4caec8c094581d4bdbb33c40f2553a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:54 +0100 Subject: [PATCH 1126/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sandy/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sandy/fabric/en.md b/markdown/org/docs/designs/sandy/fabric/en.md index 7164486c0e8..97d889b16ab 100644 --- a/markdown/org/docs/designs/sandy/fabric/en.md +++ b/markdown/org/docs/designs/sandy/fabric/en.md @@ -6,7 +6,7 @@ title: "Sandy circle skirt: Fabric Options" A circle skirt is a very versatile garment and can be made from a variety of fabric. It all depends on your intended use and preferred style. -- If you wish for an everday, easy to wash skirt then **Linen** and **Cotton** is the way to go. +- If you wish for an everyday, easy to wash skirt then **Linen** and **Cotton** is the way to go. - If you are looking for something more formal you may want to try **Suiting Fabrics**. - If you want something warm for the winter you can try **Wools**. - If wish for something flowy that drapes you can try lightweight materials such as **Chiffon**. From 720c8386eb4d5cd09577965bff35ede938ff775c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:55 +0100 Subject: [PATCH 1127/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sandy/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/instructions/en.md b/markdown/org/docs/designs/sandy/instructions/en.md index 9c86981c38b..fe07ed76fd9 100644 --- a/markdown/org/docs/designs/sandy/instructions/en.md +++ b/markdown/org/docs/designs/sandy/instructions/en.md @@ -5,7 +5,7 @@ title: "Sandy circle skirt: Sewing Instructions" Due to the different styles and configurations of Sandy you may find you need to skip or re-order certain steps. -We're not going to go into a full explanation on how to create all the individual details that make up a circle skirt. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in writen form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. +We're not going to go into a full explanation on how to create all the individual details that make up a circle skirt. These instructions assume that you know how to sew a zipper, construct pockets, etc. If not, there are numerous excellent articles available on the web, both in written form, and on video. If you do get stuck, you can always reach out to [other FreeSewers](https://discord.freesewing.org/) in our discord. @@ -111,7 +111,7 @@ Hem the skirt in one of the following ways: -There are many ways to hem/face the bottom of a skirt, If you have a prefered method use it here. +There are many ways to hem/face the bottom of a skirt, If you have a preferred method use it here. From 812fcfa2e437fed89daf59b7ac093b695d0a2d38 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:55 +0100 Subject: [PATCH 1128/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sandy/needs/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/sandy/needs/en.md b/markdown/org/docs/designs/sandy/needs/en.md index 86f66c9c6cc..0dbce63e5b3 100644 --- a/markdown/org/docs/designs/sandy/needs/en.md +++ b/markdown/org/docs/designs/sandy/needs/en.md @@ -16,7 +16,7 @@ Due to the many different styles of Sandy it is difficult to precisely say what ##### Main Fabric -The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficent with 2 - 2.5 metres whearas a floor length will require more. If in doubt buy a metre more than you think. Also don't be afraid to piece if your fabric is not wide or long enough, it is better to have an extra seam than not to use the fabric you like. +The length you require is dependant on how long and how full your circle skirt is, mid length and smaller should be sufficient with 2 - 2.5 metres whereas a floor length will require more. If in doubt buy a metre more than you think. Also don't be afraid to piece if your fabric is not wide or long enough, it is better to have an extra seam than not to use the fabric you like. @@ -42,7 +42,7 @@ To add flare/keep the hems shape you may wish to add a facing to the bottom of t ##### Closures If not making an elasticated Sandy you will need some type of closure. -This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an openining, placket or zipper at the top of the seam. +This can be just a zip that is inserted in to the waistband and seam or it can be buttons, dress hooks, or snaps with an overlapping waistband and an opening, placket or zipper at the top of the seam. ##### Elastic From 0d88c1a90a886aa87a7d6de76628cff37995f917 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:32:59 +0100 Subject: [PATCH 1129/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shelly/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/shelly/instructions/en.md b/markdown/org/docs/designs/shelly/instructions/en.md index 29d043fbc23..8995c4204e8 100644 --- a/markdown/org/docs/designs/shelly/instructions/en.md +++ b/markdown/org/docs/designs/shelly/instructions/en.md @@ -4,13 +4,13 @@ title: "Shelly shirt: Sewing Instructions" -The use of a serger or an overlocking foot is recommended, to keep the size of the finished seams small. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommeded. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. +The use of a serger or an overlocking foot is recommended, to keep the size of the finished seams small. If using a serger, a seam allowance of 1/2 inch (12 mm) is recommended. If using an overlocking foot on a sewing machine, or serging without the use of the knife, a seam allowance of 1/4 inch (6 mm) is recommended. All seams, including the neckband, can be done with the same stitch, whether it be a serger, an overlock stitch, or a stretch stitch. Hems are optional (since knit doesn't fray), but if you do make hems, make sure they can stretch. -Make sure to use a stitch that can stretch. If sewing stretch fabric, adjust your tension to allow for extra stretch. On a serger, this will usually mean lowering the needle tension, especially the right needle, and adjusting the looper tension as needed to keep the stitch looking decent. On a regular sewing machine, lower the tension. Test your choice of stitch first on scrap fabric, and try to shap the test seam by stretching the seam along its length. It should only snap after stretching quite a bit. If it pops too easily, keep playing with your stitches/tension settings until you get something that can survive some abuse. +Make sure to use a stitch that can stretch. If sewing stretch fabric, adjust your tension to allow for extra stretch. On a serger, this will usually mean lowering the needle tension, especially the right needle, and adjusting the looper tension as needed to keep the stitch looking decent. On a regular sewing machine, lower the tension. Test your choice of stitch first on scrap fabric, and try to shape the test seam by stretching the seam along its length. It should only snap after stretching quite a bit. If it pops too easily, keep playing with your stitches/tension settings until you get something that can survive some abuse. For making t-shirts or other shirts with 2-way stretch, regular settings with a stitch that stretches should be fine. @@ -102,4 +102,4 @@ For making t-shirts or other shirts with 2-way stretch, regular settings with a ### Step 5: Enjoy your new shirt! -- It's time to take your new shirt for a swim, or to show it off at the beach! \ No newline at end of file +- It's time to take your new shirt for a swim, or to show it off at the beach! From c73a2f3911d0a1984b06b4db3256844f8fbe583b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:04 +0100 Subject: [PATCH 1130/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shin/fabric/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/fabric/en.md b/markdown/org/docs/designs/shin/fabric/en.md index b711779c1f1..e66a357c9bb 100644 --- a/markdown/org/docs/designs/shin/fabric/en.md +++ b/markdown/org/docs/designs/shin/fabric/en.md @@ -6,6 +6,6 @@ Swim trunks should be made out of a material with stretch that is suitable for b Typically, this falls apart in a few categories: -- Nylon mixed with elastene, spandex, or lycra is soft and stretchy. This is what most casual swimwear is made from. +- Nylon mixed with elastane, spandex, or lycra is soft and stretchy. This is what most casual swimwear is made from. - Polyester mixed with PBT (polybutylene terephthalate) is less soft to the touch, but resistant to chlorine and salt water. This is what a lot of competitive swimwear is made from. - Neoprene, also known as scuba, is heavier and less stretchy. It's the stuff scuba suits are made from. From 608da0c6a32824693480145210f02eb8b3e0d4a8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:04 +0100 Subject: [PATCH 1131/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shin/instructions/en.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/markdown/org/docs/designs/shin/instructions/en.md b/markdown/org/docs/designs/shin/instructions/en.md index c6b74b71f1b..db1fb6a7011 100644 --- a/markdown/org/docs/designs/shin/instructions/en.md +++ b/markdown/org/docs/designs/shin/instructions/en.md @@ -9,13 +9,13 @@ title: "Shin swim trunks: Sewing Instructions" ## Step 1: Join the backs -Put your two backs on top of each other with the good sides together, and sew them together allong the center back seam. +Put your two backs on top of each other with the good sides together, and sew them together along the center back seam. ## Step 2: Join the fronts ### Sew the front seam -Put two of your fronts on top of each other with the good sides together, and sew them together allong the center front seam. +Put two of your fronts on top of each other with the good sides together, and sew them together along the center front seam. Repeat with the two other fronts so you have two identical sets. @@ -45,7 +45,7 @@ Mark the middle of your waistband length. Fold the waistband double, and mark th (do not take the seam allowance into account). A bit to the left and right of this, you can add two eyelets to pass a drawstring through. -This will avoid an embarassing situation when you go for that big dive and now suddenly find your +This will avoid an embarrassing situation when you go for that big dive and now suddenly find your swim trunks on your ankles. > ### It's best to add some reinforcement @@ -84,7 +84,7 @@ with the front seam. Pin this in place too. Now make your way around the swim trunks waist, pinning the waistband in place. -Then, sew the waistband to the swim trunks, as close to the the elastic as you can, but don't sew +Then, sew the waistband to the swim trunks, as close to the elastic as you can, but don't sew into the elastic. It's fine to not sew too close the first time around, and once your elastic is attached and encased, From ac215562c9add1d669af511792e3df777ac0440e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:05 +0100 Subject: [PATCH 1132/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shin/needs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/needs/en.md b/markdown/org/docs/designs/shin/needs/en.md index 13f7140eac2..4d6715fd7ad 100644 --- a/markdown/org/docs/designs/shin/needs/en.md +++ b/markdown/org/docs/designs/shin/needs/en.md @@ -13,4 +13,4 @@ To make Shin, you will need the following: > As with all stretch fabrics, a serger/overlock will make your life easier. > > If you do not have one of those, don't despair. You don't really need it. -> You can use another technique for stretch seams, such as a zig-zag stich, twin needle, or elastic thread. +> You can use another technique for stretch seams, such as a zig-zag stitch, twin needle, or elastic thread. From 6d9f18e7332dafc727b527b736f2397948157035 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:07 +0100 Subject: [PATCH 1133/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shin/options/rise/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/en.md b/markdown/org/docs/designs/shin/options/rise/en.md index a13d0453a33..40b27a1eeca 100644 --- a/markdown/org/docs/designs/shin/options/rise/en.md +++ b/markdown/org/docs/designs/shin/options/rise/en.md @@ -2,7 +2,7 @@ title: "Rise" --- -This option controls the overal height of the waist. +This option controls the overall height of the waist. > The higher the rise, the higher your waist. From 83fb2d863245f1b206ee24a1d9a52003e3b11fcc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:07 +0100 Subject: [PATCH 1134/1313] Update source file en.md skip-build --- markdown/org/docs/designs/shin/options/stretch/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/stretch/en.md b/markdown/org/docs/designs/shin/options/stretch/en.md index 0848156c4f9..ebd4d534e66 100644 --- a/markdown/org/docs/designs/shin/options/stretch/en.md +++ b/markdown/org/docs/designs/shin/options/stretch/en.md @@ -2,7 +2,7 @@ title: "Stretch" --- -The amount of overal (horizontal) stretch. +The amount of overall (horizontal) stretch. From cbbdc2bafc4e40557cc06202d10e7536583a9a09 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:08 +0100 Subject: [PATCH 1135/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simon/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/instructions/en.md b/markdown/org/docs/designs/simon/instructions/en.md index 2befb02631f..06c8f6096ef 100644 --- a/markdown/org/docs/designs/simon/instructions/en.md +++ b/markdown/org/docs/designs/simon/instructions/en.md @@ -646,7 +646,7 @@ Now that your collar is attached, give it a good press. ### Step 20: Hem your shirt ![Fold over and press](20a.png) -![FOld over again, and press again](20b.png) +![Fold over again, and press again](20b.png) ![Sew the hem](20c.png) Time to finish the hem (that's the part you tuck in your trousers). From a6da816d762862fc7ff8a8fa79302c0adfafb190 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:14 +0100 Subject: [PATCH 1136/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simon/options/collargap/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/collargap/en.md b/markdown/org/docs/designs/simon/options/collargap/en.md index 00f49cfea1b..92e0aa3d563 100644 --- a/markdown/org/docs/designs/simon/options/collargap/en.md +++ b/markdown/org/docs/designs/simon/options/collargap/en.md @@ -8,7 +8,7 @@ Distance the collar sits apart when closed. -This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accomodate a wider tie (knot). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From f7ea0bb1ae9f0023ab31ce50b2c6171196289106 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:19 +0100 Subject: [PATCH 1137/1313] Update source file en.md skip-build --- .../designs/simon/options/seperatebuttonholeplacket/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md index 84e07e708dc..cfe77081855 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonholeplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate buttonhole placket" --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Whether or not you want the buttonhole placket to be a seperate pattern part. +Whether or not you want the buttonhole placket to be a separate pattern part. ## Effect of this option on the pattern From df4a086489ae9ed4a9980997fc1f89a5e9011d47 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:20 +0100 Subject: [PATCH 1138/1313] Update source file en.md skip-build --- .../docs/designs/simon/options/seperatebuttonplacket/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md index 5337da23870..0c144f42969 100644 --- a/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md +++ b/markdown/org/docs/designs/simon/options/seperatebuttonplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate button placket" --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) -Whether or not you want the button placket to be a seperate pattern part. +Whether or not you want the button placket to be a separate pattern part. ## Effect of this option on the pattern From 51e40c9605848b3010536f9cfde428f3e58a364c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:21 +0100 Subject: [PATCH 1139/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simon/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapease/en.md b/markdown/org/docs/designs/simon/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/simon/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From 4b1b174512ff7ca9a1ee8a9402568a1e523db6e8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:23 +0100 Subject: [PATCH 1140/1313] Update source file en.md skip-build --- .../org/docs/designs/simon/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/simon/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From afe228d0e7dab0d6d1d2bed35545c3284da63f8a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:28 +0100 Subject: [PATCH 1141/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simone/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/notes/en.md b/markdown/org/docs/designs/simone/notes/en.md index 9e335755354..34c56b94776 100644 --- a/markdown/org/docs/designs/simone/notes/en.md +++ b/markdown/org/docs/designs/simone/notes/en.md @@ -2,7 +2,7 @@ title: "Simone shirt: Designer Notes" --- -Simone is essentally [Simon](/designs/simon) with a full-bust adjustment. +Simone is essentially [Simon](/designs/simon) with a full-bust adjustment. The initial intent was to allow people with breasts to have a better fitted shirt From 5f91661e3c1b84989c6e2f60c45ea60f972f2024 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:33 +0100 Subject: [PATCH 1142/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simone/options/collargap/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/collargap/en.md b/markdown/org/docs/designs/simone/options/collargap/en.md index 00f49cfea1b..92e0aa3d563 100644 --- a/markdown/org/docs/designs/simone/options/collargap/en.md +++ b/markdown/org/docs/designs/simone/options/collargap/en.md @@ -8,7 +8,7 @@ Distance the collar sits apart when closed. -This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accomodate a wider tie (knot). +This is really mostly a style choice, but a wider collar gap (together with the collar angle) can accommodate a wider tie (knot). From 728646e7931b1443f2ae7473de91aa7a1bb8855c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:39 +0100 Subject: [PATCH 1143/1313] Update source file en.md skip-build --- .../designs/simone/options/seperatebuttonholeplacket/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md index 9af007f9114..9431fd60c46 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonholeplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate buttonhole placket" --- -![Seperate buttonhole placket](seperatebuttonholeplacket.svg) +![Separate buttonhole placket](seperatebuttonholeplacket.svg) -Whether or not you want the buttonhole placket to be a seperate pattern part. +Whether or not you want the buttonhole placket to be a separate pattern part. ## Effect of this option on the pattern From 8e062a903558ce45d60f284909ff601ea903c73a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:39 +0100 Subject: [PATCH 1144/1313] Update source file en.md skip-build --- .../docs/designs/simone/options/seperatebuttonplacket/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md index 737e6701a9c..1f8e14b51e5 100644 --- a/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md +++ b/markdown/org/docs/designs/simone/options/seperatebuttonplacket/en.md @@ -2,9 +2,9 @@ title: "Seperate button placket" --- -![Seperate button placket](seperatebuttonplacket.svg) +![Separate button placket](seperatebuttonplacket.svg) -Whether or not you want the button placket to be a seperate pattern part. +Whether or not you want the button placket to be a separate pattern part. ## Effect of this option on the pattern From b4332e442133f468b6f3e66a264b106fcef54ca8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:40 +0100 Subject: [PATCH 1145/1313] Update source file en.md skip-build --- markdown/org/docs/designs/simone/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapease/en.md b/markdown/org/docs/designs/simone/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/simone/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From 6b67ee599e6da6a31d73aa6cfa2e4d09f80b66c9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:43 +0100 Subject: [PATCH 1146/1313] Update source file en.md skip-build --- .../org/docs/designs/simone/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/simone/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From a3d97a85c2dd1e048dc160ebfdb97f4a959ef731 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:46 +0100 Subject: [PATCH 1147/1313] Update source file en.md skip-build --- markdown/org/docs/designs/skully/fabric/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/fabric/en.md b/markdown/org/docs/designs/skully/fabric/en.md index d3361fe60f1..bcaa13c265e 100644 --- a/markdown/org/docs/designs/skully/fabric/en.md +++ b/markdown/org/docs/designs/skully/fabric/en.md @@ -10,7 +10,7 @@ the shape will change considerably due to tensions from the stuffing. ## Hair -Skully needs hair. Embrodery floss works very well, and can be had in all colors. +Skully needs hair. Embroidery floss works very well, and can be had in all colors. ## Stuffing @@ -18,4 +18,4 @@ Since this is a plush toy, it will need to be stuffed with material. Most of the ## Needle -Skully has traded his sword for a needle. A needle this size is mostly sold as upholstery needles. This will come in handy when doing some of the touch-ups at the end of the construction. \ No newline at end of file +Skully has traded his sword for a needle. A needle this size is mostly sold as upholstery needles. This will come in handy when doing some of the touch-ups at the end of the construction. From 2d1012a76a335b30ee8a64b0d9d7d27c6147cc0e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:47 +0100 Subject: [PATCH 1148/1313] Update source file en.md skip-build --- markdown/org/docs/designs/skully/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/skully/instructions/en.md b/markdown/org/docs/designs/skully/instructions/en.md index b1c24411ac6..a55895a7661 100644 --- a/markdown/org/docs/designs/skully/instructions/en.md +++ b/markdown/org/docs/designs/skully/instructions/en.md @@ -91,13 +91,13 @@ Turn it right sides out. ## Step 5: Hair -Now is the time to add hair to skully. When putting the embroidery floss in, make sure you add knots on the inside, or else it is very easy to pull Skully's hair out later. +Now is the time to add hair to Skully. When putting the embroidery floss in, make sure you add knots on the inside, or else it is very easy to pull Skully's hair out later. ## Step 6: Stuffing - Fill the plush toy with stuffing through the opening you left, making sure to fill all the parts well. The areas in the front are the hardest to get to. -- _Slipsticth_ or _whipstitch_ the opening closed. +- _Slipstitch_ or _whipstitch_ the opening closed. ## Step 7: Tweaks @@ -107,4 +107,4 @@ It is also a good idea to add stitches between seams 5 and 14, along the length ## Step 7: Enjoy! -That's it, you are all done. Start planning what pirate sewing ship you'll be joining! \ No newline at end of file +That's it, you are all done. Start planning what pirate sewing ship you'll be joining! From d99ca77ac9cbf13c84d0b171f5c14d9d7206972b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:48 +0100 Subject: [PATCH 1149/1313] Update source file en.md skip-build --- markdown/org/docs/designs/skully/options/size/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/skully/options/size/en.md b/markdown/org/docs/designs/skully/options/size/en.md index 77bb4ae0f34..c3007d1d3d6 100644 --- a/markdown/org/docs/designs/skully/options/size/en.md +++ b/markdown/org/docs/designs/skully/options/size/en.md @@ -4,5 +4,5 @@ title: "Size" Skully can be made in different sizes. The default is about 75% of a normal human head (about 16cm high). -If you set the percentage to 100%, and you enter your own head measurwement, Skully will -be approximately the size of your head. \ No newline at end of file +If you set the percentage to 100%, and you enter your own head measurement, Skully will +be approximately the size of your head. From 5ac2e2946c6b1bcb1b76b74615ac8a06aff5d03f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:49 +0100 Subject: [PATCH 1150/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sven/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/sven/instructions/en.md b/markdown/org/docs/designs/sven/instructions/en.md index 2caec412bf8..0d1e9e339ca 100644 --- a/markdown/org/docs/designs/sven/instructions/en.md +++ b/markdown/org/docs/designs/sven/instructions/en.md @@ -4,7 +4,7 @@ title: "Sven sweatshirt: Sewing Instructions" ### Step 1: Close shoulder seams -- Place the back and front on top of each other with the good sides toghether. +- Place the back and front on top of each other with the good sides together. - Align the shoulder seam, and sew/serge it at the standard seam allowance. - Repeat for the other shoulder seam. @@ -38,7 +38,7 @@ title: "Sven sweatshirt: Sewing Instructions" - Measure the width of the sleeve at the cuff - Cut a piece of ribbing that is (twice this length - 2cm/1inch) and 7cm/3inch wide -- Fold the ribbing double along the longest side, and sew together the edge so you have a continous ring +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Turn your Sven inside-out - Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven sleeve - Align the cut off side of the ribbing with the edge of the sleeve and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the sleeve. @@ -51,7 +51,7 @@ title: "Sven sweatshirt: Sewing Instructions" - Measure the width of Sven at the hem - Cut a piece of ribbing that 1.9 times this length and 7cm/3inch wide - You may need to attach different pieces if your ribbing fabric isn't wide enough -- Fold the ribbing double along the longest side, and sew together the edge so you have a continous ring +- Fold the ribbing double along the longest side, and sew together the edge so you have a continuous ring - Turn your Sven inside-out - Fold the ribbing ring with the good side outwards, and slip the folded side into your inside/out Sven body - Align the cut off side of the ribbing with the edge of the body and pin it in place. The ribbing is a bit shorter, so stretch it a bit while pinning to work this into the body. From 9769dae16398b2a2b1ca4468716192337e1b7fd1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:54 +0100 Subject: [PATCH 1151/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sven/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapease/en.md b/markdown/org/docs/designs/sven/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/sven/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From dbc0d266d9f07aae2410a70fde783e8d710a04b4 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:57 +0100 Subject: [PATCH 1152/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/sven/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 7182c5d2b694ac68d15fefd03741a0f3664d4b38 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:33:59 +0100 Subject: [PATCH 1153/1313] Update source file en.md skip-build --- markdown/org/docs/designs/tamiko/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/tamiko/instructions/en.md b/markdown/org/docs/designs/tamiko/instructions/en.md index 564b1b6d0d5..2519a654f07 100644 --- a/markdown/org/docs/designs/tamiko/instructions/en.md +++ b/markdown/org/docs/designs/tamiko/instructions/en.md @@ -4,7 +4,7 @@ title: "Tamiko top: Sewing Instructions" ### Step 1: Finish the armhole seam -![Finsh the armhole seam](step03.png) +![Finish the armhole seam](step03.png) - Finish the armhole seam with a narrow hem. From 40ff826135b1826e054565c2947622570d1422ac Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:02 +0100 Subject: [PATCH 1154/1313] Update source file en.md skip-build --- markdown/org/docs/designs/teagan/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/teagan/instructions/en.md b/markdown/org/docs/designs/teagan/instructions/en.md index 22e7b50bdb8..c31b461fb53 100644 --- a/markdown/org/docs/designs/teagan/instructions/en.md +++ b/markdown/org/docs/designs/teagan/instructions/en.md @@ -77,7 +77,7 @@ Now it's time to sew the ends of our knit band together. - Now that your band ends are joined together, it’s time to finish the last 6 cm, by stretching and sewing down the band as you did for the rest. -Hurray! You've finished the trickiest part! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a sig-zag or coverlock stitch. This is not required, but it is a detail that you'll see on many ready-to-wear T-shirts, and it can help your neck band lie flat. +Hurray! You've finished the trickiest part! Optionally, you can secure the raw edges by stitching them down to the T-shirt fabric, just inside the knit band with a zig-zag or coverlock stitch. This is not required, but it is a detail that you'll see on many ready-to-wear T-shirts, and it can help your neck band lie flat. ![Sew down knit band to secure](step03i.svg) @@ -85,7 +85,7 @@ Hurray! You've finished the trickiest part! Optionally, you can secure the raw e -A more extensive how-to on knit binding can be found in the [Aaron Instuctions](/docs/designs/aaron/instructions). +A more extensive how-to on knit binding can be found in the [Aaron Instructions](/docs/designs/aaron/instructions). From 55eaec76ec682c6802c34f9909eebf98e37644c1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:05 +0100 Subject: [PATCH 1155/1313] Update source file en.md skip-build --- markdown/org/docs/designs/teagan/options/fitwaist/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/fitwaist/en.md b/markdown/org/docs/designs/teagan/options/fitwaist/en.md index ac11eebacb7..9dbc148dc0a 100644 --- a/markdown/org/docs/designs/teagan/options/fitwaist/en.md +++ b/markdown/org/docs/designs/teagan/options/fitwaist/en.md @@ -4,7 +4,7 @@ title: "Fit the waist" Enable this option to fit the waist of your Teagan, rather than draft a straight T-shirt shape. -This will yield best results for those with a smaller waist who are looking for a more hourglass-shapped fitted T-shirt. +This will yield best results for those with a smaller waist who are looking for a more hourglass-shaped fitted T-shirt. If your waist is larger than your hips, you should not enable this option as you may end up with a T-shirt that you can't get in to. From d42083fbcefe10edbc88e5541ce6337fde96bf1f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:08 +0100 Subject: [PATCH 1156/1313] Update source file en.md skip-build --- markdown/org/docs/designs/teagan/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapease/en.md b/markdown/org/docs/designs/teagan/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From cb58d15edc0ced3e8af8062f8345aff18b9a24d6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:10 +0100 Subject: [PATCH 1157/1313] Update source file en.md skip-build --- .../org/docs/designs/teagan/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/teagan/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 34c254c8615a7971c50a53be60d1ed2a4581ec32 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:13 +0100 Subject: [PATCH 1158/1313] Update source file en.md skip-build --- markdown/org/docs/designs/tiberius/notes/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/tiberius/notes/en.md b/markdown/org/docs/designs/tiberius/notes/en.md index 7dfaff4f46d..3ebd5d1ee62 100644 --- a/markdown/org/docs/designs/tiberius/notes/en.md +++ b/markdown/org/docs/designs/tiberius/notes/en.md @@ -2,12 +2,12 @@ title: "Tiberius Tunica: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Tiberius was the first of the bunch, and also the simplest: a simple, nice *tunica*, inspired by the ones worn by Romans in the late republic, early empire (I can tell you that I read quite a lot of references and looked at pictures of statues and reliefs to figure out the "how long should it be?" question). This was a garment I wanted to make as part of a costume for my TTRPG (table-top roleplaying game) character, who is kind of a fantasy Roman. While writing down my measurements to make the *tunica*, I realised that this was such a simple parametric design that it could be a way for me to dip my toes into the coding part of Freesewing. And so I did. Even though it's "only" a rectangle, I tried to put some things into it behind the scenes (seams?), some failchecks to ensure that it results in a wearable garment. Since it's only a rectangle, there is not much wriggle room (pun intended) for fit, making it nice and easy but also challenging when you want to achieve a certain look (the length of the apparent "sleeves", for example). -One slightly hidden feature is the possibilty to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, +One slightly hidden feature is the possibility to add positional markers for *clavi*, strips of colour on the *tunica* to denote rank and/or class. Quite fascinating, The name is taken from James T. Kirk, by the way, who luckily had parents who seemingly liked some debatable Roman emperors. From 5a379f20687b991cbe1d96577da5e3f752b71588 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:17 +0100 Subject: [PATCH 1159/1313] Update source file en.md skip-build --- markdown/org/docs/designs/titan/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/notes/en.md b/markdown/org/docs/designs/titan/notes/en.md index 2bbd3c0c851..5318b71a31d 100644 --- a/markdown/org/docs/designs/titan/notes/en.md +++ b/markdown/org/docs/designs/titan/notes/en.md @@ -6,7 +6,7 @@ I am very happy Titan exists because making a trouser block that works for a variety of bodies is no simple task. I had started on this a couple of times on my own, but for various reasons was -never happy and abondoned the effort more than once. +never happy and abandoned the effort more than once. But when I teamed up with Debra Bean, we were able to finally get the job done and Titan is now FreeSewing's foundational trouser block. From 8d852eedb681527409778782ca7399bccbdf2e77 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:18 +0100 Subject: [PATCH 1160/1313] Update source file en.md skip-build --- markdown/org/docs/designs/titan/options/crotchdrop/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchdrop/en.md b/markdown/org/docs/designs/titan/options/crotchdrop/en.md index e71a07debb4..43afc1cf5f0 100644 --- a/markdown/org/docs/designs/titan/options/crotchdrop/en.md +++ b/markdown/org/docs/designs/titan/options/crotchdrop/en.md @@ -5,7 +5,7 @@ title: "Crotch drop" Controls by how much the crotch is lowered. Lowering the crotch makes for a more casual fit. -A signigicantly lowered crotched can also be a style choice. +A significantly lowered crotched can also be a style choice. From a85dd150648c546147067cd2bc45358cde663564 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:19 +0100 Subject: [PATCH 1161/1313] Update source file en.md skip-build --- .../org/docs/designs/titan/options/crotchseamcurvebend/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md index 5193b009b7d..7bd47432a2d 100644 --- a/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md +++ b/markdown/org/docs/designs/titan/options/crotchseamcurvebend/en.md @@ -2,7 +2,7 @@ title: "Crotch seam bend" --- -Controls the curvature of the croth seam, which influences the fit at your crotch. +Controls the curvature of the crotch seam, which influences the fit at your crotch. From b247ae146c654e5251860d732187be3a00844ab3 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:24 +0100 Subject: [PATCH 1162/1313] Update source file en.md skip-build --- markdown/org/docs/designs/uma/cutting/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/cutting/en.md b/markdown/org/docs/designs/uma/cutting/en.md index 3b718c8192c..a8e2c8debf3 100644 --- a/markdown/org/docs/designs/uma/cutting/en.md +++ b/markdown/org/docs/designs/uma/cutting/en.md @@ -3,7 +3,7 @@ title: "Uma undies: Cutting Instructions" --- Uma typically consists of a front, a back, and a lined gusset. -In that constallation, this is the cut list: +In that constellation, this is the cut list: - **Main fabric** - Part 1: Cut **1 front** From b3b802d0a6ac8f8e3646738f987bed7048680fc6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:25 +0100 Subject: [PATCH 1163/1313] Update source file en.md skip-build --- markdown/org/docs/designs/uma/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uma/notes/en.md b/markdown/org/docs/designs/uma/notes/en.md index adaf9642896..226748efa14 100644 --- a/markdown/org/docs/designs/uma/notes/en.md +++ b/markdown/org/docs/designs/uma/notes/en.md @@ -11,7 +11,7 @@ on the internet being rather unappreciative) the original designer was reluctant to continue maintaining their design. Since it's a rather nice design not to mention a popular one, we agreed that I -would reincarnate the pattern. While at it, I also mase some changes that +would reincarnate the pattern. While at it, I also made some changes that people had been asking for, such as the bulge option to make it gender-neutral. Long story short: From ca8ee6831679a002907224920902e96a57cdf0ab Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:29 +0100 Subject: [PATCH 1164/1313] Update source file en.md skip-build --- markdown/org/docs/designs/wahid/instructions/en.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/markdown/org/docs/designs/wahid/instructions/en.md b/markdown/org/docs/designs/wahid/instructions/en.md index 17192e40e29..3cca9576f87 100644 --- a/markdown/org/docs/designs/wahid/instructions/en.md +++ b/markdown/org/docs/designs/wahid/instructions/en.md @@ -141,7 +141,7 @@ Flip the pocket facing to the back side and press it down. ![Press down the triangles at the short sides](05h.png) -Move your pocket facing out of the way to reveal those little traingles at the side of your pocket. +Move your pocket facing out of the way to reveal those little triangles at the side of your pocket. Fold them back making sure you to keep your pocket opening a clean rectangle, and press them down. @@ -216,7 +216,7 @@ Place your lining in your waistcoat, good sides together. In other words, the wa #### Pin lining to fabric -![Pin linng to fabric](09b.png) +![Pin lining to fabric](09b.png) Align the lining with the fabric edge, and pin it in place. @@ -224,7 +224,7 @@ Start at center back, and follow the neckline down the front closure. Work your #### Sew lining to fabric -![Sew linng to fabric](09c.png) +![Sew lining to fabric](09c.png) With your lining pinned neatly in place, sew lining and fabric together. @@ -232,7 +232,7 @@ Do not forget to leave that 15cm gap at the center back. #### Turn waistcoat and press edges -![Turn waistcoat and press edgess](09d.png) +![Turn waistcoat and press edges](09d.png) Reach through the gap you left open at the hem, and turn your waistcoat. @@ -254,7 +254,7 @@ Now fold back your lining a bit before the edge of the armhole and pin it down. #### Hand-sew the lining to the fabric -![Hand-sew teh lining to the farbric](10c.png) +![Hand-sew the lining to the fabric](10c.png) Use a slipstitch to hand-sew the lining to the fabric all along the armhole. From 75d09839ab6902acf6aa9470d7d1ec242bcc6974 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:37 +0100 Subject: [PATCH 1165/1313] Update source file en.md skip-build --- markdown/org/docs/designs/walburga/needs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/needs/en.md b/markdown/org/docs/designs/walburga/needs/en.md index e55056df248..a82bf92522e 100644 --- a/markdown/org/docs/designs/walburga/needs/en.md +++ b/markdown/org/docs/designs/walburga/needs/en.md @@ -6,4 +6,4 @@ To make Walburga, you will need the following: - [Basic sewing supplies](/docs/sewing/basic-sewing-supplies) - About 1 meter (1.1 yards) of a suitable fabric (see [Fabric options](/docs/designs/walburga/fabric)) -- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finsh the raw edges +- (optional) about 3 metres (3.3 yards) of bias tape or trimmings to finish the raw edges From edf001e29d2c7b882f2634ce9a9fd68408773e84 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:37 +0100 Subject: [PATCH 1166/1313] Update source file en.md skip-build --- markdown/org/docs/designs/walburga/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/walburga/notes/en.md b/markdown/org/docs/designs/walburga/notes/en.md index 6a5f5c265fa..23501370e47 100644 --- a/markdown/org/docs/designs/walburga/notes/en.md +++ b/markdown/org/docs/designs/walburga/notes/en.md @@ -2,7 +2,7 @@ title: "Walburga Wappenrock: Designer Notes" --- -Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made seperately ;) +Lunetius, Tiberius and Walburga really come as a set. Not only were they born at the same time, they are designed to work together to form a full outfit. Not that this means that they can't be made separately ;) Walburga is the odd one out of the three patterns, because it still is "historically inspired", but does not actually follow any real historical garment. It is based on tabards ("Wappenrock" in German, hence the name starting with a W), handwavingly placed in a western European middle ages setting. To be honest, it is inspired more by the Legend of Zelda than anything real. From 5dc9a82012e843c85a5f7866ed9673c9046df93b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:40 +0100 Subject: [PATCH 1167/1313] Update source file en.md skip-build --- markdown/org/docs/designs/waralee/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/notes/en.md b/markdown/org/docs/designs/waralee/notes/en.md index bbcdb0728a8..62fefdce009 100644 --- a/markdown/org/docs/designs/waralee/notes/en.md +++ b/markdown/org/docs/designs/waralee/notes/en.md @@ -10,7 +10,7 @@ The construction is easy when you make it without pockets. And with them, it's s that hard for a practiced sewist. Keep in mind that `waralee` is basically two large rectangles, and you can easily make -them by transfering the pattern onto fabric by using the dimensions, and not +them by transferring the pattern onto fabric by using the dimensions, and not printing out all the pages. Turn off the `expand` option in the core settings and you'll get a page with all the dimensions on it to mark your fabric. And a handy template for the crotch cut-out is provided too. From e69f09f41ecd4a5844f917984d3a39d6503873af Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:41 +0100 Subject: [PATCH 1168/1313] Update source file en.md skip-build --- markdown/org/docs/designs/waralee/options/backraise/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/backraise/en.md b/markdown/org/docs/designs/waralee/options/backraise/en.md index 4ae6aec8d67..8f3aefe17c5 100644 --- a/markdown/org/docs/designs/waralee/options/backraise/en.md +++ b/markdown/org/docs/designs/waralee/options/backraise/en.md @@ -2,7 +2,7 @@ title: "Back Raise" --- -This setting raises the waist in the back. Our waist does not sit horizontally, but is angled up at the back. This seting allows you to raise this in the back if you need it for a good fit. +This setting raises the waist in the back. Our waist does not sit horizontally, but is angled up at the back. This setting allows you to raise this in the back if you need it for a good fit. From 5c1279facc751aa87949b7fa0a711da44c7db6a7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:44 +0100 Subject: [PATCH 1169/1313] Update source file en.md skip-build --- markdown/org/docs/designs/waralee/options/waistoverlap/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/waralee/options/waistoverlap/en.md b/markdown/org/docs/designs/waralee/options/waistoverlap/en.md index 0e9efefa4ff..df086eaa679 100644 --- a/markdown/org/docs/designs/waralee/options/waistoverlap/en.md +++ b/markdown/org/docs/designs/waralee/options/waistoverlap/en.md @@ -2,7 +2,7 @@ title: "Waist Overlap" --- -This dicates how much you want the leg flaps to overlap at the waist. A setting of 0 would have them meet at the side seam, and a setting of 100 makes them meet at the front/back. +This dictates how much you want the leg flaps to overlap at the waist. A setting of 0 would have them meet at the side seam, and a setting of 100 makes them meet at the front/back. From bf49bfccece0c222a9e38582a894fa2ae781655e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:45 +0100 Subject: [PATCH 1170/1313] Update source file en.md skip-build --- .../org/docs/designs/yuri/instructions/en.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/markdown/org/docs/designs/yuri/instructions/en.md b/markdown/org/docs/designs/yuri/instructions/en.md index e6a3ff19dfb..ce8b0434dd2 100644 --- a/markdown/org/docs/designs/yuri/instructions/en.md +++ b/markdown/org/docs/designs/yuri/instructions/en.md @@ -4,7 +4,7 @@ title: "Yuri hoodie: Sewing Instructions" -This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams without a overlocker/serger you can either use your prefered method or one of the methods below: +This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams without a overlocker/serger you can either use your preferred method or one of the methods below: ##### Finishing Method 1 @@ -14,14 +14,14 @@ This pattern can be sewn with or with out a overlocker/serger. To _finish_ seams ##### Finishing Method 2 -- Sew the seam allowances together with either a ziz-zag, overcast or straight stitch and press to one side. +- Sew the seam allowances together with either a zig-zag, overcast or straight stitch and press to one side. - Trim to 1cm (3/8 inch) seam allowance if needed. -If using a overlocker/serger you can sew seams which need fininshing in one go rather than sewing the seam conventionally and finishing it. +If using a overlocker/serger you can sew seams which need finishing in one go rather than sewing the seam conventionally and finishing it. @@ -51,7 +51,7 @@ On the pattern the back notch is marked as a cross-notch (see [our pattern notat - (Optional) Overcast the raw edge of the sleeve. - Press the hem allowance to the wrong side of the fabric and baste in place close to the raw edge. - On the outside, stitch away from the folded edge, catching the hem allowance underneath using the basting as guide to where the raw edge is. -- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stich along the hem allowance. +- (Optional) On the outside, stitch 6mm (1/4 inch) parallel to original stitch along the hem allowance. - Remove basting. @@ -94,8 +94,8 @@ It is recommended to use **Finishing Method 1** for this step regardless of whet - Sew the pinned edge together. - Trim the seam allowance to 1cm (3/8 inch) if your chosen seam allowance is bigger and you have not used and overlocker/serger. Otherwise _do not_ trim the seam. - Turn the hood good sides out and press the outer edge flat. -- On the outside Topstitch along the edge of the hood, about 1.5 - 2cm (5/8 - 3/4 inch) from the edge. Ensure that your topstiching encloses but does not go through the seam allowance of the outer hood edge. This will create a decorative rim, with the enclosed seam allowance making the rim a bit poofy. -- With raw edges together, overcast the bottom of the hood. You can either do this with an overlocker/serger or a ziz-zag or overcast stitch on a regular machine. +- On the outside Topstitch along the edge of the hood, about 1.5 - 2cm (5/8 - 3/4 inch) from the edge. Ensure that your topstitching encloses but does not go through the seam allowance of the outer hood edge. This will create a decorative rim, with the enclosed seam allowance making the rim a bit poofy. +- With raw edges together, overcast the bottom of the hood. You can either do this with an overlocker/serger or a zig-zag or overcast stitch on a regular machine. @@ -121,15 +121,15 @@ You can also make a folded band so the neckband does not have a raw edge but thi - With good sides together, starting from the centre back pin the hood to the neck, matching the centre backs and overlapping the hood ends at the centre front. - With good side of neckband to lining side of hood, pin the neckband to the hood matching middle of the neckband to the centre back. - If using an overlocker/serger, serge the neck and hood together through all layers. -- If using a sewing machine, use a zig-zag stich to sew all the neck and hood layers together. +- If using a sewing machine, use a zig-zag stitch to sew all the neck and hood layers together. - On the outside check around the neckline to make sure all the layers are caught. - Press seam allowances towards the body. -- On the good side, topstitch with a straight sitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. +- On the good side, topstitch with a straight stitch approximately 1cm (3/8 inch) away from the neck edge towards the body to catch and secure the neckband underneath. - Trim the excess binding from the inside. -If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch suchs as the front as an overlocker/serger may have trouble sewing these parts. +If using a overlocker/serger to attach the hood you may want to attach bulky areas down first with a straight stitch such as the front as an overlocker/serger may have trouble sewing these parts. From 239a9f466aa51f3eda7689a4bd705804856f1464 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:50 +0100 Subject: [PATCH 1171/1313] Update source file en.md skip-build --- markdown/org/docs/designs/yuri/options/sleevecapease/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapease/en.md b/markdown/org/docs/designs/yuri/options/sleevecapease/en.md index c6d4ffbc130..031e7c144da 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapease/en.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapease/en.md @@ -6,7 +6,7 @@ Determines the amount of sleevecap ease. -The amount of sleevecap ease determines how the sleeves rolls from the shouder. +The amount of sleevecap ease determines how the sleeves rolls from the shoulder. More ease makes the sleeve curl into the seam as you see on suit jackets. Less ease makes the sleeve lie flat. For light fabric or knits, you want little to no sleevecap ease. For heavier woven fabrics, you need more sleevecap ease. From 549f339450a119fa13262457067a4fd3ca88d459 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:34:52 +0100 Subject: [PATCH 1172/1313] Update source file en.md skip-build --- markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md index dd3aa889481..f29493ea1b8 100644 --- a/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md +++ b/markdown/org/docs/designs/yuri/options/sleevecapq3spread1/en.md @@ -2,7 +2,7 @@ title: "Sleevecap Q3 upward spread" --- -![The upward spread in the thrid quadrant of the sleevecap](./sleevecapq3spread1.svg) +![The upward spread in the third quadrant of the sleevecap](./sleevecapq3spread1.svg) This option controls the upward spread in the third quadrant of the sleevecap. From 0c8da4f32348a57baf08b99c81c190870f226910 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 21:36:19 +0100 Subject: [PATCH 1173/1313] Update source file en.yaml skip-build --- sites/shared/components/workbench/menus/core-settings/en.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sites/shared/components/workbench/menus/core-settings/en.yaml b/sites/shared/components/workbench/menus/core-settings/en.yaml index a1f3f45aa5e..b314e4ad6af 100644 --- a/sites/shared/components/workbench/menus/core-settings/en.yaml +++ b/sites/shared/components/workbench/menus/core-settings/en.yaml @@ -31,6 +31,8 @@ fr.t: French fr.d: Use this to generate a French pattern nl.t: Dutch nl.d: Use this to generate a Dutch pattern +uk.t: Ukrainian +uk.d: Use this to generate a Ukrainian pattern yes: Yes no: No completeYes.t: Generate a complete pattern From 11bedc8f7e3ac13608740e381d7a576f12df471f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 23:31:35 +0100 Subject: [PATCH 1174/1313] New translations en.yaml (Spanish) skip-build --- sites/org/pages/translation/es.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/org/pages/translation/es.yaml b/sites/org/pages/translation/es.yaml index 9b507026f00..ee52f47b0be 100644 --- a/sites/org/pages/translation/es.yaml +++ b/sites/org/pages/translation/es.yaml @@ -8,7 +8,7 @@ translatedOnly: Traducido pero (aún) no aprobado por un corrector notTranslated: No traducido (todavía) defaultLanguage: Este es nuestro lenguaje fuente y el lenguaje de trabajo del proyecto FreeSewing addLanguage1: '¿Quieres añadir una lengua?' -addLanguage2: We would love to make FreeSewing available in more languages. +addLanguage2: Nos encantaría que FreeSewing estuviera disponible en más idiomas. addLanguage3: Si estás interesado en iniciar un nuevo esfuerzo de traducción, ponte en contacto con nosotros. globalRanking: Clasificación mundial groupByLanguage: Agrupar por idioma From fb856804e4701210720dfc2b818c6b896bfbfed2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 23:32:01 +0100 Subject: [PATCH 1175/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/aaron/options/bindingwidth/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/aaron/options/bindingwidth/es.md b/markdown/org/docs/designs/aaron/options/bindingwidth/es.md index 3962062584d..acaec0fb821 100644 --- a/markdown/org/docs/designs/aaron/options/bindingwidth/es.md +++ b/markdown/org/docs/designs/aaron/options/bindingwidth/es.md @@ -10,5 +10,5 @@ Para los usuarios imperiales (que tienen un margen de costura por defecto de 0,5 -This option is expressed in percentage of the seam allowance. So the default is 600%, or 6 time the seam allowance. +Esta opción se expresa en porcentaje del margen de costura. Así que el valor por defecto es 600%, o 6 veces el margen de costura. From 9f5561aa79f9ced8531e1d84d2e6512380abd1c6 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 26 Jan 2024 23:32:05 +0100 Subject: [PATCH 1176/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/aaron/notes/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/aaron/notes/es.md b/markdown/org/docs/designs/aaron/notes/es.md index d1ec3125be7..a917e48c702 100644 --- a/markdown/org/docs/designs/aaron/notes/es.md +++ b/markdown/org/docs/designs/aaron/notes/es.md @@ -2,15 +2,15 @@ title: "Camiseta Aaron A: Notas del diseñador" --- -Aaron is -- like most patterns I design -- born out of necessity. I needed an A-shirt to wear under shirts when it gets a bit colder, and I try to only wear clothes made from FreeSewing patterns, so Aaron was born. +Aaron, como la mayoría de los patrones que diseño, nació de la necesidad. Necesitaba una camiseta interior para llevar debajo de las camisas cuando hace un poco de frío, e intento llevar sólo ropa hecha con patrones de FreeSewing, por lo que así nació Aaron. -Aaron's been around for many years and has been made by several people, so you can consider this a staple of FreeSewing's design catalogue. +Aaron existe desde hace muchos años y ha sido realizado por varias personas, así que se podría considerar un elemento básico del catálogo de diseño de FreeSewing. Por sí solo, es un diseño bastante sencillo. It extends [the Brian block](/designs/brian) and has an array of options to tweak the outcome, Hay algunas cosas que son *especiales* sobre Aaron, trivialidades de FreeSewing si quieres: -- Aaron es a quien remito a los diseñadores cuando tienen preguntas sobre cómo hacer algo. It's always first in the list (because it starts with double A), always the first to get new features, be migrated to a new version, and so on. Aaron is sort of FreeSewing's canary design. Todo lo que ocurre le ocurre primero a Aarón. +- Aaron es a quien remito a los diseñadores cuando tienen preguntas sobre cómo hacer algo. Siempre es el primero de la lista (porque empieza por doble A), siempre es el primero para el que se implementan nuevas funciones, el primero en ser migrado a una nueva versión, etc. Aaron es una especie de diseño de prueba de FreeSewing. Todo lo que ocurre le ocurre primero a Aarón. - He llamado a este diseño `aaron` en memoria de [Aaron Swartz](https://en.wikipedia.org/wiki/Aaron_Swartz). Descansa en paz hermano. joost From 4e139e467917430a481e90990636a64fe8250350 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 27 Jan 2024 01:22:07 +0100 Subject: [PATCH 1177/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bruce/options/rise/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/options/rise/es.md b/markdown/org/docs/designs/bruce/options/rise/es.md index c0eace59916..1fadd7e5aeb 100644 --- a/markdown/org/docs/designs/bruce/options/rise/es.md +++ b/markdown/org/docs/designs/bruce/options/rise/es.md @@ -4,7 +4,7 @@ title: "Elevación de la cintura" ![Opción de ascenso en Bruce](./rise.svg) -This option controls the overall height of the waist. +Esta opción controla la altura de la cintura. > Cuanto mayor sea el ascenso, mayor será la cintura. From a5ee1e0c0373197ed9512ae7a472052f7312248c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 27 Jan 2024 01:27:42 +0100 Subject: [PATCH 1178/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/shin/options/rise/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/shin/options/rise/es.md b/markdown/org/docs/designs/shin/options/rise/es.md index 210d293243c..d6dd426b0e0 100644 --- a/markdown/org/docs/designs/shin/options/rise/es.md +++ b/markdown/org/docs/designs/shin/options/rise/es.md @@ -2,7 +2,7 @@ title: "Elevación de la cintura" --- -This option controls the overall height of the waist. +Esta opción controla la altura de la cintura. > Cuanto mayor sea el ascenso, mayor será la cintura. From a59d7fda37aadf51b657ea9cfb7ce022c19fe83d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 27 Jan 2024 01:36:54 +0100 Subject: [PATCH 1179/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bruce/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/bruce/notes/es.md b/markdown/org/docs/designs/bruce/notes/es.md index bd2e28a7b3c..dd9f5c1d65e 100644 --- a/markdown/org/docs/designs/bruce/notes/es.md +++ b/markdown/org/docs/designs/bruce/notes/es.md @@ -2,7 +2,7 @@ title: "Calzoncillos bóxer Bruce: Notas del diseñador" --- -I originally designed Bruce many years ago, and it's gone through a couple of iterations since. Most notably, Bruce can now be adapted to not have any bulge, making it a fully gender-neutral design and a popular choice for people who want a express a more masculine look without sacrificing fit. +Diseñé Bruce hace muchos años, y desde entonces ha sido revisado un par de veces. Lo más destacable es que Bruce ahora puede adaptarse para que no abulte, lo que lo convierte en un diseño totalmente neutro desde el punto de vista del género y en una opción popular para aquellas personas que quieran expresar un aspecto más masculino sin sacrificar el ajuste. Hace por lo menos una década que no llevo más ropa interior que Bruce. Basta con decir que Bruce es muy recomendable. From c5498b93f5982486531974a02372d548abba8797 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sat, 27 Jan 2024 07:06:19 -0800 Subject: [PATCH 1180/1313] chore(markdown): Document Svg.render() as a mostly-internal method --- markdown/dev/reference/api/svg/render/en.md | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/markdown/dev/reference/api/svg/render/en.md b/markdown/dev/reference/api/svg/render/en.md index 28a9ad8f5a4..78cf5f1a1a9 100644 --- a/markdown/dev/reference/api/svg/render/en.md +++ b/markdown/dev/reference/api/svg/render/en.md @@ -11,19 +11,11 @@ The `Svg.render()` method will render a drafted string svg.render() ``` -## Svg.render() example + -``` -import { Aaron } from "@freesewing/aaron" +This method is mostly internal and should not be used directly. +Instead, it is intended that the +[Pattern.render()](reference/api/pattern/render) +method be used to render patterns as SVG. -// Load some public test measurements from the FreeSewing backend -const measurements = ( - await ( - await fetch("https://backend3.freesewing.org/curated-sets/1.json") - ).json() -).measurements - -const pattern = new Aaron({ measurements }) - -const svg = new Svg(pattern).render() -``` + From 49eaada60abbf8e9576dc3810806c8f9096d3025 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sat, 27 Jan 2024 08:57:52 -0800 Subject: [PATCH 1181/1313] fix(markdown): Correct Paco waistband sewing instructions --- markdown/org/docs/designs/paco/instructions/en.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/en.md b/markdown/org/docs/designs/paco/instructions/en.md index a7e5e7b109b..a0e5151c9c1 100644 --- a/markdown/org/docs/designs/paco/instructions/en.md +++ b/markdown/org/docs/designs/paco/instructions/en.md @@ -212,9 +212,12 @@ Mark this length, cut the elastic, and join the two ends together. ## Step 12: Join the waistband -Place the two waistband pieces good sides together, and align the short edges. Sew the short edges -together, then press open. These will be inside the waistband, so you don't need to finish the edges -of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two +short edge ends. +Sew the short edges together to sew the waistband into a ring. +Press open the seam. +They will be inside the waistband, so you don't need to finish the +edges of these seams unless your fabric is particularly likely to fray. ![Joined waistband pieces](step12.svg) From b31415e830643859c1704863144a4a02d7a012f6 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 25 Jan 2024 23:29:41 -0800 Subject: [PATCH 1182/1313] chore(markdown): Add missing tags to Custom Tags guide --- .../guides/markdown/custom-components/en.md | 677 ++++++++++++++++-- 1 file changed, 610 insertions(+), 67 deletions(-) diff --git a/markdown/dev/guides/markdown/custom-components/en.md b/markdown/dev/guides/markdown/custom-components/en.md index 12abfe4aca9..08b2884de49 100644 --- a/markdown/dev/guides/markdown/custom-components/en.md +++ b/markdown/dev/guides/markdown/custom-components/en.md @@ -13,40 +13,286 @@ typically require a lot more complexity. Below is a list of custom tags that we support in our Markdown-based documentation, both for freesewing.dev as freesewing.org. -## Comment +## Summary and Availability -Use a **Comment** when you want to illustrate something is a personal opinion -or tip/advice rather than the sort more neutral voice used throughout +This is a summary of the available custom tags and where each tag +can be used. +- **sde** tags can be used in the standalone development environment +(provided by the [new-design](/reference/packages/new-design) package). +- **dev** and **org** tags can be used on the +freesewing.dev and freesewing.org sites, respectively. +- For convenience, tags with similar functionality have been grouped together. + +### Text popouts + +These are markdown tags used to display text in a colored _popout_ box, +to make the text stand out and to quickly convey what type of +information is being presented. + +| Tag | sde | dev | org | +| ------: | :---: | :---: | :---: | +| [Comment](#comment) | X | X | X | +| [Fixme](#fixme) | X | X | X | +| [Link](#link) | X | X | X | +| [Note](#note) | X | X | X | +| [Related](#related) | X | X | X | +| [Tip](#tip) | X | X | X | +| [Tldr](#tldr) | X | X | X | +| [Warning](#warning) | X | X | X | + +### Features and Formatting + +These tags provide special features or ways to format content. + +| Tag | sde | dev | org | +| --------------------: | :---: | :---: | :---: | +| [ControlTip](#controltip) | | X | X | +| [DocsTitle](#docstitle) | | X | X | +| [DocsLink](#docslink) | | X | X | +| [Example](#example) | | X | X | +| [Legend](#legend) | | | X* | +| [MeasieImage](#measieimage) | | | X* | +| [(Mermaid)](#mermaid) | | X | X | +| [Method](#method) | | X | | +| [StatusCode](#statuscode) | | X | | +| [Tab](#tab) | | X | X | +| [Tabs](#tabs) | | X | X | +| [Youtube](#youtube) | | X | X | + + + +- **Legend** is available to use only on the +[Pattern Notation Guide](https://freesewing.org/docs/about/notation) and +[On the Fold](https://freesewing.org/docs/sewing/on-the-fold) +documentation pages. + +- **MeasieImage** is available to use only on the immediate subpages in the +[Measurements](https://freesewing.org/docs/measurements) +section of the documentation. + + + +### Documentation Generators + +These tags generate documentation-related content related to designs +and documentation files. +This prevents the need to write and edit the documentation manually, +making it easier to write and to maintain when changes occur. + +| Tag | sde | dev | org | +| -----------------: | :---: | :---: | :---: | +| [DesignInfo](#designinfo) | | | X* | +| [DesignMeasurements](#designmeasurements) | | | X* | +| [DesignOptions](#designoptions) | | | X* | +| [ReadMore](#readmore) | X | X | X | + + + +- **DesignInfo** is available to use only on an individual design's +main documentation page, for example +[Aaron A-Shirt](https://freesewing.org/docs/designs/aaron). + +- **DesignMeasurements** is available to use only on an individual design's +Required Measurements documentation page, for example +[Aaron A-Shirt: Required Measurements](https://freesewing.org/docs/designs/aaron/measurements). + +- **DesignMeasurements** is available to use only on an individual design +Design Options documentation page, for example +[Aaron A-Shirt: Design Options](https://freesewing.org/docs/designs/aaron/options). + + + +*** + +## Details + +All custom tags are listed alphabetically below. + +### Comment + +Use a **Comment** when you want to illustrate something that is a personal opinion +or advice rather than the sort more neutral voice used throughout our documentation. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `by` | | Name of the commenter | +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `by` | yes | | Name of the commenter | +| `hideable` | | `false` | Allows popout to be hidden | MDX is essentially Markdown + (React) components + + It can be helpful to be able to hide long comments that might take up + too much space on the page _(hideable)_ + ```markdown MDX is essentially Markdown + (React) components + + It can be helpful to hide long comments that might take up too much + space on the page _(hideable)_ + + ``` -## Example +### ControlTip + +The **ControlTip** tag provides a popout box containing pre-written, +formatted text describing the +[User Experience](https://freesewing.org/account/control) +account setting and explaining what it does. + + + + + + +```markdown + +``` + + + +### DesignInfo + +**DesignInfo** generates a detailed web page for a given FreeSewing +design with information including line drawings, example photos, +required measurements, design options, and links to documentation. + +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `design` | yes | | Name of the design | +| `docs` | | `false` | Generates content suitable for a documentation page | + + + +(Please see the +[Aaron A-Shirt documentation](https://freesewing.org/docs/designs/aaron) +page for an example of this tag.) + + +```markdown + +``` + + + + +Because design documentation pages are the only place this tag can +be used, you should always include the `docs` attribute when using +this tag. +(Omitting it will generate different content, less suited for +documentation.) + + +### DesignMeasurements + +**DesignMeasurements** generates a list of required and optional +measurements for a given FreeSewing design. + +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `design` | yes | | Name of the design | + + + +(Please see +[Aaron A-Shirt: Requirement Measurements](https://freesewing.org/docs/designs/aaron/measurements) +for an example of this tag.) + + +```markdown + +``` + + + +### DesignOptions + +**DesignOptions** generates a list of design options and settings +for a given FreeSewing design. + +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `design` | yes | | Name of the design | + + + +(Please see +[Aaron A-Shirt: Design Options](https://freesewing.org/docs/designs/aaron/options) +for an example of this tag.) + + +```markdown + +``` + + + +### DocsLink + +The **DocsLink** tag creates a formatted link from a given slug +(a relative URL path). +It also looks up the title of the linked web page and uses it as +the link text. + +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `slug` | yes | | Relative path for the link | + + + + + + +```markdown + +``` + + + +### DocsTitle + +The **DocsTitle** tag looks up the title of a web page from a +given slug (a relative URL path) and provides the title as formatted +text. + +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `slug` | yes | | Relative path of the link | +| `className` | | | CSS classes to style the text | +| `format` | | defaultFormater | Formatter used to format the text | + + + + + + + +```markdown + +``` + + + + +### Example The **Example** tag allows you to embed a FreeSewing code example and have it rendered in the browser. Specifically, you should write a [draft method](/reference/api/part/draft) which will then be rendered. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `caption` | | The caption to go under the example | -| `tutorial` | `false` | Set this to show the Code tab first, rather than the default Preview tab. Also, additional options are made available for use in pattern examples | -| `previewFirst` | `false` | Set this to always show the Preview tab first, regardless of the value of `tutorial` | -| `withHead` | `false` | Set this to include a head measurement (for tutorial pattern examples) | -| `paperless` | `false` | Set this to enable paperless mode | -| `settings` | | A YAML string of settings to take into account | +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `caption` | | | The caption to go under the example | +| `tutorial` | | `false` | Set this to show the Code tab first, rather than the default Preview tab. Also, additional options are made available for use in pattern examples | +| `previewFirst` | | `false` | Set this to always show the Preview tab first, regardless of the value of `tutorial` | +| `withHead` | | `false` | Set this to include a head measurement (for tutorial pattern examples) | +| `paperless` | | `false` | Set this to enable paperless mode | +| `settings` | | | A YAML string of settings to take into account | @@ -58,7 +304,7 @@ Specifically, you should write a [draft method](/reference/api/part/draft) which points.cp1 = new Point(40, 0) points.cp2 = new Point(60, 40) points.to = new Point(90, 20) - + paths.line = new Path() .move(points.from) .curve(points.cp1, points.cp2, points.to) @@ -79,7 +325,7 @@ Specifically, you should write a [draft method](/reference/api/part/draft) which points.cp1 = new Point(40, 0) points.cp2 = new Point(60, 40) points.to = new Point(90, 20) - + paths.line = new Path() .move(points.from) .curve(points.cp1, points.cp2, points.to) @@ -94,14 +340,15 @@ Specifically, you should write a [draft method](/reference/api/part/draft) which -## Fixme +### Fixme Use **Fixme** to indicate something needs attention/work but you don't have time or can't fix it now. -| Attribute | Default | Description | -| ---------:| ------- | ----------- | -| `compact` | `false` | Renders compact variant | +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | @@ -110,7 +357,10 @@ or can't fix it now. - Include link to roadmap - Fix style for text outside paragraphs -Show compact example +Proofread documentation _(compact)_ + + Proofread it a second time _(hideable)_ + ```markdown @@ -119,16 +369,93 @@ or can't fix it now. - Include link to roadmap - Fix style for text outside paragraphs -Show compact example +Proofread documentation _(compact)_ + + Proofread it a second time _(hideable)_ + ``` -## Mermaid +### Legend -Not strictly speaking a custom tag, but by using a fenced code block with the -`mermaid` language, you can generate [Mermaid](https://mermaid.js.org/) -diagrams. Like this: +The **Legend** tag is used to display parts from a pattern of the +Legend design (a non-public design in the FreeSewing repository +created to provide examples of pattern features). + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `part` | yes | | The Legend part to display | + + + +(Please see +[On the fold](https://freesewing.org/docs/sewing/on-the-fold) +for an example of this tag, used to display the _cut-on-fold_ indicator +on that page.) + + +```markdown + +``` + + + +### Link + +Use **Link** for URLs. + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | + + + + +https://freesewing.org/ + +https://freesewing.org/ _(compact)_ +https://freesewing.org/ _(hideable)_ + + +```markdown + +https://freesewing.org + +https://freesewing.org/ _(compact)_ +https://freesewing.org/ _(hideable)_ +``` + + + +### MeasieImage + +**MeasieImage** will show images of a FreeSewing measurement. +The name of the directory in which the tag is used is the +measurement which will be shown. + + + +(Please see +[Biceps circumference](https://freesewing.org/docs/measurements/biceps) +for an example of this tag, used to display the image showing the +biceps circumference measurement. + + +```markdown + +``` + + + + +### (Mermaid) + +There is no actual "Mermaid" custom tag. +However, by using a fenced [code block](/guides/markdown/code-blocks) +and specifying the `mermaid` language, you can generate +[Mermaid](https://mermaid.js.org/) diagrams. Like this: @@ -155,13 +482,48 @@ graph LR; -## Note +### Method + +**Method** is used to format HTTP methods. + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `get` | | `false` | Display the HTTP `GET` method | +| `post` | | `false` | Display the HTTP `POST` method | +| `put` | | `false` | Display the HTTP `PUT` method | +| `delete` | | `false` | Display the HTTP `DELETE` method | + + + + +
    + +
    + +```markdown +
    + +``` +
    +
    + + + +- It is required that you provide one of the `get`, `post`, `put`, +or `delete` attributes when using **Method**. +- If more than one of those attributes is provided, only the first +one that gets processed will be used. + + + +### Note Use **Note** to add something that stands out to draw attention. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `compact` | `false` | Renders compact variant | +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | @@ -169,7 +531,8 @@ Use **Note** to add something that stands out to draw attention. ##### Also available in black This style also comes in black, which we can all agree is the superior color
    -And in pink +And in pink _(compact)_ +Yet another note _(hideable)_ ```markdown @@ -177,61 +540,194 @@ This style also comes in black, which we can all agree is the superior color ##### Also available in black This style also comes in black, which we can all agree is the superior color
    -And in pink +And in pink _(compact)_ +Yet another note _(hideable)_ ``` -## ReadMore +### ReadMore The **ReadMore** tag allows you to insert a list of child-pages. The list is automatically generated from the pages in the subdirectories of the documentation page's directory. This tag is typically used on overview pages, such as our [Markdown guide](/guides/markdown) page. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `recurse` | `false` | Include all child-pages and sub-child-pages in the entire directory tree | +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `asMenu` | | `false` | Start from the parent directory | +| `depth` | | 99 | Maximum levels to recurse | +| `recurse` | |`false` | Include all child-pages and sub-child-pages in the entire directory tree | +| `root` | | `false` | Start from the root directory | + + + + + ```markdown - + ``` + + -(It won't show anything on this page, since this page has no child-pages.) - -## Related +### Related Use **Related** to add something that is relevant to the current topic. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `compact` | `false` | Renders compact variant | +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | - This snippet is provided by [the buttons plugin](/reference/plugins/buttons) + This snippet is provided by [the annotations plugin](/reference/plugins/annotations) + +See [snippets](/reference/snippets) _(compact)_ + + See [snippets](/reference/snippets) _(hideable)_ -See [snippets](/reference/snippets) ```markdown - This snippet is provided by [the buttons plugin](/reference/plugins/buttons) + This snippet is provided by [the annotations plugin](/reference/plugins/annotations) -See [snippets](/reference/snippets) +See [snippets](/reference/snippets) _(compact)_ + + See [snippets](/reference/snippets) _(hideable)_ + +``` + + + +### StatusCode + +**StatusCode** is used to format HTTP response status codes. + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `status` | yes | | The HTTP response status code to format | + + + + +
    + +
    + +```markdown +
    + ```
    -## Tip +### Tab + +**Tabs** and **Tab** tags are used to present content in a tabbed view. +This is a view where only the active tab content is shown, with +content in other tabs hidden. +Selecting a different tab shows its contents while hiding +the others. + +The **Tab** tag is used to add content for a tab. + + + + + + Content for tab one. + + + This is tab two content. + + + + +```markdown + + + Content for tab one. + + + Content for tab two. + + +``` + + + + + +- The content of **Tabs** is individual **Tab** tags. +- The content of **Tab** is content for that tab. +- There should be one **Tab** for every tab defined in the `tabs` attribute of **Tabs**. + + + +### Tabs + +**Tabs** and **Tab** tags are used to present content in a tabbed view. +This is a view where only the active tab content is shown, with +content in other tabs hidden. +Selecting a different tab shows its contents while hiding +the others. + +The **Tabs** tag is used to set up the tabbed view. +It specifies how many tabs are in the view and what their names +are. + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `tabs` | yes | | Comma-separated list of tab names | + + + + + + + Content for tab one. + + + This is tab two content. + + + + +```markdown + + + Content for tab one. + + + Content for tab two. + + +``` + + + + + +- The content of **Tabs** is individual **Tab** tags. +- The content of **Tab** is content for that tab. +- There should be one **Tab** for every tab defined in the `tabs` attribute of **Tabs**. + + + + +### Tip Use **Tip** for, you know, tips. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `compact` | `false` | Renders compact variant | +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | @@ -239,7 +735,10 @@ Use **Tip** for, you know, tips. The notches on the shoulder and sleeve parts are used to help with alignment when attaching the sleeve.
    -Align the notches so they match +Align the notches so they match _(compact)_ + + Yet another tip _(hideable)_ + ```markdown @@ -247,19 +746,57 @@ Use **Tip** for, you know, tips. The notches on the shoulder and sleeve parts are used to help with alignment when attaching the sleeve. -Align the notches so they match +Align the notches so they match _(compact)_ + + Yet another tip _(hideable)_ + +``` + + + +### Tldr + +"TL;DR" stands for "Too long; didn't read", and the **Tldr** tag used +to provide a short summary for readers who might not want to read +the full text. + +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | + + + + + This page lists all the custom tags you can use. + +This page lists custom tags _(compact)_ + + Yet another TL;DR summary _(hideable)_ + + + +```markdown + + This page lists all the custom tags you can use. + +This page lists custom tags _(compact)_ + + Yet another TL;DR summary _(hideable)_ + ``` -## Warning +### Warning Use **Warning** when you want to warn the reader of potential danger or unintended side-effects. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `compact` | `false` | Renders compact variant | +| Attribute | Required? | Default | Description | +| ---------: | :-------: | ------- | ----------- | +| `compact` | | `false` | Renders compact variant | +| `hideable` | | `false` | Allows popout to be hidden | @@ -267,7 +804,10 @@ Use **Warning** when you want to warn the reader of potential danger or unintend ##### Please make a backup Following these instructions will remove all your data -Take it slow +Take it slow _(compact)_ + + Yet another warning _(hideable)_ + ```markdown @@ -275,25 +815,28 @@ Use **Warning** when you want to warn the reader of potential danger or unintend ##### Please make a backup Following these instructions will remove all your data -Take it slow +Take it slow _(compact)_ + + Yet another warning _(hideable)_ + ``` -## YouTube +### YouTube The **YouTube** tag will embed YouTube videos or YouTube playlists responsively. -| Attribute | Default | Description | -| ----:| ------- | ----------- | -| `id` | | ID of the YouTube video or playlist | -| `playlist` | `false` | Set this when embedding a playlist | +| Attribute | Required? | Default | Description | +| ----:| :---: | ------- | ----------- | +| `id` | yes | | ID of the YouTube video or playlist | +| `playlist` | | `false` | Set this when embedding a playlist | -### Video +#### Video -### Playlist +#### Playlist From a9df234915844c443a61b39276af1a4850a237f9 Mon Sep 17 00:00:00 2001 From: woutervdub Date: Sun, 28 Jan 2024 01:30:46 +0000 Subject: [PATCH 1183/1313] Fix some BJB errors --- designs/noble/src/backpoints.mjs | 3 +- designs/noble/src/frontpoints.mjs | 172 ++++++++++++++--------------- designs/tristan/src/backpoints.mjs | 18 +-- 3 files changed, 95 insertions(+), 98 deletions(-) diff --git a/designs/noble/src/backpoints.mjs b/designs/noble/src/backpoints.mjs index f4fdf616e2a..b3cadc3369e 100644 --- a/designs/noble/src/backpoints.mjs +++ b/designs/noble/src/backpoints.mjs @@ -24,7 +24,6 @@ export const backPoints = { const aDown = points.dartBottomRight.angle(points.dartTip) const aDiff = Math.abs(aUp - aDown) - // let dartCpAdjustment = Math.abs( options.shoulderDartPosition -.5) +.05 const dartCpAdjustment = aDiff / 50 points.shoulderDartCpUp = points.shoulderDart.shiftFractionTowards( @@ -48,7 +47,7 @@ export const backPoints = { let diff = 0 let angle = 0 do { - if (length.o) angle = diff * (length.o > length.i ? -0.1 : 0.1) + if (length.o) angle = (diff / (length.i / 1300)) * (length.o > length.i ? -0.1 : 0.1) points.dartBottomRight = points.dartBottomRight.rotate(angle, points.waistSide) diff --git a/designs/noble/src/frontpoints.mjs b/designs/noble/src/frontpoints.mjs index e7f9e394bab..5d02fdf988a 100644 --- a/designs/noble/src/frontpoints.mjs +++ b/designs/noble/src/frontpoints.mjs @@ -1,15 +1,78 @@ import { frontSideDart as bellaFront } from '@freesewing/bella' -import { hidePresets } from '@freesewing/core' +import { cbqc, hidePresets } from '@freesewing/core' import * as options from './options.mjs' +const createRightDartPoints = (points, Path, diff, utils) => { + const radius = points.waistDartRight.dist(points.sideHemInitial) + + points.waistDartRight = points.waistDartRight.rotate( + utils.rad2deg(Math.atan(diff / radius)), + points.sideHemInitial + ) + + let outsideSeam = new Path() + .move(points.waistDartRight) + .curve(points.bustAcp, points.shoulderDartTipCpDownOutside, points.shoulderDartOutside) + + points.waistUpDartRight = outsideSeam.shiftAlong( + points.waistDartRight.dist(points.waistDartRightCp) * 0.5 + ) + points.waistUpDartRightCpDown = points.waistUpDartRight.shiftFractionTowards( + points.waistDartRight, + 0.25 + ) + points.waistUpDartRightCpUp = points.waistUpDartRight.shiftFractionTowards( + points.waistDartRight, + -0.6 + ) + points.waistCpUp = points.waistDartRight + .shiftTowards(points.sideHemInitial, points.waistDartRight.dist(points.waistUpDartRight) * 0.25) + .rotate(90, points.waistDartRight) + points.waistCircleInsideCp1 = points.armholeDartTip.shiftTowards( + points.armholeDartTipCpDownInside, + -0.5 * cbqc * points.armholeDartInside.dist(points.armholeDartTip) + ) + + return new Path() + .move(points.waistDartRight) + .curve(points.waistCpUp, points.waistUpDartRightCpDown, points.waistUpDartRight) + .curve( + points.waistUpDartRightCpUp, + points.shoulderDartTipCpDownOutside, + points.shoulderDartOutside + ) + .length() +} + +const createArmholeDartPoints = (points, paths, Path, direction) => { + const dist = points.armholeDartTipInside.dist(points.armholeDartTipCpDownInside) + points.waistCircleOutsideCp1 = points.waistCircleOutsideCp1.shiftTowards( + points.waistUpDartRight, + direction + ) + points.armholeDartTipCpDownInside = points.waistCircleInsideCp1.shiftOutwards( + points.armholeDartTipInside, + dist + ) + + paths.armholeTempCircleOutside = new Path() + .move(points.armholeDartOutside) + .curve(points.armholeCircleOutsideCp1, points.waistCircleOutsideCp1, points.waistUpDartRight) + .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) + .hide() + paths.armholeTempCircleInside = new Path() + .move(points.armholeDartInside) + .curve(points.armholeCircleInsideCp1, points.waistCircleInsideCp1, points.armholeDartTipInside) + .curve(points.armholeDartTipCpDownInside, points.waistDartLeftCp, points.waistDartLeft) + .hide() +} + export const frontPoints = { name: 'noble.frontPoints', from: bellaFront, hide: hidePresets.HIDE_ALL, options, - draft: ({ log, points, Path, paths, snippets, options, macro, part }) => { - const bCircle = 0.552284749831 - + draft: ({ log, points, Path, paths, snippets, options, macro, part, utils }) => { // Hide Bella paths for (const key of Object.keys(paths)) paths[key].hide() for (const i in snippets) delete snippets[i] @@ -61,7 +124,7 @@ export const frontPoints = { points.armholeCircleInsideCp1 = points.armholeDartInside.shift( armholeDartAngle, - bCircle * points.armholeDartInside.dist(points.armholeDartTip) + cbqc * points.armholeDartInside.dist(points.armholeDartTip) ) points.armholeCircleOutsideCp1 = points.armholeCircleInsideCp1.clone() @@ -183,14 +246,12 @@ export const frontPoints = { points.bust, 1 + (1 - options.upperDartLength) + (1 - options.waistDartLength) * dartRatio ) - // points.shoulderDartTipCpDownOutside = points.shoulderDartTipCpDownOutside.rotate( options.dartOutsideCP *10, points.shoulderDartOutside ) points.shoulderDartTipCpDownInside = points.shoulderDartInside.shiftFractionTowards( points.shoulderDartTip, 1 + (1 - options.upperDartLength) + (1 - options.waistDartLength) * dartRatio ) points.armholeDartTipCpDownInside = points.armholeDartTip.shiftFractionTowards( - // points.waistDartHem, points.waistDartLeft, 1 - options.upperDartLength + (1 - options.waistDartLength) * dartRatio ) @@ -226,7 +287,7 @@ export const frontPoints = { ) points.waistCircleInsideCp1 = points.waistUpDartLeft.shiftTowards( points.waistDartLeft, - -0.5 * bCircle * points.armholeDartOutside.dist(points.armholeDartTip) + -0.5 * cbqc * points.armholeDartOutside.dist(points.armholeDartTip) ) points.shoulderDartTipCpDownOutside = points.shoulderDartTipCpDownOutside .rotate(-2.5, points.shoulderDartOutside) @@ -234,102 +295,37 @@ export const frontPoints = { let iteration = 1 let diff = 0 + + let rightDartLength = createRightDartPoints(points, Path, diff, utils) do { - points.waistDartRight = points.waistDartRight.rotate(diff * 0.1, points.sideHemInitial) + rightDartLength = createRightDartPoints(points, Path, diff, utils) - let outsideSeam = new Path() - .move(points.waistDartRight) - .curve(points.bustAcp, points.shoulderDartTipCpDownOutside, points.shoulderDartOutside) - - points.waistUpDartRight = outsideSeam.shiftAlong( - points.waistDartRight.dist(points.waistDartRightCp) * 0.5 - ) - points.waistUpDartRightCpDown = points.waistUpDartRight.shiftFractionTowards( - points.waistDartRight, - 0.25 - ) - // points.waistUpDartRightCpUp = points.waistUpDartRight.shiftFractionTowards( points.waistDartRight, -.25 ) - points.waistUpDartRightCpUp = points.waistUpDartRight.shiftFractionTowards( - points.waistDartRight, - -0.6 - ) - points.waistCpUp = points.waistDartRight - .shiftTowards( - points.sideHemInitial, - points.waistDartRight.dist(points.waistUpDartRight) * 0.25 - ) - .rotate(90, points.waistDartRight) - points.waistCircleInsideCp1 = points.armholeDartTip.shiftTowards( - points.armholeDartTipCpDownInside, - -0.5 * bCircle * points.armholeDartInside.dist(points.armholeDartTip) - ) - - outsideSeam = new Path() - .move(points.waistDartRight) - .curve(points.waistCpUp, points.waistUpDartRightCpDown, points.waistUpDartRight) - .curve( - points.waistUpDartRightCpUp, - points.shoulderDartTipCpDownOutside, - points.shoulderDartOutside - ) - - diff = shoulderInsideSeam.length() - outsideSeam.length() + diff = shoulderInsideSeam.length() - rightDartLength iteration++ - } while ((diff > 1 || diff < -1) && iteration < 200) - if (iteration >= 200) { + } while ((diff > 1 || diff < -1) && iteration < 100) + + if (iteration >= 100) { log.error('Something is not quite right here!') } points.waistDartRightCp = points.bustAcp.clone() points.armholeDartTipInside = points.armholeDartTip.clone() points.waistCircleOutsideCp1 = points.waistUpDartRight.shiftTowards( points.waistDartRight, - -1 * bCircle * points.armholeDartOutside.dist(points.armholeDartTip) + -1 * cbqc * points.armholeDartOutside.dist(points.armholeDartTip) ) - diff = 0 + createArmholeDartPoints(points, paths, Path, 0) + diff = paths.armholeTempCircleOutside.length() - paths.armholeTempCircleInside.length() + iteration = 0 do { - const dist = points.armholeDartTipInside.dist(points.armholeDartTipCpDownInside) - if (points.armholeDartTipInside.x > points.waistCircleOutsideCp1) { - points.armholeDartTipInside.x = points.armholeDartTipInside.x - 0.5 - points.armholeDartTipInside.y = points.armholeDartTipInside.y + 0.5 - } else { - points.waistCircleOutsideCp1 = points.waistCircleOutsideCp1.shiftTowards( - points.waistUpDartRight, - diff > 0 ? 1 : -1 - ) - } - points.armholeDartTipCpDownInside = points.waistCircleInsideCp1.shiftOutwards( - points.armholeDartTipInside, - dist - ) - - paths.armholeTempCircleOutside = new Path() - .move(points.armholeDartOutside) - .curve( - points.armholeCircleOutsideCp1, - points.waistCircleOutsideCp1, - points.waistUpDartRight - ) - .curve(points.waistUpDartRightCpDown, points.waistCpUp, points.waistDartRight) - .hide() - .attr('class', 'lining') - paths.armholeTempCircleInside = new Path() - .move(points.armholeDartInside) - .curve( - points.armholeCircleInsideCp1, - points.waistCircleInsideCp1, - points.armholeDartTipInside - ) - .curve(points.armholeDartTipCpDownInside, points.waistDartLeftCp, points.waistDartLeft) - .hide() - .attr('class', 'lining') + createArmholeDartPoints(points, paths, Path, diff) diff = paths.armholeTempCircleOutside.length() - paths.armholeTempCircleInside.length() iteration++ - } while ((diff < -1 || diff > 1) && iteration < 200) - if (iteration >= 200) { - log.error('Something is not quite right here!') + } while ((diff < -1 || diff > 1) && iteration < 100) + if (iteration >= 100) { + log.error('Something is not quite right here too!') } return part diff --git a/designs/tristan/src/backpoints.mjs b/designs/tristan/src/backpoints.mjs index 61deb6bb943..3b022d1de58 100644 --- a/designs/tristan/src/backpoints.mjs +++ b/designs/tristan/src/backpoints.mjs @@ -68,14 +68,16 @@ export const backPoints = { ) if (lacing) { - points.lacingCut = points.cbCut.shift( - 0, - (points.strapInsideCp.x - points.cbCut.x) * options.lacingWidth - ) - points.lacingWaist = points.waistCenter.shiftTowards( - points.dartBottomLeft, - (points.strapInsideCp.x - points.cbCut.x) * options.lacingWidth - ) + let lacingWidth = (points.strapInsideCp.x - points.cbCut.x) * options.lacingWidth + if (points.waistCenter.dist(points.dartBottomLeft) < lacingWidth) { + lacingWidth = points.waistCenter.dist(points.dartBottomLeft) * 0.95 + } + points.lacingCut = points.cbCut.shift(0, lacingWidth) + points.lacingWaist = points.waistCenter.shiftTowards(points.dartBottomLeft, lacingWidth) + } + + if (points.cbCutCp.x < (lacing ? points.lacingCut : points.cbCut).x) { + points.cbCutCp.x = (lacing ? points.lacingCut : points.cbCut).x } if (options.hem && !options.peplum) { From 2353362851dfbcc80df8b45ada2f44bbaa37d2f9 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sat, 27 Jan 2024 22:28:18 -0800 Subject: [PATCH 1184/1313] fix(hugo): Add neck binding part --- designs/hugo/i18n/en.json | 9 +-- designs/hugo/src/index.mjs | 15 ++++- designs/hugo/src/neckbinding.mjs | 97 ++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 designs/hugo/src/neckbinding.mjs diff --git a/designs/hugo/i18n/en.json b/designs/hugo/i18n/en.json index f9dcc237814..3225047639c 100644 --- a/designs/hugo/i18n/en.json +++ b/designs/hugo/i18n/en.json @@ -7,24 +7,21 @@ "front": "Front", "hoodCenter": "Hood center", "hoodSide": "Hood side", + "neckBinding": "Neck binding", "pocket": "Pocket", "pocketFacing": "Pocket facing", "sleeve": "Sleeve", "waistband": "Waistband" }, "s": { - "cuff": "Cuff", - "hoodCenter": "Hood center", - "hoodSide": "Hood side", - "pocketFacing": "Pocket facing", - "pocket": "Pocket", - "waistband": "Waistband", "cutPocket.t": "The pocket is not shown", "cutPocket.d": "The **Pocket** (4) is not shown, but you can trace it from the Front part (1), which has the pocket outline on it (not including seam allowance).", "cutCuff.t": "The cuff is not shown", "cutCuff.d": "The **Cuff** (9) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.", "cutHoodCenter.t": "The hood center is not shown", "cutHoodCenter.d": "The **Hood center** (7) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.", + "cutNeckBinding.t": "The neck binding is not shown", + "cutNeckBinding.d": "The **Neck Binding** (10) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long.", "cutWaistband.t": "The waistband is not shown", "cutWaistband.d": "The **Waistband** (8) is a rectangular piece of ribbing fabric {{{ w }}} wide and {{{ l }}} long" }, diff --git a/designs/hugo/src/index.mjs b/designs/hugo/src/index.mjs index fbdd66a0767..4aa759a0776 100644 --- a/designs/hugo/src/index.mjs +++ b/designs/hugo/src/index.mjs @@ -11,11 +11,23 @@ import { hoodSide } from './hoodside.mjs' import { hoodCenter } from './hoodcenter.mjs' import { waistband } from './waistband.mjs' import { cuff } from './cuff.mjs' +import { neckBinding } from './neckbinding.mjs' // Setup our new design const Hugo = new Design({ data, - parts: [back, front, sleeve, pocket, pocketFacing, hoodSide, hoodCenter, waistband, cuff], + parts: [ + back, + front, + sleeve, + pocket, + pocketFacing, + hoodSide, + hoodCenter, + waistband, + cuff, + neckBinding, + ], }) // Merge translations @@ -32,6 +44,7 @@ export { hoodCenter, waistband, cuff, + neckBinding, Hugo, i18n, } diff --git a/designs/hugo/src/neckbinding.mjs b/designs/hugo/src/neckbinding.mjs new file mode 100644 index 00000000000..0de72bb2fc7 --- /dev/null +++ b/designs/hugo/src/neckbinding.mjs @@ -0,0 +1,97 @@ +import { front } from './front.mjs' +import { back } from './back.mjs' +import { hoodCenter } from './hoodcenter.mjs' + +function hugoNeckBinding({ store, sa, Point, points, Path, paths, macro, part, expand, units }) { + const length = + store.get('neckOpeningLenFront') * 2 + + store.get('neckOpeningLenBack') * 2 + + store.get('hoodCenterWidth') + const width = length / 44.2 + + if (expand) { + store.flag.preset('expandIsOn') + } else { + const extraSa = sa ? 2 * sa : 0 + store.flag.note({ + msg: `hugo:cutNeckBinding`, + notes: [sa ? 'flag:saIncluded' : 'flag:saExcluded', 'flag:partHiddenByExpand'], + replace: { + w: units(width + extraSa), + l: units(length + extraSa), + }, + suggest: { + text: 'flag:show', + icon: 'expand', + update: { + settings: ['expand', 1], + }, + }, + }) + // Also hint about expand + store.flag.preset('expandIsOff') + + return part.hide() + } + + points.topLeft = new Point(0, 0) + points.topRight = new Point(length, 0) + points.bottomRight = new Point(length, width) + points.bottomLeft = new Point(0, width) + + paths.seam = new Path() + .move(points.topLeft) + .line(points.bottomLeft) + .line(points.bottomRight) + .line(points.topRight) + .line(points.topLeft) + .close() + .attr('class', 'fabric') + + // Seam allowance + if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa') + + // Cutlist + store.cutlist.setCut({ cut: 1, from: 'fabric' }) + + // Grainline + macro('grainline', { + from: points.topLeft + .shiftFractionTowards(points.topRight, 0.15) + .shiftFractionTowards(points.bottomLeft, 0.6), + to: points.topRight + .shiftFractionTowards(points.topLeft, 0.15) + .shiftFractionTowards(points.bottomRight, 0.6), + }) + + //title + points.title = new Point(length / 2, width * 3) + macro('title', { + at: points.title, + nr: 10, + title: 'neckBinding', + scale: 0.4, + }) + + // Dimensions + macro('hd', { + id: 'length', + from: points.bottomLeft, + to: points.bottomRight, + y: points.bottomLeft.y + sa + 15, + }) + macro('vd', { + id: 'width', + from: points.topRight, + to: points.bottomRight, + x: points.topRight.x + sa + 15, + }) + + return part +} + +export const neckBinding = { + name: 'hugo.neckBinding', + after: [front, back, hoodCenter], + draft: hugoNeckBinding, +} From 43ec734d1ba0f1a5974408c1b954277e32758c3f Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 28 Jan 2024 01:57:22 -0800 Subject: [PATCH 1185/1313] chore(markdown): Add jargon glossary --- markdown/dev/guides/markdown/jargon/en.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/markdown/dev/guides/markdown/jargon/en.md b/markdown/dev/guides/markdown/jargon/en.md index c83a7105c9f..155708a94dd 100644 --- a/markdown/dev/guides/markdown/jargon/en.md +++ b/markdown/dev/guides/markdown/jargon/en.md @@ -50,3 +50,22 @@ The value can hold HTML tags, just make sure it's valid HTML and don't go overboard. Note that the definition will be _italic_ by default. + +## FreeSewing Jargon Glossary + +Below is the jargon which is currently defined and available to use +on our websites. + +### Jargon on freesewing.dev + +| Term | Description | +| ----------- | ----------- | +| `cjs` | **CJS** stands for CommonJS, it is the JavaScript module format popularized by NodeJS, but now increasingly phased out in favor of **ESM** +| `esm` | **ESM** stands for EcmaScript Module, it is the standardized module syntax in JavaScript + +### Jargon on freesewing.org + +| Term | Description | +| ----------- | ----------- | + +_(Currently, no jargon has been defined for the freesewing.org site.)_ From 9e523ba34c7e77da05cdf5e5da2463e93ba41ebd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 18:16:19 +0100 Subject: [PATCH 1186/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/paco/instructions/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/instructions/fr.md b/markdown/org/docs/designs/paco/instructions/fr.md index 22b40d171c6..53c021f50eb 100644 --- a/markdown/org/docs/designs/paco/instructions/fr.md +++ b/markdown/org/docs/designs/paco/instructions/fr.md @@ -178,7 +178,7 @@ Marquer cette longueur, couper l'élastique, et joindre les deux extrémités en ## Étape 12 : Rejoignez la ceinture -Placez les deux morceaux de ceinture de bons côtés ensemble et alignez les bords courts. Sew the short edges together, then press open. These will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two short edge ends. Sew the short edges together to sew the waistband into a ring. Press open the seam. They will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. ![Pièces de ceinture jointes](step12.svg) From ad154039e50164e082dd2819f87869295bacc728 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 18:37:48 +0100 Subject: [PATCH 1187/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/paco/instructions/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/instructions/es.md b/markdown/org/docs/designs/paco/instructions/es.md index 75340251afe..5cb0c978d03 100644 --- a/markdown/org/docs/designs/paco/instructions/es.md +++ b/markdown/org/docs/designs/paco/instructions/es.md @@ -178,7 +178,7 @@ Marca esta longitud, corta el elástico y únete a los dos extremos. ## Paso 12: Únete a la cintura -Coloque las dos piezas de cintura bien lados juntos, y alinear los bordes cortos. Sew the short edges together, then press open. These will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two short edge ends. Sew the short edges together to sew the waistband into a ring. Press open the seam. They will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. ![Se unieron piezas de cintura](step12.svg) From cb0157e1850795095648eb86eab788a1437cf2da Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 18:59:00 +0100 Subject: [PATCH 1188/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/paco/instructions/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/instructions/de.md b/markdown/org/docs/designs/paco/instructions/de.md index 1d313889343..258262211c7 100644 --- a/markdown/org/docs/designs/paco/instructions/de.md +++ b/markdown/org/docs/designs/paco/instructions/de.md @@ -178,7 +178,7 @@ Markieren Sie diese Länge, schneiden Sie die elastische und verbinden Sie die b ## Schritt 12: Betrete die Taille -Platzieren Sie die beiden Taillenbänder gut an den Seiten und richten Sie die kurzen Kanten aus. Sew the short edges together, then press open. These will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two short edge ends. Sew the short edges together to sew the waistband into a ring. Press open the seam. They will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. ![Taillenband Stücke beigetreten](step12.svg) From 0e12360a20b944e4b1278f733bddd5b1f60d22c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 19:22:20 +0100 Subject: [PATCH 1189/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/paco/instructions/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/instructions/nl.md b/markdown/org/docs/designs/paco/instructions/nl.md index 724f403cacf..a4bbed039da 100644 --- a/markdown/org/docs/designs/paco/instructions/nl.md +++ b/markdown/org/docs/designs/paco/instructions/nl.md @@ -178,7 +178,7 @@ Markeer deze lengte, knip het elastiek en naai de uiteindes aan elkaar. ## Stap 12: Naai de tailleband -Leg de twee goede kanten van de tailleband op elkaar en leg de korte randen samen. Sew the short edges together, then press open. These will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two short edge ends. Sew the short edges together to sew the waistband into a ring. Press open the seam. They will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. ![Deelgenomen tailleband stukjes](step12.svg) From c20d907abdde35f5f9d8a066788a8141533d3410 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 19:43:34 +0100 Subject: [PATCH 1190/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/paco/instructions/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/paco/instructions/uk.md b/markdown/org/docs/designs/paco/instructions/uk.md index 3e466d58f6d..f07a00a89f8 100644 --- a/markdown/org/docs/designs/paco/instructions/uk.md +++ b/markdown/org/docs/designs/paco/instructions/uk.md @@ -178,7 +178,7 @@ title: "Штани пако: Інструкція з пошиття" ## Крок 12: Приєднайте пояс -Покладіть обидві частини пояса лицьовими сторонами один до одного і вирівняйте короткі краї. Зшийте короткі краї разом, потім натисніть відкрити. Вони будуть всередині пояса, тому вам не потрібно обробляти краї цих швів, якщо тільки ваша тканина не буде особливо схильна до зношування. +Fold the waistband in half with good sides together, aligning the two short edge ends. Sew the short edges together to sew the waistband into a ring. Press open the seam. They will be inside the waistband, so you don't need to finish the edges of these seams unless your fabric is particularly likely to fray. ![З'єднані частини пояса](step12.svg) From 686032e5dee20c5da75d4cab00e70490dc359fa1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sun, 28 Jan 2024 20:55:48 +0100 Subject: [PATCH 1191/1313] Update source file en.md skip-build --- markdown/org/docs/designs/paco/instructions/en.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/paco/instructions/en.md b/markdown/org/docs/designs/paco/instructions/en.md index a7e5e7b109b..a0e5151c9c1 100644 --- a/markdown/org/docs/designs/paco/instructions/en.md +++ b/markdown/org/docs/designs/paco/instructions/en.md @@ -212,9 +212,12 @@ Mark this length, cut the elastic, and join the two ends together. ## Step 12: Join the waistband -Place the two waistband pieces good sides together, and align the short edges. Sew the short edges -together, then press open. These will be inside the waistband, so you don't need to finish the edges -of these seams unless your fabric is particularly likely to fray. +Fold the waistband in half with good sides together, aligning the two +short edge ends. +Sew the short edges together to sew the waistband into a ring. +Press open the seam. +They will be inside the waistband, so you don't need to finish the +edges of these seams unless your fabric is particularly likely to fray. ![Joined waistband pieces](step12.svg) From 395b7539d681b5fb7df750a88adf610ce25a3c6a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 00:57:56 +0100 Subject: [PATCH 1192/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/albert/notes/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/albert/notes/es.md b/markdown/org/docs/designs/albert/notes/es.md index 65b42dd215d..5c0f6615d28 100644 --- a/markdown/org/docs/designs/albert/notes/es.md +++ b/markdown/org/docs/designs/albert/notes/es.md @@ -2,10 +2,10 @@ title: "Delantal Albert: Notas del diseñador" --- -Albert was something that I didn't plan on making. My daughter, who's a visual artist, asked if I could make her an apron. Of course, I could not deny her such a request. And since I didn't have a pattern, I needed to make one. And that meant that I could just as well make one for FreeSewing while I was at it. +Albert era algo que no tenía pensado hacer. Mi hija, que es artista plástica, me preguntó si podía hacerle un delantal. Por supuesto, no pude negarme. Y como no tenía un patrón, necesitaba crear uno. Y eso quería decir que, de paso, también podía hacer un patrón para FreeSewing. -The design is simple, since an apron generally is. And yet, where else than at FreeSewing can you get a bespoke apron? +El diseño es sencillo, ya que los delantales también suelen serlo. Y, sin embargo, ¿dónde más que en FreeSewing puedes conseguir un delantal a medida? -This is a very good project for a beginning sewist. +Es un proyecto muy apropiado para principiantes. Wouter From 92c856209b85d4b367c11c7d3f0d6a04c851d503 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 28 Jan 2024 10:40:07 -0800 Subject: [PATCH 1193/1313] fix(carlton) Fix stray seam allowance path --- designs/carlton/src/collar.mjs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/designs/carlton/src/collar.mjs b/designs/carlton/src/collar.mjs index 66d618691cc..62374052df0 100644 --- a/designs/carlton/src/collar.mjs +++ b/designs/carlton/src/collar.mjs @@ -167,13 +167,10 @@ function draftCarltonCollar({ sa, points, options, macro, paths, Path, part, sto ._curve(points.topLeftCp, points.topLeft) paths.seam = paths.saBase.clone().line(points.standTop).close().attr('class', 'fabric') - if (sa) - paths.sa = paths.saBase - .offset(sa) - .line(points.topLeft) - .move(points.standTop) - .line(paths.sa.start()) - .addClass('fabric sa') + if (sa) { + paths.sa = paths.saBase.offset(sa).line(points.topLeft) + paths.sa.move(points.standTop).line(paths.sa.start()).addClass('fabric sa') + } /* * Annotations From 0b6bb28dc8897cfa886a455a8a2c69809fae28f3 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Sun, 28 Jan 2024 17:25:06 -0800 Subject: [PATCH 1194/1313] fix(brian): Flag.warn if shoulder width too large --- designs/brian/i18n/en.json | 7 ++++++- designs/brian/src/base.mjs | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/designs/brian/i18n/en.json b/designs/brian/i18n/en.json index 584169cbab0..1d8f60bcd18 100644 --- a/designs/brian/i18n/en.json +++ b/designs/brian/i18n/en.json @@ -8,7 +8,12 @@ "sleevecap": "Sleevecap", "sleeve": "Sleeve" }, - "s": {}, + "s": { + "largeShoulderWidth": { + "t": "Shoulder Width larger than anticipated", + "d": "The pattern was not able to generate an optimal armhole shape using the given measurements and options. Please be aware that the generated pattern may not be correct. Please retake your measurements, verify that they are correct, and try generating a new pattern with the new measurements." + } + }, "o": { "acrossBackFactor": { "t": "Across back factor", diff --git a/designs/brian/src/base.mjs b/designs/brian/src/base.mjs index bf25a8d8f6d..1fe0e1d7cd1 100644 --- a/designs/brian/src/base.mjs +++ b/designs/brian/src/base.mjs @@ -125,6 +125,12 @@ export const base = { (measurements.chest * (1 + options.chestEase)) / 4, points.cbArmhole.y ) + + if (points.shoulder.x >= points.armhole.x) + store.flag.warn({ + msg: 'brian:largeShoulderWidth', + }) + points.waist = new Point(points.armhole.x, points.cbWaist.y) points.hips = new Point(points.armhole.x, points.cbHips.y) points.hem = new Point(points.armhole.x, points.cbHem.y) From 48dad3ae1be78fe01898ec7328faabc010aa0ba4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 04:37:17 +0000 Subject: [PATCH 1195/1313] build(deps-dev): bump esbuild from 0.19.12 to 0.20.0 Bumps [esbuild](https://github.com/evanw/esbuild) from 0.19.12 to 0.20.0. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.19.12...v0.20.0) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- sites/backend/package.json | 2 +- yarn.lock | 238 ++++++++++++++++++------------------- 3 files changed, 121 insertions(+), 121 deletions(-) diff --git a/package.json b/package.json index b23e892d98b..018eca7a7fb 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "chalk": "^4.1.0", "codecov": "^3.8.3", "cross-env": "^7.0.2", - "esbuild": "^0.19.0", + "esbuild": "^0.20.0", "esbuild-plugin-yaml": "^0.0.1", "eslint": "^8.23.1", "eslint-plugin-jsonc": "^2.4.0", diff --git a/sites/backend/package.json b/sites/backend/package.json index f2e5b0104e2..e3dc0a4d753 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -49,7 +49,7 @@ "devDependencies": { "chai": "4.3.10", "chai-http": "4.4.0", - "esbuild": "0.19.12", + "esbuild": "0.20.0", "mocha": "10.2.0", "mocha-steps": "1.3.0", "nodemon": "3.0.3", diff --git a/yarn.lock b/yarn.lock index c5ab98ff651..69e152642c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1072,120 +1072,120 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@esbuild/aix-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" - integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== +"@esbuild/aix-ppc64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.0.tgz#509621cca4e67caf0d18561a0c56f8b70237472f" + integrity sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw== -"@esbuild/android-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" - integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== +"@esbuild/android-arm64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.0.tgz#109a6fdc4a2783fc26193d2687827045d8fef5ab" + integrity sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q== -"@esbuild/android-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" - integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== +"@esbuild/android-arm@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.0.tgz#1397a2c54c476c4799f9b9073550ede496c94ba5" + integrity sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g== -"@esbuild/android-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" - integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== +"@esbuild/android-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.0.tgz#2b615abefb50dc0a70ac313971102f4ce2fdb3ca" + integrity sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ== -"@esbuild/darwin-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" - integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== +"@esbuild/darwin-arm64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.0.tgz#5c122ed799eb0c35b9d571097f77254964c276a2" + integrity sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ== -"@esbuild/darwin-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" - integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== +"@esbuild/darwin-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.0.tgz#9561d277002ba8caf1524f209de2b22e93d170c1" + integrity sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw== -"@esbuild/freebsd-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" - integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== +"@esbuild/freebsd-arm64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.0.tgz#84178986a3138e8500d17cc380044868176dd821" + integrity sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ== -"@esbuild/freebsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" - integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== +"@esbuild/freebsd-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.0.tgz#3f9ce53344af2f08d178551cd475629147324a83" + integrity sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ== -"@esbuild/linux-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" - integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== +"@esbuild/linux-arm64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.0.tgz#24efa685515689df4ecbc13031fa0a9dda910a11" + integrity sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw== -"@esbuild/linux-arm@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" - integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== +"@esbuild/linux-arm@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.0.tgz#6b586a488e02e9b073a75a957f2952b3b6e87b4c" + integrity sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg== -"@esbuild/linux-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" - integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== +"@esbuild/linux-ia32@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.0.tgz#84ce7864f762708dcebc1b123898a397dea13624" + integrity sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w== -"@esbuild/linux-loong64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" - integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== +"@esbuild/linux-loong64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.0.tgz#1922f571f4cae1958e3ad29439c563f7d4fd9037" + integrity sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw== -"@esbuild/linux-mips64el@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" - integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== +"@esbuild/linux-mips64el@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.0.tgz#7ca1bd9df3f874d18dbf46af009aebdb881188fe" + integrity sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ== -"@esbuild/linux-ppc64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" - integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== +"@esbuild/linux-ppc64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.0.tgz#8f95baf05f9486343bceeb683703875d698708a4" + integrity sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw== -"@esbuild/linux-riscv64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" - integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== +"@esbuild/linux-riscv64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.0.tgz#ca63b921d5fe315e28610deb0c195e79b1a262ca" + integrity sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA== -"@esbuild/linux-s390x@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" - integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== +"@esbuild/linux-s390x@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.0.tgz#cb3d069f47dc202f785c997175f2307531371ef8" + integrity sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ== -"@esbuild/linux-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" - integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== +"@esbuild/linux-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.0.tgz#ac617e0dc14e9758d3d7efd70288c14122557dc7" + integrity sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg== -"@esbuild/netbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" - integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== +"@esbuild/netbsd-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.0.tgz#6cc778567f1513da6e08060e0aeb41f82eb0f53c" + integrity sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ== -"@esbuild/openbsd-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" - integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== +"@esbuild/openbsd-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.0.tgz#76848bcf76b4372574fb4d06cd0ed1fb29ec0fbe" + integrity sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA== -"@esbuild/sunos-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" - integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== +"@esbuild/sunos-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.0.tgz#ea4cd0639bf294ad51bc08ffbb2dac297e9b4706" + integrity sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g== -"@esbuild/win32-arm64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" - integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== +"@esbuild/win32-arm64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.0.tgz#a5c171e4a7f7e4e8be0e9947a65812c1535a7cf0" + integrity sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ== -"@esbuild/win32-ia32@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" - integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== +"@esbuild/win32-ia32@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.0.tgz#f8ac5650c412d33ea62d7551e0caf82da52b7f85" + integrity sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg== -"@esbuild/win32-x64@0.19.12": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" - integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== +"@esbuild/win32-x64@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.0.tgz#2efddf82828aac85e64cef62482af61c29561bee" + integrity sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" @@ -5305,34 +5305,34 @@ esbuild-plugin-yaml@^0.0.1: fs-extra "^9.1.0" js-yaml "^4.0.0" -esbuild@0.19.12, esbuild@^0.19.0: - version "0.19.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" - integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== +esbuild@0.20.0, esbuild@^0.20.0: + version "0.20.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.0.tgz#a7170b63447286cd2ff1f01579f09970e6965da4" + integrity sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA== optionalDependencies: - "@esbuild/aix-ppc64" "0.19.12" - "@esbuild/android-arm" "0.19.12" - "@esbuild/android-arm64" "0.19.12" - "@esbuild/android-x64" "0.19.12" - "@esbuild/darwin-arm64" "0.19.12" - "@esbuild/darwin-x64" "0.19.12" - "@esbuild/freebsd-arm64" "0.19.12" - "@esbuild/freebsd-x64" "0.19.12" - "@esbuild/linux-arm" "0.19.12" - "@esbuild/linux-arm64" "0.19.12" - "@esbuild/linux-ia32" "0.19.12" - "@esbuild/linux-loong64" "0.19.12" - "@esbuild/linux-mips64el" "0.19.12" - "@esbuild/linux-ppc64" "0.19.12" - "@esbuild/linux-riscv64" "0.19.12" - "@esbuild/linux-s390x" "0.19.12" - "@esbuild/linux-x64" "0.19.12" - "@esbuild/netbsd-x64" "0.19.12" - "@esbuild/openbsd-x64" "0.19.12" - "@esbuild/sunos-x64" "0.19.12" - "@esbuild/win32-arm64" "0.19.12" - "@esbuild/win32-ia32" "0.19.12" - "@esbuild/win32-x64" "0.19.12" + "@esbuild/aix-ppc64" "0.20.0" + "@esbuild/android-arm" "0.20.0" + "@esbuild/android-arm64" "0.20.0" + "@esbuild/android-x64" "0.20.0" + "@esbuild/darwin-arm64" "0.20.0" + "@esbuild/darwin-x64" "0.20.0" + "@esbuild/freebsd-arm64" "0.20.0" + "@esbuild/freebsd-x64" "0.20.0" + "@esbuild/linux-arm" "0.20.0" + "@esbuild/linux-arm64" "0.20.0" + "@esbuild/linux-ia32" "0.20.0" + "@esbuild/linux-loong64" "0.20.0" + "@esbuild/linux-mips64el" "0.20.0" + "@esbuild/linux-ppc64" "0.20.0" + "@esbuild/linux-riscv64" "0.20.0" + "@esbuild/linux-s390x" "0.20.0" + "@esbuild/linux-x64" "0.20.0" + "@esbuild/netbsd-x64" "0.20.0" + "@esbuild/openbsd-x64" "0.20.0" + "@esbuild/sunos-x64" "0.20.0" + "@esbuild/win32-arm64" "0.20.0" + "@esbuild/win32-ia32" "0.20.0" + "@esbuild/win32-x64" "0.20.0" escalade@^3.1.1: version "3.1.1" From b83c27fef1f46daa9c42ff38a3183031ae63264d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 04:37:40 +0000 Subject: [PATCH 1196/1313] build(deps-dev): bump @commitlint/config-conventional Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 18.5.0 to 18.6.0. - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v18.6.0/@commitlint/config-conventional) --- updated-dependencies: - dependency-name: "@commitlint/config-conventional" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index c5ab98ff651..12cd14f747f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -927,9 +927,9 @@ yargs "^17.0.0" "@commitlint/config-conventional@^18.1.0": - version "18.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.5.0.tgz#b50b317dfef81f34ff46ef581a5a4a11dafcae59" - integrity sha512-XGmU4u3Z7bCn0H0nTEG9LUn6hMDUIPP4P6dun7PKFhtnt/wwiKAqmPj+QRmFiqWjkOWcmrh7w7xRiDL32cWS5g== + version "18.6.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-18.6.0.tgz#88da3e34e2bfcd8a5d46bcc472553e7f63f35323" + integrity sha512-CDCOf2eJz9D/TL44IBks0stM9TmdLCNE2B48owIU3YCadwzts/bobXPScagIgPQF6hhKYMEdj5zpUDlmbwuqwQ== dependencies: conventional-changelog-conventionalcommits "^7.0.2" From 6fb68790b3923a93c1f57cddef6887eca71999d5 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 29 Jan 2024 07:39:17 -0800 Subject: [PATCH 1197/1313] fix(hugo): Correct ribbing stretch option doc --- .../docs/designs/hugo/options/ribbingstretch/en.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md index aae367d01eb..433f8a46569 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md @@ -6,8 +6,15 @@ title: "Ribbing stretch" This option allows you to tweak the stretch of your ribbing. -If you choose 90% (for example) for every 10cm of ribbing, we'll only draft 9cm. -This way, 9cm of ribbing will be stretched to 10cm. +It's value is the percentage of stretch in the ribbing fabric, and +that amount will be subtracted from 100% to determine the final width +of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, +we'll only draft 9 cm. +This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 83ae88c5d5884cf9d948ee5b960df49974af45cf Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 29 Jan 2024 08:43:38 -0800 Subject: [PATCH 1198/1313] fix(markdown): Remove unused list attribute from ReadMore tags --- markdown/dev/guides/best-practices/en.md | 2 +- .../dev/guides/code-of-conduct/enforcement-guidelines/en.md | 2 +- markdown/dev/guides/markdown/en.md | 2 +- markdown/dev/guides/plugins/en.md | 2 +- markdown/dev/guides/prerequisites/en.md | 2 +- markdown/dev/howtos/code/en.md | 2 +- markdown/dev/howtos/design/en.md | 2 +- markdown/dev/howtos/editors/en.md | 2 +- markdown/dev/howtos/editors/frontmatter/about/en.md | 2 +- markdown/dev/howtos/editors/frontmatter/en.md | 2 +- markdown/dev/howtos/ways-to-contribute/technical-writing/en.md | 2 +- markdown/dev/reference/api/attributes/en.md | 2 +- markdown/dev/reference/api/defs/en.md | 2 +- markdown/dev/reference/api/path/en.md | 2 +- markdown/dev/reference/api/pattern/en.md | 2 +- markdown/dev/reference/api/point/en.md | 2 +- markdown/dev/reference/api/snippet/en.md | 2 +- markdown/dev/reference/api/stack/en.md | 2 +- markdown/dev/reference/api/svg/en.md | 2 +- markdown/dev/reference/api/utils/en.md | 2 +- markdown/dev/reference/hooks/en.md | 2 +- markdown/dev/reference/macros/en.md | 2 +- markdown/dev/reference/settings/en.md | 2 +- markdown/dev/reference/snippets/en.md | 2 +- markdown/dev/reference/store-methods/en.md | 2 +- markdown/dev/tutorials/en.md | 2 +- markdown/org/docs/about/en.md | 2 +- markdown/org/docs/designs/en.md | 2 +- markdown/org/docs/measurements/en.md | 2 +- markdown/org/docs/sewing/en.md | 2 +- 30 files changed, 30 insertions(+), 30 deletions(-) diff --git a/markdown/dev/guides/best-practices/en.md b/markdown/dev/guides/best-practices/en.md index be23d9a888a..fca2f03113b 100644 --- a/markdown/dev/guides/best-practices/en.md +++ b/markdown/dev/guides/best-practices/en.md @@ -4,4 +4,4 @@ title: Pattern design best practices Here is a list of best practices when designing patterns: - + diff --git a/markdown/dev/guides/code-of-conduct/enforcement-guidelines/en.md b/markdown/dev/guides/code-of-conduct/enforcement-guidelines/en.md index 37202cd5ec7..1ac87e26ca0 100644 --- a/markdown/dev/guides/code-of-conduct/enforcement-guidelines/en.md +++ b/markdown/dev/guides/code-of-conduct/enforcement-guidelines/en.md @@ -7,4 +7,4 @@ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of FreeSewing's Code of Conduct: - + diff --git a/markdown/dev/guides/markdown/en.md b/markdown/dev/guides/markdown/en.md index 701b2db7c07..055bf5a9f9c 100644 --- a/markdown/dev/guides/markdown/en.md +++ b/markdown/dev/guides/markdown/en.md @@ -11,7 +11,7 @@ or anywhere where you want rich text while using a plain text editor. In this guide, we'll look at the following topics: - + This will be enough to get you started. If you'd like to learn more, visit [markdownguide.org](https://www.markdownguide.org/). diff --git a/markdown/dev/guides/plugins/en.md b/markdown/dev/guides/plugins/en.md index f22432c1b83..637adad57b0 100644 --- a/markdown/dev/guides/plugins/en.md +++ b/markdown/dev/guides/plugins/en.md @@ -20,4 +20,4 @@ this guide is for you. We'll cover the following topics: - + diff --git a/markdown/dev/guides/prerequisites/en.md b/markdown/dev/guides/prerequisites/en.md index 79e5accadcf..79adbe514fb 100644 --- a/markdown/dev/guides/prerequisites/en.md +++ b/markdown/dev/guides/prerequisites/en.md @@ -9,7 +9,7 @@ but doesn't have to be complicated once you understand a few basic building bloc Understanding the concepts that are involved in designing sewing patterns in code will pay dividends later. That is why we recommend you familiarize yourself with the following topics: - + diff --git a/markdown/dev/howtos/code/en.md b/markdown/dev/howtos/code/en.md index b5c42846dad..a4c79fb4f01 100644 --- a/markdown/dev/howtos/code/en.md +++ b/markdown/dev/howtos/code/en.md @@ -4,4 +4,4 @@ title: Common code challenges Below is a list of examples of how to implement common tasks in code: - + diff --git a/markdown/dev/howtos/design/en.md b/markdown/dev/howtos/design/en.md index 4bd4d4ca7a9..b9cd4f69cb5 100644 --- a/markdown/dev/howtos/design/en.md +++ b/markdown/dev/howtos/design/en.md @@ -4,4 +4,4 @@ title: Common design challenges Below is a list of examples of how to implement common design challenges in code: - + diff --git a/markdown/dev/howtos/editors/en.md b/markdown/dev/howtos/editors/en.md index 8e57da7d899..e4828af3217 100644 --- a/markdown/dev/howtos/editors/en.md +++ b/markdown/dev/howtos/editors/en.md @@ -4,4 +4,4 @@ title: Common tasks for editors Below is a list of commons tasks for editors - + diff --git a/markdown/dev/howtos/editors/frontmatter/about/en.md b/markdown/dev/howtos/editors/frontmatter/about/en.md index 7e2ead47b92..6a3bbfa61a1 100644 --- a/markdown/dev/howtos/editors/frontmatter/about/en.md +++ b/markdown/dev/howtos/editors/frontmatter/about/en.md @@ -19,4 +19,4 @@ order: 20 --- ``` - + diff --git a/markdown/dev/howtos/editors/frontmatter/en.md b/markdown/dev/howtos/editors/frontmatter/en.md index bd8d6707dbe..08e16936145 100644 --- a/markdown/dev/howtos/editors/frontmatter/en.md +++ b/markdown/dev/howtos/editors/frontmatter/en.md @@ -7,4 +7,4 @@ It is used extensively on freesewing.org and freesewing.dev alike. Here's what you need to know: - + diff --git a/markdown/dev/howtos/ways-to-contribute/technical-writing/en.md b/markdown/dev/howtos/ways-to-contribute/technical-writing/en.md index 3bce8559562..ba6435334aa 100644 --- a/markdown/dev/howtos/ways-to-contribute/technical-writing/en.md +++ b/markdown/dev/howtos/ways-to-contribute/technical-writing/en.md @@ -2,4 +2,4 @@ title: Technical writing --- - + diff --git a/markdown/dev/reference/api/attributes/en.md b/markdown/dev/reference/api/attributes/en.md index 327dbed793b..fb6d194ec25 100644 --- a/markdown/dev/reference/api/attributes/en.md +++ b/markdown/dev/reference/api/attributes/en.md @@ -15,7 +15,7 @@ The Attributes constructor takes no arguments. ## Methods An Attributes object exposes the following methods: - + ## Notes diff --git a/markdown/dev/reference/api/defs/en.md b/markdown/dev/reference/api/defs/en.md index b3d6c3d2da4..4e77f0db2f2 100644 --- a/markdown/dev/reference/api/defs/en.md +++ b/markdown/dev/reference/api/defs/en.md @@ -12,5 +12,5 @@ they are documented here to facilitate development of plugins. ## Defs methods - + diff --git a/markdown/dev/reference/api/path/en.md b/markdown/dev/reference/api/path/en.md index 174caedcd0a..9b05f09e825 100644 --- a/markdown/dev/reference/api/path/en.md +++ b/markdown/dev/reference/api/path/en.md @@ -47,4 +47,4 @@ for information about custom Attributes that can be used with Paths. A Path object exposes the following methods: - + diff --git a/markdown/dev/reference/api/pattern/en.md b/markdown/dev/reference/api/pattern/en.md index 7ace9e6d951..fbceb6f7bd9 100644 --- a/markdown/dev/reference/api/pattern/en.md +++ b/markdown/dev/reference/api/pattern/en.md @@ -82,4 +82,4 @@ It just so happens that in most cases, there will be only one settings object in ## Pattern methods - + diff --git a/markdown/dev/reference/api/point/en.md b/markdown/dev/reference/api/point/en.md index 391bcb1b089..125885c8171 100644 --- a/markdown/dev/reference/api/point/en.md +++ b/markdown/dev/reference/api/point/en.md @@ -45,4 +45,4 @@ for information about custom Attributes that can be used with Points. A Point object exposes the following methods: - + diff --git a/markdown/dev/reference/api/snippet/en.md b/markdown/dev/reference/api/snippet/en.md index 4dca02ea398..4e625bacb47 100644 --- a/markdown/dev/reference/api/snippet/en.md +++ b/markdown/dev/reference/api/snippet/en.md @@ -51,4 +51,4 @@ for information about custom Attributes that can be used with Snippets. A Snippet object exposes the following methods: - + diff --git a/markdown/dev/reference/api/stack/en.md b/markdown/dev/reference/api/stack/en.md index a987771db9d..a9eda64f38b 100644 --- a/markdown/dev/reference/api/stack/en.md +++ b/markdown/dev/reference/api/stack/en.md @@ -39,4 +39,4 @@ Stack objects come with the following properties: A Stack object exposes the following methods: - + diff --git a/markdown/dev/reference/api/svg/en.md b/markdown/dev/reference/api/svg/en.md index d9943170751..c95b3c3f2ed 100644 --- a/markdown/dev/reference/api/svg/en.md +++ b/markdown/dev/reference/api/svg/en.md @@ -12,4 +12,4 @@ want to develop a plugin, or use a custom layout. ## Svg methods & properties - + diff --git a/markdown/dev/reference/api/utils/en.md b/markdown/dev/reference/api/utils/en.md index d0fae95d8d7..64889a949ca 100644 --- a/markdown/dev/reference/api/utils/en.md +++ b/markdown/dev/reference/api/utils/en.md @@ -7,4 +7,4 @@ facilitate parametric design. The following functions are provided by the `utils` object: - + diff --git a/markdown/dev/reference/hooks/en.md b/markdown/dev/reference/hooks/en.md index 67024c0f52d..052046fafff 100644 --- a/markdown/dev/reference/hooks/en.md +++ b/markdown/dev/reference/hooks/en.md @@ -14,6 +14,6 @@ receive two parameters: Below is a list of all available lifecycle hooks: - + diff --git a/markdown/dev/reference/macros/en.md b/markdown/dev/reference/macros/en.md index 4c69b6ef03a..cfbf98bb747 100644 --- a/markdown/dev/reference/macros/en.md +++ b/markdown/dev/reference/macros/en.md @@ -74,5 +74,5 @@ Below is a list of macros from [the plugins we maintain](/reference/plugins). We use camelCase here, but macro names are case-insensitive - + diff --git a/markdown/dev/reference/settings/en.md b/markdown/dev/reference/settings/en.md index 80dd8dc27c0..b34ae5d8519 100644 --- a/markdown/dev/reference/settings/en.md +++ b/markdown/dev/reference/settings/en.md @@ -33,7 +33,7 @@ Object settings = { Below is a complete list of all supported properties in a settings object: - + ## Notes diff --git a/markdown/dev/reference/snippets/en.md b/markdown/dev/reference/snippets/en.md index 44e70d25e59..4906c944629 100644 --- a/markdown/dev/reference/snippets/en.md +++ b/markdown/dev/reference/snippets/en.md @@ -26,4 +26,4 @@ for information about custom Attributes that can be used with Snippets. Below are all the different snippets we maintain. - + diff --git a/markdown/dev/reference/store-methods/en.md b/markdown/dev/reference/store-methods/en.md index 5a943d264b4..e0cb3def1d3 100644 --- a/markdown/dev/reference/store-methods/en.md +++ b/markdown/dev/reference/store-methods/en.md @@ -23,5 +23,5 @@ as second parameter a single configuration object for the method. ## Store methods we maintain - + diff --git a/markdown/dev/tutorials/en.md b/markdown/dev/tutorials/en.md index 336a7930bfc..0e585edf291 100644 --- a/markdown/dev/tutorials/en.md +++ b/markdown/dev/tutorials/en.md @@ -6,7 +6,7 @@ order: zaa You can find a list of all FreeSewing tutorials below: ## Main sections - + diff --git a/markdown/org/docs/about/en.md b/markdown/org/docs/about/en.md index d3f9c8d08f7..efeb0d35185 100644 --- a/markdown/org/docs/about/en.md +++ b/markdown/org/docs/about/en.md @@ -2,4 +2,4 @@ title: About FreeSewing --- - + diff --git a/markdown/org/docs/designs/en.md b/markdown/org/docs/designs/en.md index 2242d097529..c6d7467da29 100644 --- a/markdown/org/docs/designs/en.md +++ b/markdown/org/docs/designs/en.md @@ -2,4 +2,4 @@ title: FreeSewing Designs --- - + diff --git a/markdown/org/docs/measurements/en.md b/markdown/org/docs/measurements/en.md index 41602db0d49..586698c0bc2 100644 --- a/markdown/org/docs/measurements/en.md +++ b/markdown/org/docs/measurements/en.md @@ -2,4 +2,4 @@ title: Measurements we use --- - + diff --git a/markdown/org/docs/sewing/en.md b/markdown/org/docs/sewing/en.md index 64669a96ffc..27cb45210a4 100644 --- a/markdown/org/docs/sewing/en.md +++ b/markdown/org/docs/sewing/en.md @@ -2,4 +2,4 @@ title: Sewing Terminology --- - + From da8278aadd40350677e0ee361c2cfbcfdcd16175 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 18:53:59 +0100 Subject: [PATCH 1199/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hugo/options/ribbingstretch/fr.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/fr.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/fr.md index 104e377dd88..e77ced6704b 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/fr.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/fr.md @@ -6,7 +6,11 @@ title: "Élasticité du bord côte" Cette option vous permet d'adapter élasticité de votre bord côte. -Si vous choisissez 90% (par exemple), pour une longueur de 10 cm de tissu, la dimension sur le patron ne sera que de 9 cm. De cette façon, 9 cm de bord côte seront étirés jusqu'à 10 cm. +It's value is the percentage of stretch in the ribbing fabric, and that amount will be subtracted from 100% to determine the final width of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, we'll only draft 9 cm. This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From be759057c16ba01e487b422269ecfa337f7a785d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 19:17:16 +0100 Subject: [PATCH 1200/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hugo/options/ribbingstretch/es.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/es.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/es.md index 4821d9c5fdb..91ed24057c7 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/es.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/es.md @@ -6,7 +6,11 @@ title: "Extensión de tejido acanalado" Esta opción le permite ajustar el estiramiento de su ribbing. -Si usted elige el 90% (por ejemplo) por cada 10 cm de ribbing, sólo borraremos 9 cm. De esta manera, 9cm de ribbing se estirará a 10cm. +It's value is the percentage of stretch in the ribbing fabric, and that amount will be subtracted from 100% to determine the final width of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, we'll only draft 9 cm. This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 5d5e1e42b3b09a1f888ce8d68f61bf4895a10e92 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 19:40:12 +0100 Subject: [PATCH 1201/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hugo/options/ribbingstretch/de.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/de.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/de.md index 4527e687c6e..b4803e18877 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/de.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/de.md @@ -6,7 +6,11 @@ title: "Bündchen-Elastizität" Mit dieser Option kannst du die Dehnung deines Bündchens anpassen. -Wenn du zum Beispiel 90% für jede 10cm an Bündchen auswählst, werden wir nur 9 cm zeichnen. Auf diese Weise werden 9 cm Bänder auf 10 cm gestreckt. +It's value is the percentage of stretch in the ribbing fabric, and that amount will be subtracted from 100% to determine the final width of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, we'll only draft 9 cm. This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 57e03fa80ab7407794e39f7a11be7928a4c67389 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 20:03:03 +0100 Subject: [PATCH 1202/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hugo/options/ribbingstretch/nl.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/nl.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/nl.md index 7de0ff9af83..7ea58897aff 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/nl.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/nl.md @@ -6,7 +6,11 @@ title: "Stretch boordstof" Met deze optie kan je de stretch van je boord aanpassen. -Als je (bijvoorbeeld) 90% kiest, tekenen we voor elke 10 cm boord maar 9 cm. Zo wordt 9 cm boord uitgerokken tot 10 cm. +It's value is the percentage of stretch in the ribbing fabric, and that amount will be subtracted from 100% to determine the final width of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, we'll only draft 9 cm. This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 0d65635ef3f9b3695cce1d4ba91d4c3c5a922c9c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 20:26:08 +0100 Subject: [PATCH 1203/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hugo/options/ribbingstretch/uk.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/uk.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/uk.md index 3104c2b544c..22a26a5749d 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/uk.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/uk.md @@ -6,7 +6,11 @@ title: "Розтяжка ребристої стрічки" Ця опція дозволяє налаштувати розтягнення ребер. -Якщо ви виберете 90% (наприклад) на кожні 10 см ребра, ми витягнемо лише 9 см. Таким чином, 9 см ребер будуть розтягнуті до 10 см. +It's value is the percentage of stretch in the ribbing fabric, and that amount will be subtracted from 100% to determine the final width of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, we'll only draft 9 cm. This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 115b23c3653d7bf445ba5e8f3fab143652030a1a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Mon, 29 Jan 2024 20:55:52 +0100 Subject: [PATCH 1204/1313] Update source file en.md skip-build --- .../docs/designs/hugo/options/ribbingstretch/en.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md b/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md index aae367d01eb..433f8a46569 100644 --- a/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md +++ b/markdown/org/docs/designs/hugo/options/ribbingstretch/en.md @@ -6,8 +6,15 @@ title: "Ribbing stretch" This option allows you to tweak the stretch of your ribbing. -If you choose 90% (for example) for every 10cm of ribbing, we'll only draft 9cm. -This way, 9cm of ribbing will be stretched to 10cm. +It's value is the percentage of stretch in the ribbing fabric, and +that amount will be subtracted from 100% to determine the final width +of fabric used in the pattern. + +For example, if you choose 10%, then for every 10 cm of ribbing, +we'll only draft 9 cm. +This way, 9 cm of ribbing will be stretched to 10 cm. + +The option range is between 0% and 10%, with the default set to 5%. From 06b460cf9ca7172e799d801fdb2ac7238ba4f1da Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 29 Jan 2024 14:03:04 -0800 Subject: [PATCH 1205/1313] fix(markdown): Add more info to Extending Options part doc --- .../reference/api/part/config/options/en.md | 4 ++ .../api/part/config/options/extend/en.md | 66 +++++++++---------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/markdown/dev/reference/api/part/config/options/en.md b/markdown/dev/reference/api/part/config/options/en.md index c5fba642a6e..ad05ed8277a 100644 --- a/markdown/dev/reference/api/part/config/options/en.md +++ b/markdown/dev/reference/api/part/config/options/en.md @@ -43,6 +43,9 @@ These are the types of options supported by the FreeSewing core library: 6. [**millimeter** options][mm] are supported but not recommended (see warning below) 7. [**percentage** options][pct] are for percentages (and can optionally be [**snapped percentage** options][snapped]) +These options can be [extended][extend] with additional, optional +information to help with their use outside of the core. + In parametric design, percentage options are by far the most common. @@ -69,3 +72,4 @@ percentage options][snapped] instead. [pct]: /reference/api/part/config/options/pct [snapped]: /reference/api/part/config/options/pct/snap [mm]: /reference/api/part/config/options/mm +[extend]: /reference/api/part/config/options/extend diff --git a/markdown/dev/reference/api/part/config/options/extend/en.md b/markdown/dev/reference/api/part/config/options/extend/en.md index cf61e59d44a..b7e7ac7acc5 100644 --- a/markdown/dev/reference/api/part/config/options/extend/en.md +++ b/markdown/dev/reference/api/part/config/options/extend/en.md @@ -2,58 +2,56 @@ title: Extending options --- - - -Explain extending options here - - +Additional, optional information can be added to options to extend +their use outside of core functionality. +This can be useful when using FreeSewing through a frontend UI. +The extended information can be used by the frontend to affect +how options are presented. -## Suppress translation +## Add menu structure -In the example above, you want the different `list` options to be translated. -But sometimes, there is no need for that, like in this example from Breanna: +Because FreeSewing designs hae been written with the expectation that +they will be used primarily through the freesewing.org website, +their options have been extended with menu information. ```js options: { - primaryBustDart: { - list: [ - '06:00', - '07:00', - '08:00', - '09:00', - '10:00', - '11:00', - '11:30', - '12:00', - '12:30', - '13:00', - '13:30', - '14:00', - '15:00', - '16:00', - '17:00', - ], - dflt: '06:00', - doNotTranslate: true, - }, - // More here + // Fit + waistEase: { pct: 2, min: 0, max: 10, menu: 'fit' }, + seatEase: { pct: 5, min: 0, max: 15, menu: 'fit' }, + // Style + waistHeight: { pct: 5, min: 0, max: 100, menu: 'style' }, + lengthBonus: { pct: 0, min: -15, max: 10, menu: 'style' }, + elasticatedCuff: { bool: true, menu: 'style' }, + buttons = { count: 7, min: 4, max: 12, menu: 'style.closure' } + extraTopButton = { bool: true, menu: 'style.closure' } } ``` -As you can see above, you can set the `doNotTranslate` property to `true` and to indicate this. +In the above example, the added `menu` attributes provide the +the freesewing.org website UI with information about the options +should appear in menus. +The `waistEase` and `seatEase` options should appear in the `fit` +menu while the other options go in the `style` menu. +Additionally, the `buttons` and `extraTopButton` options should +appear in a `closure` submenu under the `style` menu. ##### This is not a core feature -To be clear, setting this here does not do anything in core. It's merely extra -metadata you can add on the option to facilitate frontend integration. +To be clear, setting this here does not do anything in core. +It's merely extra metadata you can add on the option to facilitate +frontend integration. + + ## Suppress translation -In the example above, you want the different `list` options to be translated. +When using `list` options, we usually we want the different options +in the list to be translated. But sometimes, there is no need for that, like in this example from Breanna: ```js From 576f1e5bafeaea98608fcf7b440e7316427dbadd Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 29 Jan 2024 15:40:33 -0800 Subject: [PATCH 1206/1313] fix(markdown): Add cbqc and goldenRatio links and info to core API --- markdown/dev/reference/api/en.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/markdown/dev/reference/api/en.md b/markdown/dev/reference/api/en.md index 957b2da4079..86f69f932ff 100644 --- a/markdown/dev/reference/api/en.md +++ b/markdown/dev/reference/api/en.md @@ -46,11 +46,26 @@ I have grouped them below in different categories: | Named export | Description | | -------------- | ------------| -| `cbqc` | The Cubic Bezier Quarter Circle constant: `0.55191502449351` FIXME: include link | +| `cbqc` | The [cubic Bézier quarter circle](https://pomax.github.io/bezierinfo/#circles_cubic) constant: `0.55191502449351` | | `hidePresets` | Presets you can use to [configure your part `hide` option](/reference/api/part/config/hide). | -| `goldenRatio` | The golden ratio constant: `1.618034` FIXME: include link | +| `goldenRatio` | The [golden ratio](https://en.wikipedia.org/wiki/Golden_ratio) constant: `1.618034` | | `version` | The version of `@freesewing/core` | + + +The `cbqc` cubic Bézier quarter circle constant is used to draw circles +using Bézier curves. +An approximate quarter circle curve is: + +```js +const quarterCircle = new Path() + .move(new Point(0, radius)) + .curve(new Point(cbqc, radius), + new Point(radius, cbqc), + new Point(radius, 0)) +``` + + ### Utilities @@ -85,4 +100,3 @@ I have grouped them below in different categories: | `splitCurve` | See the [splitCurve](/reference/api/utils/splitcurve) documentation | | `stretchToScale` | See the [stretchToScale](/reference/api/utils/stretchtoscale) documentation | | `units` | See the [units](/reference/api/utils/units) documentation | - From 4441d7f9c7ba791a1b360607b8877cf200b1ed31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 04:35:04 +0000 Subject: [PATCH 1207/1313] build(deps): bump swagger-ui-dist from 5.11.0 to 5.11.2 Bumps [swagger-ui-dist](https://github.com/swagger-api/swagger-ui) from 5.11.0 to 5.11.2. - [Release notes](https://github.com/swagger-api/swagger-ui/releases) - [Changelog](https://github.com/swagger-api/swagger-ui/blob/master/.releaserc) - [Commits](https://github.com/swagger-api/swagger-ui/compare/v5.11.0...v5.11.2) --- updated-dependencies: - dependency-name: swagger-ui-dist dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index f2e5b0104e2..a9581fe9560 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -43,7 +43,7 @@ "passport-jwt": "4.0.1", "pino": "8.17.2", "qrcode": "1.5.3", - "swagger-ui-dist": "5.11.0", + "swagger-ui-dist": "5.11.2", "swagger-ui-express": "5.0.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 12cd14f747f..378333bcaf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13151,10 +13151,10 @@ supports-preserve-symlinks-flag@^1.0.0: version "0.1.10" resolved "https://git@github.com/eriese/SVG-to-PDFKit#388d8c29a7b6b1353ea6b65f683ed939e4a7725f" -swagger-ui-dist@5.11.0, swagger-ui-dist@>=5.0.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.11.0.tgz#9bcfd75278b1fa9c36fe52f206f8fc611470547c" - integrity sha512-j0PIATqQSEFGOLmiJOJZj1X1Jt6bFIur3JpY7+ghliUnfZs0fpWDdHEkn9q7QUlBtKbkn6TepvSxTqnE8l3s0A== +swagger-ui-dist@5.11.2, swagger-ui-dist@>=5.0.0: + version "5.11.2" + resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.11.2.tgz#b423e820928df703586ff58f80b09ffcf2434e08" + integrity sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A== swagger-ui-express@5.0.0: version "5.0.0" From f1923f1fcc3fd62783933dcce3ddcbed128b8524 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 04:35:51 +0000 Subject: [PATCH 1208/1313] build(deps): bump @babel/eslint-parser from 7.23.3 to 7.23.9 Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.23.3 to 7.23.9. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.9/eslint/babel-eslint-parser) --- updated-dependencies: - dependency-name: "@babel/eslint-parser" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 12cd14f747f..0f320142074 100644 --- a/yarn.lock +++ b/yarn.lock @@ -616,9 +616,9 @@ semver "^6.3.1" "@babel/eslint-parser@^7.22.15": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz#7bf0db1c53b54da0c8a12627373554a0828479ca" - integrity sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw== + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.23.9.tgz#052c13b39144e21fdd1e03fc9b67e98976a1ebfc" + integrity sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" From 0baca783a3c7395d213aefbb1c00b35686dd4bf3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 04:38:19 +0000 Subject: [PATCH 1209/1313] build(deps): bump i18next from 23.7.19 to 23.8.1 Bumps [i18next](https://github.com/i18next/i18next) from 23.7.19 to 23.8.1. - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v23.7.19...v23.8.1) --- updated-dependencies: - dependency-name: i18next dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/lab/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/lab/package.json b/sites/lab/package.json index d3fa7850e98..d12e4a8ab4f 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -36,7 +36,7 @@ "d3-drag": "3.0.0", "d3-selection": "3.0.0", "daisyui": "4.6.0", - "i18next": "23.7.19", + "i18next": "23.8.1", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", diff --git a/sites/sde/package.json b/sites/sde/package.json index a781fbf04c5..41dacb1cd9e 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -54,7 +54,7 @@ "echarts": "5.4.3", "echarts-for-react": "3.0.2", "file-saver": "2.0.5", - "i18next": "23.7.19", + "i18next": "23.8.1", "jotai": "2.6.3", "jotai-location": "0.5.2", "js-yaml": "4.1.0", diff --git a/yarn.lock b/yarn.lock index 12cd14f747f..4f18f56e575 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7159,10 +7159,10 @@ i18next-fs-backend@^2.3.1: resolved "https://registry.yarnpkg.com/i18next-fs-backend/-/i18next-fs-backend-2.3.1.tgz#0c7d2459ff4a039e2b3228131809fbc0e74ff1a8" integrity sha512-tvfXskmG/9o+TJ5Fxu54sSO5OkY6d+uMn+K6JiUGLJrwxAVfer+8V3nU8jq3ts9Pe5lXJv4b1N7foIjJ8Iy2Gg== -i18next@23.7.19: - version "23.7.19" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.7.19.tgz#037ac683610417178b881355e5cdc38380c0ca17" - integrity sha512-1aP+YSJl+nLxr42ZJtNhpWpNWYsc6nCbVCf2x4uizIX1BYfcigiRMlb3vOkE1p3+qrI+aD6h5G2Fg+2d2oMIOQ== +i18next@23.8.1: + version "23.8.1" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.8.1.tgz#c9c6c0a2718177457192d3a867af5b35cd2f46fe" + integrity sha512-Yhe6oiJhigSh64ev7nVVywu7vHjuUG41MRmFKNwphbkadqTL1ozZFBQISflY7/ju+gL6I/SPfI1GgWQh1yYArA== dependencies: "@babel/runtime" "^7.23.2" From 2c5260a3bf9781fe8cf4708e7040970376e57bd8 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Mon, 29 Jan 2024 21:30:20 -0800 Subject: [PATCH 1210/1313] fix(brian): Fix i18n json structure --- designs/brian/i18n/en.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/designs/brian/i18n/en.json b/designs/brian/i18n/en.json index 1d8f60bcd18..553bd853647 100644 --- a/designs/brian/i18n/en.json +++ b/designs/brian/i18n/en.json @@ -9,10 +9,8 @@ "sleeve": "Sleeve" }, "s": { - "largeShoulderWidth": { - "t": "Shoulder Width larger than anticipated", - "d": "The pattern was not able to generate an optimal armhole shape using the given measurements and options. Please be aware that the generated pattern may not be correct. Please retake your measurements, verify that they are correct, and try generating a new pattern with the new measurements." - } + "largeShoulderWidth.t": "Shoulder Width larger than anticipated", + "largeShoulderWidth.d": "The pattern was not able to generate an optimal armhole shape using the given measurements and options. Please be aware that the generated pattern may not be correct. Please retake your measurements, verify that they are correct, and try generating a new pattern with the new measurements." }, "o": { "acrossBackFactor": { From 5421f5944050b48db7c1b3e0b5a7145235ae870e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 17:58:24 +0100 Subject: [PATCH 1211/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/sewing/knit-binding/uk.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/sewing/knit-binding/uk.md b/markdown/org/docs/sewing/knit-binding/uk.md index 42d67faa97a..e684aa96eea 100644 --- a/markdown/org/docs/sewing/knit-binding/uk.md +++ b/markdown/org/docs/sewing/knit-binding/uk.md @@ -1,12 +1,12 @@ --- -title: Трикотажна бійка +title: Трикотажна бийка --- -## Що до біса таке та трикотажна бійка? +## Що до біса таке та трикотажна бийка? Трикотажною бійкою називають тип обробки краю виробу, переважно горловини та пройми рукавів футболок та іншого трикотажу. -Існує два види такої обробки країв: за допомогою рібани та справжня трикотажна бійка. +Існує два види такої обробки країв: за допомогою рібани та справжня трикотажна бийка. ## Рібана @@ -16,11 +16,11 @@ title: Трикотажна бійка В такому випадку необроблений край тканини залишається всередині виробу та часто пришивається закріплювальним швом до рібани. -### Трикотажна бійка +### Трикотажна бийка ![Сіра майка та біла футболка цієї дівчини мають трикотажну зав'язку біля вирізу горловини.](knit_binding.jpg) -Справжня трикотажна бійка схожа на, власне, звичайну бійку — вона охоплює край тканини, а не пришивається до нього на вивороті. +Справжня трикотажна бийка схожа на, власне, звичайну бийку — вона охоплює край тканини, а не пришивається до нього на вивороті. Необроблений край виробу заховується між складеною вдвічі трикотажною бійкою, яка прострочується по краю. Це часто виконується коверлоком, які охайно оброблюють краї на вивороті. @@ -30,7 +30,7 @@ title: Трикотажна бійка Рібана є більш поширеною і саме її часто можна побачити на горловинах футболок. Вона є більш декоративною. -Трикотажна бійка зустрічається рідше, але часто використовується на майках та спідній білизні. Бійка є більш практичною. +Трикотажна бийка зустрічається рідше, але часто використовується на майках та спідній білизні. Бийка є більш практичною. > ##### Все ще розгублені? > From 9ff8f1684d497443011de057522475c34bf76fd8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 18:00:01 +0100 Subject: [PATCH 1212/1313] New translations en.json (Ukrainian) skip-build --- sites/shared/jargon/uk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/shared/jargon/uk.json b/sites/shared/jargon/uk.json index 1ae37b53ab5..24d216317ed 100644 --- a/sites/shared/jargon/uk.json +++ b/sites/shared/jargon/uk.json @@ -48,7 +48,7 @@ "description": "Дивіться джерсі в документації до шиття" }, "knitBinding": { - "term": "трикотажна бійка", + "term": "трикотажна бийка", "description": "Дивіться трикотажну бійку в документації до шиття" }, "knitFabric": { From 078e1d6ed63c90dec8c7510ff7a727fb57bc682b Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 30 Jan 2024 09:28:32 -0800 Subject: [PATCH 1213/1313] fix(carlita,hugo,jaeger): Add Fixme tags to incomplete documentation --- markdown/org/docs/designs/carlita/instructions/en.md | 4 ++-- markdown/org/docs/designs/hugo/instructions/en.md | 4 ++-- markdown/org/docs/designs/jaeger/instructions/en.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/en.md b/markdown/org/docs/designs/carlita/instructions/en.md index 05356f9af90..b320f2e685b 100644 --- a/markdown/org/docs/designs/carlita/instructions/en.md +++ b/markdown/org/docs/designs/carlita/instructions/en.md @@ -54,13 +54,13 @@ Don't forget the seam allowance for these pieces when cutting if you are making #### Maker's notes - + We don't have fully worked out instructions for Carlita yet. Below are some notes from [@AnnekeCaramin](/users/AnnekeCaramin) who [made Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Find and mark roll line on lapel, - Draft back stay & cut from heavy muslin or hair canvas if you want to be absolutely bulletproof diff --git a/markdown/org/docs/designs/hugo/instructions/en.md b/markdown/org/docs/designs/hugo/instructions/en.md index 732de4f9c21..7ede264e898 100644 --- a/markdown/org/docs/designs/hugo/instructions/en.md +++ b/markdown/org/docs/designs/hugo/instructions/en.md @@ -2,7 +2,7 @@ title: "Hugo hoodie: Sewing Instructions" --- - + ###### Documentation under construction @@ -11,7 +11,7 @@ Scroll down, it's embedded in this page. Now the bad news: The written instructions for Hugo are not complete yet. - + ## Video diff --git a/markdown/org/docs/designs/jaeger/instructions/en.md b/markdown/org/docs/designs/jaeger/instructions/en.md index 1f565f9ae1c..204174b6b32 100644 --- a/markdown/org/docs/designs/jaeger/instructions/en.md +++ b/markdown/org/docs/designs/jaeger/instructions/en.md @@ -2,13 +2,13 @@ title: "Jaeger jacket: Sewing Instructions" --- - + ###### Jaeger documentation is under construction This documentation is not yet finished. - + ## Construction From a813191f88d63a046a72984791e6214330972331 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Tue, 30 Jan 2024 09:36:31 -0800 Subject: [PATCH 1214/1313] fix(carlita): Correct instructions to refer to Carlita instead of Carlton --- markdown/org/docs/designs/carlita/instructions/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/carlita/instructions/en.md b/markdown/org/docs/designs/carlita/instructions/en.md index 05356f9af90..51433680f62 100644 --- a/markdown/org/docs/designs/carlita/instructions/en.md +++ b/markdown/org/docs/designs/carlita/instructions/en.md @@ -4,7 +4,7 @@ title: "Carlita coat: Sewing Instructions" ### Step 1: Draft and Cut the missing Lining and Facing Parts -Some parts for Carlton require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlton Cutting](/docs/designs/carlton/cutting/) for details on how to cut them. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Drafting From 57b64af805f1deaea9c5838646fd71835e8239bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Jan 2024 18:15:52 +0000 Subject: [PATCH 1215/1313] build(deps-dev): bump chai from 4.3.10 to 5.0.3 Bumps [chai](https://github.com/chaijs/chai) from 4.3.10 to 5.0.3. - [Release notes](https://github.com/chaijs/chai/releases) - [Changelog](https://github.com/chaijs/chai/blob/main/History.md) - [Commits](https://github.com/chaijs/chai/compare/v4.3.10...v5.0.3) --- updated-dependencies: - dependency-name: chai dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- designs/aaron/package.json | 2 +- designs/albert/package.json | 2 +- designs/bee/package.json | 2 +- designs/bella/package.json | 2 +- designs/benjamin/package.json | 2 +- designs/bent/package.json | 2 +- designs/bob/package.json | 2 +- designs/breanna/package.json | 2 +- designs/brian/package.json | 2 +- designs/bruce/package.json | 2 +- designs/carlita/package.json | 2 +- designs/carlton/package.json | 2 +- designs/cathrin/package.json | 2 +- designs/charlie/package.json | 2 +- designs/cornelius/package.json | 2 +- designs/diana/package.json | 2 +- designs/examples/package.json | 2 +- designs/florence/package.json | 2 +- designs/florent/package.json | 2 +- designs/gozer/package.json | 2 +- designs/hi/package.json | 2 +- designs/holmes/package.json | 2 +- designs/hortensia/package.json | 2 +- designs/huey/package.json | 2 +- designs/hugo/package.json | 2 +- designs/jaeger/package.json | 2 +- designs/legend/package.json | 2 +- designs/lucy/package.json | 2 +- designs/lumira/package.json | 2 +- designs/lunetius/package.json | 2 +- designs/magde/package.json | 2 +- designs/naomiwu/package.json | 2 +- designs/noble/package.json | 2 +- designs/octoplushy/package.json | 2 +- designs/onyx/package.json | 2 +- designs/otis/package.json | 2 +- designs/paco/package.json | 2 +- designs/penelope/package.json | 2 +- designs/plugintest/package.json | 2 +- designs/rendertest/package.json | 2 +- designs/sandy/package.json | 2 +- designs/shelly/package.json | 2 +- designs/shin/package.json | 2 +- designs/simon/package.json | 2 +- designs/simone/package.json | 2 +- designs/skully/package.json | 2 +- designs/sven/package.json | 2 +- designs/tamiko/package.json | 2 +- designs/teagan/package.json | 2 +- designs/tiberius/package.json | 2 +- designs/titan/package.json | 2 +- designs/trayvon/package.json | 2 +- designs/uma/package.json | 2 +- designs/wahid/package.json | 2 +- designs/walburga/package.json | 2 +- designs/waralee/package.json | 2 +- designs/yuri/package.json | 2 +- packages/core/package.json | 2 +- plugins/core-plugins/package.json | 2 +- plugins/plugin-annotations/package.json | 2 +- plugins/plugin-bin-pack/package.json | 2 +- plugins/plugin-bust/package.json | 2 +- plugins/plugin-flip/package.json | 2 +- plugins/plugin-gore/package.json | 2 +- plugins/plugin-i18n/package.json | 2 +- plugins/plugin-measurements/package.json | 2 +- plugins/plugin-mirror/package.json | 2 +- plugins/plugin-ringsector/package.json | 2 +- plugins/plugin-round/package.json | 2 +- plugins/plugin-sprinkle/package.json | 2 +- plugins/plugin-svgattr/package.json | 2 +- plugins/plugin-theme/package.json | 2 +- plugins/plugin-timing/package.json | 2 +- plugins/plugin-versionfree-svg/package.json | 2 +- sites/backend/package.json | 2 +- yarn.lock | 68 ++++++++++----------- 76 files changed, 106 insertions(+), 112 deletions(-) diff --git a/designs/aaron/package.json b/designs/aaron/package.json index aaf48db8647..23ad15fac65 100644 --- a/designs/aaron/package.json +++ b/designs/aaron/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/albert/package.json b/designs/albert/package.json index c0c89224183..d97fb276d7e 100644 --- a/designs/albert/package.json +++ b/designs/albert/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/bee/package.json b/designs/bee/package.json index 3a9c7d621c1..e3d11595924 100644 --- a/designs/bee/package.json +++ b/designs/bee/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/bella/package.json b/designs/bella/package.json index f80df5864ab..b681f80d41f 100644 --- a/designs/bella/package.json +++ b/designs/bella/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/benjamin/package.json b/designs/benjamin/package.json index 9023f87e977..68dfdb3aa96 100644 --- a/designs/benjamin/package.json +++ b/designs/benjamin/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/bent/package.json b/designs/bent/package.json index b16318f18a0..6c7430ce3d5 100644 --- a/designs/bent/package.json +++ b/designs/bent/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/bob/package.json b/designs/bob/package.json index 602419fd2a0..7ed8f853bea 100644 --- a/designs/bob/package.json +++ b/designs/bob/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/breanna/package.json b/designs/breanna/package.json index d2b9136ffcb..eaa808b296a 100644 --- a/designs/breanna/package.json +++ b/designs/breanna/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/brian/package.json b/designs/brian/package.json index 4630852d477..e8151875937 100644 --- a/designs/brian/package.json +++ b/designs/brian/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/bruce/package.json b/designs/bruce/package.json index 64ee9032a9d..64c4fa73fe1 100644 --- a/designs/bruce/package.json +++ b/designs/bruce/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/carlita/package.json b/designs/carlita/package.json index 36ce654f2b5..cc33288ccf1 100644 --- a/designs/carlita/package.json +++ b/designs/carlita/package.json @@ -58,7 +58,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/carlton/package.json b/designs/carlton/package.json index 62986face6d..cc7b0d9c26e 100644 --- a/designs/carlton/package.json +++ b/designs/carlton/package.json @@ -57,7 +57,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/cathrin/package.json b/designs/cathrin/package.json index a899e6bd839..b9467b0fd17 100644 --- a/designs/cathrin/package.json +++ b/designs/cathrin/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/charlie/package.json b/designs/charlie/package.json index d32efabc3f1..3ed37351f0d 100644 --- a/designs/charlie/package.json +++ b/designs/charlie/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/cornelius/package.json b/designs/cornelius/package.json index 3e336b45015..5437b48eca6 100644 --- a/designs/cornelius/package.json +++ b/designs/cornelius/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/diana/package.json b/designs/diana/package.json index fb7412db6c8..a74d19df065 100644 --- a/designs/diana/package.json +++ b/designs/diana/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/examples/package.json b/designs/examples/package.json index 971104f14d2..19500a07517 100644 --- a/designs/examples/package.json +++ b/designs/examples/package.json @@ -50,7 +50,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/florence/package.json b/designs/florence/package.json index 8dff7c11cb7..b790016a0d4 100644 --- a/designs/florence/package.json +++ b/designs/florence/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/florent/package.json b/designs/florent/package.json index 8f0740d2839..a8fa9c165a7 100644 --- a/designs/florent/package.json +++ b/designs/florent/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/gozer/package.json b/designs/gozer/package.json index 52ea4b44db1..61786754a07 100644 --- a/designs/gozer/package.json +++ b/designs/gozer/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/hi/package.json b/designs/hi/package.json index f7f6ae9c3ff..0a46a259f57 100644 --- a/designs/hi/package.json +++ b/designs/hi/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/holmes/package.json b/designs/holmes/package.json index 86f6bede16e..e813ea90487 100644 --- a/designs/holmes/package.json +++ b/designs/holmes/package.json @@ -57,7 +57,7 @@ }, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/hortensia/package.json b/designs/hortensia/package.json index 7dcada65f28..b9b38582c74 100644 --- a/designs/hortensia/package.json +++ b/designs/hortensia/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/huey/package.json b/designs/huey/package.json index 6c3882c02cd..e6f682d28f5 100644 --- a/designs/huey/package.json +++ b/designs/huey/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/hugo/package.json b/designs/hugo/package.json index 6341e446545..6e3fb1ead1b 100644 --- a/designs/hugo/package.json +++ b/designs/hugo/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/jaeger/package.json b/designs/jaeger/package.json index 87e56e750cd..fd69bbd4f15 100644 --- a/designs/jaeger/package.json +++ b/designs/jaeger/package.json @@ -57,7 +57,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/legend/package.json b/designs/legend/package.json index a2b028fe2ee..226e0897081 100644 --- a/designs/legend/package.json +++ b/designs/legend/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/lucy/package.json b/designs/lucy/package.json index 0397f2819b9..0b5f5263f53 100644 --- a/designs/lucy/package.json +++ b/designs/lucy/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/lumira/package.json b/designs/lumira/package.json index 767718729f5..9aef01dd82e 100644 --- a/designs/lumira/package.json +++ b/designs/lumira/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/lunetius/package.json b/designs/lunetius/package.json index fe393e270d1..d50e22cebdb 100644 --- a/designs/lunetius/package.json +++ b/designs/lunetius/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/magde/package.json b/designs/magde/package.json index 5af52990416..b00a92b7d4a 100644 --- a/designs/magde/package.json +++ b/designs/magde/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/naomiwu/package.json b/designs/naomiwu/package.json index dfd928fbfb4..f8641886243 100644 --- a/designs/naomiwu/package.json +++ b/designs/naomiwu/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/noble/package.json b/designs/noble/package.json index e8fc71d19b3..2a5015836b2 100644 --- a/designs/noble/package.json +++ b/designs/noble/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/octoplushy/package.json b/designs/octoplushy/package.json index 702f236550b..4fc7e6146b6 100644 --- a/designs/octoplushy/package.json +++ b/designs/octoplushy/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/onyx/package.json b/designs/onyx/package.json index 5be19af0e6e..10d8034924f 100644 --- a/designs/onyx/package.json +++ b/designs/onyx/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/otis/package.json b/designs/otis/package.json index 914a817fe40..f25520dda88 100644 --- a/designs/otis/package.json +++ b/designs/otis/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/paco/package.json b/designs/paco/package.json index 0bc4d09c9a7..d2b980fe93e 100644 --- a/designs/paco/package.json +++ b/designs/paco/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/penelope/package.json b/designs/penelope/package.json index 55ea3cd805d..b42bbe773ee 100644 --- a/designs/penelope/package.json +++ b/designs/penelope/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/plugintest/package.json b/designs/plugintest/package.json index a7a68c7d309..f437f18e1c4 100644 --- a/designs/plugintest/package.json +++ b/designs/plugintest/package.json @@ -65,7 +65,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/rendertest/package.json b/designs/rendertest/package.json index bd87cf09b24..eec7278adef 100644 --- a/designs/rendertest/package.json +++ b/designs/rendertest/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/sandy/package.json b/designs/sandy/package.json index bf054963641..776c9131034 100644 --- a/designs/sandy/package.json +++ b/designs/sandy/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/shelly/package.json b/designs/shelly/package.json index 919e73b5bc5..2f42d7b2c44 100644 --- a/designs/shelly/package.json +++ b/designs/shelly/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/shin/package.json b/designs/shin/package.json index b19bd0d5f62..8fd74824473 100644 --- a/designs/shin/package.json +++ b/designs/shin/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/simon/package.json b/designs/simon/package.json index 1348c72dd3d..e6c09e0ff37 100644 --- a/designs/simon/package.json +++ b/designs/simon/package.json @@ -57,7 +57,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/simone/package.json b/designs/simone/package.json index d5219e4ffba..47a6534d203 100644 --- a/designs/simone/package.json +++ b/designs/simone/package.json @@ -58,7 +58,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/skully/package.json b/designs/skully/package.json index 3f1ecdd59ce..6f48098a4b2 100644 --- a/designs/skully/package.json +++ b/designs/skully/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/sven/package.json b/designs/sven/package.json index 74408e6c8d1..0d70fa58f04 100644 --- a/designs/sven/package.json +++ b/designs/sven/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/tamiko/package.json b/designs/tamiko/package.json index ff863cf542e..be35cd58118 100644 --- a/designs/tamiko/package.json +++ b/designs/tamiko/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/teagan/package.json b/designs/teagan/package.json index 35a951fcd96..c933914be20 100644 --- a/designs/teagan/package.json +++ b/designs/teagan/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/tiberius/package.json b/designs/tiberius/package.json index 75a1a914d72..b053c668a2e 100644 --- a/designs/tiberius/package.json +++ b/designs/tiberius/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/titan/package.json b/designs/titan/package.json index ebe6bb77761..8ea945720d5 100644 --- a/designs/titan/package.json +++ b/designs/titan/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/trayvon/package.json b/designs/trayvon/package.json index b0cbf82b4b7..e404b8a156c 100644 --- a/designs/trayvon/package.json +++ b/designs/trayvon/package.json @@ -55,7 +55,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/uma/package.json b/designs/uma/package.json index db55af7ff1b..5116619f06a 100644 --- a/designs/uma/package.json +++ b/designs/uma/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/wahid/package.json b/designs/wahid/package.json index bdff5dc888c..3f7ce538eac 100644 --- a/designs/wahid/package.json +++ b/designs/wahid/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/walburga/package.json b/designs/walburga/package.json index 79b9b6b1162..764dd816da1 100644 --- a/designs/walburga/package.json +++ b/designs/walburga/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/waralee/package.json b/designs/waralee/package.json index 4499cf06b93..48868ad3227 100644 --- a/designs/waralee/package.json +++ b/designs/waralee/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/designs/yuri/package.json b/designs/yuri/package.json index 089aa67d53d..3ae602e688d 100644 --- a/designs/yuri/package.json +++ b/designs/yuri/package.json @@ -56,7 +56,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/models": "3.1.0", "@freesewing/plugin-timing": "3.1.0" }, diff --git a/packages/core/package.json b/packages/core/package.json index eddc3248e87..73550c8c398 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -65,7 +65,7 @@ "eslint": "8.56.0", "nyc": "15.1.0", "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "chai-string": "1.5.0", "sinon": "^17.0.1" }, diff --git a/plugins/core-plugins/package.json b/plugins/core-plugins/package.json index 606579a925e..a1041dfdc7d 100644 --- a/plugins/core-plugins/package.json +++ b/plugins/core-plugins/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10", + "chai": "5.0.3", "@freesewing/plugin-annotations": "3.1.0", "@freesewing/plugin-mirror": "3.1.0", "@freesewing/plugin-round": "3.1.0", diff --git a/plugins/plugin-annotations/package.json b/plugins/plugin-annotations/package.json index 1d788d0638b..4590ab66f94 100644 --- a/plugins/plugin-annotations/package.json +++ b/plugins/plugin-annotations/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-bin-pack/package.json b/plugins/plugin-bin-pack/package.json index 3e022a2556e..b92f9bf28db 100644 --- a/plugins/plugin-bin-pack/package.json +++ b/plugins/plugin-bin-pack/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-bust/package.json b/plugins/plugin-bust/package.json index 7dfb4fc3be4..b54b81f22ae 100644 --- a/plugins/plugin-bust/package.json +++ b/plugins/plugin-bust/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-flip/package.json b/plugins/plugin-flip/package.json index 90c3752644a..f96829a4cfc 100644 --- a/plugins/plugin-flip/package.json +++ b/plugins/plugin-flip/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-gore/package.json b/plugins/plugin-gore/package.json index 1ece220f607..7b599cd8b49 100644 --- a/plugins/plugin-gore/package.json +++ b/plugins/plugin-gore/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-i18n/package.json b/plugins/plugin-i18n/package.json index ee1641ceb6e..96c603f8bcd 100644 --- a/plugins/plugin-i18n/package.json +++ b/plugins/plugin-i18n/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-measurements/package.json b/plugins/plugin-measurements/package.json index a411a12ec13..15d4521bb48 100644 --- a/plugins/plugin-measurements/package.json +++ b/plugins/plugin-measurements/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-mirror/package.json b/plugins/plugin-mirror/package.json index a5996ed8529..7b7335d52d7 100644 --- a/plugins/plugin-mirror/package.json +++ b/plugins/plugin-mirror/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-ringsector/package.json b/plugins/plugin-ringsector/package.json index f66d00388c7..0067c8188c0 100644 --- a/plugins/plugin-ringsector/package.json +++ b/plugins/plugin-ringsector/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-round/package.json b/plugins/plugin-round/package.json index 711a9df0814..29c92589416 100644 --- a/plugins/plugin-round/package.json +++ b/plugins/plugin-round/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-sprinkle/package.json b/plugins/plugin-sprinkle/package.json index 87dbc69b522..833171c3629 100644 --- a/plugins/plugin-sprinkle/package.json +++ b/plugins/plugin-sprinkle/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-svgattr/package.json b/plugins/plugin-svgattr/package.json index edd0d337c64..e0073904d8f 100644 --- a/plugins/plugin-svgattr/package.json +++ b/plugins/plugin-svgattr/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-theme/package.json b/plugins/plugin-theme/package.json index 345e7078e23..f48e1b261d7 100644 --- a/plugins/plugin-theme/package.json +++ b/plugins/plugin-theme/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-timing/package.json b/plugins/plugin-timing/package.json index 9b79737814a..37a0044d02d 100644 --- a/plugins/plugin-timing/package.json +++ b/plugins/plugin-timing/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/plugins/plugin-versionfree-svg/package.json b/plugins/plugin-versionfree-svg/package.json index fc3fb45f688..54c08f60362 100644 --- a/plugins/plugin-versionfree-svg/package.json +++ b/plugins/plugin-versionfree-svg/package.json @@ -54,7 +54,7 @@ "dependencies": {}, "devDependencies": { "mocha": "10.2.0", - "chai": "4.3.10" + "chai": "5.0.3" }, "files": [ "dist/*", diff --git a/sites/backend/package.json b/sites/backend/package.json index dc1c3d89682..77649954ee9 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -47,7 +47,7 @@ "swagger-ui-express": "5.0.0" }, "devDependencies": { - "chai": "4.3.10", + "chai": "5.0.3", "chai-http": "4.4.0", "esbuild": "0.20.0", "mocha": "10.2.0", diff --git a/yarn.lock b/yarn.lock index 15acaa20625..eb38486da08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3260,10 +3260,10 @@ asap@^2.0.0: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== ast-types-flow@^0.0.7: version "0.0.7" @@ -3686,18 +3686,16 @@ chai-string@1.5.0: resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.5.0.tgz#0bdb2d8a5f1dbe90bc78ec493c1c1c180dd4d3d2" integrity sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw== -chai@4.3.10: - version "4.3.10" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" - integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== +chai@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.0.3.tgz#db8e109373b86e7fb33d3ef0d0116f0fa8019066" + integrity sha512-wKGCtYv2kVY5WEjKqQ3fSIZWtTFveZCtzinhTZbx3/trVkxefiwovhpU9kRVCwxvKKCEjTWXPdM1/T7zPoDgow== dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" + assertion-error "^2.0.1" + check-error "^2.0.0" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" chalk@4.1.0: version "4.1.0" @@ -3798,12 +3796,10 @@ charset@^1.0.1: resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd" integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg== -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" +check-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.0.0.tgz#589a4f201b6256fd93a2d165089fe43d2676d8c6" + integrity sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog== cheerio-select@^2.1.0: version "2.1.0" @@ -4746,12 +4742,10 @@ dedent@0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" +deep-eql@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.1.tgz#21ea2c0d561a4d08cdd99c417ac584e0fb121385" + integrity sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw== deep-equal@^2.0.5: version "2.2.2" @@ -6279,7 +6273,7 @@ get-east-asian-width@^1.0.0: resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== -get-func-name@^2.0.1, get-func-name@^2.0.2: +get-func-name@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== @@ -8628,10 +8622,10 @@ loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== +loupe@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.0.tgz#46ef1a4ffee73145f5c0a627536d754787c1ea2a" + integrity sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg== dependencies: get-func-name "^2.0.1" @@ -11101,10 +11095,10 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== pause@0.0.1: version "0.0.1" @@ -13498,7 +13492,7 @@ type-component@0.0.1: resolved "https://registry.yarnpkg.com/type-component/-/type-component-0.0.1.tgz#952a6c81c21efd24d13d811d0c8498cb860e1956" integrity sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw== -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: +type-detect@4.0.8, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== From 864f92cec1686c2900d79b38152f077d467df948 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:20:28 +0100 Subject: [PATCH 1216/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/carlita/instructions/fr.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/fr.md b/markdown/org/docs/designs/carlita/instructions/fr.md index 773b5b9eae5..d54bcd9dd25 100644 --- a/markdown/org/docs/designs/carlita/instructions/fr.md +++ b/markdown/org/docs/designs/carlita/instructions/fr.md @@ -4,7 +4,7 @@ title: "Manteau Carlita : Instructions de couture" ### Étape 1 : Dessiner et découper les parties manquantes de la doublure et du parement -Certaines pièces pour Carlton nécessitent que vous dessiniez des pièces à partir des pièces existantes. Voici une liste des pièces que vous devez ébaucher, [voir Découpes Carlton](/docs/designs/carlton/cutting/) pour plus de détails sur la façon de les découper. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Rédaction @@ -54,13 +54,13 @@ N'oubliez pas la marge de couture pour ces pièces lors de la découpe si vous f #### Notes du créateur - + Nous n'avons pas encore complètement élaboré les instructions pour Carlita. Voici quelques notes de [@AnnekeCaramin](/users/AnnekeCaramin) qui [a fait Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Trouver et marquer la ligne de roulement sur le revers, - Le brouillon du dos reste & coupé à partir de la toile lourde de mousseline ou de cheveux si vous voulez être absolument à l'épreuve des balles From 29a025c8b343c2b19f8d33bb4f84a99565ac2653 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:22:46 +0100 Subject: [PATCH 1217/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/fr.md b/markdown/org/docs/designs/fr.md index 2242d097529..c6d7467da29 100644 --- a/markdown/org/docs/designs/fr.md +++ b/markdown/org/docs/designs/fr.md @@ -2,4 +2,4 @@ title: FreeSewing Designs --- - + From ba31ca45931a35aa1457611dcfbbd0a3c80ad042 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:24:03 +0100 Subject: [PATCH 1218/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/hugo/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/fr.md b/markdown/org/docs/designs/hugo/instructions/fr.md index 20b5b6a799f..0e442bc0d11 100644 --- a/markdown/org/docs/designs/hugo/instructions/fr.md +++ b/markdown/org/docs/designs/hugo/instructions/fr.md @@ -2,7 +2,7 @@ title: "Hugo hoodie : Instructions de couture" --- - + ###### Documentation sur le montage @@ -11,7 +11,7 @@ Faites défiler vers le bas, elle est intégré dans cette page. Maintenant, la mauvaise nouvelle : Les instructions écrites pour Hugo ne sont pas encore complètes. - + ## Vidéo From 544cf54ec7d960cec11cf48feafe4c1db83af39a Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:24:15 +0100 Subject: [PATCH 1219/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/jaeger/instructions/fr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/fr.md b/markdown/org/docs/designs/jaeger/instructions/fr.md index 57c403649f5..067c53eaef7 100644 --- a/markdown/org/docs/designs/jaeger/instructions/fr.md +++ b/markdown/org/docs/designs/jaeger/instructions/fr.md @@ -2,13 +2,13 @@ title: "Veste Jaeger : Instructions de couture" --- - + ###### La documentation de Jaeger est en cours de construction Cette documentation n'est pas encore terminée. - + ## Montage From 52bab001df81b74e67ea2ff94bdbcc4e81a92db2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:31:25 +0100 Subject: [PATCH 1220/1313] New translations en.md (French) skip-build --- markdown/org/docs/measurements/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/fr.md b/markdown/org/docs/measurements/fr.md index dfaf48870bd..4db5cb029b0 100644 --- a/markdown/org/docs/measurements/fr.md +++ b/markdown/org/docs/measurements/fr.md @@ -2,4 +2,4 @@ title: Les mesures que nous utilisons --- - + From e254a8fbd9304e4e53f855015859c599cd4435b1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:31:54 +0100 Subject: [PATCH 1221/1313] New translations en.md (French) skip-build --- markdown/org/docs/sewing/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/fr.md b/markdown/org/docs/sewing/fr.md index a4eb4075943..02881a4bd94 100644 --- a/markdown/org/docs/sewing/fr.md +++ b/markdown/org/docs/sewing/fr.md @@ -2,4 +2,4 @@ title: Terminologie de la couture --- - + From bf80c27484b905a5c1a417f0d2e12c14755fa541 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:37:00 +0100 Subject: [PATCH 1222/1313] New translations en.md (French) skip-build --- markdown/org/docs/about/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/fr.md b/markdown/org/docs/about/fr.md index caefe450238..9e2bb60eb8b 100644 --- a/markdown/org/docs/about/fr.md +++ b/markdown/org/docs/about/fr.md @@ -2,4 +2,4 @@ title: À propos de Freesewing --- - + From bbf38e3a59e87918e7b51c75059c5d336f2acd7f Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:43:45 +0100 Subject: [PATCH 1223/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/carlita/instructions/es.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/es.md b/markdown/org/docs/designs/carlita/instructions/es.md index 81ba2e8549c..93d300b2264 100644 --- a/markdown/org/docs/designs/carlita/instructions/es.md +++ b/markdown/org/docs/designs/carlita/instructions/es.md @@ -4,7 +4,7 @@ title: "Abrigo Carlita Instrucciones de costura" ### Paso 1: Esbozar y cortar las piezas que faltan del forro y del revestimiento -Algunas piezas para Carlton requieren que redactes piezas a partir de las existentes. A continuación encontrarás una lista de las piezas que necesitas calar, [consulta la sección de corte de Carlton](/docs/designs/carlton/cutting/) para saber cómo cortarlas. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Redacción @@ -54,13 +54,13 @@ Las marcas de los botones y los bolsillos no son necesarias para estas piezas, a #### Notas de Maker - + Todavía no hemos elaborado las instrucciones para Carlita. A continuación encontrarás algunas notas de [@AnnekeCaramin](/usuarios/AnnekeCaramin) que [hizo Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Encuentra y marca la línea de rollos en el lapel, - Si quieres estar absolutamente a prueba de balas de bala & cortarte el muslin pesado o el lienzo de cabello From 07c57cbb98c49dd4a724a7622e05a2264c9fddc2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:45:59 +0100 Subject: [PATCH 1224/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/es.md b/markdown/org/docs/designs/es.md index 2e35fac63b2..b6d2f594d9e 100644 --- a/markdown/org/docs/designs/es.md +++ b/markdown/org/docs/designs/es.md @@ -2,4 +2,4 @@ title: Diseños FreeSewing --- - + From 08d33dd394c58f5d32612811cb42e72144f388ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:47:15 +0100 Subject: [PATCH 1225/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/hugo/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/es.md b/markdown/org/docs/designs/hugo/instructions/es.md index 3a849f20549..fa6eae31dfd 100644 --- a/markdown/org/docs/designs/hugo/instructions/es.md +++ b/markdown/org/docs/designs/hugo/instructions/es.md @@ -2,7 +2,7 @@ title: "Sudadera con capucha Hugo: Instrucciones de costura" --- - + ###### Documentación en construcción @@ -11,7 +11,7 @@ Desplácese hacia abajo, está incrustado en esta página. Ahora las malas noticias: Las instrucciones escritas para Hugo todavía no están completas. - + ## Vídeo From 3eb9006b9a12ca14d36c71a16a5eb5445f84d047 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:47:27 +0100 Subject: [PATCH 1226/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/jaeger/instructions/es.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/es.md b/markdown/org/docs/designs/jaeger/instructions/es.md index 903ce929664..117e0471582 100644 --- a/markdown/org/docs/designs/jaeger/instructions/es.md +++ b/markdown/org/docs/designs/jaeger/instructions/es.md @@ -2,13 +2,13 @@ title: "Chaqueta Jaeger Instrucciones de costura" --- - + ###### La documentación de Jaeger está en construcción Esta documentación aún no está terminada. - + ## Construcción From 160f85b54b5cb76897e7eae98b3c4d044a2d7dab Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:54:28 +0100 Subject: [PATCH 1227/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/measurements/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/es.md b/markdown/org/docs/measurements/es.md index 41cf0244e89..d1e868ae69a 100644 --- a/markdown/org/docs/measurements/es.md +++ b/markdown/org/docs/measurements/es.md @@ -2,4 +2,4 @@ title: Medidas que utilizamos --- - + From fff7a1b7c361a912a9b7bfcb163087c5c42458b1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:54:54 +0100 Subject: [PATCH 1228/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/sewing/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/es.md b/markdown/org/docs/sewing/es.md index 4d1b7c48226..a2c31711e12 100644 --- a/markdown/org/docs/sewing/es.md +++ b/markdown/org/docs/sewing/es.md @@ -2,4 +2,4 @@ title: Terminología de costura --- - + From 0f0daeb1ab7df8da3a25132982f7d8531e41e6ef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 20:59:47 +0100 Subject: [PATCH 1229/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/about/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/es.md b/markdown/org/docs/about/es.md index 7eac5b5d909..e5577f156f2 100644 --- a/markdown/org/docs/about/es.md +++ b/markdown/org/docs/about/es.md @@ -2,4 +2,4 @@ title: Acerca de FreeSewing --- - + From 2d058b122059a729cb9383e7ad8c071402fe60c0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:06:36 +0100 Subject: [PATCH 1230/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/carlita/instructions/de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/de.md b/markdown/org/docs/designs/carlita/instructions/de.md index 77019b38aef..69961263dc0 100644 --- a/markdown/org/docs/designs/carlita/instructions/de.md +++ b/markdown/org/docs/designs/carlita/instructions/de.md @@ -4,7 +4,7 @@ title: "Carlita Mantel: Anleitung zum Nähen" ### Schritt 1: Zeichne und schneide die fehlenden Futter- und Verkleidungsteile zu -Bei einigen Teilen für Carlton musst du Teile aus den vorhandenen Teilen entwerfen. Im Folgenden findest du eine Liste der Teile, die du entwerfen musst: [. Wie du sie schneidest, erfährst du unter](/docs/designs/carlton/cutting/) . +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Entwerfen @@ -54,13 +54,13 @@ Vergiss beim Zuschneiden nicht die Nahtzugabe für diese Teile, wenn du diese Te #### Notizen des Herstellers - + Wir haben die Anweisungen für Carlita noch nicht vollständig ausgearbeitet. Hier sind einige Notizen von [@AnnekeCaramin](/users/AnnekeCaramin), die [made Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Rollenlinie auf lapel finden und markieren, - Rückzugentwürfe bleiben & von schweren Muslin oder Haar Leinwand geschnitten, wenn Sie absolut kugelsicher sein möchten From bb4b30f5e7156fb567fc449bef0a18056e54a4ff Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:08:49 +0100 Subject: [PATCH 1231/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/de.md b/markdown/org/docs/designs/de.md index 2242d097529..c6d7467da29 100644 --- a/markdown/org/docs/designs/de.md +++ b/markdown/org/docs/designs/de.md @@ -2,4 +2,4 @@ title: FreeSewing Designs --- - + From a0b6325c0a914657a8641fb1d59185524feb70c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:10:03 +0100 Subject: [PATCH 1232/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/hugo/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/de.md b/markdown/org/docs/designs/hugo/instructions/de.md index ff41a58de61..ee4dcfe8289 100644 --- a/markdown/org/docs/designs/hugo/instructions/de.md +++ b/markdown/org/docs/designs/hugo/instructions/de.md @@ -2,7 +2,7 @@ title: "Hugo Hoodie: Anleitung zum Nähen" --- - + ###### Dokumentation im Bau @@ -11,7 +11,7 @@ Scrollen Sie nach unten, es ist eingebettet in diese Seite. Nun die schlechte Nachricht: Die schriftlichen Anweisungen für Hugo sind noch nicht vollständig. - + ## Video From 5abf924cc3be5749c52acadad61650d0d71071fb Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:10:15 +0100 Subject: [PATCH 1233/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/jaeger/instructions/de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/de.md b/markdown/org/docs/designs/jaeger/instructions/de.md index 8c8208c5996..a2b4584b30a 100644 --- a/markdown/org/docs/designs/jaeger/instructions/de.md +++ b/markdown/org/docs/designs/jaeger/instructions/de.md @@ -2,13 +2,13 @@ title: "Jaeger Jacke: Anleitung zum Nähen" --- - + ###### Jaeger Dokumentation ist im Bau Diese Dokumentation ist noch nicht fertig. - + ## Konstruktion From 61a712f9bc064c4361280eafd2451e862adcde33 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:17:19 +0100 Subject: [PATCH 1234/1313] New translations en.md (German) skip-build --- markdown/org/docs/measurements/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/de.md b/markdown/org/docs/measurements/de.md index c727f06473e..41ddc0ad007 100644 --- a/markdown/org/docs/measurements/de.md +++ b/markdown/org/docs/measurements/de.md @@ -2,4 +2,4 @@ title: Messungen, die wir verwenden --- - + From 31013a7e5ec925b846bbbb5a56d4e04899c0e0b1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:17:47 +0100 Subject: [PATCH 1235/1313] New translations en.md (German) skip-build --- markdown/org/docs/sewing/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/de.md b/markdown/org/docs/sewing/de.md index a83796150c8..a6344839d1d 100644 --- a/markdown/org/docs/sewing/de.md +++ b/markdown/org/docs/sewing/de.md @@ -2,4 +2,4 @@ title: Terminologie zum Nähen --- - + From 4f1bfc797b41172a71dddec482f28ecf386d9999 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:22:45 +0100 Subject: [PATCH 1236/1313] New translations en.md (German) skip-build --- markdown/org/docs/about/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/de.md b/markdown/org/docs/about/de.md index 3f2e530216e..65c96d7f2a1 100644 --- a/markdown/org/docs/about/de.md +++ b/markdown/org/docs/about/de.md @@ -2,4 +2,4 @@ title: Über FreeSewing --- - + From 992eb30f8bf7a15d129cd9e00187dd0f164289a7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:29:16 +0100 Subject: [PATCH 1237/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/carlita/instructions/nl.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/nl.md b/markdown/org/docs/designs/carlita/instructions/nl.md index 38cb2486ce8..d788387c3c1 100644 --- a/markdown/org/docs/designs/carlita/instructions/nl.md +++ b/markdown/org/docs/designs/carlita/instructions/nl.md @@ -4,7 +4,7 @@ title: "Carlita jas: Naai-instructies" ### Stap 1: De ontbrekende voering- en bekledingsdelen tekenen en snijden -Voor sommige onderdelen voor Carlton moet je onderdelen uit de bestaande onderdelen opstellen. Hieronder staat een lijst met onderdelen die je moet opstellen, [zie Carlton Cutting](/docs/designs/carlton/cutting/) voor meer informatie over hoe je ze moet snijden. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Opstellen @@ -54,13 +54,13 @@ Vergeet de naadtoeslag voor deze stukken niet bij het knippen als je deze delen #### Makers notities - + We hebben nog geen volledige instructies uitgewerkt voor Carlita. Hieronder staan wat aantekeningen van [@AnnekeCaramin](/users/AnnekeCaramin) die [maakte Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Zoek en markeer de rollijn op de revers, - Draft back stay & cut from heavy muslin or hair canvas als je absoluut bulletproof wilt zijn From f6b8ca93f7e14b51dc9b2ceba8662f1ade496b1e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:31:32 +0100 Subject: [PATCH 1238/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/nl.md b/markdown/org/docs/designs/nl.md index fffd7517ff1..1a4acaf3573 100644 --- a/markdown/org/docs/designs/nl.md +++ b/markdown/org/docs/designs/nl.md @@ -2,4 +2,4 @@ title: FreeSewing Ontwerpen --- - + From 0cd357cb5b0875d2548f0e2f6daecf3807a60aa9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:32:48 +0100 Subject: [PATCH 1239/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/hugo/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/nl.md b/markdown/org/docs/designs/hugo/instructions/nl.md index a768b79c096..8dd125d4b44 100644 --- a/markdown/org/docs/designs/hugo/instructions/nl.md +++ b/markdown/org/docs/designs/hugo/instructions/nl.md @@ -2,7 +2,7 @@ title: "Hugo hoodie: Naai-instructies" --- - + ###### Documentatie onder constructie @@ -11,7 +11,7 @@ Scroll wat naar beneden, het staat op deze pagina. Nu het slechte nieuws: de geschreven instructies voor Hugo zijn nog niet compleet. - + ## Video From d26aceec5ee751e1b8aa39786ca3981c57280f00 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:33:00 +0100 Subject: [PATCH 1240/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/jaeger/instructions/nl.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/nl.md b/markdown/org/docs/designs/jaeger/instructions/nl.md index 533767e78de..a353d871991 100644 --- a/markdown/org/docs/designs/jaeger/instructions/nl.md +++ b/markdown/org/docs/designs/jaeger/instructions/nl.md @@ -2,13 +2,13 @@ title: "Jaeger jasje: Naai-instructies" --- - + ###### Jaeger documentatie is in constructie Deze documentatie is nog niet klaar. - + ## Constructie From 14a522dde22a029e35d9a06fbc468821d273c73c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:39:55 +0100 Subject: [PATCH 1241/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/measurements/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/nl.md b/markdown/org/docs/measurements/nl.md index 51e4a0a6a1a..85e5efa32c9 100644 --- a/markdown/org/docs/measurements/nl.md +++ b/markdown/org/docs/measurements/nl.md @@ -2,4 +2,4 @@ title: Metingen die we gebruiken --- - + From 9826c2908eaa5f434a082a03e3f990eed5446272 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:40:21 +0100 Subject: [PATCH 1242/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/sewing/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/nl.md b/markdown/org/docs/sewing/nl.md index faa276da833..ba91d021dc7 100644 --- a/markdown/org/docs/sewing/nl.md +++ b/markdown/org/docs/sewing/nl.md @@ -2,4 +2,4 @@ title: Terminologie naaien --- - + From 6cb768cf41f9b1316bdd543d409e786531505672 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:45:10 +0100 Subject: [PATCH 1243/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/about/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/nl.md b/markdown/org/docs/about/nl.md index 285b8c1f048..d2672894c2e 100644 --- a/markdown/org/docs/about/nl.md +++ b/markdown/org/docs/about/nl.md @@ -2,4 +2,4 @@ title: Over FreeSewing --- - + From 516ad096392ba915579d5e1025bdde6426ae23ef Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:51:31 +0100 Subject: [PATCH 1244/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/carlita/instructions/uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/uk.md b/markdown/org/docs/designs/carlita/instructions/uk.md index 5eda29d39e9..7e48a1baae2 100644 --- a/markdown/org/docs/designs/carlita/instructions/uk.md +++ b/markdown/org/docs/designs/carlita/instructions/uk.md @@ -4,7 +4,7 @@ title: "Пальто Карліта: Інструкція з пошиття" ### Крок 1: Накресліть і виріжте відсутні деталі підкладки та облицювання -Деякі деталі для Carlton вимагають створення ескізів з існуючих деталей. Нижче наведено список деталей, які потрібно накреслити, [див. Карлтон різання](/docs/designs/carlton/cutting/) для отримання детальної інформації про те, як їх вирізати. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Складання проекту @@ -54,13 +54,13 @@ title: "Пальто Карліта: Інструкція з пошиття" #### Примітки виробника - + Ми ще не маємо повністю розроблених інструкцій для Карліти. Нижче наведено кілька нотаток від [@AnnekeCaramin](/users/AnnekeCaramin), яка [зробила Карліту](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Знайдіть і позначте на лацкані лінію перекату, - Витягнута спинка & вирізана з щільного мусліну або волосяного полотна, якщо ви хочете бути абсолютно куленепробивним From 1e5878a19c535c63fccee1a97a871f2dc74255c2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:53:43 +0100 Subject: [PATCH 1245/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/uk.md b/markdown/org/docs/designs/uk.md index 2242d097529..c6d7467da29 100644 --- a/markdown/org/docs/designs/uk.md +++ b/markdown/org/docs/designs/uk.md @@ -2,4 +2,4 @@ title: FreeSewing Designs --- - + From 5594e421158e00db5d584fa8afd56cdf8de2bd9d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:54:57 +0100 Subject: [PATCH 1246/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/hugo/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/uk.md b/markdown/org/docs/designs/hugo/instructions/uk.md index 27252a775b6..fb2b724776f 100644 --- a/markdown/org/docs/designs/hugo/instructions/uk.md +++ b/markdown/org/docs/designs/hugo/instructions/uk.md @@ -2,7 +2,7 @@ title: "Худі з капюшоном Hugo: Інструкція з пошиття" --- - + ###### Документація в розробці @@ -11,7 +11,7 @@ title: "Худі з капюшоном Hugo: Інструкція з пошит А тепер погані новини: Письмові інструкції для Хьюго ще не завершені. - + ## Відео From 7d7202930cc70736c722c75a31fee11fd09d76ca Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 21:55:09 +0100 Subject: [PATCH 1247/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/jaeger/instructions/uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/uk.md b/markdown/org/docs/designs/jaeger/instructions/uk.md index 1f71c86fa8c..17a19c0e35e 100644 --- a/markdown/org/docs/designs/jaeger/instructions/uk.md +++ b/markdown/org/docs/designs/jaeger/instructions/uk.md @@ -2,13 +2,13 @@ title: "Єгерська куртка: Інструкція з пошиття" --- - + ###### Документація по Jaeger знаходиться на стадії розробки Ця документація ще не закінчена. - + ## Пошив From c315d2e97ff050da6c391a6411ddf2093e531d40 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 22:02:14 +0100 Subject: [PATCH 1248/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/measurements/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/uk.md b/markdown/org/docs/measurements/uk.md index 48b53a69fe0..a568e7f11d0 100644 --- a/markdown/org/docs/measurements/uk.md +++ b/markdown/org/docs/measurements/uk.md @@ -2,4 +2,4 @@ title: Вимірювання, які ми використовуємо --- - + From 07f3d09b04bf31cbebcd77ab87ba2662b3b64c85 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 22:02:41 +0100 Subject: [PATCH 1249/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/sewing/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/uk.md b/markdown/org/docs/sewing/uk.md index 1f7736eb9d6..7611b14025e 100644 --- a/markdown/org/docs/sewing/uk.md +++ b/markdown/org/docs/sewing/uk.md @@ -2,4 +2,4 @@ title: Швейна термінологія --- - + From 61c3c4f626e9294a31e9afff7c10cbc69f893d92 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 22:07:39 +0100 Subject: [PATCH 1250/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/about/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/uk.md b/markdown/org/docs/about/uk.md index 924c54dd4a5..3d04add690e 100644 --- a/markdown/org/docs/about/uk.md +++ b/markdown/org/docs/about/uk.md @@ -2,4 +2,4 @@ title: Про FreeSewing --- - + From 3b6bbc599581e1471cb8067a9fe1993cc6ad746d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:09:42 +0100 Subject: [PATCH 1251/1313] Update source file en.md skip-build --- markdown/org/docs/about/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/about/en.md b/markdown/org/docs/about/en.md index d3f9c8d08f7..efeb0d35185 100644 --- a/markdown/org/docs/about/en.md +++ b/markdown/org/docs/about/en.md @@ -2,4 +2,4 @@ title: About FreeSewing --- - + From 381580810b8e094b78090c5ed9296e086d9c9770 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:10:54 +0100 Subject: [PATCH 1252/1313] Update source file en.md skip-build --- markdown/org/docs/designs/carlita/instructions/en.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown/org/docs/designs/carlita/instructions/en.md b/markdown/org/docs/designs/carlita/instructions/en.md index 05356f9af90..91ec72eb9dc 100644 --- a/markdown/org/docs/designs/carlita/instructions/en.md +++ b/markdown/org/docs/designs/carlita/instructions/en.md @@ -4,7 +4,7 @@ title: "Carlita coat: Sewing Instructions" ### Step 1: Draft and Cut the missing Lining and Facing Parts -Some parts for Carlton require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlton Cutting](/docs/designs/carlton/cutting/) for details on how to cut them. +Some parts for Carlita require you to draft parts from the existing parts. The following are a list of what parts you need to draft, [see Carlita Cutting](/docs/designs/carlita/cutting/) for details on how to cut them. #### Drafting @@ -54,13 +54,13 @@ Don't forget the seam allowance for these pieces when cutting if you are making #### Maker's notes - + We don't have fully worked out instructions for Carlita yet. Below are some notes from [@AnnekeCaramin](/users/AnnekeCaramin) who [made Carlita](http://www.annekecaramin.com/2018/02/this-is-one-of-those-origin-superhero.html). - + - Find and mark roll line on lapel, - Draft back stay & cut from heavy muslin or hair canvas if you want to be absolutely bulletproof From 531d41ce44be08f90ebbe0dc58bd88efbebd1755 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:11:39 +0100 Subject: [PATCH 1253/1313] Update source file en.md skip-build --- markdown/org/docs/designs/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/en.md b/markdown/org/docs/designs/en.md index 2242d097529..c6d7467da29 100644 --- a/markdown/org/docs/designs/en.md +++ b/markdown/org/docs/designs/en.md @@ -2,4 +2,4 @@ title: FreeSewing Designs --- - + From 64578120c2c8ad873a612bb9fe5fa59d45d2e9ee Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:12:05 +0100 Subject: [PATCH 1254/1313] Update source file en.md skip-build --- markdown/org/docs/designs/hugo/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/hugo/instructions/en.md b/markdown/org/docs/designs/hugo/instructions/en.md index 732de4f9c21..7ede264e898 100644 --- a/markdown/org/docs/designs/hugo/instructions/en.md +++ b/markdown/org/docs/designs/hugo/instructions/en.md @@ -2,7 +2,7 @@ title: "Hugo hoodie: Sewing Instructions" --- - + ###### Documentation under construction @@ -11,7 +11,7 @@ Scroll down, it's embedded in this page. Now the bad news: The written instructions for Hugo are not complete yet. - + ## Video From 8eff8acb3763d4c4fe432c070b6c292c811dc596 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:12:10 +0100 Subject: [PATCH 1255/1313] Update source file en.md skip-build --- markdown/org/docs/designs/jaeger/instructions/en.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/markdown/org/docs/designs/jaeger/instructions/en.md b/markdown/org/docs/designs/jaeger/instructions/en.md index 1f565f9ae1c..204174b6b32 100644 --- a/markdown/org/docs/designs/jaeger/instructions/en.md +++ b/markdown/org/docs/designs/jaeger/instructions/en.md @@ -2,13 +2,13 @@ title: "Jaeger jacket: Sewing Instructions" --- - + ###### Jaeger documentation is under construction This documentation is not yet finished. - + ## Construction From 5b2b4f5d353348a4285b9300dd9a1d27fa460841 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:15:08 +0100 Subject: [PATCH 1256/1313] Update source file en.md skip-build --- markdown/org/docs/measurements/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/measurements/en.md b/markdown/org/docs/measurements/en.md index 41602db0d49..586698c0bc2 100644 --- a/markdown/org/docs/measurements/en.md +++ b/markdown/org/docs/measurements/en.md @@ -2,4 +2,4 @@ title: Measurements we use --- - + From ca67e432d537fa024a6746198a656a97b165b014 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Tue, 30 Jan 2024 23:15:16 +0100 Subject: [PATCH 1257/1313] Update source file en.md skip-build --- markdown/org/docs/sewing/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/en.md b/markdown/org/docs/sewing/en.md index 64669a96ffc..27cb45210a4 100644 --- a/markdown/org/docs/sewing/en.md +++ b/markdown/org/docs/sewing/en.md @@ -2,4 +2,4 @@ title: Sewing Terminology --- - + From 20c887f4f880c18feba62dbd512d517d14df2d12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 04:21:39 +0000 Subject: [PATCH 1258/1313] build(deps): bump daisyui from 4.6.0 to 4.6.1 Bumps [daisyui](https://github.com/saadeghi/daisyui) from 4.6.0 to 4.6.1. - [Release notes](https://github.com/saadeghi/daisyui/releases) - [Changelog](https://github.com/saadeghi/daisyui/blob/master/CHANGELOG.md) - [Commits](https://github.com/saadeghi/daisyui/compare/v4.6.0...v4.6.1) --- updated-dependencies: - dependency-name: daisyui dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/dev/package.json | 2 +- sites/lab/package.json | 2 +- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sites/dev/package.json b/sites/dev/package.json index 3c822ca0667..40c1f414efa 100644 --- a/sites/dev/package.json +++ b/sites/dev/package.json @@ -35,7 +35,7 @@ "@next/bundle-analyzer": "14.1.0", "@tailwindcss/typography": "0.5.10", "algoliasearch": "4.22.1", - "daisyui": "4.6.0", + "daisyui": "4.6.1", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", diff --git a/sites/lab/package.json b/sites/lab/package.json index d12e4a8ab4f..4ed39701687 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -35,7 +35,7 @@ "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", "d3-selection": "3.0.0", - "daisyui": "4.6.0", + "daisyui": "4.6.1", "i18next": "23.8.1", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", diff --git a/sites/org/package.json b/sites/org/package.json index 33b4500221b..588895e7878 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -37,7 +37,7 @@ "@tailwindcss/typography": "0.5.10", "algoliasearch": "4.22.1", "react-copy-to-clipboard": "5.1.0", - "daisyui": "4.6.0", + "daisyui": "4.6.1", "echarts": "5.4.3", "echarts-for-react": "3.0.2", "jotai": "2.6.3", diff --git a/sites/sde/package.json b/sites/sde/package.json index 41dacb1cd9e..556e393b4c4 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -50,7 +50,7 @@ "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", "d3-selection": "3.0.0", - "daisyui": "4.6.0", + "daisyui": "4.6.1", "echarts": "5.4.3", "echarts-for-react": "3.0.2", "file-saver": "2.0.5", diff --git a/sites/shared/package.json b/sites/shared/package.json index a708489021a..a50833401d0 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -23,7 +23,7 @@ "d3-dispatch": "3.0.1", "d3-drag": "3.0.0", "d3-selection": "3.0.0", - "daisyui": "4.6.0", + "daisyui": "4.6.1", "feed": "4.2.2", "file-saver": "2.0.5", "front-matter": "4.0.2", diff --git a/yarn.lock b/yarn.lock index 15acaa20625..2469c1648dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4655,10 +4655,10 @@ dagre-d3-es@7.0.10: d3 "^7.8.2" lodash-es "^4.17.21" -daisyui@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-4.6.0.tgz#3b2d34ba2995633530b510ebaf9fbc6ed03374c1" - integrity sha512-B5ZB/sczXpp4LMdo/SZrtYY/U2hq+Vr9I15QawuWZ0VwgtSAbuZpAZUftKVryEsPuv3BM0yVlBED0nAmtis/dw== +daisyui@4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-4.6.1.tgz#1f9fbb6a211af281e8759d42abee4666c807f301" + integrity sha512-IXI8ypN/hkl1AKsag1XPlWt0wfvL4NedTUtUkv/VFP5q/xDbBZrZthq3/9M2yU1egcbbLhp01rluIz0GICUc+g== dependencies: css-selector-tokenizer "^0.8" culori "^3" From 41fa8a04cba5226f390edae12cff45752a50a553 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 04:25:02 +0000 Subject: [PATCH 1259/1313] build(deps-dev): bump prisma from 5.8.1 to 5.9.0 Bumps [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) from 5.8.1 to 5.9.0. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.9.0/packages/cli) --- updated-dependencies: - dependency-name: prisma dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 66 +++++++++++++++++++------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index dc1c3d89682..5632a79fb26 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -53,7 +53,7 @@ "mocha": "10.2.0", "mocha-steps": "1.3.0", "nodemon": "3.0.3", - "prisma": "5.8.1" + "prisma": "5.9.0" }, "engines": { "node": ">=18", diff --git a/yarn.lock b/yarn.lock index 15acaa20625..71500cd2e7f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1863,41 +1863,41 @@ resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.8.1.tgz#7815ec51c0ca2a6de219c02e7846701ae3baf240" integrity sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw== -"@prisma/debug@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.8.1.tgz#704daa36919b0fc4d227260ecebfa1c94b155b07" - integrity sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg== +"@prisma/debug@5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.9.0.tgz#aed189652592c9831abeda33b3800eab780d5406" + integrity sha512-3Uhj5YSPqaIfzJQ6JQzCNBXeBTy0x803fGIoo2tvP/KIEd+o4o49JxCQtKtP8aeef5iNh5Nn9Z25wDrdLjS80A== -"@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2": - version "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2.tgz#f600a45afc4cf0c0356b6ed90add6050fa3f3239" - integrity sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ== +"@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64": + version "5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64.tgz#54d2164f28d23e09d41cf9eb0bddbbe7f3aaa660" + integrity sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ== -"@prisma/engines@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.8.1.tgz#b850751f5bf7d5e570b9fe16cefdc2b1fd2c02c3" - integrity sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA== +"@prisma/engines@5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.9.0.tgz#92dda0eda060c6827a09b15d614327c62e923640" + integrity sha512-BH1fpXbMH09TwfZH5FVMJwRp6afEhKzqwebbCLdaEkJDuhxA//iwbILLqGFtGTgZbdBNUOThIK+UC3++5kWMTg== dependencies: - "@prisma/debug" "5.8.1" - "@prisma/engines-version" "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" - "@prisma/fetch-engine" "5.8.1" - "@prisma/get-platform" "5.8.1" + "@prisma/debug" "5.9.0" + "@prisma/engines-version" "5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64" + "@prisma/fetch-engine" "5.9.0" + "@prisma/get-platform" "5.9.0" -"@prisma/fetch-engine@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.8.1.tgz#38bb92f1fbd3669340a3cc49fce403ab4df671dd" - integrity sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw== +"@prisma/fetch-engine@5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.9.0.tgz#b79cdd90f3e53895bb9b1eee7a5d655d1a13487e" + integrity sha512-NL8Vm8Vl2d6NOSkkPGN5TTTz4s6cyCleXOzqtOFWzfKFJ4wtN2Shu7llOT+ykf6nDzh1lCN2JHUt1S6FGFZGig== dependencies: - "@prisma/debug" "5.8.1" - "@prisma/engines-version" "5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2" - "@prisma/get-platform" "5.8.1" + "@prisma/debug" "5.9.0" + "@prisma/engines-version" "5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64" + "@prisma/get-platform" "5.9.0" -"@prisma/get-platform@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.8.1.tgz#8cd450b65a52a5a6ed5b2f52457136a492c0f251" - integrity sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag== +"@prisma/get-platform@5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.9.0.tgz#87cc696bebdb84ca9d8b8c9228771773bc7c2dd7" + integrity sha512-8CatX+E6eZxcOjJZe5hF8EXxdb5GsQTA/u7pdmUJSxGLacW9K3r5vDdgV8s22PubObQQ6979/rkCMItbCrG4Yg== dependencies: - "@prisma/debug" "5.8.1" + "@prisma/debug" "5.9.0" "@resvg/resvg-js-android-arm-eabi@2.6.0": version "2.6.0" @@ -11386,12 +11386,12 @@ pretty-quick@^3.0.0: mri "^1.1.5" multimatch "^4.0.0" -prisma@5.8.1: - version "5.8.1" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.8.1.tgz#1f101793a8831c0719dfbed5f85a96ea4888c9d3" - integrity sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A== +prisma@5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.9.0.tgz#182b4b5ad418cce9e46874668df5452cedee059d" + integrity sha512-0UcOofjNuAnd227JMaPqZvP01dsUXw9EXB9iC8fyoZtfv7zkQ0ozxyjY1g+vcjFPOnNLICMnLHx+lM5BJZYqOQ== dependencies: - "@prisma/engines" "5.8.1" + "@prisma/engines" "5.9.0" proc-log@^3.0.0: version "3.0.0" From b7108dbeb034cb4f5977cfc2773262681ec3147e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 04:26:32 +0000 Subject: [PATCH 1260/1313] build(deps): bump @prisma/client from 5.8.1 to 5.9.0 Bumps [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) from 5.8.1 to 5.9.0. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.9.0/packages/client) --- updated-dependencies: - dependency-name: "@prisma/client" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index dc1c3d89682..14eb9bcf962 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -29,7 +29,7 @@ "peerDependencies": {}, "dependencies": { "@aws-sdk/client-sesv2": "3.499.0", - "@prisma/client": "5.8.1", + "@prisma/client": "5.9.0", "bcryptjs": "2.4.3", "cors": "2.8.5", "dotenv": "16.4.1", diff --git a/yarn.lock b/yarn.lock index 15acaa20625..f459b7a1d0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1858,10 +1858,10 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.24.tgz#58601079e11784d20f82d0585865bb42305c4df3" integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== -"@prisma/client@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.8.1.tgz#7815ec51c0ca2a6de219c02e7846701ae3baf240" - integrity sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw== +"@prisma/client@5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.9.0.tgz#d4dd719dbb7ddc1c32f99f85879d20a65604e910" + integrity sha512-dHvFZgCT0BpRS+gRhk3S+50DstXMmVowxbrPeUJaK7sjNq5OhzfpT/OGE1kq9z5Q8WmOwIXJXyxP8O2CmP+nSg== "@prisma/debug@5.8.1": version "5.8.1" From d3a293c92dacd18c43fc8151df918822ebf849b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 04:33:48 +0000 Subject: [PATCH 1261/1313] build(deps): bump jotai from 2.6.3 to 2.6.4 Bumps [jotai](https://github.com/pmndrs/jotai) from 2.6.3 to 2.6.4. - [Release notes](https://github.com/pmndrs/jotai/releases) - [Commits](https://github.com/pmndrs/jotai/compare/v2.6.3...v2.6.4) --- updated-dependencies: - dependency-name: jotai dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sites/org/package.json b/sites/org/package.json index 588895e7878..c056a0d5f96 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -40,7 +40,7 @@ "daisyui": "4.6.1", "echarts": "5.4.3", "echarts-for-react": "3.0.2", - "jotai": "2.6.3", + "jotai": "2.6.4", "jotai-location": "0.5.2", "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", diff --git a/sites/sde/package.json b/sites/sde/package.json index 556e393b4c4..402e65f2e7c 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -55,7 +55,7 @@ "echarts-for-react": "3.0.2", "file-saver": "2.0.5", "i18next": "23.8.1", - "jotai": "2.6.3", + "jotai": "2.6.4", "jotai-location": "0.5.2", "js-yaml": "4.1.0", "lodash.debounce": "^4.0.8", diff --git a/sites/shared/package.json b/sites/shared/package.json index a50833401d0..44a3672a866 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -29,7 +29,7 @@ "front-matter": "4.0.2", "highlight.js": "11.9.0", "github-slugger": "2.0.0", - "jotai": "2.6.3", + "jotai": "2.6.4", "jotai-location": "0.5.2", "lodash.clonedeep": "4.5.0", "lodash.debounce": "^4.0.8", diff --git a/yarn.lock b/yarn.lock index 6c7ce6a7fd6..e8c31a057e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7943,10 +7943,10 @@ jotai-location@0.5.2: resolved "https://registry.yarnpkg.com/jotai-location/-/jotai-location-0.5.2.tgz#9d8ccbaea0cc2ed199c7e15adb7a3b8a3060fa6d" integrity sha512-4S9hDh1wYp4SG4Laq3+Xd0GdW7jwnWlbEuL8U22kv3wUZW892n6gXlNhwU0LaoXnWoGG0gtjSLBuFm5iodFKLg== -jotai@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.3.tgz#edab97aaa37957f42ee09b2047da3ae573275647" - integrity sha512-0htSJ2d6426ZdSEYHncJHXY6Lkgde1Hc2HE/ADIRi9d2L3hQL+jLKY1LkWBMeCNyOSlKH8+1u/Gc33Ox0uq21Q== +jotai@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.4.tgz#a68a76f0e5cd2b614afae7112cfc52a77dbfe038" + integrity sha512-RniwQPX4893YlNR1muOtyUGHYaTD1fhEN4qnOuZJSrDHj6xdEMrqlRSN/hCm2fshwk78ruecB/P2l+NCVWe6TQ== js-base64@^2.1.9: version "2.6.4" From d3a93c0c2aa8b82c7f6dba3432ba79a175a6a9d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 04:34:24 +0000 Subject: [PATCH 1262/1313] build(deps-dev): bump lint-staged from 15.2.0 to 15.2.1 Bumps [lint-staged](https://github.com/okonet/lint-staged) from 15.2.0 to 15.2.1. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md) - [Commits](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.1) --- updated-dependencies: - dependency-name: lint-staged dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6c7ce6a7fd6..92dcbb3a8a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8327,25 +8327,25 @@ lines-and-columns@~2.0.3: integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== lint-staged@^15.0.1: - version "15.2.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.0.tgz#3111534ca58096a3c8f70b044b6e7fe21b36f859" - integrity sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ== + version "15.2.1" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.1.tgz#25beb6e587f54245b20163f5efede073f12c4d1b" + integrity sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ== dependencies: chalk "5.3.0" commander "11.1.0" debug "4.3.4" execa "8.0.1" lilconfig "3.0.0" - listr2 "8.0.0" + listr2 "8.0.1" micromatch "4.0.5" pidtree "0.6.0" string-argv "0.3.2" yaml "2.3.4" -listr2@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.0.tgz#aa7c230995f8ce378585f7c96c0c6d1cefa4700d" - integrity sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg== +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" From 16e56d6295609b91234eb3aa447ed2ab4f9f903c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 04:36:03 +0000 Subject: [PATCH 1263/1313] build(deps): bump @aws-sdk/client-sesv2 from 3.499.0 to 3.504.0 Bumps [@aws-sdk/client-sesv2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sesv2) from 3.499.0 to 3.504.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-sesv2/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.504.0/clients/client-sesv2) --- updated-dependencies: - dependency-name: "@aws-sdk/client-sesv2" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/backend/package.json | 2 +- yarn.lock | 373 ++++++++++++++++++++----------------- 2 files changed, 203 insertions(+), 172 deletions(-) diff --git a/sites/backend/package.json b/sites/backend/package.json index 8aea62cb6d9..80dabc1ab08 100644 --- a/sites/backend/package.json +++ b/sites/backend/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": {}, "dependencies": { - "@aws-sdk/client-sesv2": "3.499.0", + "@aws-sdk/client-sesv2": "3.504.0", "@prisma/client": "5.9.0", "bcryptjs": "2.4.3", "cors": "2.8.5", diff --git a/yarn.lock b/yarn.lock index 6c7ce6a7fd6..e0d1c706db5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -197,26 +197,26 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-sesv2@3.499.0": - version "3.499.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.499.0.tgz#d46d115d84d2b05d431ca4e825ee04459395144f" - integrity sha512-wQV7d0lX13oA2Vzu9+KcKTD3ULfd/Md8UoVh8U76NIzjAAzUeDCm6g6PQSgtQlEMsABxdLi/WGh7PJ7HAMlx4Q== +"@aws-sdk/client-sesv2@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.504.0.tgz#818093305f48c91c2c7f6bdd1251def7690b8667" + integrity sha512-vMFJAMMol5u2JueLbSVDhIz4ntBARJ8hvYDmpnJ7yZwLUqaZ1TnLPQQni/gRm8ujIyp557xraGaAVPFWDEb+XA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.499.0" + "@aws-sdk/client-sts" "3.504.0" "@aws-sdk/core" "3.496.0" - "@aws-sdk/credential-provider-node" "3.499.0" - "@aws-sdk/middleware-host-header" "3.496.0" - "@aws-sdk/middleware-logger" "3.496.0" - "@aws-sdk/middleware-recursion-detection" "3.496.0" - "@aws-sdk/middleware-signing" "3.496.0" - "@aws-sdk/middleware-user-agent" "3.496.0" - "@aws-sdk/region-config-resolver" "3.496.0" - "@aws-sdk/types" "3.496.0" - "@aws-sdk/util-endpoints" "3.496.0" - "@aws-sdk/util-user-agent-browser" "3.496.0" - "@aws-sdk/util-user-agent-node" "3.496.0" + "@aws-sdk/credential-provider-node" "3.504.0" + "@aws-sdk/middleware-host-header" "3.502.0" + "@aws-sdk/middleware-logger" "3.502.0" + "@aws-sdk/middleware-recursion-detection" "3.502.0" + "@aws-sdk/middleware-signing" "3.502.0" + "@aws-sdk/middleware-user-agent" "3.502.0" + "@aws-sdk/region-config-resolver" "3.502.0" + "@aws-sdk/types" "3.502.0" + "@aws-sdk/util-endpoints" "3.502.0" + "@aws-sdk/util-user-agent-browser" "3.502.0" + "@aws-sdk/util-user-agent-node" "3.502.0" "@smithy/config-resolver" "^2.1.1" "@smithy/core" "^1.3.1" "@smithy/fetch-http-handler" "^2.4.1" @@ -243,23 +243,25 @@ "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/client-sso@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz#765cbfb3afcbe7bc8f2430e40afd4d542a0d58fb" - integrity sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw== +"@aws-sdk/client-sso-oidc@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.504.0.tgz#78ed1e921fcda039e8525a92bf5760e8bd0091a8" + integrity sha512-ODA33/nm2srhV08EW0KZAP577UgV0qjyr7Xp2yEo8MXWL4ZqQZprk1c+QKBhjr4Djesrm0VPmSD/np0mtYP68A== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.504.0" "@aws-sdk/core" "3.496.0" - "@aws-sdk/middleware-host-header" "3.496.0" - "@aws-sdk/middleware-logger" "3.496.0" - "@aws-sdk/middleware-recursion-detection" "3.496.0" - "@aws-sdk/middleware-user-agent" "3.496.0" - "@aws-sdk/region-config-resolver" "3.496.0" - "@aws-sdk/types" "3.496.0" - "@aws-sdk/util-endpoints" "3.496.0" - "@aws-sdk/util-user-agent-browser" "3.496.0" - "@aws-sdk/util-user-agent-node" "3.496.0" + "@aws-sdk/middleware-host-header" "3.502.0" + "@aws-sdk/middleware-logger" "3.502.0" + "@aws-sdk/middleware-recursion-detection" "3.502.0" + "@aws-sdk/middleware-signing" "3.502.0" + "@aws-sdk/middleware-user-agent" "3.502.0" + "@aws-sdk/region-config-resolver" "3.502.0" + "@aws-sdk/types" "3.502.0" + "@aws-sdk/util-endpoints" "3.502.0" + "@aws-sdk/util-user-agent-browser" "3.502.0" + "@aws-sdk/util-user-agent-node" "3.502.0" "@smithy/config-resolver" "^2.1.1" "@smithy/core" "^1.3.1" "@smithy/fetch-http-handler" "^2.4.1" @@ -286,24 +288,66 @@ "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/client-sts@3.499.0": - version "3.499.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.499.0.tgz#4c8260ed1fda7ad2c4e5fe12e4eaa5849da77d92" - integrity sha512-Eyj9STw2DXMtXL5V/v0HYHO6+JjGPi257M5IYyxwqlvRchq6jbOsedobfxclB/gBUyBRtZdnyAIS8uCKjb4kpA== +"@aws-sdk/client-sso@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.502.0.tgz#8cf21d8f52a5bef65bf7b458051b3f61f7db822c" + integrity sha512-OZAYal1+PQgUUtWiHhRayDtX0OD+XpXHKAhjYgEIPbyhQaCMp3/Bq1xDX151piWXvXqXLJHFKb8DUEqzwGO9QA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" "@aws-sdk/core" "3.496.0" - "@aws-sdk/credential-provider-node" "3.499.0" - "@aws-sdk/middleware-host-header" "3.496.0" - "@aws-sdk/middleware-logger" "3.496.0" - "@aws-sdk/middleware-recursion-detection" "3.496.0" - "@aws-sdk/middleware-user-agent" "3.496.0" - "@aws-sdk/region-config-resolver" "3.496.0" - "@aws-sdk/types" "3.496.0" - "@aws-sdk/util-endpoints" "3.496.0" - "@aws-sdk/util-user-agent-browser" "3.496.0" - "@aws-sdk/util-user-agent-node" "3.496.0" + "@aws-sdk/middleware-host-header" "3.502.0" + "@aws-sdk/middleware-logger" "3.502.0" + "@aws-sdk/middleware-recursion-detection" "3.502.0" + "@aws-sdk/middleware-user-agent" "3.502.0" + "@aws-sdk/region-config-resolver" "3.502.0" + "@aws-sdk/types" "3.502.0" + "@aws-sdk/util-endpoints" "3.502.0" + "@aws-sdk/util-user-agent-browser" "3.502.0" + "@aws-sdk/util-user-agent-node" "3.502.0" + "@smithy/config-resolver" "^2.1.1" + "@smithy/core" "^1.3.1" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/hash-node" "^2.1.1" + "@smithy/invalid-dependency" "^2.1.1" + "@smithy/middleware-content-length" "^2.1.1" + "@smithy/middleware-endpoint" "^2.4.1" + "@smithy/middleware-retry" "^2.1.1" + "@smithy/middleware-serde" "^2.1.1" + "@smithy/middleware-stack" "^2.1.1" + "@smithy/node-config-provider" "^2.2.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/url-parser" "^2.1.1" + "@smithy/util-base64" "^2.1.1" + "@smithy/util-body-length-browser" "^2.1.1" + "@smithy/util-body-length-node" "^2.2.1" + "@smithy/util-defaults-mode-browser" "^2.1.1" + "@smithy/util-defaults-mode-node" "^2.1.1" + "@smithy/util-endpoints" "^1.1.1" + "@smithy/util-retry" "^2.1.1" + "@smithy/util-utf8" "^2.1.1" + tslib "^2.5.0" + +"@aws-sdk/client-sts@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.504.0.tgz#78a0beaf988ad2647d79c7157083dfd55953f41e" + integrity sha512-IESs8FkL7B/uY+ml4wgoRkrr6xYo4PizcNw6JX17eveq1gRBCPKeGMjE6HTDOcIYZZ8rqz/UeuH3JD4UhrMOnA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/core" "3.496.0" + "@aws-sdk/middleware-host-header" "3.502.0" + "@aws-sdk/middleware-logger" "3.502.0" + "@aws-sdk/middleware-recursion-detection" "3.502.0" + "@aws-sdk/middleware-user-agent" "3.502.0" + "@aws-sdk/region-config-resolver" "3.502.0" + "@aws-sdk/types" "3.502.0" + "@aws-sdk/util-endpoints" "3.502.0" + "@aws-sdk/util-user-agent-browser" "3.502.0" + "@aws-sdk/util-user-agent-node" "3.502.0" "@smithy/config-resolver" "^2.1.1" "@smithy/core" "^1.3.1" "@smithy/fetch-http-handler" "^2.4.1" @@ -344,118 +388,136 @@ "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-env@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz#5055bd2e3a169e5c10b37c40e0f356046947e707" - integrity sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw== +"@aws-sdk/credential-provider-env@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.502.0.tgz#800e63b2b9d90b078a120d474d5a3b1ec5b48514" + integrity sha512-KIB8Ae1Z7domMU/jU4KiIgK4tmYgvuXlhR54ehwlVHxnEoFPoPuGHFZU7oFn79jhhSLUFQ1lRYMxP0cEwb7XeQ== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-ini@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.496.0.tgz#4de82fc173ba1581af4bf6fcad610f2fc0fd8ca1" - integrity sha512-2nD1jp1sIwcQaWK1y/9ruQOkW16RUxZpzgjbW/gnK3iiUXwx+/FNQWxshud+GTSx3Q4x6eIhqsbjtP4VVPPuUA== +"@aws-sdk/credential-provider-http@3.503.1": + version "3.503.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.503.1.tgz#e882a4b740c9193650053033b3001b03ca4b12c8" + integrity sha512-rTdlFFGoPPFMF2YjtlfRuSgKI+XsF49u7d98255hySwhsbwd3Xp+utTTPquxP+CwDxMHbDlI7NxDzFiFdsoZug== dependencies: - "@aws-sdk/credential-provider-env" "3.496.0" - "@aws-sdk/credential-provider-process" "3.496.0" - "@aws-sdk/credential-provider-sso" "3.496.0" - "@aws-sdk/credential-provider-web-identity" "3.496.0" - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" + "@smithy/fetch-http-handler" "^2.4.1" + "@smithy/node-http-handler" "^2.3.1" + "@smithy/property-provider" "^2.1.1" + "@smithy/protocol-http" "^3.1.1" + "@smithy/smithy-client" "^2.3.1" + "@smithy/types" "^2.9.1" + "@smithy/util-stream" "^2.1.1" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-ini@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.504.0.tgz#d463dae3a309c1e9181811f27c484fd9bfa6821f" + integrity sha512-ODICLXfr8xTUd3wweprH32Ge41yuBa+u3j0JUcLdTUO1N9ldczSMdo8zOPlP0z4doqD3xbnqMkjNQWgN/Q+5oQ== + dependencies: + "@aws-sdk/client-sts" "3.504.0" + "@aws-sdk/credential-provider-env" "3.502.0" + "@aws-sdk/credential-provider-process" "3.502.0" + "@aws-sdk/credential-provider-sso" "3.504.0" + "@aws-sdk/credential-provider-web-identity" "3.504.0" + "@aws-sdk/types" "3.502.0" "@smithy/credential-provider-imds" "^2.2.1" "@smithy/property-provider" "^2.1.1" "@smithy/shared-ini-file-loader" "^2.3.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.499.0": - version "3.499.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.499.0.tgz#7980144fdd04e1e39af850084444ec29d2918473" - integrity sha512-EsiSevVmcVSMIq7D9siSH/XVc5I0vMntg1rx6KQdng1Fq8X/RBL5t9wSWEwOl7KFo5HlEsWrLWIpo1WHuzIL/w== +"@aws-sdk/credential-provider-node@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.504.0.tgz#c6014f56dd59be295114290164e00375d33f2952" + integrity sha512-6+V5hIh+tILmUjf2ZQWQINR3atxQVgH/bFrGdSR/sHSp/tEgw3m0xWL3IRslWU1e4/GtXrfg1iYnMknXy68Ikw== dependencies: - "@aws-sdk/credential-provider-env" "3.496.0" - "@aws-sdk/credential-provider-ini" "3.496.0" - "@aws-sdk/credential-provider-process" "3.496.0" - "@aws-sdk/credential-provider-sso" "3.496.0" - "@aws-sdk/credential-provider-web-identity" "3.496.0" - "@aws-sdk/types" "3.496.0" + "@aws-sdk/credential-provider-env" "3.502.0" + "@aws-sdk/credential-provider-http" "3.503.1" + "@aws-sdk/credential-provider-ini" "3.504.0" + "@aws-sdk/credential-provider-process" "3.502.0" + "@aws-sdk/credential-provider-sso" "3.504.0" + "@aws-sdk/credential-provider-web-identity" "3.504.0" + "@aws-sdk/types" "3.502.0" "@smithy/credential-provider-imds" "^2.2.1" "@smithy/property-provider" "^2.1.1" "@smithy/shared-ini-file-loader" "^2.3.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-process@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz#1d623bed61229767f389feab560e3a3117bf2d26" - integrity sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A== +"@aws-sdk/credential-provider-process@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.502.0.tgz#6c41d8845a1c7073491a064c158363de04640381" + integrity sha512-fJJowOjQ4infYQX0E1J3xFVlmuwEYJAFk0Mo1qwafWmEthsBJs+6BR2RiWDELHKrSK35u4Pf3fu3RkYuCtmQFw== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" "@smithy/shared-ini-file-loader" "^2.3.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-sso@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.496.0.tgz#1c5f2d25b64936b79095f49cabbcd7832fb87087" - integrity sha512-eP7GxpT2QYubSDG7uk1GJW4eNymZCq65IxDyEFCXOP/kfqkxriCY+iVEFG6/Mo3LxvgrgHXU4jxrCAXMAWN43g== +"@aws-sdk/credential-provider-sso@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.504.0.tgz#ad036805e8677f6a53b24aa82991596aa11ac605" + integrity sha512-4MgH2or2SjPzaxM08DCW+BjaX4DSsEGJlicHKmz6fh+w9JmLh750oXcTnbvgUeVz075jcs6qTKjvUcsdGM/t8Q== dependencies: - "@aws-sdk/client-sso" "3.496.0" - "@aws-sdk/token-providers" "3.496.0" - "@aws-sdk/types" "3.496.0" + "@aws-sdk/client-sso" "3.502.0" + "@aws-sdk/token-providers" "3.504.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" "@smithy/shared-ini-file-loader" "^2.3.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/credential-provider-web-identity@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz#7ad6d755445d1616a80dfa286a78c84dc1c3f14b" - integrity sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ== +"@aws-sdk/credential-provider-web-identity@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.504.0.tgz#53de7dee538ecaeec534e369bca76c546b8f4cc5" + integrity sha512-L1ljCvGpIEFdJk087ijf2ohg7HBclOeB1UgBxUBBzf4iPRZTQzd2chGaKj0hm2VVaXz7nglswJeURH5PFcS5oA== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/client-sts" "3.504.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-host-header@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz#e17de11d553548872566c72669c5ea2e7164722b" - integrity sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg== +"@aws-sdk/middleware-host-header@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.502.0.tgz#2651fb3509990271c89eb50133fb17cb8ae435f6" + integrity sha512-EjnG0GTYXT/wJBmm5/mTjDcAkzU8L7wQjOzd3FTXuTCNNyvAvwrszbOj5FlarEw5XJBbQiZtBs+I5u9+zy560w== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/protocol-http" "^3.1.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-logger@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz#96f867ae50144eb6bae91a427e315a0f0eb783b0" - integrity sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw== +"@aws-sdk/middleware-logger@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.502.0.tgz#558cefdd233779f15687957f9f07497199b22d72" + integrity sha512-FDyv6K4nCoHxbjLGS2H8ex8I0KDIiu4FJgVRPs140ZJy6gE5Pwxzv6YTzZGLMrnqcIs9gh065Lf6DjwMelZqaw== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-recursion-detection@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz#c14e1bbe609e4af3ec9037c2379e2b64d660e4dd" - integrity sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA== +"@aws-sdk/middleware-recursion-detection@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.502.0.tgz#c22e2c0c1d551e58c788264687324bb7186af2cc" + integrity sha512-hvbyGJbxeuezxOu8VfFmcV4ql1hKXLxHTe5FNYfEBat2KaZXVhc1Hg+4TvB06/53p+E8J99Afmumkqbxs2esUA== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/protocol-http" "^3.1.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/middleware-signing@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz#265cb5a9d7825c111c53bb555e5cb2619f804dd1" - integrity sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g== +"@aws-sdk/middleware-signing@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.502.0.tgz#48b3503147eecb1a53a63633462de353668f635a" + integrity sha512-4hF08vSzJ7L6sB+393gOFj3s2N6nLusYS0XrMW6wYNFU10IDdbf8Z3TZ7gysDJJHEGQPmTAesPEDBsasGWcMxg== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" "@smithy/protocol-http" "^3.1.1" "@smithy/signature-v4" "^2.1.1" @@ -463,86 +525,55 @@ "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/middleware-user-agent@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz#82b49fd8613ae5a9ceafc9117c34271615d0f002" - integrity sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w== +"@aws-sdk/middleware-user-agent@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.502.0.tgz#dd740f150d6f3110cf5b08fedf361d202f899c93" + integrity sha512-TxbBZbRiXPH0AUxegqiNd9aM9zNSbfjtBs5MEfcBsweeT/B2O7K1EjP9+CkB8Xmk/5FLKhAKLr19b1TNoE27rw== dependencies: - "@aws-sdk/types" "3.496.0" - "@aws-sdk/util-endpoints" "3.496.0" + "@aws-sdk/types" "3.502.0" + "@aws-sdk/util-endpoints" "3.502.0" "@smithy/protocol-http" "^3.1.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/region-config-resolver@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz#133c8a4a6d5e7672077ba124751f40b2d6efc3ed" - integrity sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug== +"@aws-sdk/region-config-resolver@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.502.0.tgz#c18a04060879eb03c47c05b05fc296119ee073ba" + integrity sha512-mxmsX2AGgnSM+Sah7mcQCIneOsJQNiLX0COwEttuf8eO+6cLMAZvVudH3BnWTfea4/A9nuri9DLCqBvEmPrilg== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/node-config-provider" "^2.2.1" "@smithy/types" "^2.9.1" "@smithy/util-config-provider" "^2.2.1" "@smithy/util-middleware" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/token-providers@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.496.0.tgz#5b5baf0801fd591de4a28146afbdc8250197f9fa" - integrity sha512-fyi8RcObEa1jNETJdc2H6q9VHrrdKCj/b6+fbLvymb7mUVRd0aWUn+24SNUImnSOnrwYnwaMfyyEC388X4MbFQ== +"@aws-sdk/token-providers@3.504.0": + version "3.504.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.504.0.tgz#f7f60b1152458e7094529ea3f3ced6ce92eece9f" + integrity sha512-YIJWWsZi2ClUiILS1uh5L6VjmCUSTI6KKMuL9DkGjYqJ0aI6M8bd8fT9Wm7QmXCyjcArTgr/Atkhia4T7oKvzQ== dependencies: - "@aws-crypto/sha256-browser" "3.0.0" - "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.496.0" - "@aws-sdk/middleware-logger" "3.496.0" - "@aws-sdk/middleware-recursion-detection" "3.496.0" - "@aws-sdk/middleware-user-agent" "3.496.0" - "@aws-sdk/region-config-resolver" "3.496.0" - "@aws-sdk/types" "3.496.0" - "@aws-sdk/util-endpoints" "3.496.0" - "@aws-sdk/util-user-agent-browser" "3.496.0" - "@aws-sdk/util-user-agent-node" "3.496.0" - "@smithy/config-resolver" "^2.1.1" - "@smithy/fetch-http-handler" "^2.4.1" - "@smithy/hash-node" "^2.1.1" - "@smithy/invalid-dependency" "^2.1.1" - "@smithy/middleware-content-length" "^2.1.1" - "@smithy/middleware-endpoint" "^2.4.1" - "@smithy/middleware-retry" "^2.1.1" - "@smithy/middleware-serde" "^2.1.1" - "@smithy/middleware-stack" "^2.1.1" - "@smithy/node-config-provider" "^2.2.1" - "@smithy/node-http-handler" "^2.3.1" + "@aws-sdk/client-sso-oidc" "3.504.0" + "@aws-sdk/types" "3.502.0" "@smithy/property-provider" "^2.1.1" - "@smithy/protocol-http" "^3.1.1" "@smithy/shared-ini-file-loader" "^2.3.1" - "@smithy/smithy-client" "^2.3.1" "@smithy/types" "^2.9.1" - "@smithy/url-parser" "^2.1.1" - "@smithy/util-base64" "^2.1.1" - "@smithy/util-body-length-browser" "^2.1.1" - "@smithy/util-body-length-node" "^2.2.1" - "@smithy/util-defaults-mode-browser" "^2.1.1" - "@smithy/util-defaults-mode-node" "^2.1.1" - "@smithy/util-endpoints" "^1.1.1" - "@smithy/util-retry" "^2.1.1" - "@smithy/util-utf8" "^2.1.1" tslib "^2.5.0" -"@aws-sdk/types@3.496.0", "@aws-sdk/types@^3.222.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.496.0.tgz#cdde44a94a57cf8f97cf05e4d0bdce2f56ce4eeb" - integrity sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw== +"@aws-sdk/types@3.502.0", "@aws-sdk/types@^3.222.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.502.0.tgz#c23dda4df7fdbe32642d4f5ab23516f455fb6aba" + integrity sha512-M0DSPYe/gXhwD2QHgoukaZv5oDxhW3FfvYIrJptyqUq3OnPJBcDbihHjrE0PBtfh/9kgMZT60/fQ2NVFANfa2g== dependencies: "@smithy/types" "^2.9.1" tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz#5ce7d3efd7ab67db556e2c199e73826c44d22ecd" - integrity sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw== +"@aws-sdk/util-endpoints@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.502.0.tgz#aee818c0c53dfedfd49599fc260cd880faea5e82" + integrity sha512-6LKFlJPp2J24r1Kpfoz5ESQn+1v5fEjDB3mtUKRdpwarhm3syu7HbKlHCF3KbcCOyahobvLvhoedT78rJFEeeg== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/types" "^2.9.1" "@smithy/util-endpoints" "^1.1.1" tslib "^2.5.0" @@ -554,22 +585,22 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz#494b086dd8b07acdd6be65034c51545e5bcee37b" - integrity sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg== +"@aws-sdk/util-user-agent-browser@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.502.0.tgz#87b42abff6944052c78a84981637ac21859dd016" + integrity sha512-v8gKyCs2obXoIkLETAeEQ3AM+QmhHhst9xbM1cJtKUGsRlVIak/XyyD+kVE6kmMm1cjfudHpHKABWk9apQcIZQ== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/types" "^2.9.1" bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-user-agent-node@3.496.0": - version "3.496.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz#db14e02cf82af556c826570efc7db1e57de3262d" - integrity sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg== +"@aws-sdk/util-user-agent-node@3.502.0": + version "3.502.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.502.0.tgz#04ac4d0371d4f243f12ddc23b42ca8ceb27dfad9" + integrity sha512-9RjxpkGZKbTdl96tIJvAo+vZoz4P/cQh36SBUt9xfRfW0BtsaLyvSrvlR5wyUYhvRcC12Axqh/8JtnAPq//+Vw== dependencies: - "@aws-sdk/types" "3.496.0" + "@aws-sdk/types" "3.502.0" "@smithy/node-config-provider" "^2.2.1" "@smithy/types" "^2.9.1" tslib "^2.5.0" From a496d3c9a0a9a860d5226f0454d3272f53b4494c Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 1 Feb 2024 00:39:19 -0800 Subject: [PATCH 1264/1313] fix(gozer): In docs, add and change to --- markdown/org/docs/designs/gozer/en.md | 2 ++ markdown/org/docs/designs/gozer/notes/en.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/en.md b/markdown/org/docs/designs/gozer/en.md index 5fe6aadda1c..57eddeee349 100644 --- a/markdown/org/docs/designs/gozer/en.md +++ b/markdown/org/docs/designs/gozer/en.md @@ -11,3 +11,5 @@ where the pattern was. So I posted it. And he published it. Wouter +
    + diff --git a/markdown/org/docs/designs/gozer/notes/en.md b/markdown/org/docs/designs/gozer/notes/en.md index 5b00af821c8..7a8a2395890 100644 --- a/markdown/org/docs/designs/gozer/notes/en.md +++ b/markdown/org/docs/designs/gozer/notes/en.md @@ -2,5 +2,5 @@ title: "Gozer the ghost: Designer Notes" --- -The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From b4db97c5e5c75c8b694781fdea30d4f4be045745 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 1 Feb 2024 00:34:07 -0800 Subject: [PATCH 1265/1313] fix(shared): Adjust to accommodate designs with no options --- sites/shared/components/designs/info.mjs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/sites/shared/components/designs/info.mjs b/sites/shared/components/designs/info.mjs index 62a4baf0172..ef63bdd2114 100644 --- a/sites/shared/components/designs/info.mjs +++ b/sites/shared/components/designs/info.mjs @@ -111,9 +111,11 @@ export const DesignInfo = ({ design, docs = false, workbench = false, modal = fa
  • -
  • - -
  • + {Object.keys(config.options).length > 0 ? ( +
  • + +
  • + ) : null}
  • @@ -352,8 +354,12 @@ export const DesignInfo = ({ design, docs = false, workbench = false, modal = fa ) : null} -
    {t('account:designOptions')}
    - + {Object.keys(config.options).length > 0 ? ( + <> +
    {t('account:designOptions')}
    + + + ) : null}
    {t('account:parts')}
      @@ -361,6 +367,7 @@ export const DesignInfo = ({ design, docs = false, workbench = false, modal = fa
    • {part}
    • ))}
    + {Object.keys(config.plugins).length > 0 ? ( <>
    {t('account:plugins')}
    From 866c346eeef4ed94c14ce159557333374896ee49 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 1 Feb 2024 14:47:52 -0800 Subject: [PATCH 1266/1313] fix(bob): In docs, remove bias tape Fixme --- markdown/org/docs/designs/bob/instructions/en.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/en.md b/markdown/org/docs/designs/bob/instructions/en.md index 7eba53c03fe..ecc186f8f16 100644 --- a/markdown/org/docs/designs/bob/instructions/en.md +++ b/markdown/org/docs/designs/bob/instructions/en.md @@ -20,7 +20,7 @@ as your choice for the front layer, aka the visible one. If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -You probably want to pin or bast this prior to sewing. The two different types of fabric +You probably want to pin or baste this prior to sewing. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. Make sure to sew close to the edge so that the stitches will be under the bias tape @@ -35,12 +35,6 @@ seam will be covered when the bib is worn. Just work your way around, and take your time. - - -Provide generic instructions for sewing bias tape - - - ## Step 3: Install snaps or button Next, install the snaps on the straps, as indicated on the pattern. From e88fd17e322016068ae54754716f7a011dccfbd4 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Thu, 1 Feb 2024 15:20:02 -0800 Subject: [PATCH 1267/1313] fix(simone): Add roundback option documentation --- .../org/docs/designs/simone/options/roundback/en.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/en.md b/markdown/org/docs/designs/simone/options/roundback/en.md index 4452603252a..17f9c500ee9 100644 --- a/markdown/org/docs/designs/simone/options/roundback/en.md +++ b/markdown/org/docs/designs/simone/options/roundback/en.md @@ -2,12 +2,7 @@ title: "Round back" --- - - -Document this option - - - - - +Controls how round the back yoke seam is by adding length to the center back at the yoke that tapers of towards the sides. +- Increase this option to round the back yoke seam +- Decrease this option to straighten the back yoke seam From b3661d663447d5dd3aa70ad21d927c2f42c16993 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 04:51:45 +0000 Subject: [PATCH 1268/1313] build(deps): bump react-zoom-pan-pinch from 3.3.0 to 3.4.1 Bumps [react-zoom-pan-pinch](https://github.com/prc5/react-zoom-pan-pinch) from 3.3.0 to 3.4.1. - [Release notes](https://github.com/prc5/react-zoom-pan-pinch/releases) - [Changelog](https://github.com/BetterTyped/react-zoom-pan-pinch/blob/master/CHANGELOG.md) - [Commits](https://github.com/prc5/react-zoom-pan-pinch/compare/v3.3.0...v3.4.1) --- updated-dependencies: - dependency-name: react-zoom-pan-pinch dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/sde/package.json | 2 +- sites/shared/package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sites/sde/package.json b/sites/sde/package.json index 556e393b4c4..d32f6bf0743 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -75,7 +75,7 @@ "react-dropzone": "14.2.3", "react-swipeable": "7.0.1", "react-timeago": "7.2.0", - "react-zoom-pan-pinch": "3.3.0", + "react-zoom-pan-pinch": "3.4.1", "remark-gfm": "4.0.0", "remark-frontmatter": "5.0.0", "remark-mdx-frontmatter": "4.0.0", diff --git a/sites/shared/package.json b/sites/shared/package.json index a50833401d0..11382e182cd 100644 --- a/sites/shared/package.json +++ b/sites/shared/package.json @@ -44,7 +44,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-timeago": "7.2.0", - "react-zoom-pan-pinch": "3.3.0", + "react-zoom-pan-pinch": "3.4.1", "rehype-autolink-headings": "7.1.0", "rehype-highlight": "7.0.0", "remark-frontmatter": "5.0.0", diff --git a/yarn.lock b/yarn.lock index 6c7ce6a7fd6..5360b82b18d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11685,10 +11685,10 @@ react-timeago@7.2.0: resolved "https://registry.yarnpkg.com/react-timeago/-/react-timeago-7.2.0.tgz#ae929d7423a63cbc3dc228e49d22fbf586d459ca" integrity sha512-2KsBEEs+qRhKx/kekUVNSTIpop3Jwd7SRBm0R4Eiq3mPeswRGSsftY9FpKsE/lXLdURyQFiHeHFrIUxLYskG5g== -react-zoom-pan-pinch@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.3.0.tgz#873648438c5244d89fcc2127614046928429cbe0" - integrity sha512-vy1h8aenDzXye+HRqANZaSA8IPHoqOiuDPFBkswoyPUH8uMfsmbeH6gFI4r4BhEJa0xIlcA+FbvhidRWKGUrOg== +react-zoom-pan-pinch@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.4.1.tgz#ca6bf97e689f9892284884818abb2e534ea4fdde" + integrity sha512-n/YO/6ra3wLvGYA1xfSbVr2euQ0YeaiZQ0X7qHbmVh+xbzwwVeRM4ct6iqUXJ7vOd5At2y+DHyRAIKtX2Xa1lA== react@18.2.0, react@^18.2.0: version "18.2.0" From ba4163a2b85fe8d83ab271ff5136bfb4b83b0386 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 04:54:09 +0000 Subject: [PATCH 1269/1313] build(deps-dev): bump husky from 8.0.3 to 9.0.10 Bumps [husky](https://github.com/typicode/husky) from 8.0.3 to 9.0.10. - [Release notes](https://github.com/typicode/husky/releases) - [Commits](https://github.com/typicode/husky/compare/v8.0.3...v9.0.10) --- updated-dependencies: - dependency-name: husky dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 018eca7a7fb..eb89e8ad5aa 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "eslint-plugin-markdown": "^3.0.0", "eslint-plugin-mongo": "^1.0.5", "eslint-plugin-yaml": "^0.5.0", - "husky": "^8.0.3", + "husky": "^9.0.10", "js-yaml": "^4.0.0", "lerna": "^8.0.0", "lint-staged": "^15.0.1", diff --git a/yarn.lock b/yarn.lock index 6c7ce6a7fd6..2516e683189 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7149,10 +7149,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.0.10: + version "9.0.10" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.10.tgz#ddca8908deb5f244e9286865ebc80b54387672c2" + integrity sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA== i18next-fs-backend@^2.3.1: version "2.3.1" From 402da202ebcc821a0fb835c5e6e6496f204b47e2 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 15:04:01 +0100 Subject: [PATCH 1270/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/sewing/fabric-grain/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/sewing/fabric-grain/uk.md b/markdown/org/docs/sewing/fabric-grain/uk.md index ad01b3e58de..936f229975c 100644 --- a/markdown/org/docs/sewing/fabric-grain/uk.md +++ b/markdown/org/docs/sewing/fabric-grain/uk.md @@ -12,7 +12,7 @@ title: Ткацьке переплетення > Додаткова інформація про основу та утік: [Ткацькі переплетення (Вікіпедія)](https://uk.wikipedia.org/wiki/%D0%A2%D0%BA%D0%B0%D1%86%D1%8C%D0%BA%D1%96_%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D0%BB%D0%B5%D1%82%D0%B5%D0%BD%D0%BD%D1%8F), [Основа (Вікіпедія)](https://uk.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%B0_(%D1%82%D0%BA%D0%B0%D1%86%D1%82%D0%B2%D0%BE)), [Утік (Вікіпедія)](https://uk.wikipedia.org/wiki/%D0%A3%D1%82%D1%96%D0%BA_(%D1%82%D0%BA%D0%B0%D1%86%D1%82%D0%B2%D0%BE)) -> ##### Трохи розгубилися? Подумайте про деревину +> ##### Трохи розгубилися? Порівняймо з деревиною > > Деревина, звичайно, не сплетена — вона потовщується завдяки сезонній періодичності діяльності камбію, в результаті якої утворюються деревні кільця (річні шари). Розташування цих шарів відносно один одного мають значення для теслярів та столярів. Вони впливають на рівень деформації деревини після розпилу, її гнучкість та інші параметри. > From fb3109af0bff7d2395395437e0a24391d9f39693 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Fri, 2 Feb 2024 06:52:36 -0800 Subject: [PATCH 1271/1313] fix(markdown): Add link to multisets in Settings doc --- markdown/dev/reference/settings/en.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/markdown/dev/reference/settings/en.md b/markdown/dev/reference/settings/en.md index b34ae5d8519..a89ecae8ec8 100644 --- a/markdown/dev/reference/settings/en.md +++ b/markdown/dev/reference/settings/en.md @@ -4,7 +4,7 @@ title: Settings FreeSewing is all about parametric design, and the settings are the parameters we pass to a pattern when drafting it. Perhaps the most important of all -settings are the measurements, but there's other settings too. +settings are the measurements, but there are other settings too. ## Signature @@ -37,7 +37,9 @@ Below is a complete list of all supported properties in a settings object: ## Notes -You can pass multiple settings objects to a pattern in an array: +You can pass a +[multiple set of settings](/reference/api/pattern#multisets-in-freesewing) +objects in an array to the pattern constructor: ```js new pattern([ @@ -50,6 +52,3 @@ new pattern([ ]) ``` -Add link to multiset docs - - From a35f6cd9744d858765c646151738b0fa3afc2584 Mon Sep 17 00:00:00 2001 From: Benjamin Fan Date: Fri, 2 Feb 2024 07:08:53 -0800 Subject: [PATCH 1272/1313] fix(markdown): Fix Translation Guide links to use v3 versions --- markdown/dev/guides/translation/en.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/markdown/dev/guides/translation/en.md b/markdown/dev/guides/translation/en.md index 6530f9c98a4..685071a1915 100644 --- a/markdown/dev/guides/translation/en.md +++ b/markdown/dev/guides/translation/en.md @@ -34,12 +34,9 @@ When you do, we will send you an email with all further instructions. -###### [Request a FreeSewing translator invite](https://next.freesewing.org/translation/join) +###### [Request a FreeSewing translator invite](https://freesewing.org/translation/join) -This link above still needs to be implemented in the new v3 -website - We also have [a dedicated __Translation__ channel on @@ -57,13 +54,9 @@ a new language with the link below. -###### [Suggest a new FreeSewing language](https://next.freesewing.org/translation/suggest-language) +###### [Suggest a new FreeSewing language](https://freesewing.org/translation/suggest-language) - -This link above still needs to be implemented in the new v3 website - - ##### Get the band together @@ -169,7 +162,7 @@ review process when you submit a pull request on GitHub. Once your translation is approved, Crowdin will automatically submit a pull request on GitHub to update the translation files in our repository. And the -next time our website or software packages get build, they will include the new +next time our website or software packages get built, they will include the new translations. ## Machine translation From 219992ef9f84b3cbdad016c2000749af90669818 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 17:50:30 +0000 Subject: [PATCH 1273/1313] build(deps): bump nodemailer from 6.9.1 to 6.9.9 in /scripts Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.9.1 to 6.9.9. - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodemailer/nodemailer/compare/v6.9.1...v6.9.9) --- updated-dependencies: - dependency-name: nodemailer dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- scripts/package.json | 2 +- scripts/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/package.json b/scripts/package.json index 10d66758e98..e922164a1e8 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -18,7 +18,7 @@ "lodash.orderby": "^4.6.0", "lodash.set": "^4.3.2", "mustache": "^4.2.0", - "nodemailer": "^6.9.1", + "nodemailer": "^6.9.9", "prompts": "^2.4.2", "rehype-format": "^4.0.1", "rehype-stringify": "^9.0.3", diff --git a/scripts/yarn.lock b/scripts/yarn.lock index 899b5e690e1..f0db918e30d 100644 --- a/scripts/yarn.lock +++ b/scripts/yarn.lock @@ -714,10 +714,10 @@ mustache@^4.2.0: resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== -nodemailer@^6.9.1: - version "6.9.1" - resolved "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz" - integrity sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA== +nodemailer@^6.9.9: + version "6.9.9" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.9.tgz#4549bfbf710cc6addec5064dd0f19874d24248d9" + integrity sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA== once@^1.3.0: version "1.4.0" From 89f20bb528ad5ad7b401fbd508b9c9602a17bfe0 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:20:04 +0100 Subject: [PATCH 1274/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/bob/instructions/fr.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/fr.md b/markdown/org/docs/designs/bob/instructions/fr.md index 4021ffa7496..f19385ec258 100644 --- a/markdown/org/docs/designs/bob/instructions/fr.md +++ b/markdown/org/docs/designs/bob/instructions/fr.md @@ -19,7 +19,7 @@ comme choix pour la couche avant, c'est-à-dire la couche visible. If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -Tu voudras probablement l'épingler ou le bâtonner avant de le coudre. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. +You probably want to pin or baste this prior to sewing. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. Make sure to sew close to the edge so that the stitches will be under the bias tape finish later. @@ -31,12 +31,6 @@ You probably want to start at the bottom strap, as this way the joint of the bia Contente-toi de te frayer un chemin et de prendre ton temps. - - -Donne des instructions génériques pour coudre du ruban de biais. - - - ## Étape 3 : Installer les boutons ou les boutons-pression Ensuite, installe les boutons-pression sur les bretelles, comme indiqué sur le patron. From 902eca818dad3e1f08c0c05c027f85bf4474c7da Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:28:56 +0100 Subject: [PATCH 1275/1313] New translations en.md (French) skip-build --- .../org/docs/designs/simone/options/roundback/fr.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/fr.md b/markdown/org/docs/designs/simone/options/roundback/fr.md index b17528518c0..fb2fa3b5b86 100644 --- a/markdown/org/docs/designs/simone/options/roundback/fr.md +++ b/markdown/org/docs/designs/simone/options/roundback/fr.md @@ -2,12 +2,7 @@ title: "Arrondi arrière" --- - - -Document de cette option - - - - - +Contrôle la rondeur de la couture de l'empiècement arrière en ajoutant une longueur au centre du dos au niveau de l'empiècement qui se rétrécit vers les côtés. +- Augmente cette option pour arrondir la couture de l'empiècement arrière. +- Diminue cette option pour redresser la couture de l'empiècement arrière. From ec04bb54421992ae3a0f57a989a400627b0b27ca Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:38:34 +0100 Subject: [PATCH 1276/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/gozer/fr.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/fr.md b/markdown/org/docs/designs/gozer/fr.md index d1b1d07b508..18bd55e2700 100644 --- a/markdown/org/docs/designs/gozer/fr.md +++ b/markdown/org/docs/designs/gozer/fr.md @@ -8,3 +8,5 @@ So as a joke I made this, just so I could post it on the discord server. And the Wouter +
    + From 7e4af8e0359bf90c66d86c8d1b6f33b67ee1c511 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:38:38 +0100 Subject: [PATCH 1277/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/gozer/notes/fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/fr.md b/markdown/org/docs/designs/gozer/notes/fr.md index 4a0f5eee618..ec1b5caa91d 100644 --- a/markdown/org/docs/designs/gozer/notes/fr.md +++ b/markdown/org/docs/designs/gozer/notes/fr.md @@ -2,5 +2,5 @@ title: "Gozer le fantôme : Notes du concepteur" --- -La créatrice, ni FreeSewing, ne sont responsables de tout ce qui suit l'utilisation de ce modèle. Tu as été prévenu. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From 8c28f6dfbe5f9be5ae647d32e5e5b7fc52094c30 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:43:01 +0100 Subject: [PATCH 1278/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/bob/instructions/es.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/es.md b/markdown/org/docs/designs/bob/instructions/es.md index 88465bc5bed..4a53335c780 100644 --- a/markdown/org/docs/designs/bob/instructions/es.md +++ b/markdown/org/docs/designs/bob/instructions/es.md @@ -19,7 +19,7 @@ como tu elección para la capa delantera, es decir, la visible. If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -Probablemente quieras prenderlo con alfileres o hilvanarlo antes de coserlo. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. +You probably want to pin or baste this prior to sewing. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. Make sure to sew close to the edge so that the stitches will be under the bias tape finish later. @@ -31,12 +31,6 @@ You probably want to start at the bottom strap, as this way the joint of the bia Ábrete camino y tómate tu tiempo. - - -Proporcionar instrucciones genéricas para coser cinta al bies - - - ## Paso 3: Instalar broches o botón A continuación, instala los broches en los tirantes, como se indica en el patrón. From ea1ae128db0b5395069964f1246895c4f5aa7174 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 19:51:38 +0100 Subject: [PATCH 1279/1313] New translations en.md (Spanish) skip-build --- .../org/docs/designs/simone/options/roundback/es.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/es.md b/markdown/org/docs/designs/simone/options/roundback/es.md index ee98c3eda44..a80d31a4da4 100644 --- a/markdown/org/docs/designs/simone/options/roundback/es.md +++ b/markdown/org/docs/designs/simone/options/roundback/es.md @@ -2,12 +2,7 @@ title: "Retroceso" --- - - -Documentar esta opción - - - - - +Controla la redondez de la costura del canesú trasero añadiendo longitud al centro de la espalda en el canesú que se estrecha hacia los lados. +- Aumenta esta opción para redondear la costura del canesú trasero +- Disminuye esta opción para enderezar la costura del canesú trasero From ba8fdb6318f0bae2eaf94ed8e14f290a8d85d80c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:01:02 +0100 Subject: [PATCH 1280/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/gozer/es.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/es.md b/markdown/org/docs/designs/gozer/es.md index 49ce27840e8..d947ec51b87 100644 --- a/markdown/org/docs/designs/gozer/es.md +++ b/markdown/org/docs/designs/gozer/es.md @@ -8,3 +8,5 @@ So as a joke I made this, just so I could post it on the discord server. And the Wouter +
    + From 903c17bcd0fceebe6de7c6c0924df01e3794fffc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:01:06 +0100 Subject: [PATCH 1281/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/gozer/notes/es.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/es.md b/markdown/org/docs/designs/gozer/notes/es.md index 9a2188efd08..7fb70459386 100644 --- a/markdown/org/docs/designs/gozer/notes/es.md +++ b/markdown/org/docs/designs/gozer/notes/es.md @@ -2,5 +2,5 @@ title: "Gozer el fantasma: Notas del diseñador" --- -El diseñador, ni FreeSewing, son responsables de nada que se derive del uso de este patrón. Estás avisado. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From c3be214ed49ad612dd5a88cd3203946895f2d0bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:05:28 +0100 Subject: [PATCH 1282/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/bob/instructions/de.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/de.md b/markdown/org/docs/designs/bob/instructions/de.md index 339d8ed26a4..025718eeb34 100644 --- a/markdown/org/docs/designs/bob/instructions/de.md +++ b/markdown/org/docs/designs/bob/instructions/de.md @@ -19,7 +19,7 @@ als deine Wahl für die vordere Lage, also die sichtbare. Wenn du dich für zwei Lagen entscheidest, füge sie einfach an den Kanten zusammen, bevor du das Schrägband anbringst. -Wahrscheinlich willst du das vor dem Nähen feststecken oder heften. Die beiden verschiedenen Arten von Stoff verhalten sich unterschiedlich, deshalb solltest du sie vor dem Zusammennähen sichern. +You probably want to pin or baste this prior to sewing. Die beiden verschiedenen Arten von Stoff verhalten sich unterschiedlich, deshalb solltest du sie vor dem Zusammennähen sichern. Achte darauf, dass du dicht an der Kante nähst, damit die Stiche später unter dem Schrägband liegen . @@ -31,12 +31,6 @@ Wahrscheinlich möchtest du am unteren Träger beginnen, denn so wird die Naht d Arbeite dich einfach vor und lass dir Zeit. - - -Allgemeine Anweisungen zum Nähen von Schrägband bereitstellen - - - ## Schritt 3: Druckknöpfe oder Knopf anbringen Als Nächstes bringst du die Druckknöpfe an den Trägern an, wie auf dem Muster angegeben. From 2c59725d23b116a2261e9e8f37409c32e2a8545c Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:13:52 +0100 Subject: [PATCH 1283/1313] New translations en.md (German) skip-build --- .../org/docs/designs/simone/options/roundback/de.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/de.md b/markdown/org/docs/designs/simone/options/roundback/de.md index db186e7ceb9..d58cd5440ad 100644 --- a/markdown/org/docs/designs/simone/options/roundback/de.md +++ b/markdown/org/docs/designs/simone/options/roundback/de.md @@ -2,12 +2,7 @@ title: "Runder Rücken" --- - - -Diese Option dokumentieren - - - - - +Steuert, wie rund die Naht der Rückenpasse ist, indem du die Länge der Rückenmitte an der Passe, die sich zu den Seiten hin verjüngt, hinzufügst. +- Erhöhe diese Option, um die hintere Passennaht abzurunden +- Verringere diese Option, um die hintere Passennaht zu begradigen From 18e3b6fd0e6d5d54d2b6d4aae26e5170a94a20b9 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:23:18 +0100 Subject: [PATCH 1284/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/gozer/de.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/de.md b/markdown/org/docs/designs/gozer/de.md index d49ba20b640..e6c6a4c9692 100644 --- a/markdown/org/docs/designs/gozer/de.md +++ b/markdown/org/docs/designs/gozer/de.md @@ -8,3 +8,5 @@ Aus Spaß habe ich das hier gemacht, damit ich es auf dem Discord-Server posten Wouter +
    + From eb694c07eb58896e72caf4b7d3c7c43cb7fea88e Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:23:21 +0100 Subject: [PATCH 1285/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/gozer/notes/de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/de.md b/markdown/org/docs/designs/gozer/notes/de.md index d9e8575822f..f6189e0bf88 100644 --- a/markdown/org/docs/designs/gozer/notes/de.md +++ b/markdown/org/docs/designs/gozer/notes/de.md @@ -2,5 +2,5 @@ title: "Gozer der Geist: Anmerkungen des Designers" --- -Weder der Designer noch FreeSewing haften für irgendetwas, das sich aus der Verwendung dieses Musters ergibt. Du wurdest gewarnt. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From 215b34f7fea556bae3d032c0ed3b9dc692eb3a66 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:27:40 +0100 Subject: [PATCH 1286/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/bob/instructions/nl.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/nl.md b/markdown/org/docs/designs/bob/instructions/nl.md index d874bd09c26..c1f8d417661 100644 --- a/markdown/org/docs/designs/bob/instructions/nl.md +++ b/markdown/org/docs/designs/bob/instructions/nl.md @@ -19,7 +19,7 @@ als keuze voor de voorste laag, oftewel de zichtbare laag. If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -Je wilt dit waarschijnlijk vastspelden of vastbinden voordat je gaat naaien. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. +You probably want to pin or baste this prior to sewing. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. Make sure to sew close to the edge so that the stitches will be under the bias tape finish later. @@ -31,12 +31,6 @@ You probably want to start at the bottom strap, as this way the joint of the bia Werk je gewoon een slag in de rondte en neem je tijd. - - -Geef algemene instructies voor het naaien van biaisband - - - ## Stap 3: Bevestig drukknopen of knopen Bevestig vervolgens de drukknopen op de bandjes, zoals aangegeven op het patroon. From 8f5b205f83ff83892979505620b85d77c0a1f83b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:36:01 +0100 Subject: [PATCH 1287/1313] New translations en.md (Dutch) skip-build --- .../org/docs/designs/simone/options/roundback/nl.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/nl.md b/markdown/org/docs/designs/simone/options/roundback/nl.md index 822e603114c..83744e1eb97 100644 --- a/markdown/org/docs/designs/simone/options/roundback/nl.md +++ b/markdown/org/docs/designs/simone/options/roundback/nl.md @@ -2,12 +2,7 @@ title: "Rond terug af" --- - - -Document deze optie - - - - - +Bepaalt hoe rond de naad van het rugstuk is door lengte toe te voegen aan het midden van het rugstuk dat naar de zijkanten toeloopt. +- Verhoog deze optie om de naad van het achterstuk af te ronden +- Verlaag deze optie om de naad van het achterjuk recht te maken From eaf781b03be1278b6d401346c853b897a51b4341 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:45:18 +0100 Subject: [PATCH 1288/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/gozer/nl.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/nl.md b/markdown/org/docs/designs/gozer/nl.md index 6ca310f3bc0..4749534a093 100644 --- a/markdown/org/docs/designs/gozer/nl.md +++ b/markdown/org/docs/designs/gozer/nl.md @@ -8,3 +8,5 @@ Dus als grapje heb ik dit gemaakt, zodat ik het op de discord server kon posten. Wouter +
    + From baaa9ae80c4ce078071ca053435bce51719f52a5 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:45:21 +0100 Subject: [PATCH 1289/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/gozer/notes/nl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/nl.md b/markdown/org/docs/designs/gozer/notes/nl.md index 095595c9479..f503870b6f4 100644 --- a/markdown/org/docs/designs/gozer/notes/nl.md +++ b/markdown/org/docs/designs/gozer/notes/nl.md @@ -2,5 +2,5 @@ title: "Gozer het spook: Ontwerpnotities" --- -De ontwerper, noch FreeSewing, zijn aansprakelijk voor alles wat volgt uit het gebruik van dit patroon. Je bent gewaarschuwd. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From 91265d9f613e4ff3e8491b30b50ba7defe303d9d Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:49:36 +0100 Subject: [PATCH 1290/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/bob/instructions/uk.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/uk.md b/markdown/org/docs/designs/bob/instructions/uk.md index 6d0dcd352ea..2e9774339fc 100644 --- a/markdown/org/docs/designs/bob/instructions/uk.md +++ b/markdown/org/docs/designs/bob/instructions/uk.md @@ -19,7 +19,7 @@ title: "Слюнявчик Боб: Інструкція з пошиття" If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -Можливо, ви захочете приколоти або закріпити його перед тим, як пришивати. Два різних типи тканини поводитимуться по-різному, тому закріпіть їх на місці перед тим, як зшивати разом. +You probably want to pin or baste this prior to sewing. Два різних типи тканини поводитимуться по-різному, тому закріпіть їх на місці перед тим, як зшивати разом. Make sure to sew close to the edge so that the stitches will be under the bias tape finish later. @@ -31,12 +31,6 @@ You probably want to start at the bottom strap, as this way the joint of the bia Просто пройдіться по колу і не поспішайте. - - -Надайте загальні інструкції для пришивання бейки - - - ## Крок 3: Встановіть прив'язки або кнопку Далі встановіть застібки на ремінці, як показано на викрійці. From 3bd19e80818f17715134df7e71cbf42e8080e3bc Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 20:58:04 +0100 Subject: [PATCH 1291/1313] New translations en.md (Ukrainian) skip-build --- .../org/docs/designs/simone/options/roundback/uk.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/uk.md b/markdown/org/docs/designs/simone/options/roundback/uk.md index ce8f8e02f98..61f232ff2da 100644 --- a/markdown/org/docs/designs/simone/options/roundback/uk.md +++ b/markdown/org/docs/designs/simone/options/roundback/uk.md @@ -2,12 +2,7 @@ title: "Заокруглена спина" --- - - -Задокументуйте цю опцію - - - - - +Контролює округлість шва задньої кокетки, додаючи довжину до центру спинки на кокетці, яка звужується до боків. +- Збільште цей параметр, щоб заокруглити задній шов кокетки +- Зменшіть цей параметр, щоб випрямити задній шов кокетки From 6eec1b04b3edc2cf5c690318d06a569f88b99ffd Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 21:07:32 +0100 Subject: [PATCH 1292/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/gozer/uk.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/uk.md b/markdown/org/docs/designs/gozer/uk.md index 27b186f5eeb..d5cebf31500 100644 --- a/markdown/org/docs/designs/gozer/uk.md +++ b/markdown/org/docs/designs/gozer/uk.md @@ -8,3 +8,5 @@ So as a joke I made this, just so I could post it on the discord server. And the Wouter +
    + From 446bcb363fa7e23b57f2c5db2e3b285e43049127 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 21:07:35 +0100 Subject: [PATCH 1293/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/gozer/notes/uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/uk.md b/markdown/org/docs/designs/gozer/notes/uk.md index ea91887443e..44d502897c9 100644 --- a/markdown/org/docs/designs/gozer/notes/uk.md +++ b/markdown/org/docs/designs/gozer/notes/uk.md @@ -2,5 +2,5 @@ title: "Привид Гозера: нотатки дизайнера" --- -Дизайнер, а також FreeSewing не несуть відповідальності за будь-які наслідки використання цієї викрійки. Тебе попереджено. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From ff54a42fbfa55aa9f49ae137ce15e0e16f1bed18 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 22:06:44 +0100 Subject: [PATCH 1294/1313] Update source file en.md skip-build --- markdown/org/docs/designs/bob/instructions/en.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/markdown/org/docs/designs/bob/instructions/en.md b/markdown/org/docs/designs/bob/instructions/en.md index 7eba53c03fe..ecc186f8f16 100644 --- a/markdown/org/docs/designs/bob/instructions/en.md +++ b/markdown/org/docs/designs/bob/instructions/en.md @@ -20,7 +20,7 @@ as your choice for the front layer, aka the visible one. If you decide to go for two layers, simply join them together at the edges before applying the bias tape. -You probably want to pin or bast this prior to sewing. The two different types of fabric +You probably want to pin or baste this prior to sewing. The two different types of fabric will behave differently, so secure them in place prior to sewing the together. Make sure to sew close to the edge so that the stitches will be under the bias tape @@ -35,12 +35,6 @@ seam will be covered when the bib is worn. Just work your way around, and take your time. - - -Provide generic instructions for sewing bias tape - - - ## Step 3: Install snaps or button Next, install the snaps on the straps, as indicated on the pattern. From 667b3ad6052abd4e2741eb66a47323c48ece3a81 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 22:07:59 +0100 Subject: [PATCH 1295/1313] Update source file en.md skip-build --- markdown/org/docs/designs/gozer/en.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/markdown/org/docs/designs/gozer/en.md b/markdown/org/docs/designs/gozer/en.md index 5fe6aadda1c..57eddeee349 100644 --- a/markdown/org/docs/designs/gozer/en.md +++ b/markdown/org/docs/designs/gozer/en.md @@ -11,3 +11,5 @@ where the pattern was. So I posted it. And he published it. Wouter +
    + From 62968689a9340bb0fd41e59784292ca33d53e391 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 22:08:01 +0100 Subject: [PATCH 1296/1313] Update source file en.md skip-build --- markdown/org/docs/designs/gozer/notes/en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/org/docs/designs/gozer/notes/en.md b/markdown/org/docs/designs/gozer/notes/en.md index 5b00af821c8..7a8a2395890 100644 --- a/markdown/org/docs/designs/gozer/notes/en.md +++ b/markdown/org/docs/designs/gozer/notes/en.md @@ -2,5 +2,5 @@ title: "Gozer the ghost: Designer Notes" --- -The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. +The designer, nor FreeSewing, are liable for anything that follows the use of this pattern. You've been warned. From 395d30d6ac036f339c37d9b414ba6ffba0404c8b Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 2 Feb 2024 22:10:08 +0100 Subject: [PATCH 1297/1313] Update source file en.md skip-build --- .../org/docs/designs/simone/options/roundback/en.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/markdown/org/docs/designs/simone/options/roundback/en.md b/markdown/org/docs/designs/simone/options/roundback/en.md index 4452603252a..17f9c500ee9 100644 --- a/markdown/org/docs/designs/simone/options/roundback/en.md +++ b/markdown/org/docs/designs/simone/options/roundback/en.md @@ -2,12 +2,7 @@ title: "Round back" --- - - -Document this option - - - - - +Controls how round the back yoke seam is by adding length to the center back at the yoke that tapers of towards the sides. +- Increase this option to round the back yoke seam +- Decrease this option to straighten the back yoke seam From 974cc793b92966f4f694491f3af0e11884528733 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:13:56 +0000 Subject: [PATCH 1298/1313] build(deps): bump next from 14.0.4 to 14.1.0 Bumps [next](https://github.com/vercel/next.js) from 14.0.4 to 14.1.0. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v14.0.4...v14.1.0) --- updated-dependencies: - dependency-name: next dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- sites/dev/package.json | 2 +- sites/lab/package.json | 2 +- sites/org/package.json | 2 +- sites/sde/package.json | 2 +- yarn.lock | 132 ++++++++++++++++++----------------------- 5 files changed, 63 insertions(+), 77 deletions(-) diff --git a/sites/dev/package.json b/sites/dev/package.json index 40c1f414efa..47d67678c65 100644 --- a/sites/dev/package.json +++ b/sites/dev/package.json @@ -39,7 +39,7 @@ "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", - "next": "14.0.4", + "next": "14.1.0", "react": "18.2.0", "react-copy-to-clipboard": "5.1.0", "react-dom": "18.2.0", diff --git a/sites/lab/package.json b/sites/lab/package.json index 9d64818da99..2ed1b58a0e0 100644 --- a/sites/lab/package.json +++ b/sites/lab/package.json @@ -40,7 +40,7 @@ "lodash.get": "4.4.2", "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", - "next": "14.0.4", + "next": "14.1.0", "next-i18next": "15.2.0", "ora": "8.0.1", "react": "18.2.0", diff --git a/sites/org/package.json b/sites/org/package.json index c056a0d5f96..f216eab3e36 100644 --- a/sites/org/package.json +++ b/sites/org/package.json @@ -46,7 +46,7 @@ "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", "luxon": "3.4.4", - "next": "14.0.4", + "next": "14.1.0", "ora": "8.0.1", "react-dropzone": "14.2.3", "react-hotkeys-hook": "4.4.4", diff --git a/sites/sde/package.json b/sites/sde/package.json index 6cb0cdbbefb..5e21b1f3230 100644 --- a/sites/sde/package.json +++ b/sites/sde/package.json @@ -63,7 +63,7 @@ "lodash.orderby": "4.6.0", "lodash.set": "4.3.2", "mustache": "4.2.0", - "next": "14.0.4", + "next": "14.1.0", "next-i18next": "15.2.0", "pdfkit": "0.14.0", "postcss-for": "2.1.1", diff --git a/yarn.lock b/yarn.lock index db787c6a113..5f79e69c8e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1492,10 +1492,10 @@ dependencies: webpack-bundle-analyzer "4.10.1" -"@next/env@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/env/-/env-14.0.4.tgz#d5cda0c4a862d70ae760e58c0cd96a8899a2e49a" - integrity sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ== +"@next/env@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/env/-/env-14.1.0.tgz#43d92ebb53bc0ae43dcc64fb4d418f8f17d7a341" + integrity sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw== "@next/eslint-plugin-next@14.1.0": version "14.1.0" @@ -1511,50 +1511,50 @@ dependencies: source-map "^0.7.0" -"@next/swc-darwin-arm64@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.4.tgz#27b1854c2cd04eb1d5e75081a1a792ad91526618" - integrity sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg== +"@next/swc-darwin-arm64@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz#70a57c87ab1ae5aa963a3ba0f4e59e18f4ecea39" + integrity sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ== -"@next/swc-darwin-x64@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.4.tgz#9940c449e757d0ee50bb9e792d2600cc08a3eb3b" - integrity sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw== +"@next/swc-darwin-x64@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz#0863a22feae1540e83c249384b539069fef054e9" + integrity sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g== -"@next/swc-linux-arm64-gnu@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.0.4.tgz#0eafd27c8587f68ace7b4fa80695711a8434de21" - integrity sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w== +"@next/swc-linux-arm64-gnu@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz#893da533d3fce4aec7116fe772d4f9b95232423c" + integrity sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ== -"@next/swc-linux-arm64-musl@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.0.4.tgz#2b0072adb213f36dada5394ea67d6e82069ae7dd" - integrity sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ== +"@next/swc-linux-arm64-musl@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz#d81ddcf95916310b8b0e4ad32b637406564244c0" + integrity sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g== -"@next/swc-linux-x64-gnu@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.0.4.tgz#68c67d20ebc8e3f6ced6ff23a4ba2a679dbcec32" - integrity sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A== +"@next/swc-linux-x64-gnu@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz#18967f100ec19938354332dcb0268393cbacf581" + integrity sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ== -"@next/swc-linux-x64-musl@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.0.4.tgz#67cd81b42fb2caf313f7992fcf6d978af55a1247" - integrity sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw== +"@next/swc-linux-x64-musl@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz#77077cd4ba8dda8f349dc7ceb6230e68ee3293cf" + integrity sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg== -"@next/swc-win32-arm64-msvc@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.0.4.tgz#be06585906b195d755ceda28f33c633e1443f1a3" - integrity sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w== +"@next/swc-win32-arm64-msvc@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz#5f0b8cf955644104621e6d7cc923cad3a4c5365a" + integrity sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ== -"@next/swc-win32-ia32-msvc@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.0.4.tgz#e76cabefa9f2d891599c3d85928475bd8d3f6600" - integrity sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg== +"@next/swc-win32-ia32-msvc@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz#21f4de1293ac5e5a168a412b139db5d3420a89d0" + integrity sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw== -"@next/swc-win32-x64-msvc@14.0.4": - version "14.0.4" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.0.4.tgz#e74892f1a9ccf41d3bf5979ad6d3d77c07b9cba1" - integrity sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A== +"@next/swc-win32-x64-msvc@14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz#e561fb330466d41807123d932b365cf3d33ceba2" + integrity sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg== "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" @@ -3688,10 +3688,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578: - version "1.0.30001578" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001578.tgz#11741580434ce60aae4b4a9abee9f9f8d7bf5be5" - integrity sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg== +caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001579: + version "1.0.30001583" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz#abb2970cc370801dc7e27bf290509dc132cfa390" + integrity sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q== ccount@^2.0.0: version "2.0.1" @@ -6458,11 +6458,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - glob@10.3.10, glob@^10.2.2, glob@^10.3.10, glob@^10.3.7: version "10.3.10" resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" @@ -10183,29 +10178,28 @@ next-i18next@15.2.0: hoist-non-react-statics "^3.3.2" i18next-fs-backend "^2.3.1" -next@14.0.4: - version "14.0.4" - resolved "https://registry.yarnpkg.com/next/-/next-14.0.4.tgz#bf00b6f835b20d10a5057838fa2dfced1d0d84dc" - integrity sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA== +next@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/next/-/next-14.1.0.tgz#b31c0261ff9caa6b4a17c5af019ed77387174b69" + integrity sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q== dependencies: - "@next/env" "14.0.4" + "@next/env" "14.1.0" "@swc/helpers" "0.5.2" busboy "1.6.0" - caniuse-lite "^1.0.30001406" + caniuse-lite "^1.0.30001579" graceful-fs "^4.2.11" postcss "8.4.31" styled-jsx "5.1.1" - watchpack "2.4.0" optionalDependencies: - "@next/swc-darwin-arm64" "14.0.4" - "@next/swc-darwin-x64" "14.0.4" - "@next/swc-linux-arm64-gnu" "14.0.4" - "@next/swc-linux-arm64-musl" "14.0.4" - "@next/swc-linux-x64-gnu" "14.0.4" - "@next/swc-linux-x64-musl" "14.0.4" - "@next/swc-win32-arm64-msvc" "14.0.4" - "@next/swc-win32-ia32-msvc" "14.0.4" - "@next/swc-win32-x64-msvc" "14.0.4" + "@next/swc-darwin-arm64" "14.1.0" + "@next/swc-darwin-x64" "14.1.0" + "@next/swc-linux-arm64-gnu" "14.1.0" + "@next/swc-linux-arm64-musl" "14.1.0" + "@next/swc-linux-x64-gnu" "14.1.0" + "@next/swc-linux-x64-musl" "14.1.0" + "@next/swc-win32-arm64-msvc" "14.1.0" + "@next/swc-win32-ia32-msvc" "14.1.0" + "@next/swc-win32-x64-msvc" "14.1.0" nise@^5.1.5: version "5.1.5" @@ -14121,14 +14115,6 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== -watchpack@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" From 3f4036de8a38079ff0844231f678394ba663549b Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:17:06 +0000 Subject: [PATCH 1299/1313] docs: update CONTRIBUTORS.md [skip ci] --- CONTRIBUTORS.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b0623bc3859..a674f1a0673 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -92,76 +92,77 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Patrick Forringer
    Patrick Forringer

    🔌 Paul
    Paul

    📖 📝 🌍 + Paula Vidas
    Paula Vidas

    💻 Phillip Thelen
    Phillip Thelen

    💻 Pixieish
    Pixieish

    📖 Prof. dr. Sorcha Ní Dhubhghaill
    Prof. dr. Sorcha Ní Dhubhghaill

    📖 Quentin FELIX
    Quentin FELIX

    💻 🎨 - Rik Hekker
    Rik Hekker

    🐛 + Rik Hekker
    Rik Hekker

    🐛 Sam Livingston-Gray
    Sam Livingston-Gray

    📖 Sanne
    Sanne

    💻 📖 Sara Latorre
    Sara Latorre

    🌍 SeaZeeZee
    SeaZeeZee

    📖 💻 SimonbJohnson
    SimonbJohnson

    🐛 SirCharlotte
    SirCharlotte

    🌍 - Slylele
    Slylele

    📖 🌍 + Slylele
    Slylele

    📖 🌍 Soazillon
    Soazillon

    🌍 Soham Tembhurne
    Soham Tembhurne

    💻 SoneaTheBest
    SoneaTheBest

    🌍 Sophia
    Sophia

    💻 Stefan Sydow
    Stefan Sydow

    🌍 📖 💻 Stefano
    Stefano

    📖 - Sushmita Biswas
    Sushmita Biswas

    💻 + Sushmita Biswas
    Sushmita Biswas

    💻 Tanay Toshniwal
    Tanay Toshniwal

    💻 Trent Trama
    Trent Trama

    💻 Tríona
    Tríona

    📖 Unmutual
    Unmutual

    📖 Vili Sinervä
    Vili Sinervä

    💻 Vili Sinervä
    Vili Sinervä

    💻 - Wouter van Wageningen
    Wouter van Wageningen

    💻 🎨 🔧 + Wouter van Wageningen
    Wouter van Wageningen

    💻 🎨 🔧 Yash Anil Ambekar
    Yash Anil Ambekar

    📖 amysews
    amysews

    📖 anna-puk
    anna-puk

    💻 beautifulsummermoon
    beautifulsummermoon

    🌍 berce
    berce

    📖 biou
    biou

    💻 - bobgeorgethe3rd
    bobgeorgethe3rd

    💻 📖 🎨 + bobgeorgethe3rd
    bobgeorgethe3rd

    💻 📖 🎨 brmlyklr
    brmlyklr

    📖 chri5b
    chri5b

    💻 ⚠️ dingcycle
    dingcycle

    🌍 drowned-in-books
    drowned-in-books

    💬 econo202
    econo202

    📖 ericamattos
    ericamattos

    🌍 - evilrobotfromouterspace
    evilrobotfromouterspace

    🐛 + evilrobotfromouterspace
    evilrobotfromouterspace

    🐛 fightingrabbit
    fightingrabbit

    💻 gaylyndie
    gaylyndie

    📖 grimlokason
    grimlokason

    💻 hellgy
    hellgy

    🎨 jackseye
    jackseye

    📖 marckiesel
    marckiesel

    🌍 - marpants
    marpants

    💻 + marpants
    marpants

    💻 mergerg
    mergerg

    📖 mesil
    mesil

    🐛 starfetch
    starfetch

    💻 📖 🌍 🎨 timorl
    timorl

    💻 ttimearl
    ttimearl

    🖋 tuesgloomsday
    tuesgloomsday

    📖 - valadaptive
    valadaptive

    💻 + valadaptive
    valadaptive

    💻 viocky
    viocky

    🌍 woolishboy
    woolishboy

    💻 yc
    yc

    🌍 From ae37d1fdbecaa1c19f52bf02a01f5ca20c75d759 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:17:07 +0000 Subject: [PATCH 1300/1313] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index cdfa650abf8..883464e858b 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1140,6 +1140,15 @@ "contributions": [ "doc" ] + }, + { + "login": "pvidas", + "name": "Paula Vidas", + "avatar_url": "https://avatars.githubusercontent.com/u/38463064?v=4", + "profile": "https://github.com/pvidas", + "contributions": [ + "code" + ] } ], "skipCi": true, From 9f3836f34382b995feb6e8e69cbac92575b8291c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 16:26:16 +0000 Subject: [PATCH 1301/1313] build(deps): bump c8 from 8.0.1 to 9.1.0 Bumps [c8](https://github.com/bcoe/c8) from 8.0.1 to 9.1.0. - [Release notes](https://github.com/bcoe/c8/releases) - [Changelog](https://github.com/bcoe/c8/blob/main/CHANGELOG.md) - [Commits](https://github.com/bcoe/c8/compare/v8.0.1...v9.1.0) --- updated-dependencies: - dependency-name: c8 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index d602e9911b0..bb2a4acacc3 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@babel/eslint-parser": "^7.22.15", "@babel/plugin-syntax-import-assertions": "^7.22.5", "@babel/preset-react": "^7.22.15", - "c8": "^8.0.0", + "c8": "^9.1.0", "eslint-config-next": "^14.0.1", "glob": "^10.3.10", "rehype-format": "^5.0.0", diff --git a/yarn.lock b/yarn.lock index 4c656b585c9..5b4c76cdd0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3587,19 +3587,18 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -c8@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/c8/-/c8-8.0.1.tgz#bafd60be680e66c5530ee69f621e45b1364af9fd" - integrity sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w== +c8@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/c8/-/c8-9.1.0.tgz#0e57ba3ab9e5960ab1d650b4a86f71e53cb68112" + integrity sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@istanbuljs/schema" "^0.1.3" find-up "^5.0.0" - foreground-child "^2.0.0" + foreground-child "^3.1.1" istanbul-lib-coverage "^3.2.0" istanbul-lib-report "^3.0.1" istanbul-reports "^3.1.6" - rimraf "^3.0.2" test-exclude "^6.0.0" v8-to-istanbul "^9.0.0" yargs "^17.7.2" @@ -6125,7 +6124,7 @@ foreground-child@^2.0.0: cross-spawn "^7.0.0" signal-exit "^3.0.2" -foreground-child@^3.1.0: +foreground-child@^3.1.0, foreground-child@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== @@ -12831,6 +12830,7 @@ string-argv@0.3.2: integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== "string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12936,6 +12936,7 @@ stringify-entities@^4.0.0: character-entities-legacy "^3.0.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -14211,6 +14212,7 @@ workerpool@6.2.1: integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 69b6eab3ceb73202e1013c4d4e48a1a236fe0801 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 18:20:54 +0100 Subject: [PATCH 1302/1313] New translations en.yaml (French) skip-build --- sites/shared/i18n/docs/fr.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/fr.yaml b/sites/shared/i18n/docs/fr.yaml index 5ac2e13f230..0b54f3d60fe 100644 --- a/sites/shared/i18n/docs/fr.yaml +++ b/sites/shared/i18n/docs/fr.yaml @@ -1,9 +1,9 @@ account: Compte docs: Documentation -controltip.t: Le pouvoir face à la simplicité -controltip.d1: Le paramètre Power versus Simplicity de ton compte FreeSewing aura un impact sur ton expérience du site FreeSewing. +controltip.t: Expérience de l'utilisateur +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: Par défaut, certaines des fonctionnalités les plus avancées de ce site sont cachées pour permettre aux nouveaux utilisateurs de s'y retrouver plus facilement. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Aide-nous à améliorer notre documentation authors: Les auteurs maintainers: Mainteneurs From b9c53da24ae62f2a83b092c5699700e752d2cbb8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 18:42:14 +0100 Subject: [PATCH 1303/1313] New translations en.yaml (Spanish) skip-build --- sites/shared/i18n/docs/es.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/es.yaml b/sites/shared/i18n/docs/es.yaml index c3eda4fd274..b4d0c11662f 100644 --- a/sites/shared/i18n/docs/es.yaml +++ b/sites/shared/i18n/docs/es.yaml @@ -1,9 +1,9 @@ account: Cuenta docs: Documentación -controltip.t: Poder frente a sencillez -controltip.d1: La configuración Power versus Simplicity de tu cuenta de FreeSewing influirá en cómo experimentes el sitio web de FreeSewing. +controltip.t: Experiencia del usuario +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: Por defecto, algunas de las funciones más avanzadas de este sitio están ocultas para facilitar la orientación de los nuevos usuarios. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Ayúdanos a mejorar nuestra documentación authors: Autores maintainers: Mantenedores From 6edd248300b05e1d035b888ba4ee87394e098330 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:03:11 +0100 Subject: [PATCH 1304/1313] New translations en.yaml (German) skip-build --- sites/shared/i18n/docs/de.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/de.yaml b/sites/shared/i18n/docs/de.yaml index 1e35c045636..3a51f6e2e99 100644 --- a/sites/shared/i18n/docs/de.yaml +++ b/sites/shared/i18n/docs/de.yaml @@ -1,9 +1,9 @@ account: Account docs: Dokumentation -controltip.t: Kontrolle versus Einfachheit -controltip.d1: Die Einstellung Power versus Simplicity deines FreeSewing-Kontos hat Auswirkungen darauf, wie du die FreeSewing-Website erlebst. +controltip.t: Benutzererfahrung +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: Standardmäßig sind einige der fortgeschrittenen Funktionen dieser Website ausgeblendet, um es neuen Nutzern leichter zu machen, sich zurechtzufinden. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Hilf uns, unsere Dokumentation zu verbessern authors: Autoren maintainers: Maintainer From 046826fcb7ac153b8f3a5ae285d4c9484db09f09 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:24:12 +0100 Subject: [PATCH 1305/1313] New translations en.yaml (Dutch) skip-build --- sites/shared/i18n/docs/nl.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/nl.yaml b/sites/shared/i18n/docs/nl.yaml index a0bf6da4c3d..51b23dc3267 100644 --- a/sites/shared/i18n/docs/nl.yaml +++ b/sites/shared/i18n/docs/nl.yaml @@ -1,9 +1,9 @@ account: Account docs: Documentatie -controltip.t: Macht versus eenvoud -controltip.d1: De instelling Power versus Simplicity van je FreeSewing account heeft invloed op hoe je de FreeSewing website ervaart. +controltip.t: Gebruikerservaring +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: Standaard zijn enkele van de meer geavanceerde functies van deze site verborgen om het nieuwe gebruikers gemakkelijker te maken hun weg te vinden. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Help ons onze documentatie te verbeteren authors: Auteurs maintainers: Onderhouders From ac8ba60383563d44bbbd91b360702d5dbdfba379 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:45:32 +0100 Subject: [PATCH 1306/1313] New translations en.yaml (Ukrainian) skip-build --- sites/shared/i18n/docs/uk.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/uk.yaml b/sites/shared/i18n/docs/uk.yaml index a8ba348beb2..b1fc9aacf17 100644 --- a/sites/shared/i18n/docs/uk.yaml +++ b/sites/shared/i18n/docs/uk.yaml @@ -1,9 +1,9 @@ account: Обліковий запис docs: Документація -controltip.t: Потужність проти простоти -controltip.d1: Налаштування Power versus Simplicity вашого облікового запису FreeSewing впливають на те, як ви будете користуватися сайтом FreeSewing. +controltip.t: Користувацький досвід +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: За замовчуванням, деякі з найбільш просунутих функцій цього сайту приховані, щоб полегшити новим користувачам пошук. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Допоможіть нам покращити нашу документацію authors: Автори maintainers: Майнтейнери From 60c48307805f9b05c9a0465e9bf0bf18e2985c04 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:51:26 +0100 Subject: [PATCH 1307/1313] New translations en.md (French) skip-build --- markdown/org/docs/designs/sandy/options/panels/fr.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/fr.md diff --git a/markdown/org/docs/designs/sandy/options/panels/fr.md b/markdown/org/docs/designs/sandy/options/panels/fr.md new file mode 100644 index 00000000000..aa35208ec80 --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/fr.md @@ -0,0 +1,7 @@ +--- +title: Pièces +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. From b600d0e1ebe7b435cfa7f7382d19db59e0084ca1 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:51:32 +0100 Subject: [PATCH 1308/1313] New translations en.md (Spanish) skip-build --- markdown/org/docs/designs/sandy/options/panels/es.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/es.md diff --git a/markdown/org/docs/designs/sandy/options/panels/es.md b/markdown/org/docs/designs/sandy/options/panels/es.md new file mode 100644 index 00000000000..d0409085b0c --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/es.md @@ -0,0 +1,7 @@ +--- +title: Paneles +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. From c265f8af07ae754249a0622c32a3bf50736710e7 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:51:38 +0100 Subject: [PATCH 1309/1313] New translations en.md (German) skip-build --- markdown/org/docs/designs/sandy/options/panels/de.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/de.md diff --git a/markdown/org/docs/designs/sandy/options/panels/de.md b/markdown/org/docs/designs/sandy/options/panels/de.md new file mode 100644 index 00000000000..83ceceeffe7 --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/de.md @@ -0,0 +1,7 @@ +--- +title: Teile +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. From 07c9e6756ae3a3dbc607dd1ac2b7baf06e19ff95 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:51:44 +0100 Subject: [PATCH 1310/1313] New translations en.md (Dutch) skip-build --- markdown/org/docs/designs/sandy/options/panels/nl.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/nl.md diff --git a/markdown/org/docs/designs/sandy/options/panels/nl.md b/markdown/org/docs/designs/sandy/options/panels/nl.md new file mode 100644 index 00000000000..c90dc9878c3 --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/nl.md @@ -0,0 +1,7 @@ +--- +title: Panelen +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. From 71e8dc9acd9fbc518f1aca28eb39931bc0852b68 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:51:53 +0100 Subject: [PATCH 1311/1313] New translations en.md (Ukrainian) skip-build --- markdown/org/docs/designs/sandy/options/panels/uk.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/uk.md diff --git a/markdown/org/docs/designs/sandy/options/panels/uk.md b/markdown/org/docs/designs/sandy/options/panels/uk.md new file mode 100644 index 00000000000..8f8b0f76cf7 --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/uk.md @@ -0,0 +1,7 @@ +--- +title: Панелі +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. From 1960641160518b61bebee2d2ea6bb852b5b569a8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 19:57:46 +0100 Subject: [PATCH 1312/1313] Update source file en.md skip-build --- markdown/org/docs/designs/sandy/options/panels/en.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 markdown/org/docs/designs/sandy/options/panels/en.md diff --git a/markdown/org/docs/designs/sandy/options/panels/en.md b/markdown/org/docs/designs/sandy/options/panels/en.md new file mode 100644 index 00000000000..33327b816ad --- /dev/null +++ b/markdown/org/docs/designs/sandy/options/panels/en.md @@ -0,0 +1,11 @@ +--- +title: "Panels" +--- + +![Panels](panels.svg) + +Number of panels the skirt is made of. + + + + From ce605d551a28e00a5aa03899f28b2c0316292791 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Sat, 3 Feb 2024 20:00:56 +0100 Subject: [PATCH 1313/1313] Update source file en.yaml skip-build --- sites/shared/i18n/docs/en.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/shared/i18n/docs/en.yaml b/sites/shared/i18n/docs/en.yaml index 334cc3ad310..5b855f63f78 100644 --- a/sites/shared/i18n/docs/en.yaml +++ b/sites/shared/i18n/docs/en.yaml @@ -1,9 +1,9 @@ account: Account docs: Documentation -controltip.t: Power versus Simplicity -controltip.d1: The Power versus Simplicity setting of your FreeSewing account will impact how you experience the FreeSewing website. +controltip.t: User Experience +controltip.d1: The User Experience setting of your FreeSewing account will impact how you experience the FreeSewing website. controltip.d2: By default, some of the more advanced features of this site are hidden to make it more easy for new users to find their way. -controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your Power versus Simplicity setting accordingly. +controltip.d3: If you want to sacrifice some of that simplicity to gain more power, you can update your User Experience setting accordingly. helpWithDocs: Help us improve our documentation authors: Authors maintainers: Maintainers