chore: Linter run
This commit is contained in:
parent
220b0ee0a7
commit
0b1137f09b
49 changed files with 192 additions and 201 deletions
|
@ -25,7 +25,7 @@ export const connectToDb = () => {
|
|||
console.log(chalk.red('Could not connect to the database. Exiting now...'), err)
|
||||
process.exit()
|
||||
})
|
||||
};
|
||||
}
|
||||
|
||||
export const startApp = () => {
|
||||
// Verify configuration
|
||||
|
@ -45,11 +45,7 @@ export const startApp = () => {
|
|||
|
||||
// Catch-all route (Load index.html once instead of at every request)
|
||||
const index = fs.readFileSync(path.resolve(__dirname, 'landing', 'index.html'))
|
||||
app.get('/', async (req, res) => res
|
||||
.set('Content-Type', 'text/html')
|
||||
.status(200)
|
||||
.send(index)
|
||||
)
|
||||
app.get('/', async (req, res) => res.set('Content-Type', 'text/html').status(200).send(index))
|
||||
|
||||
const port = process.env.PORT || 3000
|
||||
|
||||
|
@ -59,6 +55,5 @@ export const startApp = () => {
|
|||
console.log(chalk.green(`> listening on port ${port}`))
|
||||
})
|
||||
|
||||
return app;
|
||||
};
|
||||
|
||||
return app
|
||||
}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
import { connectToDb, startApp } from './app'
|
||||
|
||||
connectToDb();
|
||||
connectToDb()
|
||||
|
||||
const app = startApp();
|
||||
|
||||
export default app;
|
||||
const app = startApp()
|
||||
|
||||
export default app
|
||||
|
|
|
@ -84,7 +84,7 @@ export default {
|
|||
waistband: ['titanBack', 'titanFront', 'front', 'back'],
|
||||
waistbandCurved: ['titanBack', 'titanFront', 'front', 'back'],
|
||||
beltLoops: 'waistband',
|
||||
backPocket: 'back'
|
||||
backPocket: 'back',
|
||||
},
|
||||
options: {
|
||||
// Constants (from Titan)
|
||||
|
|
|
@ -38,7 +38,7 @@ export default (part) => {
|
|||
})
|
||||
macro('sprinkle', {
|
||||
snippet: 'notch',
|
||||
on: ['facingDirection', 'slantTopNotch', 'slantBottomNotch']
|
||||
on: ['facingDirection', 'slantTopNotch', 'slantBottomNotch'],
|
||||
})
|
||||
|
||||
if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa', true)
|
||||
|
|
|
@ -4,13 +4,12 @@ import Pattern from './pattern'
|
|||
const hide = () => false
|
||||
|
||||
export default function Design(config, plugins = false, conditionalPlugins = false) {
|
||||
|
||||
// Add default hide() method to config.options
|
||||
for (const option in config.options) {
|
||||
if (typeof config.options[option] === 'object') {
|
||||
config.options[option] = {
|
||||
hide,
|
||||
...config.options[option]
|
||||
...config.options[option],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ function Part() {
|
|||
this.height = false
|
||||
this.render = true
|
||||
this.utils = utils
|
||||
this.layout = { move: { x: 0, y:0 }}
|
||||
this.layout = { move: { x: 0, y: 0 } }
|
||||
|
||||
this.Point = Point
|
||||
this.Path = Path
|
||||
|
|
|
@ -130,9 +130,7 @@ Path.prototype.attr = function (name, value, overwrite = false) {
|
|||
'Called `Path.attr(name, value, overwrite=false)` but `name` is undefined or false'
|
||||
)
|
||||
if (typeof value === 'undefined')
|
||||
this.raise.warning(
|
||||
'Called `Path.attr(name, value, overwrite=false)` but `value` is undefined'
|
||||
)
|
||||
this.raise.warning('Called `Path.attr(name, value, overwrite=false)` but `value` is undefined')
|
||||
if (overwrite)
|
||||
this.raise.debug(
|
||||
`Overwriting \`Path.attribute.${name}\` with ${value} (was: ${this.attributes.get(name)})`
|
||||
|
|
|
@ -68,7 +68,6 @@ export default function Pattern(config = { options: {} }) {
|
|||
this.Snippet = Snippet // Snippet constructor
|
||||
this.Attributes = Attributes // Attributes constructor
|
||||
|
||||
|
||||
if (typeof this.config.dependencies === 'undefined') this.config.dependencies = {}
|
||||
if (typeof this.config.inject === 'undefined') this.config.inject = {}
|
||||
if (typeof this.config.hide === 'undefined') this.config.hide = []
|
||||
|
@ -514,9 +513,10 @@ Pattern.prototype.pack = function () {
|
|||
part.attr('transform', `translate(${bin.x}, ${bin.y})`)
|
||||
this.autoLayout.parts[bin.id].move = {
|
||||
x: bin.x + part.layout.move.x,
|
||||
y: bin.y + part.layout.move.y }
|
||||
y: bin.y + part.layout.move.y,
|
||||
}
|
||||
else this.autoLayout.parts[bin.id].move = {
|
||||
} else
|
||||
this.autoLayout.parts[bin.id].move = {
|
||||
x: part.layout.move.x,
|
||||
y: part.layout.move.y,
|
||||
}
|
||||
|
|
|
@ -16,10 +16,7 @@ export default function (part) {
|
|||
paths.saBase = new Path()
|
||||
.move(points.cfRibbing)
|
||||
.line(points.pocketHem)
|
||||
.join(paths.seam
|
||||
.split(points.pocketCf)
|
||||
.shift()
|
||||
)
|
||||
.join(paths.seam.split(points.pocketCf).shift())
|
||||
.setRender(false)
|
||||
|
||||
store.set('facingWidth', points.pocketHem.dist(points.pocketTip) / 2)
|
||||
|
@ -54,11 +51,8 @@ export default function (part) {
|
|||
points.title = points.cfRibbing.shiftFractionTowards(points.pocketTop, 0.5)
|
||||
macro('title', { at: points.title, nr: 4, title: 'pocket' })
|
||||
if (sa) {
|
||||
paths.sa = paths.saBase.offset(sa)
|
||||
.line(points.pocketCf)
|
||||
.move(points.cfRibbing)
|
||||
paths.sa.line(paths.sa.start())
|
||||
.attr('class', 'fabric sa')
|
||||
paths.sa = paths.saBase.offset(sa).line(points.pocketCf).move(points.cfRibbing)
|
||||
paths.sa.line(paths.sa.start()).attr('class', 'fabric sa')
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ applyThisLayout: Dieses Layout anwenden
|
|||
areYouSureYouWantToContinue: Bist du sicher, dass du fortfahren möchtest?
|
||||
askForHelp: Nach Hilfe fragen
|
||||
automatic: Automatisch
|
||||
averagePeopleDoNotExist: "Durchschnittliche Menschen existieren nicht"
|
||||
averagePeopleDoNotExist: 'Durchschnittliche Menschen existieren nicht'
|
||||
awesome: Großartig
|
||||
back: Zurück
|
||||
becauseThatWouldBeReallyHelpful: Weil das wirklich hilfreich wäre.
|
||||
|
@ -76,7 +76,7 @@ drafts: Entwürfe
|
|||
draftSettings: Entwurfseinstellungen
|
||||
dragAndDropImageHere: Du kannst das Bild hier per Drag-and-Drop ablegen oder es unten manuell auswählen
|
||||
emailAddress: E-Mail-Adresse
|
||||
emailWorksToo: "Falls du deinen Benutzername nicht weißt: deine E-Mail-Adresse funktioniert auch"
|
||||
emailWorksToo: 'Falls du deinen Benutzername nicht weißt: deine E-Mail-Adresse funktioniert auch'
|
||||
enterEmailPickPassword: Gib deine E-Mail Adresse ein und wähle ein Passwort
|
||||
export: Exportieren
|
||||
exportTiledPDF: Exportieren als paginiertes PDF
|
||||
|
@ -85,7 +85,7 @@ fieldRemoved: '{field} entfernt'
|
|||
fieldSaved: '{field} gespeichert'
|
||||
filterByPattern: Filtern nach Schnittmuster
|
||||
filterPatterns: Schnittmuster filtern
|
||||
forgotLoginInstructions: "Wenn du dein Passwort nicht mehr weißt: Benutzername oder E-Mail-Adresse eingeben und den <b>Passwort zurücksetzen</b> Knopf drücken"
|
||||
forgotLoginInstructions: 'Wenn du dein Passwort nicht mehr weißt: Benutzername oder E-Mail-Adresse eingeben und den <b>Passwort zurücksetzen</b> Knopf drücken'
|
||||
freesewing: Freesewing
|
||||
freesewingOnGithub: Freesewing auf GitHub
|
||||
garmentPatterns: Bekleidungsschnittmuster
|
||||
|
@ -123,7 +123,7 @@ addThing: '{thing} hinzufügen'
|
|||
newThing: Neu {thing}
|
||||
newPatternForModel: '{pattern} für {model} neu erstellen'
|
||||
noChanges: Keine Änderungen
|
||||
no: "No" #Keep in quotes or it will evaluate to false
|
||||
no: 'No' #Keep in quotes or it will evaluate to false
|
||||
noPasswordPolicy: Wir haben keine strikten Passwort-Rictlinien
|
||||
noSeamAllowance: Keine Nahtzugabe
|
||||
notAllOfThisContentIsAvailableInLanguage: Nicht alle Inhalte sind auf Deutsch verfügbar
|
||||
|
@ -163,7 +163,7 @@ remove: Entfernen
|
|||
removeThing: '{thing} entfernen'
|
||||
reportThisOnGithub: Melde dies auf GitHub
|
||||
requiredMeasurements: Erforderliche Maße
|
||||
resendActivationEmailMessage: "Trage die E-Mail-Adresse ein, mit der du dich angemeldet hast, und wir senden dir eine neue Bestätigungsnachricht."
|
||||
resendActivationEmailMessage: 'Trage die E-Mail-Adresse ein, mit der du dich angemeldet hast, und wir senden dir eine neue Bestätigungsnachricht.'
|
||||
resendActivationEmail: Aktivierungs-E-Mail erneut senden
|
||||
resetPassword: Passwort zurücksetzen
|
||||
reset: Zurücksetzen
|
||||
|
@ -205,7 +205,7 @@ twitter: Twitter
|
|||
txt-footer: Freesewing wird erstellt von einer Gemeinschaft von Mitwirkenden<br />mit der finanziellen Unterstützung unserer Förderer/-innen
|
||||
txt-tier2: Unsere Kategorie mit dem demokratischsten Preis. Es ist vielleicht weniger als der Preis eines Lattes, aber deine Unterstützung bedeutet uns sehr viel.
|
||||
txt-tier4: Wähle diese Stufe, und wir senden dir etwas von unserem heiß begehrten Freesewing-Swag nach Hause. Egal, wo in der Welt das auch sein mag.
|
||||
txt-tier8: "Wenn du uns nicht nur unterstützen möchtest, sondern Freesewing zum Gedeihen bringen willst, ist das die Stufe für dich. Außerdem: extra Swag!"
|
||||
txt-tier8: 'Wenn du uns nicht nur unterstützen möchtest, sondern Freesewing zum Gedeihen bringen willst, ist das die Stufe für dich. Außerdem: extra Swag!'
|
||||
txt-tiers: 'FreeSewing wird durch ein freiwilliges Abonnement-Modell unterstützt'
|
||||
unitsInfo: Freesewing unterstützt sowohl das metrische System als auch imperiale Einheiten. Wähle einfach aus, was von beiden du hier verwenden möchtest. (Standardmäßig werden die in deinem Account konfigurierten Einheiten verwendet).
|
||||
updated: Aktualisiert
|
||||
|
@ -224,7 +224,7 @@ whatIsThis: Was ist das?
|
|||
withBreasts: Mit Brüsten
|
||||
withoutBreasts: Ohne Brüste
|
||||
yay: Juhuu!
|
||||
yes: "Yes" #Keep in quotes or it will evaluate to true
|
||||
yes: 'Yes' #Keep in quotes or it will evaluate to true
|
||||
youAreAPatron: Du bist ein/e Förder/in
|
||||
youAreNotAPatron: Du bist kein/e Förder/in
|
||||
youAreNotLoggedIn: Du bist nicht eingeloggt
|
||||
|
@ -248,8 +248,8 @@ noPattern: Du hast (noch) keine Schnittmuster. Erstelle ein neues Schnittmuster
|
|||
modelFirst: Beginne damit, Maße hinzuzufügen
|
||||
noModel: Du hast (noch) keine Maße hinzugefügt. FreeSewing kann maßgeschneiderte Schnittmuster erzeugen. Dafür benötigen wir jedoch Maße.
|
||||
noModel2: Das erste, was du tun solltest, ist, eine Person hinzuzufügen und das Maßband auszupacken.
|
||||
noUserBrowsingTitle: "Du kannst nicht einfach alle Benutzer durchsuchen"
|
||||
noUserBrowsingText: "Wir haben Tausende von ihnen. Sicher gibt es Interessanteres auf unserer Seite zu tun?"
|
||||
noUserBrowsingTitle: 'Du kannst nicht einfach alle Benutzer durchsuchen'
|
||||
noUserBrowsingText: 'Wir haben Tausende von ihnen. Sicher gibt es Interessanteres auf unserer Seite zu tun?'
|
||||
usePatternMeasurements: 'Verwende die Maße des Originalschnittmusters'
|
||||
createReplica: Duplikat erstellen
|
||||
showDetails: Details anzeigen
|
||||
|
|
|
@ -2,4 +2,3 @@
|
|||
designs: Designs
|
||||
sloganCome: Come for the sewing patterns
|
||||
sloganStay: Stay for the community
|
||||
|
||||
|
|
|
@ -4,4 +4,3 @@ darkTheme: Dark Theme
|
|||
hax0rTheme: Hax0r Theme
|
||||
lgbtqTheme: LGBTQ Theme
|
||||
transTheme: Trans Theme
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
designOptions: Design options
|
||||
forPrinting: For printing
|
||||
forCutting: For cutting
|
||||
layoutThing: "Layout {thing}"
|
||||
layoutThing: 'Layout {thing}'
|
||||
pageSize: Page size
|
||||
startBySelectingAThing: "Start by selecting a {thing}"
|
||||
testThing: "Test {thing}"
|
||||
startBySelectingAThing: 'Start by selecting a {thing}'
|
||||
testThing: 'Test {thing}'
|
||||
|
|
|
@ -3,32 +3,32 @@ chatWithUs: 'Chatte mit uns'
|
|||
emailchangeActionText: 'Bestätige deine neue E-Mail-Adresse'
|
||||
emailchangeCopy1: 'Du hast um die Änderung der E-Mail-Adresse gebeten, die mit deinem Account unter <b>freesewing.org</b> verknüpft ist.<br><br>Bevor du dies tust, musst du deine neue E-Mail-Adresse bestätigen. Bitte klicke auf den folgenden Link, um dies zu tun:'
|
||||
emailchangeHeaderOpeningLine: 'Wir stellen nur sicher, dass wir dich bei Bedarf erreichen können'
|
||||
emailchangeHiddenIntro: "Lass uns deine neue E-Mail-Adresse bestätigen"
|
||||
emailchangeHiddenIntro: 'Lass uns deine neue E-Mail-Adresse bestätigen'
|
||||
emailchangeSubject: 'Bitte bestätige deine neue E-Mail-Adresse'
|
||||
emailchangeTitle: 'Bitte bestätige deine neue E-Mail-Adresse'
|
||||
emailchangeWhy: 'Du hast diese E-Mail erhalten, weil du die mit deinem Konto auf freesewing.org verknüpfte E-Mail-Adresse geändert hast'
|
||||
footerCredits: 'Kreiert von Joost & Mitwirkenden, mit der finanziellen Unterstützung unserer Förderer ❤️ '
|
||||
footerSlogan: 'Freesewing ist eine Open-Source Plattform für Schnittmuster nach Maß'
|
||||
goodbyeCopy1: "Wenn du uns mitteilen möchtest, warum du uns verlässt, kannst du gerne auf diese Nachricht antworten. <br>Von unserer Seite aus werden wir dich nicht weiter stören."
|
||||
goodbyeCopy1: 'Wenn du uns mitteilen möchtest, warum du uns verlässt, kannst du gerne auf diese Nachricht antworten. <br>Von unserer Seite aus werden wir dich nicht weiter stören.'
|
||||
goodbyeHeaderOpeningLine: 'Sei dir nur bewusst, dass du jederzeit wiederkommen kannst'
|
||||
goodbyeHiddenIntro: 'Vielen Dank, dass du Freesewing eine Chance gegeben hast'
|
||||
goodbyeSubject: 'Mach''s gut! 👋'
|
||||
goodbyeSubject: "Mach's gut! 👋"
|
||||
goodbyeTitle: 'Vielen Dank, dass du Freesewing eine Chance gegeben hast'
|
||||
goodbyeWhy: 'Du hast diese E-Mail als endgültiges Lebewohl erhalten, nachdem du deinen Account auf freesewing.org entfernt hast'
|
||||
joostFromFreesewing: 'Joost von Freesewing'
|
||||
passwordresetActionText: 'Erhalte erneut Zugang zu deinem Account'
|
||||
passwordresetCopy1: 'Du hast dein Passwort für deinen Account bei <b>freesewing.org</b> vergessen.<br><br>Klicke auf den folgenden Link, um dein Passwort zurückzusetzen:'
|
||||
passwordresetHeaderOpeningLine: "Keine Sorge, solche Dinge passieren uns allen"
|
||||
passwordresetHeaderOpeningLine: 'Keine Sorge, solche Dinge passieren uns allen'
|
||||
passwordresetHiddenIntro: 'Erhalte erneut Zugang zu deinem Account'
|
||||
passwordresetSubject: 'Erhalte erneut Zugang zu deinem Account auf freesewing.org'
|
||||
passwordresetTitle: 'Setze dein Passwort zurück und erhalte erneut Zugang zu deinem Account'
|
||||
passwordresetWhy: 'Du hast diese E-Mail erhalten, weil du die Anfrage gestellt hast, dein Passwort von freesewing.org zurückzusetzen'
|
||||
questionsJustReply: "Wenn du Fragen hast, antworte einfach auf diese E-Mail. Ich bin immer gerne bereit zu helfen. 🙂"
|
||||
questionsJustReply: 'Wenn du Fragen hast, antworte einfach auf diese E-Mail. Ich bin immer gerne bereit zu helfen. 🙂'
|
||||
signature: 'Liebe Grüße'
|
||||
signupActionText: 'Bestätige deine E-Mail-Adresse'
|
||||
signupCopy1: 'Danke, dass du dich bei <b>freesewing.org</b> angemeldet hast.<br><br>Bevor wir beginnen, musst du deine E-Mail-Adresse bestätigen. Bitte klicke auf den folgenden Link, um das zu tun:'
|
||||
signupHeaderOpeningLine: "Wir freuen uns sehr darüber, dass du ein Teil der Freesewing-Community wirst."
|
||||
signupHiddenIntro: "Lass uns deine E-Mail-Adresse bestätigen"
|
||||
signupHeaderOpeningLine: 'Wir freuen uns sehr darüber, dass du ein Teil der Freesewing-Community wirst.'
|
||||
signupHiddenIntro: 'Lass uns deine E-Mail-Adresse bestätigen'
|
||||
signupSubject: 'Willkommen bei freesewing.org'
|
||||
signupTitle: 'Willkommen an Bord'
|
||||
signupWhy: 'Du hast diese E-Mail erhalten, weil du dich gerade auf freesewing.org angemeldet hast'
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
txt-blog: Neuigkeiten, Updates und Ankündigungen des Freesewing-Teams
|
||||
txt-community: 'Alles wird von freiwilligen Mitwirkenden am Leben erhalten. Es existieren keine kommerziellen Absichten im Zusammenhang mit diesem Projekt.'
|
||||
txt-different: Was uns von anderen unterscheidet
|
||||
txt-draft: "Wähle eines deiner Schnittmuster, wähle ein Modell und lege die Optionen fest. Den Rest erledigen wir."
|
||||
txt-draft: 'Wähle eines deiner Schnittmuster, wähle ein Modell und lege die Optionen fest. Den Rest erledigen wir.'
|
||||
txt-how: So funktioniert es
|
||||
txt-join: Schließe dich Tausenden anderer an und erstelle einen kostenlosen Account auf freesewing.org.
|
||||
txt-model: Alle unsere Schnittmuster werden nach individuellen Maßen gefertigt. Nimm daher zuallererst das Maßband zur Hand.
|
||||
txt-newHere: "Wenn du hier neu bist, ist unsere Demo der beste Startpunkt:"
|
||||
txt-newHere: 'Wenn du hier neu bist, ist unsere Demo der beste Startpunkt:'
|
||||
txt-opensource: 'Unsere Plattform, unsere Schnittmuster und sogar diese Website: Unser gesamter Code ist auf GitHub zugänglich. Pull-Requests sind jederzeit herzlich willkommen!'
|
||||
txt-patrons: Freesewing wird durch die finanzielle Unterstützung unserer Förderer/-innen überhaupt erst ermöglicht. Scrolle nach unten, um mehr über unser Abonnementmodell zu erfahren.
|
||||
txt-showcase: Abgeschlossene Projekte aus der Freesewing-Community
|
||||
|
|
|
@ -6,5 +6,5 @@ bio: Erzähle uns ein wenig über dich
|
|||
social: Lass uns wissen, wo wir dir folgen können
|
||||
newsletter: Teile uns deine Newsletter-Präferenz mit
|
||||
letUsSetupYourAccount: Lass uns deinen Account einrichten.
|
||||
walkYouThrough: "Wir führen dich durch die folgenden Schritte:"
|
||||
walkYouThrough: 'Wir führen dich durch die folgenden Schritte:'
|
||||
someOptional: Obwohl alle diese Schritte optional sind, empfehlen wir dir sie durchzugehen, um das Beste aus FreeSewing herauszuholen.
|
||||
|
|
|
@ -122,7 +122,7 @@ addThing: Add {thing}
|
|||
newThing: New {thing}
|
||||
newPatternForModel: 'New {pattern} for {model}'
|
||||
noChanges: No changes
|
||||
no: "No" # Keep in quotes or it will evaluate to false
|
||||
no: 'No' # Keep in quotes or it will evaluate to false
|
||||
noPasswordPolicy: We don't enforce a password policy
|
||||
noSeamAllowance: No seam allowance
|
||||
notAllOfThisContentIsAvailableInLanguage: Not all of this content is available in English
|
||||
|
@ -223,7 +223,7 @@ whatIsThis: What is this?
|
|||
withBreasts: With breasts
|
||||
withoutBreasts: Without breasts
|
||||
yay: Yay!
|
||||
yes: "Yes" # Keep in quotes or it will evaluate to true
|
||||
yes: 'Yes' # Keep in quotes or it will evaluate to true
|
||||
youAreAPatron: You are a patron
|
||||
youAreNotAPatron: Your are not a patron
|
||||
youAreNotLoggedIn: You are not logged in
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
designs: Designs
|
||||
sloganCome: Come for the sewing patterns
|
||||
sloganStay: Stay for the community
|
||||
|
||||
|
|
|
@ -3,4 +3,3 @@ darkTheme: Dark Theme
|
|||
hax0rTheme: Hax0r Theme
|
||||
lgbtqTheme: LGBTQ Theme
|
||||
transTheme: Trans Theme
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
designOptions: Design options
|
||||
forPrinting: For printing
|
||||
forCutting: For cutting
|
||||
layoutThing: "Layout {thing}"
|
||||
layoutThing: 'Layout {thing}'
|
||||
pageSize: Page size
|
||||
startBySelectingAThing: "Start by selecting a {thing}"
|
||||
testThing: "Test {thing}"
|
||||
startBySelectingAThing: 'Start by selecting a {thing}'
|
||||
testThing: 'Test {thing}'
|
||||
|
|
|
@ -13,7 +13,7 @@ applyThisLayout: Aplicar este diseño
|
|||
areYouSureYouWantToContinue: '¿Seguro que quieres continuar?'
|
||||
askForHelp: Pide ayuda
|
||||
automatic: Automático
|
||||
averagePeopleDoNotExist: "La gente promedio no existe"
|
||||
averagePeopleDoNotExist: 'La gente promedio no existe'
|
||||
awesome: Genial
|
||||
back: Atrás
|
||||
becauseThatWouldBeReallyHelpful: Porque eso sería realmente útil.
|
||||
|
@ -76,7 +76,7 @@ drafts: Bocetos
|
|||
draftSettings: Ajustes del boceto
|
||||
dragAndDropImageHere: Arrastra y suelta una imagen aquí, o selecciona una manualmente con el botón de abajo
|
||||
emailAddress: Dirección de correo electrónico
|
||||
emailWorksToo: "Si no conoces tu nombre de usuario, tu dirección de correo electrónico también funcionará"
|
||||
emailWorksToo: 'Si no conoces tu nombre de usuario, tu dirección de correo electrónico también funcionará'
|
||||
enterEmailPickPassword: Introduce tu dirección de email y elige una contraseña
|
||||
export: Exportar
|
||||
exportTiledPDF: Exportar PDF paginado
|
||||
|
@ -85,7 +85,7 @@ fieldRemoved: '{field} eliminado'
|
|||
fieldSaved: '{field} guardado'
|
||||
filterByPattern: Filtrar por patrón
|
||||
filterPatterns: Filtrar los patrones
|
||||
forgotLoginInstructions: "Entra tu nombre de usuario o correo electrónico debajo y pulsa el botón de Restablecer contraseña"
|
||||
forgotLoginInstructions: 'Entra tu nombre de usuario o correo electrónico debajo y pulsa el botón de Restablecer contraseña'
|
||||
freesewing: Freesewing
|
||||
freesewingOnGithub: Freesewing en GitHub
|
||||
garmentPatterns: Patrones de prendas
|
||||
|
@ -123,7 +123,7 @@ addThing: Añadir {thing}
|
|||
newThing: Nuevo {thing}
|
||||
newPatternForModel: 'Nuevo {pattern} para {model}'
|
||||
noChanges: No hay cambios
|
||||
no: "No" #Keep in quotes or it will evaluate to false
|
||||
no: 'No' #Keep in quotes or it will evaluate to false
|
||||
noPasswordPolicy: No aplicamos una política de contraseña
|
||||
noSeamAllowance: Sin margen de costura
|
||||
notAllOfThisContentIsAvailableInLanguage: No todo este contenido está disponible en español.
|
||||
|
@ -163,7 +163,7 @@ remove: Eliminar
|
|||
removeThing: Eliminar {thing}
|
||||
reportThisOnGithub: Notifícalo en GitHub
|
||||
requiredMeasurements: Medidas requeridas
|
||||
resendActivationEmailMessage: "Complete la dirección de correo electrónico con la que se registró y le enviaremos un nuevo mensaje de confirmación."
|
||||
resendActivationEmailMessage: 'Complete la dirección de correo electrónico con la que se registró y le enviaremos un nuevo mensaje de confirmación.'
|
||||
resendActivationEmail: Reenviar email de activación
|
||||
resetPassword: Restablecer contraseña
|
||||
reset: Reiniciar
|
||||
|
@ -205,7 +205,7 @@ twitter: Twitter
|
|||
txt-footer: Freesewing está hecho por una comunidad de colaboradores<br />con el apoyo financiero de nuestros Patrones
|
||||
txt-tier2: Nuestro nivel más democrático de precios. Puede ser menor que el precio de un café con leche, pero su apoyo significa mucho para nosotros.
|
||||
txt-tier4: Suscríbase a este nivel y le enviaremos parte de nuestro codiciado botín de diseño gratuito a su hogar en cualquier parte del mundo.
|
||||
txt-tier8: "Si no solo desea apoyarnos, sino que quiere ver prosperar en la libertad, este es el nivel para usted. También: botín extra!"
|
||||
txt-tier8: 'Si no solo desea apoyarnos, sino que quiere ver prosperar en la libertad, este es el nivel para usted. También: botín extra!'
|
||||
txt-tiers: 'FreeSewing es alimentado por un modelo de suscripción voluntario'
|
||||
unitsInfo: Freesewing es compatible con el sistema métrico y las unidades imperiales. Simplemente elige cuál querrías usar aquí (por defecto usamos las unidades configuradas en tu cuenta).
|
||||
updated: Actualizado
|
||||
|
@ -224,7 +224,7 @@ whatIsThis: Que es esto
|
|||
withBreasts: Con pechos
|
||||
withoutBreasts: Sin pechos
|
||||
yay: '¡Hurra!'
|
||||
yes: "Yes" #Keep in quotes or it will evaluate to true
|
||||
yes: 'Yes' #Keep in quotes or it will evaluate to true
|
||||
youAreAPatron: Eres un mecenas
|
||||
youAreNotAPatron: Tu no eres un mecenas
|
||||
youAreNotLoggedIn: No has iniciado sesión
|
||||
|
@ -248,8 +248,8 @@ noPattern: No tienes ningún patrón (todavía). Crea un nuevo patrón, luego gu
|
|||
modelFirst: Empezar añadiendo mediciones
|
||||
noModel: No has añadido ninguna medición (aún). La Coser libre puede generar patrones de costura hechos a medida. Pero para eso necesitamos mediciones.
|
||||
noModel2: Así que lo primero que debes hacer es añadir una persona y agitar tu cinta de medición.
|
||||
noUserBrowsingTitle: "No puedes navegar por todos los usuarios"
|
||||
noUserBrowsingText: "Tenemos miles de ellos. ¿Seguro que tienes cosas mejores que hacer?"
|
||||
noUserBrowsingTitle: 'No puedes navegar por todos los usuarios'
|
||||
noUserBrowsingText: 'Tenemos miles de ellos. ¿Seguro que tienes cosas mejores que hacer?'
|
||||
usePatternMeasurements: 'Usar las medidas del patrón original'
|
||||
createReplica: Crear una réplica
|
||||
showDetails: Mostrar detalles
|
||||
|
|
|
@ -7,7 +7,7 @@ patternType: Tipo de patrón
|
|||
patternCreated: Tu esqueleto de patrón ha sido creado en
|
||||
runTheseCommands: Para empezar, ejecuta este comando
|
||||
startRollup: En una terminal, inicia el paquete de rollup en modo reloj
|
||||
startWebpack: "Entrará en la carpeta \"ejemplo\" e iniciará el entorno de desarrollo."
|
||||
startWebpack: 'Entrará en la carpeta "ejemplo" e iniciará el entorno de desarrollo.'
|
||||
devDocsAvailableAt: Documentación para desarrolladores está disponible en
|
||||
talkToUs: Para preguntas, comentarios o sugerencias, únete a nuestro servidor de Discord
|
||||
draftYourPattern: Traza tu patrón
|
||||
|
|
|
@ -2,4 +2,3 @@
|
|||
designs: Designs
|
||||
sloganCome: Come for the sewing patterns
|
||||
sloganStay: Stay for the community
|
||||
|
||||
|
|
|
@ -4,4 +4,3 @@ darkTheme: Dark Theme
|
|||
hax0rTheme: Hax0r Theme
|
||||
lgbtqTheme: LGBTQ Theme
|
||||
transTheme: Trans Theme
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
designOptions: Design options
|
||||
forPrinting: For printing
|
||||
forCutting: For cutting
|
||||
layoutThing: "Layout {thing}"
|
||||
layoutThing: 'Layout {thing}'
|
||||
pageSize: Page size
|
||||
startBySelectingAThing: "Start by selecting a {thing}"
|
||||
testThing: "Test {thing}"
|
||||
startBySelectingAThing: 'Start by selecting a {thing}'
|
||||
testThing: 'Test {thing}'
|
||||
|
|
|
@ -3,13 +3,13 @@ chatWithUs: 'Habla con nosotros'
|
|||
emailchangeActionText: 'Confirme su nueva dirección de correo electrónico'
|
||||
emailchangeCopy1: 'Solicitó cambiar la dirección de correo electrónico vinculada a su cuenta en <b> freesewing.org </b>.<br><br>Antes de hacerlo, debe confirmar su nueva dirección de correo electrónico. Por favor haga clic en el enlace de abajo para hacer eso:'
|
||||
emailchangeHeaderOpeningLine: 'Solo asegurándonos de que podamos contactarlo cuando sea necesario'
|
||||
emailchangeHiddenIntro: "Confirmemos tu nueva dirección de correo electrónico"
|
||||
emailchangeHiddenIntro: 'Confirmemos tu nueva dirección de correo electrónico'
|
||||
emailchangeSubject: 'Por favor confirme su nueva dirección de correo electrónico'
|
||||
emailchangeTitle: 'Por favor confirme su nueva dirección de correo electrónico'
|
||||
emailchangeWhy: 'Ha recibido este correo electrónico porque ha cambiado la dirección de correo electrónico vinculada a su cuenta en freesewing.org'
|
||||
footerCredits: 'Hecho por joost & contributors con el apoyo financiero de nuestros clientes ❤️ '
|
||||
footerSlogan: 'Freesewing es una plataforma open source para patrones de costura a medida'
|
||||
goodbyeCopy1: "Si desea compartir por qué se va, puede responder a este mensaje. <br> Por nuestra parte, no volveremos a molestarlo."
|
||||
goodbyeCopy1: 'Si desea compartir por qué se va, puede responder a este mensaje. <br> Por nuestra parte, no volveremos a molestarlo.'
|
||||
goodbyeHeaderOpeningLine: 'Solo se sabe que siempre se puede volver.'
|
||||
goodbyeHiddenIntro: 'Gracias por darle una oportunidad a freesewing'
|
||||
goodbyeSubject: 'Despedida 👋'
|
||||
|
@ -18,17 +18,17 @@ goodbyeWhy: 'Recibió este correo electrónico como último adiós después de e
|
|||
joostFromFreesewing: 'Joost de Freesewing'
|
||||
passwordresetActionText: 'Recupere el acceso a su cuenta'
|
||||
passwordresetCopy1: 'Olvidó su contraseña para su cuenta en <b> freesewing.org </b>. <br> <br> Haga clic en el enlace de abajo para restablecer su contraseña:'
|
||||
passwordresetHeaderOpeningLine: "No te preocupes, estas cosas nos pasan a todos."
|
||||
passwordresetHeaderOpeningLine: 'No te preocupes, estas cosas nos pasan a todos.'
|
||||
passwordresetHiddenIntro: 'Recupere el acceso a su cuenta'
|
||||
passwordresetSubject: 'Recupere el acceso a su cuenta en freesewing.org'
|
||||
passwordresetTitle: 'Restablece tu contraseña y vuelve a obtener acceso a tu cuenta'
|
||||
passwordresetWhy: 'Recibió este correo electrónico porque solicitó restablecer su contraseña en freesewing.org'
|
||||
questionsJustReply: "Si tiene alguna pregunta, simplemente responda a este correo electrónico. Siempre feliz de ayudar. 🙂"
|
||||
questionsJustReply: 'Si tiene alguna pregunta, simplemente responda a este correo electrónico. Siempre feliz de ayudar. 🙂'
|
||||
signature: 'Con amor,'
|
||||
signupActionText: 'Confirme su dirección de correo electrónico'
|
||||
signupCopy1: 'Gracias por registrarse en <b>freesewing.org</b>.<br><br>Antes de comenzar, debe confirmar su dirección de correo electrónico. Por favor haga clic en el enlace de abajo para hacer eso:'
|
||||
signupHeaderOpeningLine: "Estamos muy contentos de que te unas a la comunidad de freesewing."
|
||||
signupHiddenIntro: "Confirmemos tu dirección de correo electrónico"
|
||||
signupHeaderOpeningLine: 'Estamos muy contentos de que te unas a la comunidad de freesewing.'
|
||||
signupHiddenIntro: 'Confirmemos tu dirección de correo electrónico'
|
||||
signupSubject: 'Bienvenido a freesewing.org'
|
||||
signupTitle: 'Bienvenido a bordo'
|
||||
signupWhy: 'Recibió este correo electrónico porque acaba de registrarse para una cuenta en freesewing.org'
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
txt-blog: Noticias, actualizaciones y anuncios del equipo de freesewing.
|
||||
txt-community: 'Todo es llevado por colaboradores voluntarios. TNo hay ninguna entidad comercial detrás de, o vinculada a, este proyecto.'
|
||||
txt-different: En qué somos diferentes
|
||||
txt-draft: "Elige uno de los patrones, elige un model y elige tus opciones. Nosotros hacemos el resto"
|
||||
txt-draft: 'Elige uno de los patrones, elige un model y elige tus opciones. Nosotros hacemos el resto'
|
||||
txt-how: Cómo funciona
|
||||
txt-join: Únete a miles de personas y regístrate en freesewing.org.
|
||||
txt-model: Todos nuestros patrones son a medida. Así que lo primero que necesitas es un metro.
|
||||
txt-newHere: "Si eres nuevo aquí, el mejor lugar para comenzar es nuestra demostración:"
|
||||
txt-newHere: 'Si eres nuevo aquí, el mejor lugar para comenzar es nuestra demostración:'
|
||||
txt-opensource: 'Nuestra plataforma, nuestros patrones e incluso este sitio web. Todo nuestro código está disponible en GitHub. Modificaciones son bienvenidas!'
|
||||
txt-patrons: Freesewing es posible por el apoyo económico de nuestros patrocinadores. Desplácese hacia abajo para conocer nuestro modelo de suscripción.
|
||||
txt-showcase: Proyectos terminados de la comunidad de freesewing
|
||||
|
|
|
@ -6,5 +6,5 @@ bio: Cuéntanos un poco acerca de ti
|
|||
social: Háganos saber dónde podemos seguirle
|
||||
newsletter: Danos tu preferencia al boletín de noticias
|
||||
letUsSetupYourAccount: Permítanos configurar su cuenta.
|
||||
walkYouThrough: "Te guiaremos a través de los siguientes pasos:"
|
||||
walkYouThrough: 'Te guiaremos a través de los siguientes pasos:'
|
||||
someOptional: Aunque todos estos pasos son opcionales, te recomendamos que los recorras para sacar el máximo provecho de FreeSewing.
|
||||
|
|
|
@ -102,7 +102,7 @@ howToTakeMeasurements: Comment prendre les mesures
|
|||
i18n: Internationalisation
|
||||
imperialUnits: Unités impériales (pouces)
|
||||
instagram: Instagram
|
||||
invalidTldMessage: '.{tld} n''est pas un TLD valide'
|
||||
invalidTldMessage: ".{tld} n'est pas un TLD valide"
|
||||
joinTheChatMsg: Nous avons une communauté sur Discord avec des amis avec lesquels vous pouvez discuter.
|
||||
justAMoment: Juste un instant
|
||||
layout: Mis en page
|
||||
|
@ -123,7 +123,7 @@ addThing: Ajouter {thing}
|
|||
newThing: Nouveau {thing}
|
||||
newPatternForModel: 'Nouveau {pattern} pour {model}'
|
||||
noChanges: Pas de changement
|
||||
no: "Non" #Keep in quotes or it will evaluate to false
|
||||
no: 'Non' #Keep in quotes or it will evaluate to false
|
||||
noPasswordPolicy: Nous n'appliquons pas de politique sur les mots de passe
|
||||
noSeamAllowance: Marges de couture non-comprises
|
||||
notAllOfThisContentIsAvailableInLanguage: Tout ce contenu n'est pas disponible en français
|
||||
|
@ -186,11 +186,11 @@ shareFreesewing: Partager FreeSewing
|
|||
showcase: Galerie
|
||||
signUpForAFreeAccount: Créer un compte gratuit
|
||||
signUp: S'inscrire
|
||||
signupWithProvider: 'S''inscrire avec {provider}'
|
||||
signupWithProvider: "S'inscrire avec {provider}"
|
||||
sortByField: Trier par {field}
|
||||
standardSeamAllowance: Marge de couture standard
|
||||
startOver: Recommencer
|
||||
startTranslatingNowOrRead: '{startTranslatingNow}, ou lisez d''abord la {documentationForTranslators}.'
|
||||
startTranslatingNowOrRead: "{startTranslatingNow}, ou lisez d'abord la {documentationForTranslators}."
|
||||
startTranslatingNow: Commencez à traduire maintenant
|
||||
subscribe: Souscrire
|
||||
support: Support
|
||||
|
@ -224,7 +224,7 @@ whatIsThis: Qu'est-ce que c'est ?
|
|||
withBreasts: Avec des seins
|
||||
withoutBreasts: Sans seins
|
||||
yay: Yeh !
|
||||
yes: "Oui" #Keep in quotes or it will evaluate to true
|
||||
yes: 'Oui' #Keep in quotes or it will evaluate to true
|
||||
youAreAPatron: Vous êtes un mécène
|
||||
youAreNotAPatron: Vous n'êtes pas mécène
|
||||
youAreNotLoggedIn: Vous n'êtes pas connecté
|
||||
|
@ -248,9 +248,9 @@ noPattern: Vous n'avez pas (encore) de patrons. Créez un nouveau patron, puis s
|
|||
modelFirst: Commencez par ajouter des mensurations
|
||||
noModel: Vous n'avez pas (encore) ajouté de mesure. FreeSewing peut générer des patrons de couture sur mesure. Mais pour cela, nous avons besoin de mensurations.
|
||||
noModel2: La première chose à faire est donc d'ajouter une personne et de sortir votre mètre-ruban.
|
||||
noUserBrowsingTitle: "Vous ne pouvez pas simplement parcourir tous les utilisateurs"
|
||||
noUserBrowsingText: "Nous en avons des milliers. Vous avez certainement autre chose à faire ?"
|
||||
usePatternMeasurements: 'Utiliser les mesures du patron d''origine'
|
||||
noUserBrowsingTitle: 'Vous ne pouvez pas simplement parcourir tous les utilisateurs'
|
||||
noUserBrowsingText: 'Nous en avons des milliers. Vous avez certainement autre chose à faire ?'
|
||||
usePatternMeasurements: "Utiliser les mesures du patron d'origine"
|
||||
createReplica: Créer une réplique
|
||||
showDetails: Voir les détails
|
||||
hideDetails: Masquer les détails
|
||||
|
|
|
@ -2,4 +2,3 @@
|
|||
designs: Designs
|
||||
sloganCome: Come for the sewing patterns
|
||||
sloganStay: Stay for the community
|
||||
|
||||
|
|
|
@ -4,4 +4,3 @@ darkTheme: Dark Theme
|
|||
hax0rTheme: Hax0r Theme
|
||||
lgbtqTheme: LGBTQ Theme
|
||||
transTheme: Trans Theme
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
designOptions: Design options
|
||||
forPrinting: For printing
|
||||
forCutting: For cutting
|
||||
layoutThing: "Layout {thing}"
|
||||
layoutThing: 'Layout {thing}'
|
||||
pageSize: Page size
|
||||
startBySelectingAThing: "Start by selecting a {thing}"
|
||||
testThing: "Test {thing}"
|
||||
startBySelectingAThing: 'Start by selecting a {thing}'
|
||||
testThing: 'Test {thing}'
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
---
|
||||
chatWithUs: 'Discutez avec nous'
|
||||
emailchangeActionText: 'Confirmez votre nouvelle adresse mail'
|
||||
emailchangeCopy1: 'Vous avez demandé de modifier l''adresse e-mail associée à votre compte sur <b>freesewing.org</b>.<br><br>Avant de procéder, vous devez confirmer votre nouvelle adresse e-mail. S''il vous plaît cliquez sur le lien ci-dessous pour le faire :'
|
||||
emailchangeCopy1: "Vous avez demandé de modifier l'adresse e-mail associée à votre compte sur <b>freesewing.org</b>.<br><br>Avant de procéder, vous devez confirmer votre nouvelle adresse e-mail. S'il vous plaît cliquez sur le lien ci-dessous pour le faire :"
|
||||
emailchangeHeaderOpeningLine: 'Assurez-vous simplement que nous pouvons vous joindre en cas de besoin'
|
||||
emailchangeHiddenIntro: "Confirmons votre nouvelle adresse e-mail"
|
||||
emailchangeHiddenIntro: 'Confirmons votre nouvelle adresse e-mail'
|
||||
emailchangeSubject: 'Merci de confirmer votre nouvelle adresse e-mail'
|
||||
emailchangeTitle: 'Merci de confirmer votre nouvelle adresse e-mail'
|
||||
emailchangeWhy: 'Vous avez reçu cet e-mail parce que vous avez changé l''adresse e-mail liée à votre compte sur freesewing.org'
|
||||
emailchangeWhy: "Vous avez reçu cet e-mail parce que vous avez changé l'adresse e-mail liée à votre compte sur freesewing.org"
|
||||
footerCredits: 'Réalisé par Joost De Cock et ses contributeurs avec le soutien financier de mécènes ❤️ '
|
||||
footerSlogan: 'Freesewing est une plate-forme open source pour des patrons de couture sur mesure'
|
||||
goodbyeCopy1: "Si vous souhaitez expliquer pourquoi vous partez, vous pouvez répondre à ce message.<br>De notre côté, nous ne vous dérangerons plus."
|
||||
goodbyeCopy1: 'Si vous souhaitez expliquer pourquoi vous partez, vous pouvez répondre à ce message.<br>De notre côté, nous ne vous dérangerons plus.'
|
||||
goodbyeHeaderOpeningLine: 'Sachez simplement que vous pouvez toujours revenir'
|
||||
goodbyeHiddenIntro: 'Merci d''avoir donné une chance à freesewing'
|
||||
goodbyeHiddenIntro: "Merci d'avoir donné une chance à freesewing"
|
||||
goodbyeSubject: 'Adieu 👋'
|
||||
goodbyeTitle: 'Merci d''avoir donné une chance à freesewing'
|
||||
goodbyeWhy: 'Vous avez reçu cet e-mail en guise d''adieu final après la suppression de votre compte sur freesewing.org'
|
||||
goodbyeTitle: "Merci d'avoir donné une chance à freesewing"
|
||||
goodbyeWhy: "Vous avez reçu cet e-mail en guise d'adieu final après la suppression de votre compte sur freesewing.org"
|
||||
joostFromFreesewing: 'Joost de Freesewing'
|
||||
passwordresetActionText: 'Re-accéder à votre compte'
|
||||
passwordresetCopy1: 'Vous avez oublié votre mot de passe pour votre compte sur <b>freesewing.org</b>.<br><br>Cliquez sur le lien ci-dessous pour réinitialiser votre mot de passe:'
|
||||
passwordresetHeaderOpeningLine: "Ne vous inquiétez pas, ce genre de choses nous arrive à tous"
|
||||
passwordresetHeaderOpeningLine: 'Ne vous inquiétez pas, ce genre de choses nous arrive à tous'
|
||||
passwordresetHiddenIntro: 'Re-accéder à votre compte'
|
||||
passwordresetSubject: 'Re-accéder à votre compte sur freesewing.org'
|
||||
passwordresetTitle: 'Réinitialisez votre mot de passe et accédez à nouveau à votre compte.'
|
||||
|
@ -27,8 +27,8 @@ questionsJustReply: "Si vous avez des questions, répondez simplement à cet e-m
|
|||
signature: 'Bise,'
|
||||
signupActionText: 'Confirmez votre adresse mail'
|
||||
signupCopy1: 'Merci de votre inscription sur <b>freesewing.org</b>.<br><br>Avant de commencer, vous devez confirmer votre adresse e-mail. Pour cela veuillez cliquer sur le lien ci-dessous :'
|
||||
signupHeaderOpeningLine: "Nous sommes vraiment heureux que vous rejoigniez la communauté freesewing."
|
||||
signupHiddenIntro: "Confirmons votre adresse mail"
|
||||
signupHeaderOpeningLine: 'Nous sommes vraiment heureux que vous rejoigniez la communauté freesewing.'
|
||||
signupHiddenIntro: 'Confirmons votre adresse mail'
|
||||
signupSubject: 'Bienvenue sur freesewing.org'
|
||||
signupTitle: 'Bienvenue à bord'
|
||||
signupWhy: 'Vous avez reçu cet e-mail parce que vous venez de créer un compte sur freesewing.org'
|
||||
|
|
|
@ -21,10 +21,10 @@ openDataInfo: Ces données sont utilisées pour étudier et comprendre la forme
|
|||
openDataQuestion: Partager des mesures anonymisées sous forme de données ouvertes
|
||||
profileQuestion: Donnez-vous votre consentement pour traiter vos données de profil ?
|
||||
profileShareAnswer: '<b>Non</ b>, jamais.'
|
||||
profileTimingAnswer: '<b>12 mois</b> après votre dernière connexion ou jusqu''à ce que vous <b>supprimiez</b> votre compte ou <b>révoquiez</b> ce consentement.'
|
||||
profileTimingAnswer: "<b>12 mois</b> après votre dernière connexion ou jusqu'à ce que vous <b>supprimiez</b> votre compte ou <b>révoquiez</b> ce consentement."
|
||||
profileWarning: Révoquer ce consentement entraînera la suppression de toutes vos données. Cela a exactement le même effet que de supprimer votre compte.
|
||||
profileWhatAnswerOptional: 'Optionnel : une <b>photo de profil</b>, <b>biographie</b>, et <b>comptes de réseaux sociaux</b>'
|
||||
profileWhatAnswer: 'Votre <b>adresse e-mail</b>, <b>nom d''utilisateur</b>et <b>mot de passe</b>.'
|
||||
profileWhatAnswer: "Votre <b>adresse e-mail</b>, <b>nom d'utilisateur</b>et <b>mot de passe</b>."
|
||||
profileWhatQuestion: Que sont les données de profil ?
|
||||
profileWhyAnswer: 'Pour <b>vous authentifier</b> , <b>vous contacter</b> lorsque nécessaire, et construire une <b>communauté</b>.'
|
||||
readMore: Pour plus d'informations, veuillez lire notre politique de confidentialité.
|
||||
|
@ -34,6 +34,6 @@ shareQuestion: La partageons-nous avec les autres ?
|
|||
timingQuestion: Combien de temps les gardons-nous ?
|
||||
whatYouNeedToKnow: Ce que vous devez savoir
|
||||
whyQuestion: Pourquoi en avons-nous besoin ?
|
||||
yesIDoObject: 'Oui, je m''y oppose'
|
||||
yesIDoObject: "Oui, je m'y oppose"
|
||||
yesIDo: 'Oui, je le veux'
|
||||
openData: 'Note : Freesewing publie des mesures rendues anonymes en tant que données libres pour la recherche scientifique. Vous avez le droit de vous y opposer'
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
txt-blog: Nouvelles, mises à jour et annonces de l'équipe freesewing
|
||||
txt-community: 'Tout est géré par des contributeurs bénévoles. Il n''y a pas d''entité commerciale, ou assimilée, derrière ce projet.'
|
||||
txt-community: "Tout est géré par des contributeurs bénévoles. Il n'y a pas d'entité commerciale, ou assimilée, derrière ce projet."
|
||||
txt-different: Ce en quoi nous sommes différents
|
||||
txt-draft: "Choisissez parmi l'un de vos patrons, choisissez un modèle, et sélectionnez vos options. Nous ferons le reste."
|
||||
txt-how: Comment ça marche
|
||||
txt-join: Rejoignez des milliers d'autres personnes en vous inscrivant gratuitement sur freesewing.org.
|
||||
txt-model: Tous nos patrons sont faits sur mesure, donc la première chose à faire est de vous munir de votre mètre-ruban.
|
||||
txt-newHere: "Si vous êtes nouveau ici, le meilleur endroit pour commencer est notre démo :"
|
||||
txt-newHere: 'Si vous êtes nouveau ici, le meilleur endroit pour commencer est notre démo :'
|
||||
txt-opensource: 'Notre plateforme, nos patrons, et même ce site web. Tout notre code est disponible sur GitHub. Les "Pull requests" sont les bienvenues !'
|
||||
txt-patrons: Freesewing existe grâce au soutien financier de nos Mécènes. Faites défiler vers le bas pour en savoir plus sur nos modes de souscription.
|
||||
txt-showcase: Projets terminés de la communauté freesewing
|
||||
|
|
|
@ -6,5 +6,5 @@ bio: Parlez-nous un peu de vous
|
|||
social: Dites-nous où nous pouvons vous suivre
|
||||
newsletter: Donnez-nous votre préférence pour la newsletter
|
||||
letUsSetupYourAccount: Laissez-nous configurer votre compte.
|
||||
walkYouThrough: "Nous vous guiderons à travers les étapes suivantes :"
|
||||
walkYouThrough: 'Nous vous guiderons à travers les étapes suivantes :'
|
||||
someOptional: Bien que toutes ces étapes soient facultatives, nous vous recommandons de les passer en revue pour tirer le meilleur parti de FreeSewing.
|
||||
|
|
|
@ -13,7 +13,7 @@ applyThisLayout: Pas deze layout toe
|
|||
areYouSureYouWantToContinue: Weet je zeker dat je door wilt gaan?
|
||||
askForHelp: Vraag om hulp
|
||||
automatic: Automatisch
|
||||
averagePeopleDoNotExist: "Gemiddelde mensen bestaan niet"
|
||||
averagePeopleDoNotExist: 'Gemiddelde mensen bestaan niet'
|
||||
awesome: Super
|
||||
back: Achterzijde
|
||||
becauseThatWouldBeReallyHelpful: Want dat zou ons echt vooruit helpen.
|
||||
|
@ -76,7 +76,7 @@ drafts: Patroontekeningen
|
|||
draftSettings: Instellingen patroontekening
|
||||
dragAndDropImageHere: Sleep een afbeelding hierheen of selecteer er handmatig een met de knop hieronder
|
||||
emailAddress: Email adres
|
||||
emailWorksToo: "Als je je gebruikersnaam niet meer weet, vul dan je email adres in, dat werkt ook"
|
||||
emailWorksToo: 'Als je je gebruikersnaam niet meer weet, vul dan je email adres in, dat werkt ook'
|
||||
enterEmailPickPassword: Voer je email adres in, en kies een wachtwoord
|
||||
export: Exporteren
|
||||
exportTiledPDF: Gepagineerde PDF exporteren
|
||||
|
@ -85,7 +85,7 @@ fieldRemoved: '{field} verwijderd'
|
|||
fieldSaved: '{field} opgeslagen'
|
||||
filterByPattern: Filter op patroon
|
||||
filterPatterns: Patronen filteren
|
||||
forgotLoginInstructions: "Als je je wachtwoord niet meer weet, vul dan hieronder je gebruikersnaam of email adres in, en klik op de <b>Herstel wachtwoord</b> knop"
|
||||
forgotLoginInstructions: 'Als je je wachtwoord niet meer weet, vul dan hieronder je gebruikersnaam of email adres in, en klik op de <b>Herstel wachtwoord</b> knop'
|
||||
freesewing: Freesewing
|
||||
freesewingOnGithub: FreeSewing op GitHub
|
||||
garmentPatterns: Patronen voor kledij
|
||||
|
@ -123,7 +123,7 @@ addThing: Voeg {thing} toe
|
|||
newThing: Nieuw {thing}
|
||||
newPatternForModel: 'Nieuwe {pattern} voor {model}'
|
||||
noChanges: Geen wijzigingen
|
||||
no: "Nee" #Keep in quotes or it will evaluate to false
|
||||
no: 'Nee' #Keep in quotes or it will evaluate to false
|
||||
noPasswordPolicy: We handhaven geen wachtwoordbeleid
|
||||
noSeamAllowance: Geen naadtoeslag
|
||||
notAllOfThisContentIsAvailableInLanguage: Niet al deze inhoud is beschikbaar in het Nederlands
|
||||
|
@ -163,7 +163,7 @@ remove: Verwijderen
|
|||
removeThing: '{thing} verwijderen'
|
||||
reportThisOnGithub: Melden via GitHub
|
||||
requiredMeasurements: Vereiste maten
|
||||
resendActivationEmailMessage: "Vul het e-mailadres waarmee je je account aangemaakt hebt in en we zullen je een nieuwe bevestigingsmail sturen."
|
||||
resendActivationEmailMessage: 'Vul het e-mailadres waarmee je je account aangemaakt hebt in en we zullen je een nieuwe bevestigingsmail sturen.'
|
||||
resendActivationEmail: Stuur een nieuwe activatie email
|
||||
resetPassword: Wachtwoord opnieuw instellen
|
||||
reset: Reset
|
||||
|
@ -205,7 +205,7 @@ twitter: Twitter
|
|||
txt-footer: FreeSewing is gemaakt door een gemeenschap van bijdragers<br />met de financiële steun van onze mecenassen
|
||||
txt-tier2: Onze meest democratisch geprijsde optie. Het is minder dan de prijs van een latte, maar jouw steun betekent alles voor ons.
|
||||
txt-tier4: Abonneer je op deze optie en we sturen wat van onze erg gegeerde FreeSewing swag naar je thuis. Waar ook ter wereld dat mag zijn.
|
||||
txt-tier8: "Als je ons niet louter wil steunen, maar FreeSewing wil zien groeien, dan is dit de optie voor jou. Ook: extra swag!"
|
||||
txt-tier8: 'Als je ons niet louter wil steunen, maar FreeSewing wil zien groeien, dan is dit de optie voor jou. Ook: extra swag!'
|
||||
txt-tiers: 'FreeSewing draait op een vrijwillig subscriptiemodel'
|
||||
unitsInfo: FreeSewing ondersteunt zowel het metrieke stelsel als de imperiale eenheden. Kies eenvoudig welke u hier wilt gebruiken. (de standaard is om de eenheden te gebruiken die in uw account zijn geconfigureerd).
|
||||
updated: Bijgewerkt
|
||||
|
@ -224,7 +224,7 @@ whatIsThis: What betekent dit?
|
|||
withBreasts: Met borsten
|
||||
withoutBreasts: Zonder borsten
|
||||
yay: Joehoew!
|
||||
yes: "Ja" #Keep in quotes or it will evaluate to true
|
||||
yes: 'Ja' #Keep in quotes or it will evaluate to true
|
||||
youAreAPatron: Je bent een mecenas
|
||||
youAreNotAPatron: Je bent geen mecenas
|
||||
youAreNotLoggedIn: Je bent niet ingelogd
|
||||
|
@ -248,8 +248,8 @@ noPattern: Je hebt (nog) geen patronen. Maak een nieuw patroon, en sla het op in
|
|||
modelFirst: Begin met maten toe te voegen
|
||||
noModel: Je hebt (nog) geen maten toegevoegd. FreeSewing can naaipatronen op maat genereren. Maar daarvoor hebben we maten nodig.
|
||||
noModel2: Dus het eerste dat je zou moeten doen is een persoon toevoegen, en je lintmeter bovenhalen.
|
||||
noUserBrowsingTitle: "Je kan niet zomaar door alle gebruikers grasduinen"
|
||||
noUserBrowsingText: "We hebben er duizenden. Je hebt toch wel wat beters te doen?"
|
||||
noUserBrowsingTitle: 'Je kan niet zomaar door alle gebruikers grasduinen'
|
||||
noUserBrowsingText: 'We hebben er duizenden. Je hebt toch wel wat beters te doen?'
|
||||
usePatternMeasurements: 'Gebruik de maten van het originele patroon'
|
||||
createReplica: Creëer een replica
|
||||
showDetails: Toon details
|
||||
|
|
|
@ -2,4 +2,3 @@
|
|||
designs: Designs
|
||||
sloganCome: Come for the sewing patterns
|
||||
sloganStay: Stay for the community
|
||||
|
||||
|
|
|
@ -4,4 +4,3 @@ darkTheme: Dark Theme
|
|||
hax0rTheme: Hax0r Theme
|
||||
lgbtqTheme: LGBTQ Theme
|
||||
transTheme: Trans Theme
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
designOptions: Design options
|
||||
forPrinting: For printing
|
||||
forCutting: For cutting
|
||||
layoutThing: "Layout {thing}"
|
||||
layoutThing: 'Layout {thing}'
|
||||
pageSize: Page size
|
||||
startBySelectingAThing: "Start by selecting a {thing}"
|
||||
testThing: "Test {thing}"
|
||||
startBySelectingAThing: 'Start by selecting a {thing}'
|
||||
testThing: 'Test {thing}'
|
||||
|
|
|
@ -3,13 +3,13 @@ chatWithUs: 'Chat met ons'
|
|||
emailchangeActionText: 'Bevestig uw nieuwe e-mailadres'
|
||||
emailchangeCopy1: 'U heeft verzocht het e-mailadres dat aan uw account is gekoppeld te wijzigen op <b> freesewing.org </b>.<br><br>Voordat we dat doen, moet u uw nieuwe e-mailadres bevestigen. Klik op de onderstaande link om dat te doen:'
|
||||
emailchangeHeaderOpeningLine: 'We zorgen ervoor dat we u kunnen bereiken wanneer dat nodig is'
|
||||
emailchangeHiddenIntro: "Laten we uw nieuwe e-mailadres bevestigen"
|
||||
emailchangeHiddenIntro: 'Laten we uw nieuwe e-mailadres bevestigen'
|
||||
emailchangeSubject: 'Bevestig uw nieuwe e-mailadres'
|
||||
emailchangeTitle: 'Bevestig uw nieuwe e-mailadres'
|
||||
emailchangeWhy: 'Je ontving deze e-mail omdat je het e-mailadres hebt gewijzigd dat gekoppeld is aan je account op freesewing.org'
|
||||
footerCredits: 'Gemaakt door joost & vrijwilligers met de financiële steun van onze Patrons ❤️ '
|
||||
footerSlogan: 'FreeSewing is een open source platform voor naaipatronen op maat'
|
||||
goodbyeCopy1: "Als je wilt delen waarom je vertrekt, kun je dit bericht beantwoorden. <br> Van onze kant zullen we je niet opnieuw lastig vallen."
|
||||
goodbyeCopy1: 'Als je wilt delen waarom je vertrekt, kun je dit bericht beantwoorden. <br> Van onze kant zullen we je niet opnieuw lastig vallen.'
|
||||
goodbyeHeaderOpeningLine: 'Weet gewoon dat je altijd terug kunt komen'
|
||||
goodbyeHiddenIntro: 'Bedankt dat je freesewing.org een kans hebt gegeven'
|
||||
goodbyeSubject: 'Vaarwel 👋'
|
||||
|
@ -18,17 +18,17 @@ goodbyeWhy: 'U ontving deze e-mail als een laatste adieu na het verwijderen van
|
|||
joostFromFreesewing: 'Joost van FreeSewing'
|
||||
passwordresetActionText: 'Krijg toegang tot uw account'
|
||||
passwordresetCopy1: 'U bent uw wachtwoord voor uw account vergeten op <b>freesewing.org</b>.<br><br>Klik op de onderstaande link om uw wachtwoord opnieuw in te stellen:'
|
||||
passwordresetHeaderOpeningLine: "Maak je geen zorgen, deze dingen gebeuren met ons allemaal"
|
||||
passwordresetHeaderOpeningLine: 'Maak je geen zorgen, deze dingen gebeuren met ons allemaal'
|
||||
passwordresetHiddenIntro: 'Krijg toegang tot uw account'
|
||||
passwordresetSubject: 'Krijg toegang tot uw account op freesewing.org'
|
||||
passwordresetTitle: 'Stel uw wachtwoord opnieuw in en verkrijg opnieuw toegang tot uw account'
|
||||
passwordresetWhy: 'U hebt deze e-mail ontvangen omdat u heeft gevraagd om uw wachtwoord opnieuw in te stellen op freesewing.org'
|
||||
questionsJustReply: "Zit je met vragen? Stuur ze dan als antwoord op deze E-mail. Ik ben steeds bereid om een handje te helpen. 🙂"
|
||||
questionsJustReply: 'Zit je met vragen? Stuur ze dan als antwoord op deze E-mail. Ik ben steeds bereid om een handje te helpen. 🙂'
|
||||
signature: 'Liefs,'
|
||||
signupActionText: 'Bevestig je E-mail adres'
|
||||
signupCopy1: 'Leuk dat je je hebt ingeschreven op <b>freesewing.org</b>.<br><br>Vooraleer we aan de slag kunnen, moeten we eerst je E-mail adres bevestigen. Klik op onderstaande link om dat te doen:'
|
||||
signupHeaderOpeningLine: "We zijn verheugd dat je deel wil uitmaken van de freesewing gemeenschap."
|
||||
signupHiddenIntro: "Nu gewoon nog even je E-mail adres bevestigen"
|
||||
signupHeaderOpeningLine: 'We zijn verheugd dat je deel wil uitmaken van de freesewing gemeenschap.'
|
||||
signupHiddenIntro: 'Nu gewoon nog even je E-mail adres bevestigen'
|
||||
signupSubject: 'Welkom bij freesewing.org'
|
||||
signupTitle: 'Welkom aan boord'
|
||||
signupWhy: 'Je ontving deze E-mail omdat je je zonet ingeschreven hebt op freesewing.org'
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
txt-blog: Nieuws, updates, and mededelingen door het freesewing team
|
||||
txt-community: 'Al het werk word gedaan door vrijwillige medewerkers. Er zijn geen commerciële belangen verbonden aan het project.'
|
||||
txt-different: Hoe we anders zijn
|
||||
txt-draft: "Kies één van onze patronen, één van jouw modellen, en kies je opties. Wij doen de rest."
|
||||
txt-draft: 'Kies één van onze patronen, één van jouw modellen, en kies je opties. Wij doen de rest.'
|
||||
txt-how: Hoe het werkt
|
||||
txt-join: Sluit je aan bij duizenden anderen, en schrijf je gratis in op freesewing.org.
|
||||
txt-model: Al onze patronen zijn op maat gemaakt. Het eerste wat je dus moet doen is je lintmeter bij de hand nemen.
|
||||
txt-newHere: "Ben je hier nieuw? Dan is onze demo de beste plaats om van start te gaan:"
|
||||
txt-newHere: 'Ben je hier nieuw? Dan is onze demo de beste plaats om van start te gaan:'
|
||||
txt-opensource: 'Ons platform, al onze patronen, en zelfs deze website. Al onze broncode is beschikbaar op GitHub. Pull requests welkom!'
|
||||
txt-patrons: Freesewing wordt mogelijk gemaakt door de financiële steun van onze mecenassen. Onderaan deze pagina kan je meer lezen over hoe we dit schip drijvende houden.
|
||||
txt-showcase: Bekijk de projecten gemaakt door de freesewing gemeenschap
|
||||
|
|
|
@ -6,5 +6,5 @@ bio: Vertel ons een beetje over jezelf
|
|||
social: Laat ons weten waar we je kunnen volgen
|
||||
newsletter: Geef ons je voorkeur met betrekking tot de nieuwsbrief
|
||||
letUsSetupYourAccount: Laten we je account instellen.
|
||||
walkYouThrough: "We zullen je door de volgende stappen begeleiden:"
|
||||
walkYouThrough: 'We zullen je door de volgende stappen begeleiden:'
|
||||
someOptional: Hoewel al deze stappen optioneel zijn, raden we je toch aan alles te doen om het meeste uit FreeSewing te halen.
|
||||
|
|
|
@ -25,12 +25,12 @@ export default function (so) {
|
|||
|
||||
// Metric size in mm / display value and imperial size in mm / display value for each scale index.
|
||||
const sizes = [
|
||||
[10, "1cm", 25.4 * 0.375, '⅜″'],
|
||||
[13, "1.3cm", 25.4 * 0.5, '½″'],
|
||||
[16, "1.6cm", 25.4 * 0.625, '⅝″'],
|
||||
[19, "1.9cm", 25.4 * 0.75, '¾″'],
|
||||
[22, "2.2cm", 25.4 * 0.875, '⅞″'],
|
||||
[25, "2.5cm", 25.4 * 1, '1″'],
|
||||
[10, '1cm', 25.4 * 0.375, '⅜″'],
|
||||
[13, '1.3cm', 25.4 * 0.5, '½″'],
|
||||
[16, '1.6cm', 25.4 * 0.625, '⅝″'],
|
||||
[19, '1.9cm', 25.4 * 0.75, '¾″'],
|
||||
[22, '2.2cm', 25.4 * 0.875, '⅞″'],
|
||||
[25, '2.5cm', 25.4 * 1, '1″'],
|
||||
]
|
||||
const m = sizes[scaleIndex][0] / 2
|
||||
const i = sizes[scaleIndex][2] / 2
|
||||
|
|
|
@ -29,16 +29,16 @@ export default function (so) {
|
|||
|
||||
// Metric width and height in mm and display width and height for each scale index.
|
||||
const metricSizes = [
|
||||
[ 10, 5, "1cm", "0.5cm"],
|
||||
[ 20, 10, "2cm", "1cm"],
|
||||
[ 30, 15, "3cm", "1.5cm"],
|
||||
[ 40, 20, "4cm", "2cm"],
|
||||
[ 50, 25, "5cm", "2.5cm"],
|
||||
[ 60, 30, "6cm", "3cm"],
|
||||
[ 70, 35, "7cm", "3.5cm"],
|
||||
[ 80, 40, "8cm", "4cm"],
|
||||
[ 90, 45, "9cm", "4.5cm"],
|
||||
[100, 50, "10cm", "5cm"],
|
||||
[10, 5, '1cm', '0.5cm'],
|
||||
[20, 10, '2cm', '1cm'],
|
||||
[30, 15, '3cm', '1.5cm'],
|
||||
[40, 20, '4cm', '2cm'],
|
||||
[50, 25, '5cm', '2.5cm'],
|
||||
[60, 30, '6cm', '3cm'],
|
||||
[70, 35, '7cm', '3.5cm'],
|
||||
[80, 40, '8cm', '4cm'],
|
||||
[90, 45, '9cm', '4.5cm'],
|
||||
[100, 50, '10cm', '5cm'],
|
||||
]
|
||||
|
||||
const metricWidth = metricSizes[scaleIndex][0]
|
||||
|
@ -66,14 +66,38 @@ export default function (so) {
|
|||
const imperialDisplayHeight = imperialSizes[scaleIndex][3]
|
||||
|
||||
// Box points
|
||||
this.points.__scaleboxMetricTopLeft = new this.Point(so.at.x - metricWidth / 2, so.at.y - metricHeight / 2)
|
||||
this.points.__scaleboxMetricTopRight = new this.Point(so.at.x + metricWidth / 2, so.at.y - metricHeight / 2)
|
||||
this.points.__scaleboxMetricBottomLeft = new this.Point(so.at.x - metricWidth / 2, so.at.y + metricHeight / 2)
|
||||
this.points.__scaleboxMetricBottomRight = new this.Point(so.at.x + metricWidth / 2, so.at.y + metricHeight / 2)
|
||||
this.points.__scaleboxImperialTopLeft = new this.Point(so.at.x - imperialWidth / 2, so.at.y - imperialHeight / 2)
|
||||
this.points.__scaleboxImperialTopRight = new this.Point(so.at.x + imperialWidth / 2, so.at.y - imperialHeight / 2)
|
||||
this.points.__scaleboxImperialBottomLeft = new this.Point(so.at.x - imperialWidth / 2, so.at.y + imperialHeight / 2)
|
||||
this.points.__scaleboxImperialBottomRight = new this.Point(so.at.x + imperialWidth / 2, so.at.y + imperialHeight / 2)
|
||||
this.points.__scaleboxMetricTopLeft = new this.Point(
|
||||
so.at.x - metricWidth / 2,
|
||||
so.at.y - metricHeight / 2
|
||||
)
|
||||
this.points.__scaleboxMetricTopRight = new this.Point(
|
||||
so.at.x + metricWidth / 2,
|
||||
so.at.y - metricHeight / 2
|
||||
)
|
||||
this.points.__scaleboxMetricBottomLeft = new this.Point(
|
||||
so.at.x - metricWidth / 2,
|
||||
so.at.y + metricHeight / 2
|
||||
)
|
||||
this.points.__scaleboxMetricBottomRight = new this.Point(
|
||||
so.at.x + metricWidth / 2,
|
||||
so.at.y + metricHeight / 2
|
||||
)
|
||||
this.points.__scaleboxImperialTopLeft = new this.Point(
|
||||
so.at.x - imperialWidth / 2,
|
||||
so.at.y - imperialHeight / 2
|
||||
)
|
||||
this.points.__scaleboxImperialTopRight = new this.Point(
|
||||
so.at.x + imperialWidth / 2,
|
||||
so.at.y - imperialHeight / 2
|
||||
)
|
||||
this.points.__scaleboxImperialBottomLeft = new this.Point(
|
||||
so.at.x - imperialWidth / 2,
|
||||
so.at.y + imperialHeight / 2
|
||||
)
|
||||
this.points.__scaleboxImperialBottomRight = new this.Point(
|
||||
so.at.x + imperialWidth / 2,
|
||||
so.at.y + imperialHeight / 2
|
||||
)
|
||||
// Text anchor points
|
||||
this.points.__scaleboxLead = new this.Point(so.at.x - 45 * scale, so.at.y - 15 * scale)
|
||||
this.points.__scaleboxTitle = this.points.__scaleboxLead.shift(-90, 10 * scale)
|
||||
|
|
|
@ -167,12 +167,12 @@ export default {
|
|||
buttonPlacketStyle: {
|
||||
list: ['classic', 'seamless'],
|
||||
dflt: 'classic',
|
||||
hide: options => options.seperateButtonPlacket
|
||||
hide: (options) => options.seperateButtonPlacket,
|
||||
},
|
||||
buttonholePlacketStyle: {
|
||||
list: ['classic', 'seamless'],
|
||||
dflt: 'seamless',
|
||||
hide: options => options.seperateButtonholePlacket
|
||||
hide: (options) => options.seperateButtonholePlacket,
|
||||
},
|
||||
cuffStyle: {
|
||||
list: [
|
||||
|
|
|
@ -126,7 +126,7 @@ export default (part) => {
|
|||
macro('banner', {
|
||||
path: 'saFrench',
|
||||
text: 'flatFelledSeamAllowance',
|
||||
repeat: 30
|
||||
repeat: 30,
|
||||
})
|
||||
paths.saFromArmhole = paths.saBaseFromArmhole.offset(sa).attr('class', 'fabric sa')
|
||||
paths.hemSa = paths.hemBase.offset(sa * 3).attr('class', 'fabric sa')
|
||||
|
|
|
@ -146,10 +146,10 @@ export default (part) => {
|
|||
paths.pleats.attr('class', 'dotted')
|
||||
}
|
||||
macro('title', { at: points.centerBiceps, nr: 5, title: 'sleeve' })
|
||||
macro('grainline', { from: points.cuffMid, to: new Point(
|
||||
points.cuffMid.x,
|
||||
points.sleeveTip.y
|
||||
) })
|
||||
macro('grainline', {
|
||||
from: points.cuffMid,
|
||||
to: new Point(points.cuffMid.x, points.sleeveTip.y),
|
||||
})
|
||||
|
||||
if (sa) {
|
||||
paths.sa = paths.frenchBase.offset(sa * options.ffsa)
|
||||
|
@ -162,7 +162,7 @@ export default (part) => {
|
|||
macro('banner', {
|
||||
path: 'frenchSa',
|
||||
text: 'flatFelledSeamAllowance',
|
||||
repeat: 30
|
||||
repeat: 30,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,20 +17,15 @@ const sizes = ['full', 'a4', 'a3', 'a2', 'a1', 'a0', 'letter', 'tabloid']
|
|||
// Load form.html once instead of at every request)
|
||||
const form = fs.readFileSync(path.resolve(__dirname, 'form.html'))
|
||||
|
||||
app.get('/', async (req, res) => res
|
||||
.set('Content-Type', 'text/html')
|
||||
.status(200)
|
||||
.send(form)
|
||||
)
|
||||
app.get('/', async (req, res) => res.set('Content-Type', 'text/html').status(200).send(form))
|
||||
|
||||
const rateLimiter = rateLimit({
|
||||
windowMs: 15 * 60 * 1000, // 15 minutes
|
||||
max: 50, // Limit to 50 requests per window (15m)
|
||||
standardHeaders: true,
|
||||
legacyHeaders: false
|
||||
legacyHeaders: false,
|
||||
})
|
||||
|
||||
|
||||
app.post('/', rateLimiter, async (req, res) => {
|
||||
let form = new formidable.IncomingForm()
|
||||
form.parse(req, (err, fields, files) => {
|
||||
|
@ -40,10 +35,7 @@ app.post('/', rateLimiter, async (req, res) => {
|
|||
formats.indexOf(fields.format) === -1 ||
|
||||
sizes.indexOf(fields.size) === -1
|
||||
)
|
||||
return res
|
||||
.set('Content-Type', 'text/html')
|
||||
.status(200)
|
||||
.send(form)
|
||||
return res.set('Content-Type', 'text/html').status(200).send(form)
|
||||
let upload = files.svg.path
|
||||
let cmd
|
||||
if (fields.size === 'full') {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue