@jjlmoya/utils-textiles 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-textiles",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -28,7 +28,7 @@
28
28
  "check": "astro check",
29
29
  "type-check": "astro check",
30
30
  "test": "vitest run",
31
- "preversion": "npm run lint && npm run test",
31
+ "preversion": "npm run lint && npm run test && npm run build",
32
32
  "postversion": "git push && git push --tags",
33
33
  "patch": "npm version patch",
34
34
  "minor": "npm version minor",
@@ -0,0 +1,60 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ALL_ENTRIES } from '../entries';
3
+ import type { KnownLocale } from '../types';
4
+
5
+ interface ExpectedCounts {
6
+ seo: number;
7
+ faq: number;
8
+ howTo: number;
9
+ }
10
+
11
+ function countItems(arr: unknown[] | undefined): number {
12
+ return arr?.length ?? 0;
13
+ }
14
+
15
+ async function verifyLocaleParity(
16
+ entry: typeof ALL_ENTRIES[number],
17
+ loc: KnownLocale,
18
+ expected: ExpectedCounts,
19
+ ): Promise<void> {
20
+ const locContent = await entry.i18n[loc]?.();
21
+ expect(locContent, `Locale ${loc} missing content`).toBeDefined();
22
+
23
+ const locSeoCount = countItems(locContent?.seo);
24
+ const locFaqCount = countItems(locContent?.faq);
25
+ const locHowToCount = countItems(locContent?.howTo);
26
+
27
+ expect(
28
+ locSeoCount,
29
+ `Locale ${loc} SEO sections count (${locSeoCount}) must match EN (${expected.seo})`,
30
+ ).toBe(expected.seo);
31
+ expect(
32
+ locFaqCount,
33
+ `Locale ${loc} FAQ items count (${locFaqCount}) must match EN (${expected.faq})`,
34
+ ).toBe(expected.faq);
35
+ expect(
36
+ locHowToCount,
37
+ `Locale ${loc} HowTo steps count (${locHowToCount}) must match EN (${expected.howTo})`,
38
+ ).toBe(expected.howTo);
39
+ }
40
+
41
+ describe('SEO & i18n Structural Parity Suite', () => {
42
+ ALL_ENTRIES.forEach((entry) => {
43
+ describe(`Tool: ${entry.id}`, () => {
44
+ it('all 15 locales should have identical SEO section counts and types as English', async () => {
45
+ const enContent = await entry.i18n.en?.();
46
+ expect(enContent).toBeDefined();
47
+ const expected: ExpectedCounts = {
48
+ seo: countItems(enContent?.seo),
49
+ faq: countItems(enContent?.faq),
50
+ howTo: countItems(enContent?.howTo),
51
+ };
52
+
53
+ const locales = Object.keys(entry.i18n) as KnownLocale[];
54
+ for (const loc of locales) {
55
+ await verifyLocaleParity(entry, loc, expected);
56
+ }
57
+ });
58
+ });
59
+ });
60
+ });
@@ -0,0 +1,124 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { ALL_ENTRIES } from '../entries';
3
+
4
+ const COPY_THRESHOLD = 0.9;
5
+
6
+ const STRUCTURAL_KEYS = new Set([
7
+ '@context',
8
+ '@type',
9
+ 'applicationCategory',
10
+ 'columns',
11
+ 'highlight',
12
+ 'icon',
13
+ 'level',
14
+ 'operatingSystem',
15
+ 'position',
16
+ 'positive',
17
+ 'price',
18
+ 'priceCurrency',
19
+ 'slug',
20
+ 'trend',
21
+ 'type',
22
+ 'url',
23
+ 'value',
24
+ 'variant',
25
+ ]);
26
+
27
+ function normalizeText(value: string): string {
28
+ return value
29
+ .replace(/<[^>]*>/g, ' ')
30
+ .replace(/&(?:amp|lt|gt|quot|apos|nbsp);/gi, ' ')
31
+ .replace(/[\u2018\u2019]/g, "'")
32
+ .replace(/[\u201c\u201d]/g, '"')
33
+ .replace(/\s+/g, ' ')
34
+ .trim()
35
+ .toLocaleLowerCase();
36
+ }
37
+
38
+ function collectText(value: unknown, path: string, parts: string[]): void {
39
+ if (typeof value === 'string') {
40
+ const normalized = normalizeText(value);
41
+ if (normalized.length >= 2) parts.push(normalized);
42
+ return;
43
+ }
44
+
45
+ if (Array.isArray(value)) {
46
+ value.forEach((item, index) => collectText(item, `${path}[${index}]`, parts));
47
+ return;
48
+ }
49
+
50
+ if (!value || typeof value !== 'object') return;
51
+
52
+ Object.entries(value).forEach(([key, child]) => {
53
+ if (STRUCTURAL_KEYS.has(key)) return;
54
+ collectText(child, `${path}.${key}`, parts);
55
+ });
56
+ }
57
+
58
+ function localeCorpus(content: unknown): string {
59
+ if (!content || typeof content !== 'object') return '';
60
+
61
+ const record = content as Record<string, unknown>;
62
+ const parts: string[] = [];
63
+ collectText(record.title, 'title', parts);
64
+ collectText(record.description, 'description', parts);
65
+ collectText(record.faqTitle, 'faqTitle', parts);
66
+ collectText(record.faq, 'faq', parts);
67
+ collectText(record.seo, 'seo', parts);
68
+ collectText(record.schemas, 'schemas', parts);
69
+ return parts.join(' ');
70
+ }
71
+
72
+ function tokenCounts(text: string): Map<string, number> {
73
+ const counts = new Map<string, number>();
74
+ for (const token of text.match(/[\p{L}\p{N}]+/gu) ?? []) {
75
+ counts.set(token, (counts.get(token) ?? 0) + 1);
76
+ }
77
+ return counts;
78
+ }
79
+
80
+ function copySimilarity(left: string, right: string): number {
81
+ const leftCounts = tokenCounts(left);
82
+ const rightCounts = tokenCounts(right);
83
+ const leftTotal = [...leftCounts.values()].reduce((sum, count) => sum + count, 0);
84
+ const rightTotal = [...rightCounts.values()].reduce((sum, count) => sum + count, 0);
85
+ if (leftTotal === 0 || rightTotal === 0) return 0;
86
+
87
+ let shared = 0;
88
+ for (const [token, count] of leftCounts) {
89
+ shared += Math.min(count, rightCounts.get(token) ?? 0);
90
+ }
91
+ return (2 * shared) / (leftTotal + rightTotal);
92
+ }
93
+
94
+ describe('Locales must not copy another locale wholesale', () => {
95
+ ALL_ENTRIES.forEach((entry) => {
96
+ it(`${entry.id} is not at least ${COPY_THRESHOLD * 100}% identical to another locale`, async () => {
97
+ const corpora = new Map<string, string>();
98
+
99
+ for (const [locale, loader] of Object.entries(entry.i18n)) {
100
+ if (!loader) continue;
101
+ corpora.set(locale, localeCorpus(await loader()));
102
+ }
103
+
104
+ const locales = [...corpora.keys()];
105
+ const violations: string[] = [];
106
+
107
+ for (let leftIndex = 0; leftIndex < locales.length; leftIndex += 1) {
108
+ for (let rightIndex = leftIndex + 1; rightIndex < locales.length; rightIndex += 1) {
109
+ const left = locales[leftIndex];
110
+ const right = locales[rightIndex];
111
+ const similarity = copySimilarity(corpora.get(left) ?? '', corpora.get(right) ?? '');
112
+
113
+ if (similarity >= COPY_THRESHOLD) {
114
+ violations.push(`${left} ↔ ${right}: ${(similarity * 100).toFixed(1)}%`);
115
+ }
116
+ }
117
+ }
118
+
119
+ expect(violations, `Locale copy threshold exceeded in ${entry.id}`).toEqual([]);
120
+ });
121
+ });
122
+ });
123
+
124
+
@@ -2,44 +2,40 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import { bibliography } from '../bibliography';
4
4
 
5
- const slug = 'guide-lavage-textile';
6
- const title = 'Dimensionneur de Patron de Couture en Ligne';
7
- const description = 'Ajustez n\'importe quel patron de couture à vos mesures réelles. Calculateur de mise à l\'échelle différentielle avec prévisualisation du patron mis à jour.';
5
+ const slug = 'guide-entretien-textile';
6
+ const title = 'Guide d\'entretien textile, comment laver chaque type de fibre';
7
+ const description = 'Guide scientifique pour laver et entretenir le coton, la laine, la soie, le lin et les fibres synthétiques. Évitez le rétrécissement, la décoloration et les dommages grâce aux bons gestes.';
8
8
 
9
9
  const faqData = [
10
10
  {
11
- question: 'Pourquoi l\'épaule ne grandit-elle pas autant que la poitrine ?',
11
+ question: 'Comment éviter que les couleurs ne ternissent ?',
12
12
  answer:
13
- 'Le corps humain n\'est pas une sphère. Alors que le volume du torse peut varier significativement, le squelette et les points d\'articulation comme l\'épaule sont beaucoup plus statiques. Une mise à l\'échelle professionnelle applique des facteurs différenciés pour ne pas déséquilibrer le vêtement.',
13
+ 'Lavez à l\'eau froide, à 30 °C maximum, retournez les vêtements et utilisez une lessive pour couleurs foncées. Évitez aussi le soleil direct pendant le séchage.',
14
14
  },
15
15
  {
16
- question: 'Qu\'est-ce que l\'aisance ?',
16
+ question: 'Puis-je laver la laine en machine ?',
17
17
  answer:
18
- 'C\'est l\'espace supplémentaire entre votre corps et le tissu. Sans aisance, vous ne pourriez pas vous déplacer. Notre calculateur maintient cette aisance pour que le vêtement vous aille exactement comme le designer l\'a conçu, mais adapté à vos contours réels.',
18
+ 'Oui, avec un cycle laine à l\'eau froide et une agitation douce. Utilisez une lessive spéciale laine et jamais un cycle classique.',
19
19
  },
20
20
  {
21
- question: 'Puis-je mettre à l\'échelle un patron en maille ou jersey ?',
21
+ question: 'Pourquoi la soie présente-t-elle des auréoles après lavage ?',
22
22
  answer:
23
- 'Oui, mais gardez à l\'esprit que les tissus extensibles ont généralement une aisance négative. Si le patron est très ajusté, assurez-vous que le facteur d\'élasticité est le même dans le nouveau tissu que vous choisissez.',
23
+ 'La soie réagit aux minéraux de l\'eau. Utilisez si possible de l\'eau distillée pour le dernier rinçage et évitez de frotter la zone humide.',
24
24
  },
25
25
  ];
26
26
 
27
27
  const howToData = [
28
28
  {
29
- name: 'Mesurez votre patron',
30
- text: 'Mesurez les lignes horizontales clés (poitrine, taille et hanches) sur les pièces en papier de votre patron original, couture à couture.',
29
+ name: 'Vérifiez l\'étiquette',
30
+ text: 'Lisez toujours les symboles d\'entretien du vêtement avant de choisir un programme de lavage.',
31
31
  },
32
32
  {
33
- name: 'Configurez l\'origine',
34
- text: 'Entrez la taille du patron ou les mesures que vous avez prises dans la colonne "Origine" de notre outil.',
33
+ name: 'Triez par type de fibre',
34
+ text: 'Séparez autant que possible les fibres naturelles des matières synthétiques et regroupez les couleurs compatibles.',
35
35
  },
36
36
  {
37
- name: 'Entrez la destination',
38
- text: 'Mettez vos mesures réelles ou la taille que vous souhaitez atteindre. L\'outil calculera la différence exacte par zone.',
39
- },
40
- {
41
- name: 'Appliquez à la table',
42
- text: 'Suivez les instructions "Actions à la Table de Coupe" pour ajouter ou retirer des centimètres sur les côtés et les ourlets de vos pièces.',
37
+ name: 'Choisissez la température',
38
+ text: 'Utilisez l\'eau froide pour les tissus délicats et l\'eau chaude seulement pour les matières robustes qui le permettent.',
43
39
  },
44
40
  ];
45
41
 
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: 'Das <strong>Skalieren von Schnittmustern</strong> ist eine der kritischsten Fähigkeiten in der Welt der Konfektion. Es geht nicht einfach darum, eine Zeichnung proportional zu vergrößern oder zu verkleinern; es geht darum, eine zweidimensionale Struktur an die komplexen Kurven und Proportionen des menschlichen Körpers anzupassen, der nicht linear wächst.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Lokale Berechnungen', icon: 'mdi:calculator' },
99
- { value: 'Differenziell', label: 'Proportionale Skalierung', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Sicher und Privat', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Was genau ist Schnittmuster-Skalierung?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Designzugabe:</strong> Die Zentimeter, die der Designer hinzugefügt hat, um eine bestimmte Silhouette zu kreieren (z. B. ein Oversize-Mantel oder eine duftige Bluse).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Horizontale vs. Vertikale Skalierung',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Horizontale Achse (Umfänge):</strong> Brust, Taille, Hüfte. Erfordert die meiste Anpassung. Wird für jedes Musterteil in Viertel unterteilt.',
134
- '<strong>Vertikale Achse (Längen):</strong> Vorderlänge, Rückenlänge, Gesamtlänge. Beeinflusst die Position von Abnähern und der Taillenlinie. Geringere Variation zwischen benachbarten Größen.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Anwendung des Schnittmuster-Skalierers',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Muster ausmessen:</strong> Nehmen Sie das Papierteil und messen Sie von Kante zu Kante an den Linien von Brust, Taille und Hüfte.',
146
- '<strong>Ursprungsmaße eingeben:</strong> Tragen Sie diese Maße in die linke Spalte ein und geben Sie an, welche Größe dieses Muster repräsentiert.',
147
- '<strong>Zielmaße oder Zielgröße eingeben:</strong> Tragen Sie in der rechten Spalte Ihre realen Maße oder die gewünschte Zielgröße ein.',
148
- '<strong>Ergebnisse interpretieren:</strong> Der Rechner zeigt Ihnen an, wie viel Sie in jedem spezifischen Bereich hinzufügen oder wegnehmen müssen.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Tipp für professionelles Gradieren',
@@ -96,15 +96,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
96
96
  type: 'paragraph',
97
97
  html: 'El <strong>escalado de patrones</strong> es una de las habilidades más críticas en el mundo de la confección. No se trata simplemente de agrandar o reducir un dibujo de forma proporcional; se trata de adaptar una estructura bidimensional a las complejas curvas y proporciones del cuerpo humano, que no crece de forma lineal.',
98
98
  },
99
- {
100
- type: 'stats',
101
- items: [
102
- { value: 'Offline', label: 'Cálculos Locales', icon: 'mdi:calculator' },
103
- { value: 'Diferencial', label: 'Escalado Proporcional', icon: 'mdi:resize' },
104
- { value: '100%', label: 'Seguro y Privado', icon: 'mdi:lock' },
105
- ],
106
- columns: 3,
107
- },
108
99
  {
109
100
  type: 'title',
110
101
  text: '¿Qué es exactamente el escalado de patrones?',
@@ -126,32 +117,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
126
117
  '<strong>Holgura de diseño:</strong> Los centímetros que el diseñador ha añadido para crear una silueta específica (por ejemplo, un abrigo oversize o una blusa vaporosa).',
127
118
  ],
128
119
  },
129
- {
130
- type: 'title',
131
- text: 'Escalado Horizontal vs. Vertical',
132
- level: 3,
133
- },
134
- {
135
- type: 'list',
136
- items: [
137
- '<strong>Eje Horizontal (Contornos):</strong> Pecho, Cintura, Cadera. Requiere mayor ajuste. Se divide en cuartos para cada pieza del patrón.',
138
- '<strong>Eje Vertical (Largos):</strong> Talle delantero, Talle espalda, Largo total. Afecta a la posición de pinzas y línea de cintura. Menor variación entre tallas contiguas.',
139
- ],
140
- },
141
- {
142
- type: 'title',
143
- text: 'Cómo usar el Escalador de Patrones',
144
- level: 3,
145
- },
146
- {
147
- type: 'list',
148
- items: [
149
- '<strong>Mide tu patrón:</strong> Coge la pieza de papel y mide de borde a borde en las líneas de pecho, cintura y cadera.',
150
- '<strong>Introduce las medidas origen:</strong> Escribe esas medidas en la columna izquierda e indica qué talla representa ese patrón.',
151
- '<strong>Introduce tus medidas o talla destino:</strong> En la columna derecha, pon tus medidas reales o la talla a la que quieres llegar.',
152
- '<strong>Interpreta los resultados:</strong> La calculadora te mostrará cuánto debes añadir o quitar en cada zona específica.',
153
- ],
154
- },
155
120
  {
156
121
  type: 'tip',
157
122
  title: 'Consejo para un Escalado Profesional',
@@ -96,6 +96,15 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
96
96
  type: 'paragraph',
97
97
  html: 'La <strong>mise à l\'échelle des patrons</strong> est l\'une des compétences les plus critiques dans le monde de la couture. Il ne s\'agit pas simplement d\'agrandir ou de réduire un dessin de façon proportionnelle ; il s\'agit d\'adapter une structure bidimensionnelle aux courbes complexes et aux proportions du corps humain, qui ne grandit pas de façon linéaire.',
98
98
  },
99
+ {
100
+ type: 'title',
101
+ text: 'Qu\'est-ce que la mise à l\'échelle des patrons ?',
102
+ level: 3,
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'La gradation est le processus technique qui consiste à agrandir ou réduire un patron de base pour créer plusieurs tailles. Contrairement à un simple zoom, elle tient compte du fait que certaines parties du corps évoluent davantage que d\'autres, afin de conserver l\'équilibre du vêtement.',
107
+ },
99
108
  {
100
109
  type: 'title',
101
110
  text: 'La Clé du Succès: L\'Aisance',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>Penskalaan pola</strong> (pattern grading) adalah salah satu keterampilan paling krusial dalam dunia konfeksi. Ini bukan sekadar memperbesar atau memperkecil gambar secara proporsional; ini adalah tentang mengadaptasi struktur dua dimensi ke kurva dan proporsi tubuh manusia yang kompleks, yang tidak tumbuh secara linier.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Luring', label: 'Perhitungan Lokal', icon: 'mdi:calculator' },
99
- { value: 'Diferensial', label: 'Skala Proporsional', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Aman dan Privat', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Apa Sebenarnya Penskalaan Pola Itu?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Kelonggaran desain (Design Ease):</strong> Sentimeter yang ditambahkan desainer untuk menciptakan siluet tertentu (misalnya, mantel oversize atau blus yang melambai).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Penskalaan Horizontal vs. Vertikal',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Sumbu Horizontal (Lekuk Tubuh):</strong> Dada, Pinggang, Pinggul. Memerlukan penyesuaian terbesar. Dibagi menjadi seperempat untuk setiap bagian pola.',
134
- '<strong>Sumbu Vertikal (Panjang):</strong> Panjang depan, panjang belakang, panjang total. Memengaruhi posisi kupnat (dart) dan garis pinggang. Variasi antar ukuran yang berdekatan lebih kecil.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Cara Menggunakan Pengubah Skala Pola',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Ukur pola Anda:</strong> Ambil potongan pola kertas dan ukur dari tepi ke tepi pada garis dada, pinggang, dan pinggul.',
146
- '<strong>Masukkan ukuran asal:</strong> Tulis ukuran tersebut di kolom kiri dan tentukan ukuran apa yang diwakili oleh pola tersebut.',
147
- '<strong>Masukkan ukuran atau target ukuran Anda:</strong> Di kolom kanan, masukkan ukuran tubuh asli Anda atau ukuran yang ingin dituju.',
148
- '<strong>Interpretaskan hasil:</strong> Kalkulator akan menunjukkan berapa banyak yang harus ditambah atau dikurangi pada setiap area spesifik.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Saran untuk Penskalaan Profesional',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: "Lo <strong>sviluppo delle taglie</strong> (o <em>grading</em>) è una delle competenze più critiche nel mondo della confezione. Non si tratta semplicemente di ingrandire o ridurre un disegno in modo proporzionale; si tratta di adattare una struttura bidimensionale alle complesse curve e proporzioni del corpo umano, che non cresce in modo lineare.",
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Calcoli Locali', icon: 'mdi:calculator' },
99
- { value: 'Differenziale', label: 'Sviluppo Proporzionale', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Sicuro e Privato', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: "Cos'è esattamente lo sviluppo delle taglie?",
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  "<strong>Vestibilità di design:</strong> i centimetri che il designer ha aggiunto per creare una silhouette specifica (ad esempio, un cappotto oversize o una blusa vaporosa).",
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Sviluppo Orizzontale vs. Verticale',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- "<strong>Asse Orizzontale (Circonferenze):</strong> Torace, Vita, Fianchi. Richiede maggiore regolazione. Si divide in quarti per ogni pezzo del cartamodello.",
134
- "<strong>Asse Verticale (Lunghezze):</strong> Lunghezza davanti, lunghezza schiena, lunghezza totale. Influisce sulla posizione delle riprese e sulla linea della vita. Minore variazione tra taglie contigue.",
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Come usare lo Sviluppatore di Cartamodelli',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- "<strong>Misura il tuo modello:</strong> prendi il pezzo di carta e misura da bordo a bordo sulle linee di torace, vita e fianchi.",
146
- "<strong>Inserisci le misure d'origine:</strong> scrivi quelle misure nella colonna di sinistra e indica quale taglia rappresenta quel cartamodello.",
147
- "<strong>Inserisci le tue misure o la taglia di destinazione:</strong> nella colonna di destra, metti le tue misure reali o la taglia che vuoi raggiungere.",
148
- "<strong>Interpreta i risultati:</strong> la calcolatrice ti mostrerà quanto devi aggiungere o togliere in ogni zona specifica.",
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Consiglio per uno Sviluppo Professionale',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '型紙の<strong>スケーリング(グレーディング)</strong>は、服作りにおいて最も重要なスキルの一つです。単に図面を比例させて拡大・縮小するのではなく、二次元の構造を、直線的には成長しない複雑な人体の曲線や比率に適応させる作業です。',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'オフライン', label: 'ブラウザで計算', icon: 'mdi:calculator' },
99
- { value: '部位別', label: '比例スケーリング', icon: 'mdi:resize' },
100
- { value: '100%', label: '安全・非公開', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: '「型紙スケーリング」とは正確には何ですか?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>デザインゆとり:</strong> 特徴的なシルエット(オーバーサイズコートやふんわりしたブラウスなど)を作るためにデザイナーが付加したセンチメートル。',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: '水平スケーリング vs 垂直スケーリング',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>水平軸(周り):</strong> バスト、ウエスト、ヒップ。最も調整が必要な部分。各パーツを4分の1に分割して計算します。',
134
- '<strong>垂直軸(丈):</strong> 前丈、後ろ丈、総丈。ダーツの位置やウエストラインに影響します。隣接するサイズ間の変化は比較的小さいです。',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'パターンスケーラーの使い方',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>型紙を測る:</strong> 紙のパーツを用意し、バスト、ウエスト、ヒップのラインを端から端まで測ります。',
146
- '<strong>元の数値を入力:</strong> ツールの左側の列に計測値を入力し、その型紙が何号サイズかを選択します。',
147
- '<strong>目標値を入力:</strong> 右側の列に、ご自身の実際のサイズ、または目標のサイズを入力します。',
148
- '<strong>結果を解釈:</strong> ツールが各部位で何センチ追加したり削ったりすべきかを表示します。',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'プロの補正アドバイス',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '패턴 <strong>그레이딩(Grading, 스케일링)</strong>은 의류 제작에서 가장 중요한 기술 중 하나입니다. 단순히 도면을 비율대로 확대하거나 축소하는 것이 아니라, 선형적으로 변하지 않는 인체의 복잡한 곡선과 비율에 맞춰 2차원 구조를 적응시키는 과정입니다.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: '오프라인', label: '브라우저 계산', icon: 'mdi:calculator' },
99
- { value: '부위별', label: '비례 스케일링', icon: 'mdi:resize' },
100
- { value: '100%', label: '보안 및 비공개', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: '패턴 그레이딩이란 정확히 무엇인가요?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>디자인 여유분:</strong> 특정 실루엣(예: 오버사이즈 코트나 풍성한 블라우스)을 만들기 위해 디자이너가 의도적으로 추가한 여유분입니다.',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: '가로 스케일링 vs 세로 스케일링',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>가로축 (둘레):</strong> 가슴, 허리, 엉덩이. 가장 많은 조정이 필요하며, 각 패턴 조각을 4분의 1로 나누어 계산합니다.',
134
- '<strong>세로축 (길이):</strong> 앞길이, 등길이, 총길이. 다트 위치와 허리선에 영향을 미칩니다. 인접한 사이즈 간의 변화량은 상대적으로 적습니다.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: '패턴 스케일러 사용법',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>패턴 측정:</strong> 종이 패턴 조각을 가슴, 허리, 엉덩이 라인에서 끝에서 끝까지 측정하세요.',
146
- '<strong>원본 수치 입력:</strong> 왼쪽 열에 측정한 치수를 적고, 해당 패턴이 어떤 사이즈를 나타내는지 선택하세요.',
147
- '<strong>자신의 치수 또는 목표 사이즈 입력:</strong> 오른쪽 열에 실제 신체 치수나 원하는 사이즈를 입력하세요.',
148
- '<strong>결과 해석:</strong> 계산기가 각 특정 부위에서 얼마나 더하거나 빼야 하는지를 보여줍니다.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: '전문적인 보정을 위한 팁',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: 'Het <strong>schalen van patronen</strong> is een van de meest kritische vaardigheden in de modewereld. Het gaat niet alleen om het proportioneel vergroten of verkleinen van een tekening; het gaat om het aanpassen van een tweedimensionale structuur aan de complexe rondingen und proporties van het menselijk lichaam, dat niet lineair groeit.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Lokale Berekeningen', icon: 'mdi:calculator' },
99
- { value: 'Differentieel', label: 'Proportionele Schaling', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Veilig en Privé', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Wat is patronen schalen precies?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Designoverwijdte:</strong> de centimeters die de ontwerper heeft toegevoegd om een specifiek silhouet te creëren (bijvoorbeeld een oversized jas of een zwierige bloes).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Horizontale vs. Verticale Schaling',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Horizontale as (Omtrekken):</strong> Borst, Taille, Heup. Vereist de meeste aanpassing. Wordt in vieren gedeeld voor elk patroondeel.',
134
- '<strong>Verticale as (Lengtes):</strong> Voorlengte, ruglengte, totale lengte. Beïnvloedt de positie van coupenaden en de taillelijn. Minder variatie tussen opeenvolgende maten.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Hoe de Patroon Skalierer te gebruiken',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Meet je patroon:</strong> neem het papieren deel en meet van rand tot rand op de lijnen van borst, taille en heup.',
146
- '<strong>Voer de oorsprongmaten in:</strong> schrijf die maten in de linker kolom en geef aan welke maat dat patroon vertegenwoordigt.',
147
- '<strong>Voer je eigen maten of doelmaat in:</strong> in de rechter kolom voer je je werkelijke maten in of de maat die je wilt bereiken.',
148
- '<strong>Interpreteer de resultaten:</strong> de calculator laat zien hoeveel je moet toevoegen of verwijderen in elke specifieke zone.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Advies voor Professionele Schaling',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>Skalowanie wykrojów</strong> (grading) jest jedną z najbardziej krytycznych umiejętności w świecie krawiectwa. Nie polega ono po prostu na proporcjonalnym powiększeniu lub pomniejszeniu rysunku; chodzi o dostosowanie dwuwymiarowej struktury do złożonych krzywizn i proporcji ludzkiego ciała, które nie rośnie liniowo.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Obliczenia Lokalne', icon: 'mdi:calculator' },
99
- { value: 'Różnicowy', label: 'Skalowanie Proporcjonalne', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Bezpieczne i Prywatne', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Czym dokładnie jest skalowanie wykrojów?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Luz modelowy:</strong> centymetry dodane przez projektanta w celu stworzenia konkretnej sylwetki (na przykład płaszcz typu oversize lub zwiewna bluzka).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Skalowanie Poziome vs Pionowe',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Oś Pozioma (Obwody):</strong> Klatka piersiowa, Talia, Biodra. Wymaga największego dopasowania. Dzieli się na ćwiartki dla każdego elementu wykroju.',
134
- '<strong>Oś Pionowa (Długości):</strong> Długość przodu, długość tyłu, długość całkowita. Wpływa na położenie zaszewek i linii talii. Mniejsza zmienność między sąsiednimi rozmiarami.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Jak korzystać ze skaler wykrojów',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Zmierz swój wykrój:</strong> weź papierowy element i zmierz od krawędzi do krawędzi na liniach klatki piersiowej, talii i bioder.',
146
- '<strong>Wprowadź wymiary źródłowe:</strong> wpisz te wymiary w lewej kolumnie i wskaż, jaki rozmiar reprezentuje ten wykrój.',
147
- '<strong>Wprowadź swoje wymiary lub rozmiar docelowy:</strong> w prawej kolumnie wpisz swoje rzeczywiste wymiary lub rozmiar, który chcesz uzyskać.',
148
- '<strong>Zinterpretuj wyniki:</strong> kalkulator pokaże Ci, ile należy dodać lub odjąć w każdej konkretnej strefie.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Wskazówka dla profesjonalnego skalowania',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: 'O <strong>escalonamento de moldes</strong> (ou <em>grading</em>) é uma das competências mais críticas no mundo da confecção. Não se trata simplesmente de aumentar ou reduzir um desenho de forma proporcional; trata-se de adaptar uma estrutura bidimensional às complexas curvas e proporções do corpo humano, que não cresce de forma linear.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Cálculos Locais', icon: 'mdi:calculator' },
99
- { value: 'Diferencial', label: 'Escalado Proporcional', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Seguro e Privado', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'O que é exactamente o escalonamento de moldes?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Folga de design:</strong> os centímetros que o designer adicionou para criar uma silhueta específica (por exemplo, um casaco oversize ou uma blusa vaporosa).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Escalonamento Horizontal vs. Vertical',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Eixo Horizontal (Contornos):</strong> Peito, Cintura, Anca. Requer maior ajuste. Divide-se em quartos para cada peça do molde.',
134
- '<strong>Eixo Vertical (Comprimentos):</strong> Comprimento frente, comprimento costas, comprimento total. Afecta a posição de pinças e linha de cintura. Menor variação entre tamanhos contíguos.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Como usar o Escalador de Moldes',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Meça o seu molde:</strong> pegue na peça de papel e meça de borda a borda nas linhas de peito, cintura e anca.',
146
- '<strong>Introduza as medidas origem:</strong> escreva essas medidas na coluna esquerda e indique que tamanho representa esse molde.',
147
- '<strong>Introduza as suas medidas ou tamanho destino:</strong> na coluna direita, coloque as suas medidas reais ou o tamanho que pretende atingir.',
148
- '<strong>Interprete os resultados:</strong> a calculadora mostrar-lhe-á quanto deve adicionar ou retirar em cada zona específica.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Conselho para um Escalonamento Profissional',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>Градация (масштабирование) выкроек</strong> - это один из важнейших навыков в мире моды. Это не просто пропорциональное увеличение или уменьшение рисунка; это адаптация двумерной структуры к сложным изгибам и пропорциям человеческого тела, которое растет нелинейно.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Локальные расчеты', icon: 'mdi:calculator' },
99
- { value: 'Дифференц.', label: 'Пропорцион. градация', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Безопасно и приватно', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Что именно представляет собой градация выкроек?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Модельная прибавка:</strong> сантиметры, добавленные дизайнером для создания определенного силуэта (например, пальто в стиле оверсайз или воздушная блуза).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Горизонтальное и вертикальное масштабирование',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Горизонтальная ось (Обхваты):</strong> Грудь, Талия, Бедра. Требует наибольшей корректировки. Делится на четверти для каждой части выкройки.',
134
- '<strong>Вертикальная ось (Длины):</strong> Длина переда, длина спинки, общая длина. Влияет на положение вытачек и линию талии. Меньшая вариация между соседними размерами.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Как пользоваться инструментом масштабирования выкроек',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Измерьте выкройку:</strong> возьмите бумажную деталь и измерьте её от края до края по линиям груди, талии и бедер.',
146
- '<strong>Введите исходные мерки:</strong> запишите эти данные в левую колонку и укажите, какой размер представляет эта выкройка.',
147
- '<strong>Введите ваши мерки или целевой размер:</strong> в правой колонке укажите ваши реальные параметры или размер, который хотите получить.',
148
- '<strong>Интерпретируйте результаты:</strong> калькулятор покажет, сколько нужно добавить или убрать в каждой конкретной зоне.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Совет для профессиональной градации',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>Mönsterskalning</strong> (grading) är en av de mest kritiska färdigheterna i konfektionsvärlden. Det handlar inte bara om att förstora eller förminska en ritning proportionellt; det handlar om att anpassa en tvådimensionell struktur till de komplexa kurvorna och proportionerna hos människokroppen, som inte växer linjärt.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Offline', label: 'Lokala beräkningar', icon: 'mdi:calculator' },
99
- { value: 'Differentiell', label: 'Proportionell skalning', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Säkert och privat', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Vad är egentligen mönsterskalning?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Designvidd:</strong> de centimetrar som designern har lagt till för att skapa en specifik silhuett (till exempel en oversize-kappa eller en flortunn blus).',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Horisontell vs. Vertikal skalning',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Horisontell axel (Omfång):</strong> Byst, Midja, Höft. Kräver störst justering. Delas upp i fjärdedelar för varje mönsterdel.',
134
- '<strong>Vertikal axel (Längder):</strong> Framlängd, rygglängd, totallängd. Påverkar placeringen av insnitt och midjelinje. Mindre variation mellan intilliggande storlekar.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Hur man använder mönsterskalaren',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Mät ditt mönster:</strong> ta pappersdelen och mät från kant till kant på linjerna för byst, midja och höft.',
146
- '<strong>Ange ursprungsmått:</strong> skriv in de måtten i den vänstra kolumnen och ange vilken storlek mönstret representerar.',
147
- '<strong>Ange dina mått eller målstorlek:</strong> i den högra kolumnen anger du dina verkliga mått eller storleken du vill uppnå.',
148
- '<strong>Tolka resultaten:</strong> kalkylatorn visar hur mycket du ska lägga till eller ta bort i varje specifik zon.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Tips för en professionell skalning',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>Kalıp ölçeklendirme</strong> (grading), konfeksiyon dünyasındaki en kritik becerilerden biridir. Bu sadece bir çizimi orantılı olarak büyütmek veya küçültmek değildir; iki boyutlu bir yapıyı, doğrusal olarak büyümeyen insan vücudunun karmaşık kıvrımlarına ve oranlarına uyarlamakla ilgilidir.',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: 'Çevrimdışı', label: 'Yerel Hesaplamalar', icon: 'mdi:calculator' },
99
- { value: 'Diferansiyel', label: 'Orantılı Ölçeklendirme', icon: 'mdi:resize' },
100
- { value: '100%', label: 'Güvenli ve Özel', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: 'Kalıp ölçeklendirme tam olarak nedir?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>Tasarım rahatlığı:</strong> Tasarımcının belirli bir siluet (örneğin, oversize bir palto veya dökümlü bir bluz) oluşturmak için eklediği santimetreler.',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: 'Yatay ve Dikey Ölçeklendirme',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>Yatay Eksen (Çevreler):</strong> Göğüs, Bel, Kalça. En büyük ayarlamayı gerektirir. Her bir kalıp parçası için dörde bölünür.',
134
- '<strong>Dikey Eksen (Boylar):</strong> Ön boy, arka boy, toplam boy. Penslerin konumunu ve bel hattını etkiler. Ardışık bedenler arasındaki varyasyon daha düşüktür.',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: 'Kalıp Ölçeklendirici Nasıl Kullanılır',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>Kalıbınızı ölçün:</strong> Kağıt kalıp parçasını alın ve göğüs, bel ve kalça çizgilerinde kenardan kenara ölçün.',
146
- '<strong>Kaynak ölçüleri girin:</strong> Bu ölçüleri sol sütuna yazın ve bu kalıbın hangi bedeni temsil ettiğini belirtin.',
147
- '<strong>Kendi ölçülerinizi veya hedef bedeni girin:</strong> Sağ sütuna gerçek ölçülerinizi veya ulaşmak istediğiniz bedeni girin.',
148
- '<strong>Sonuçları yorumlayın:</strong> Hesaplayıcı, her bir spesifik alanda ne kadar ekleme veya çıkarma yapmanız gerektiğini gösterecektir.',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: 'Profesyonel Serileme İçin Tavsiye',
@@ -92,15 +92,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
92
92
  type: 'paragraph',
93
93
  html: '<strong>纸样放码</strong> (pattern grading) 是服装制作界最关键的技能之一。这不仅仅是按比例放大或缩小图稿;而是要将二维结构调整以适应非线性生长的复杂人体曲线和比例。',
94
94
  },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: '离线', label: '本地计算', icon: 'mdi:calculator' },
99
- { value: '差异化', label: '比例缩放', icon: 'mdi:resize' },
100
- { value: '100%', label: '安全私密', icon: 'mdi:lock' },
101
- ],
102
- columns: 3,
103
- },
104
95
  {
105
96
  type: 'title',
106
97
  text: '纸样放码到底是什么?',
@@ -122,32 +113,6 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
122
113
  '<strong>设计松量:</strong> 设计师为了创造特定廓形(例如廓形大衣或飘逸的上衣)而增加的厘米数。',
123
114
  ],
124
115
  },
125
- {
126
- type: 'title',
127
- text: '水平放码 vs 垂直放码',
128
- level: 3,
129
- },
130
- {
131
- type: 'list',
132
- items: [
133
- '<strong>水平轴(围度):</strong> 胸围、腰围、臀围。需要最大的调整。每个纸样块被分为四分之一进行计算。',
134
- '<strong>垂直轴(长度):</strong> 前衣长、背长、总长。影响省道位置和腰线。相邻尺码间的变化量较小。',
135
- ],
136
- },
137
- {
138
- type: 'title',
139
- text: '如何使用纸样缩放工具',
140
- level: 3,
141
- },
142
- {
143
- type: 'list',
144
- items: [
145
- '<strong>测量您的纸样:</strong> 拿着纸样块,测量胸围、腰围和臀围线上的边缘到边缘距离。',
146
- '<strong>输入源数据尺寸:</strong> 在左列写下这些测量值,并指明该纸样代表的尺码。',
147
- '<strong>输入您的尺寸或目标尺码:</strong> 在右列中输入您的实际测量值或您想要达到的尺码。',
148
- '<strong>翻译结果:</strong> 计算器将向您显示在每个特定区域应增加或减少的数值。',
149
- ],
150
- },
151
116
  {
152
117
  type: 'tip',
153
118
  title: '专业放码建议',