1
0
Fork 0

Merge branch 'develop' of https://github.com/BenJamesBen/freesewing into fix-2399-simon-superfluous-notches

Update branch with latest files.
This commit is contained in:
Benjamin F 2022-07-25 12:48:26 -07:00
commit 41b95fa4cd
19 changed files with 850 additions and 579 deletions

View file

@ -33,6 +33,12 @@
- Fix hem allowance. Closes [#2350](https://github.com/freesewing/freesewing/issues/2350) - Fix hem allowance. Closes [#2350](https://github.com/freesewing/freesewing/issues/2350)
### simon
#### Fixed
- Fix issue with boxPleat and yoke Fixes [#2400](https://github.com/freesewing/freesewing/issues/2400)
### simone ### simone
#### Fixed #### Fixed

View file

@ -20,6 +20,9 @@ Unreleased:
brian: brian:
- Make s3 options sticky to zero below 10% to avoid path split issues. - Make s3 options sticky to zero below 10% to avoid path split issues.
Fixes [#2249](https://github.com/freesewing/freesewing/issues/2249) Fixes [#2249](https://github.com/freesewing/freesewing/issues/2249)
simon:
- Fix issue with boxPleat and yoke
Fixes [#2400](https://github.com/freesewing/freesewing/issues/2400)
simone: simone:
- Don't do a negative FBA from there's no need for an FBA - Don't do a negative FBA from there's no need for an FBA
Fixes [#2121](https://github.com/freesewing/freesewing/issues/2121) Fixes [#2121](https://github.com/freesewing/freesewing/issues/2121)

View file

@ -129,6 +129,7 @@ export default (part) => {
} else points.cbTop = points.cbYoke } else points.cbTop = points.cbYoke
// Box pleat // Box pleat
points.armholeYokeSplitPreBoxpleat = points.armholeYokeSplit.clone()
if (options.boxPleat) { if (options.boxPleat) {
points.boxPleatLeft = points.cbTop.shift(0, store.get('boxPleatWidth') / 2) points.boxPleatLeft = points.cbTop.shift(0, store.get('boxPleatWidth') / 2)
points.boxPleatMid = points.boxPleatLeft.shift(0, store.get('boxPleatFold')) points.boxPleatMid = points.boxPleatLeft.shift(0, store.get('boxPleatFold'))

View file

@ -7,7 +7,7 @@ export default (part) => {
} }
// Paths // Paths
paths.saBase = new Path().move(points.cbYoke).line(points.armholeYokeSplit) paths.saBase = new Path().move(points.cbYoke).line(points.armholeYokeSplitPreBoxpleat)
if (options.yokeHeight > 0) paths.saBase = paths.saBase.join(paths.backArmholeYoke) if (options.yokeHeight > 0) paths.saBase = paths.saBase.join(paths.backArmholeYoke)
paths.saBase = paths.saBase.line(points.s3CollarSplit).join(paths.backCollar) paths.saBase = paths.saBase.line(points.s3CollarSplit).join(paths.backCollar)
if (options.splitYoke) paths.saBase = paths.saBase.line(points.cbYoke).close() if (options.splitYoke) paths.saBase = paths.saBase.line(points.cbYoke).close()
@ -29,6 +29,7 @@ export default (part) => {
delete snippets.armholePitchNotch delete snippets.armholePitchNotch
delete snippets.collarNotch delete snippets.collarNotch
delete snippets.shoulderNotch delete snippets.shoulderNotch
snippets.sleevecapNotch = new Snippet('notch', points.armholeYokeSplitPreBoxpleat)
points.title = new Point(points.neck.x, points.cbYoke.y / 3) points.title = new Point(points.neck.x, points.cbYoke.y / 3)
macro('title', { at: points.title, nr: 4, title: 'yoke', scale: 0.8 }) macro('title', { at: points.title, nr: 4, title: 'yoke', scale: 0.8 })
points.logo = points.title.shift(-90, 50) points.logo = points.title.shift(-90, 50)

View file

@ -1,4 +1,7 @@
import {build} from '../src/prebuild.mjs' import {build} from '../src/prebuild.mjs'
// use a deny-list to keep locales that aren't ready out of the build
export const denyList = ['uk']
// call this here instead of in the src/prebuild.mjs so that build isn't called by other files importing that build function // call this here instead of in the src/prebuild.mjs so that build isn't called by other files importing that build function
build() build((loc) => denyList.indexOf(loc) === -1)

View file

@ -102,7 +102,7 @@ howToTakeMeasurements: Як робити заміри
i18n: Інтернаціоналізація i18n: Інтернаціоналізація
imperialUnits: Імперські одиниці (дюйм) imperialUnits: Імперські одиниці (дюйм)
instagram: Інстаграм instagram: Інстаграм
invalidTldMessage: '.{tld} is not a valid TLD' invalidTldMessage: '.{tld} не є дійсним доменом верхнього рівня (TLD)'
joinTheChatMsg: Ми маємо спільноту в Discord, де Ви можете поспілкуватися з привітними людьми. joinTheChatMsg: Ми маємо спільноту в Discord, де Ви можете поспілкуватися з привітними людьми.
justAMoment: Зачекайте хвилинку justAMoment: Зачекайте хвилинку
layout: Макет layout: Макет

View file

@ -12,47 +12,47 @@ shoulderToShoulderEase:
title: Свобода облягання ширини плечей title: Свобода облягання ширини плечей
description: Контролює свободу облягання ширини плечей. Початково налаштовано на -5%, бо Белла розроблена як викрійка-основа, що застосовується у швейній індустрії. description: Контролює свободу облягання ширини плечей. Початково налаштовано на -5%, бо Белла розроблена як викрійка-основа, що застосовується у швейній індустрії.
fullChestEaseReduction: fullChestEaseReduction:
title: Full chest ease reduction title: Зменшення свободи облягання на грудях
description: Allows you to independently reduce the ease around the chest to make it fit tight(er) in that area description: Керує незалежним від інших параметрів зменшенням свободи облягання на грудях для (більш) тугої посадки
backDartHeight: backDartHeight:
title: Back dart height title: Висота спинної виточки
description: Controls the height of the back dart description: Керує висотою виточки на спині (більше значення зменшує висоту виточки)
bustDartLength: bustDartLength:
title: Bust dart length title: Довжина грудної виточки
description: Controls the length of the bust dart description: Керує загальною довжиною виточки на грудях
waistDartLength: waistDartLength:
title: Waist dart length title: Довжина поясної виточки
description: Controls the length of the waist dart description: Керує загальною довжиною виточки на талії
bustDartCurve: bustDartCurve:
title: Bust dart curve title: Заокруглення грудної виточки
description: Controls the curvature of the bust dart description: Керує наскільки кривими є лінії виточки на грудях
armholeDepth: armholeDepth:
title: Armhole depth title: Глибина пройми рукава
description: Controls the depth of the armhole description: Керує глибиною (шириною) пройми рукава
backArmholeSlant: backArmholeSlant:
title: Back armhole slant title: Нахил пройми рукава на спині
description: Slightly rotates the armhole around its pitch point description: Трохи змінює нахил пройми рукава на спині відповідно до точки збігу пройми
frontArmholeCurvature: frontArmholeCurvature:
title: Front armhole curvature title: Заокруглення пройми рукава спереду
description: Controls how deep the armhole is scooped out at the front bottom description: Керує заокругленням пройми рукава спереду
backArmholeCurvature: backArmholeCurvature:
title: Back armhole curvature title: Заокруглення пройми рукава ззаду
description: Controls how deep the armhole is scooped out at the back bottom description: Керує заокругленням пройми рукава ззаду
frontArmholePitchDepth: frontArmholePitchDepth:
title: Front armhole pitch depth title: Висота передньої точки збігу пройми
description: Tweaks the horizontal placement of the front armhole pitch point description: Налаштовує розташування передньої точки збігу по вертикалі
backArmholePitchDepth: backArmholePitchDepth:
title: Back armhole pitch depth title: Висота задньої точки збігу пройми
description: Tweaks the horizontal placement of the back armhole pitch point description: Налаштовує розташування задньої точки збігу по вертикалі
backNeckCutout: backNeckCutout:
title: Back neck cutout title: Глибина горловини ззаду
description: Controls how deep the neck opening is scooped out at at the back description: Керує глибиною горловини на задньому полотнищі
backHemSlope: backHemSlope:
title: Back hem slope title: Нахил заднього краю
description: Controls the slope of the hem at the back description: Керує нахилом краю на спині
frontShoulderWidth: frontShoulderWidth:
title: Front shoulder width title: Ширина плечей спереду
description: Controls the narrowness of the front shoulders relative to the back description: Контролює ширину плечей переднього полотнища відповідно до заднього
highBustWidth: highBustWidth:
title: High bust width title: Ширина полички
description: Allows you to tweak the hight bust width at the front description: Дозволяє керувати шириною полички на ліфі

View file

@ -1,28 +1,28 @@
--- ---
panels: panels:
title: Number of panels title: Кількість панелей
description: The number of panels to draft. More panels are better to fit a curvier model. description: Загальна кількість панелей на викрійці. Більша кількість панелей забезпечить кращу посадку для гладких моделей.
options: options:
'11': 11 panels '11': 11 панелей
'13': 13 panels '13': 13 панелей
waistReduction: waistReduction:
title: Waist reduction title: Утягування талії
description: The amount by which you want the corset to pinch your waist. description: Відсоток утягування талії для бажаного ефекту.
backOpening: backOpening:
title: Back opening title: Зріз на спині
description: Opening at the center back closure. description: Ширина відстані центрального спинного зрізу.
backRise: backRise:
title: Back rise title: Верхня посадка ззаду
description: How much the back panels rise from your arms to your center back. description: Висота задніх панелей від боків до центру спини.
backDrop: backDrop:
title: Back drop title: Нижня посадка ззаду
description: How much the back panels lower from your hips towards your center back. Negative values will raise the back. description: Наскільки задні панелі опускаються від стегон до центру спини. Від'ємне значення підніме ці панелі вгору.
frontRise: frontRise:
title: Front rise title: Верхня посадка спереду
description: 'Rise of the front panels at center front, between your breasts. Negative values will lower them.' description: 'Висота передніх панелей від боків до центру між грудьми. Від''ємне значення опустить ці панелі донизу.'
frontDrop: frontDrop:
title: Front drop title: Нижня посадка спереду
description: How much the front panels lower from your hips towards your center front. description: Наскільки передні панелі опускаються від стегон до центру тулуба.
hipRise: hipRise:
title: Hip rise title: Посадка на стегнах
description: How much the side panels rise on your hips. description: Наскільки високо розташовуються бокові панелі відповідно до стегон.

View file

@ -1,16 +1,16 @@
--- ---
backPocketHorizontalPlacement: backPocketHorizontalPlacement:
title: Back pocket horizontal placement title: Горизонтальне розміщення задньої кишені
description: Controls the horizontal placement of the back pocket description: Керує розміщенням задньої кишені по горизонталі
backPocketVerticalPlacement: backPocketVerticalPlacement:
title: Back pocket vertical placement title: Вертикальне розміщення задньої кишені
description: Controls the vertical placement of the back pocket description: Керує розміщенням задньої кишені по вертикалі
backPocketWidth: backPocketWidth:
title: Back pocket width title: Ширина задньої кишені
description: Controls the width of the back pocket description: Керує шириною задньої кишені
backPocketDepth: backPocketDepth:
title: Back pocket depth title: Глибина задньої кишені
description: Controls the depth of the back pocket description: Керує глибиною задньої кишені
backPocketFacing: backPocketFacing:
title: Back pocket facing title: Back pocket facing
description: Controls whether or not to include facing on the back pockets description: Controls whether or not to include facing on the back pockets

View file

@ -1,8 +1,8 @@
--- ---
shoulderSeamLength: shoulderSeamLength:
title: Shoulder seam length title: Довжина плечового шва
description: Controls the length of the shoulder seam description: Контролює довжину плечового шва
drapeAngle: drapeAngle:
title: Drape angle title: Кут драпірування
description: Controls the amount of drape description: Контролює кількість складок

View file

@ -1,10 +1,10 @@
--- ---
height: height:
title: Height title: Висота
description: Controls the height of the face mask description: Контролює висоту данної маски
length: length:
title: Length title: Довжина
description: Controls the length of the face mask description: Контролює довжину маски
curve: curve:
title: Curve title: Крива
description: Controls the curvature of the upper edge of the face mask description: Контролює вигин верхнього краю маски

View file

@ -1,4 +1,4 @@
--- ---
headEase: headEase:
title: Head ease title: Свобода облягання на голові
description: The amound of ease around your head description: Контролює свободу облягання навколо голови

View file

@ -1,6 +1,6 @@
--- ---
centerBackDart: centerBackDart:
title: Center back dart title: Центральна виточка на комірі
description: Dart at the center back of your neck to accommodate a rounded back description: Dart at the center back of your neck to accommodate a rounded back
sleeveVentLength: sleeveVentLength:
title: Sleeve vent length title: Sleeve vent length
@ -93,8 +93,8 @@ lapelReduction:
title: Lapel reduction title: Lapel reduction
description: How much the tip of the lapels turns inwards description: How much the tip of the lapels turns inwards
collarHeight: collarHeight:
title: Collar height title: Висота коміру
description: Height of the collar description: Контролює висоту коміру
collarNotchDepth: collarNotchDepth:
title: Collar notch depth title: Collar notch depth
description: Depth of the collar notch description: Depth of the collar notch

View file

@ -220,6 +220,7 @@ export const build = async (localeFilter = () => true, only=false) => {
const namespaces = await getNamespacesFromFileList(files, locales, only) const namespaces = await getNamespacesFromFileList(files, locales, only)
await writeFiles(namespaces) await writeFiles(namespaces)
return namespaces
} }
//export default strings //export default strings

View file

@ -46,7 +46,7 @@
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.4.0", "autoprefixer": "^10.4.0",
"eslint-config-next": "12.2.2", "eslint-config-next": "12.2.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"postcss": "^8.4.4", "postcss": "^8.4.4",
"tailwindcss": "^3.0.1", "tailwindcss": "^3.0.1",

View file

@ -47,7 +47,7 @@
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.4.0", "autoprefixer": "^10.4.0",
"eslint-config-next": "12.2.2", "eslint-config-next": "12.2.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"postcss": "^8.4.4", "postcss": "^8.4.4",
"tailwindcss": "^3.0.1" "tailwindcss": "^3.0.1"

View file

@ -44,7 +44,7 @@
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.4.0", "autoprefixer": "^10.4.0",
"eslint-config-next": "12.2.2", "eslint-config-next": "12.2.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"postcss": "^8.4.4", "postcss": "^8.4.4",
"tailwindcss": "^3.0.1" "tailwindcss": "^3.0.1"

View file

@ -1,5 +1,39 @@
import {build} from '../../../packages/i18n/src/prebuild.mjs' import {build} from '../../../packages/i18n/src/prebuild.mjs'
import {denyList} from '../../../packages/i18n/scripts/prebuilder.mjs'
import fs from 'fs'
import path from 'path'
export const prebuildI18n = async(site, only=false) => { export const prebuildI18n = async(site, only=false) => {
build((loc) => site !== 'dev' || loc === 'en', only) const writeJson = async (locale, namespace, content) => fs.writeFileSync(
path.resolve(
'..',
site,
'public',
'locales',
locale,
`${namespace}.json`
),
JSON.stringify(content)
)
const filter = site === 'dev' ? (loc => lock === 'en') : (loc => denyList.indexOf(loc) === -1)
const locales = await build(filter, only)
console.log (`copying them to ${site}`, Object.keys(locales))
const languages = {}
Object.keys(locales).forEach(l => languages[l] = locales[l].i18n[l])
for (const locale in locales) {
// Only English for dev site
const loc = locales[locale]
// Fan out into namespaces
for (const namespace in loc) {
writeJson(
locale, namespace,
loc[namespace]
)
}
writeJson(locale, 'locales', languages)
}
} }

1224
yarn.lock

File diff suppressed because it is too large Load diff