@jjlmoya/utils-textiles 1.3.0 → 1.5.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.
Files changed (179) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +76 -0
  3. package/src/category/i18n/fr.ts +33 -30
  4. package/src/category/i18n/id.ts +76 -0
  5. package/src/category/i18n/it.ts +76 -0
  6. package/src/category/i18n/ja.ts +76 -0
  7. package/src/category/i18n/ko.ts +76 -0
  8. package/src/category/i18n/nl.ts +76 -0
  9. package/src/category/i18n/pl.ts +76 -0
  10. package/src/category/i18n/pt.ts +76 -0
  11. package/src/category/i18n/ru.ts +76 -0
  12. package/src/category/i18n/sv.ts +76 -0
  13. package/src/category/i18n/tr.ts +76 -0
  14. package/src/category/i18n/zh.ts +76 -0
  15. package/src/category/index.ts +39 -7
  16. package/src/index.ts +12 -12
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/schemas_fulfillment.test.ts +23 -0
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tests/title_quality.test.ts +55 -0
  21. package/src/tool/burnTest/i18n/de.ts +225 -0
  22. package/src/tool/burnTest/i18n/id.ts +225 -0
  23. package/src/tool/burnTest/i18n/it.ts +225 -0
  24. package/src/tool/burnTest/i18n/ja.ts +225 -0
  25. package/src/tool/burnTest/i18n/ko.ts +225 -0
  26. package/src/tool/burnTest/i18n/nl.ts +225 -0
  27. package/src/tool/burnTest/i18n/pl.ts +225 -0
  28. package/src/tool/burnTest/i18n/pt.ts +225 -0
  29. package/src/tool/burnTest/i18n/ru.ts +225 -0
  30. package/src/tool/burnTest/i18n/sv.ts +225 -0
  31. package/src/tool/burnTest/i18n/tr.ts +225 -0
  32. package/src/tool/burnTest/i18n/zh.ts +225 -0
  33. package/src/tool/burnTest/index.ts +15 -7
  34. package/src/tool/clothingSizeConverter/i18n/de.ts +356 -0
  35. package/src/tool/clothingSizeConverter/i18n/id.ts +356 -0
  36. package/src/tool/clothingSizeConverter/i18n/it.ts +356 -0
  37. package/src/tool/clothingSizeConverter/i18n/ja.ts +356 -0
  38. package/src/tool/clothingSizeConverter/i18n/ko.ts +356 -0
  39. package/src/tool/clothingSizeConverter/i18n/nl.ts +356 -0
  40. package/src/tool/clothingSizeConverter/i18n/pl.ts +356 -0
  41. package/src/tool/clothingSizeConverter/i18n/pt.ts +356 -0
  42. package/src/tool/clothingSizeConverter/i18n/ru.ts +356 -0
  43. package/src/tool/clothingSizeConverter/i18n/sv.ts +356 -0
  44. package/src/tool/clothingSizeConverter/i18n/tr.ts +356 -0
  45. package/src/tool/clothingSizeConverter/i18n/zh.ts +356 -0
  46. package/src/tool/clothingSizeConverter/index.ts +15 -7
  47. package/src/tool/fabricProjectCalculator/i18n/de.ts +250 -0
  48. package/src/tool/fabricProjectCalculator/i18n/id.ts +250 -0
  49. package/src/tool/fabricProjectCalculator/i18n/it.ts +250 -0
  50. package/src/tool/fabricProjectCalculator/i18n/ja.ts +250 -0
  51. package/src/tool/fabricProjectCalculator/i18n/ko.ts +250 -0
  52. package/src/tool/fabricProjectCalculator/i18n/nl.ts +250 -0
  53. package/src/tool/fabricProjectCalculator/i18n/pl.ts +250 -0
  54. package/src/tool/fabricProjectCalculator/i18n/pt.ts +250 -0
  55. package/src/tool/fabricProjectCalculator/i18n/ru.ts +250 -0
  56. package/src/tool/fabricProjectCalculator/i18n/sv.ts +250 -0
  57. package/src/tool/fabricProjectCalculator/i18n/tr.ts +250 -0
  58. package/src/tool/fabricProjectCalculator/i18n/zh.ts +250 -0
  59. package/src/tool/fabricProjectCalculator/index.ts +15 -7
  60. package/src/tool/fabricTruth/i18n/de.ts +282 -0
  61. package/src/tool/fabricTruth/i18n/en.ts +1 -1
  62. package/src/tool/fabricTruth/i18n/fr.ts +1 -1
  63. package/src/tool/fabricTruth/i18n/id.ts +282 -0
  64. package/src/tool/fabricTruth/i18n/it.ts +282 -0
  65. package/src/tool/fabricTruth/i18n/ja.ts +282 -0
  66. package/src/tool/fabricTruth/i18n/ko.ts +282 -0
  67. package/src/tool/fabricTruth/i18n/nl.ts +282 -0
  68. package/src/tool/fabricTruth/i18n/pl.ts +282 -0
  69. package/src/tool/fabricTruth/i18n/pt.ts +282 -0
  70. package/src/tool/fabricTruth/i18n/ru.ts +282 -0
  71. package/src/tool/fabricTruth/i18n/sv.ts +282 -0
  72. package/src/tool/fabricTruth/i18n/tr.ts +282 -0
  73. package/src/tool/fabricTruth/i18n/zh.ts +286 -0
  74. package/src/tool/fabricTruth/index.ts +15 -7
  75. package/src/tool/fiberPrep/i18n/de.ts +225 -0
  76. package/src/tool/fiberPrep/i18n/id.ts +225 -0
  77. package/src/tool/fiberPrep/i18n/it.ts +225 -0
  78. package/src/tool/fiberPrep/i18n/ja.ts +225 -0
  79. package/src/tool/fiberPrep/i18n/ko.ts +225 -0
  80. package/src/tool/fiberPrep/i18n/nl.ts +225 -0
  81. package/src/tool/fiberPrep/i18n/pl.ts +225 -0
  82. package/src/tool/fiberPrep/i18n/pt.ts +225 -0
  83. package/src/tool/fiberPrep/i18n/ru.ts +225 -0
  84. package/src/tool/fiberPrep/i18n/sv.ts +225 -0
  85. package/src/tool/fiberPrep/i18n/tr.ts +225 -0
  86. package/src/tool/fiberPrep/i18n/zh.ts +225 -0
  87. package/src/tool/fiberPrep/index.ts +15 -7
  88. package/src/tool/knittingGauge/i18n/de.ts +234 -0
  89. package/src/tool/knittingGauge/i18n/id.ts +234 -0
  90. package/src/tool/knittingGauge/i18n/it.ts +234 -0
  91. package/src/tool/knittingGauge/i18n/ja.ts +234 -0
  92. package/src/tool/knittingGauge/i18n/ko.ts +234 -0
  93. package/src/tool/knittingGauge/i18n/nl.ts +234 -0
  94. package/src/tool/knittingGauge/i18n/pl.ts +234 -0
  95. package/src/tool/knittingGauge/i18n/pt.ts +234 -0
  96. package/src/tool/knittingGauge/i18n/ru.ts +234 -0
  97. package/src/tool/knittingGauge/i18n/sv.ts +234 -0
  98. package/src/tool/knittingGauge/i18n/tr.ts +234 -0
  99. package/src/tool/knittingGauge/i18n/zh.ts +234 -0
  100. package/src/tool/knittingGauge/index.ts +15 -7
  101. package/src/tool/laundryGuide/i18n/de.ts +275 -0
  102. package/src/tool/laundryGuide/i18n/id.ts +275 -0
  103. package/src/tool/laundryGuide/i18n/it.ts +275 -0
  104. package/src/tool/laundryGuide/i18n/ja.ts +275 -0
  105. package/src/tool/laundryGuide/i18n/ko.ts +275 -0
  106. package/src/tool/laundryGuide/i18n/nl.ts +275 -0
  107. package/src/tool/laundryGuide/i18n/pl.ts +275 -0
  108. package/src/tool/laundryGuide/i18n/pt.ts +275 -0
  109. package/src/tool/laundryGuide/i18n/ru.ts +275 -0
  110. package/src/tool/laundryGuide/i18n/sv.ts +275 -0
  111. package/src/tool/laundryGuide/i18n/tr.ts +275 -0
  112. package/src/tool/laundryGuide/i18n/zh.ts +275 -0
  113. package/src/tool/laundryGuide/index.ts +15 -7
  114. package/src/tool/needleConverter/i18n/de.ts +212 -0
  115. package/src/tool/needleConverter/i18n/id.ts +212 -0
  116. package/src/tool/needleConverter/i18n/it.ts +212 -0
  117. package/src/tool/needleConverter/i18n/ja.ts +212 -0
  118. package/src/tool/needleConverter/i18n/ko.ts +212 -0
  119. package/src/tool/needleConverter/i18n/nl.ts +212 -0
  120. package/src/tool/needleConverter/i18n/pl.ts +212 -0
  121. package/src/tool/needleConverter/i18n/pt.ts +212 -0
  122. package/src/tool/needleConverter/i18n/ru.ts +212 -0
  123. package/src/tool/needleConverter/i18n/sv.ts +212 -0
  124. package/src/tool/needleConverter/i18n/tr.ts +212 -0
  125. package/src/tool/needleConverter/i18n/zh.ts +212 -0
  126. package/src/tool/needleConverter/index.ts +15 -7
  127. package/src/tool/sewingPatternScaler/i18n/de.ts +227 -0
  128. package/src/tool/sewingPatternScaler/i18n/id.ts +227 -0
  129. package/src/tool/sewingPatternScaler/i18n/it.ts +227 -0
  130. package/src/tool/sewingPatternScaler/i18n/ja.ts +227 -0
  131. package/src/tool/sewingPatternScaler/i18n/ko.ts +227 -0
  132. package/src/tool/sewingPatternScaler/i18n/nl.ts +227 -0
  133. package/src/tool/sewingPatternScaler/i18n/pl.ts +227 -0
  134. package/src/tool/sewingPatternScaler/i18n/pt.ts +227 -0
  135. package/src/tool/sewingPatternScaler/i18n/ru.ts +227 -0
  136. package/src/tool/sewingPatternScaler/i18n/sv.ts +227 -0
  137. package/src/tool/sewingPatternScaler/i18n/tr.ts +227 -0
  138. package/src/tool/sewingPatternScaler/i18n/zh.ts +227 -0
  139. package/src/tool/sewingPatternScaler/index.ts +15 -7
  140. package/src/tool/shoeSizeConverter/i18n/de.ts +184 -0
  141. package/src/tool/shoeSizeConverter/i18n/id.ts +184 -0
  142. package/src/tool/shoeSizeConverter/i18n/it.ts +184 -0
  143. package/src/tool/shoeSizeConverter/i18n/ja.ts +184 -0
  144. package/src/tool/shoeSizeConverter/i18n/ko.ts +184 -0
  145. package/src/tool/shoeSizeConverter/i18n/nl.ts +184 -0
  146. package/src/tool/shoeSizeConverter/i18n/pl.ts +184 -0
  147. package/src/tool/shoeSizeConverter/i18n/pt.ts +184 -0
  148. package/src/tool/shoeSizeConverter/i18n/ru.ts +184 -0
  149. package/src/tool/shoeSizeConverter/i18n/sv.ts +184 -0
  150. package/src/tool/shoeSizeConverter/i18n/tr.ts +184 -0
  151. package/src/tool/shoeSizeConverter/i18n/zh.ts +184 -0
  152. package/src/tool/shoeSizeConverter/index.ts +15 -7
  153. package/src/tool/stainChemistry/i18n/de.ts +300 -0
  154. package/src/tool/stainChemistry/i18n/id.ts +300 -0
  155. package/src/tool/stainChemistry/i18n/it.ts +300 -0
  156. package/src/tool/stainChemistry/i18n/ja.ts +300 -0
  157. package/src/tool/stainChemistry/i18n/ko.ts +297 -0
  158. package/src/tool/stainChemistry/i18n/nl.ts +300 -0
  159. package/src/tool/stainChemistry/i18n/pl.ts +300 -0
  160. package/src/tool/stainChemistry/i18n/pt.ts +300 -0
  161. package/src/tool/stainChemistry/i18n/ru.ts +300 -0
  162. package/src/tool/stainChemistry/i18n/sv.ts +300 -0
  163. package/src/tool/stainChemistry/i18n/tr.ts +300 -0
  164. package/src/tool/stainChemistry/i18n/zh.ts +295 -0
  165. package/src/tool/stainChemistry/index.ts +15 -7
  166. package/src/tool/yarnCalculator/i18n/de.ts +310 -0
  167. package/src/tool/yarnCalculator/i18n/id.ts +310 -0
  168. package/src/tool/yarnCalculator/i18n/it.ts +310 -0
  169. package/src/tool/yarnCalculator/i18n/ja.ts +310 -0
  170. package/src/tool/yarnCalculator/i18n/ko.ts +310 -0
  171. package/src/tool/yarnCalculator/i18n/nl.ts +310 -0
  172. package/src/tool/yarnCalculator/i18n/pl.ts +310 -0
  173. package/src/tool/yarnCalculator/i18n/pt.ts +310 -0
  174. package/src/tool/yarnCalculator/i18n/ru.ts +310 -0
  175. package/src/tool/yarnCalculator/i18n/sv.ts +310 -0
  176. package/src/tool/yarnCalculator/i18n/tr.ts +310 -0
  177. package/src/tool/yarnCalculator/i18n/zh.ts +309 -0
  178. package/src/tool/yarnCalculator/index.ts +15 -7
  179. package/src/types.ts +1 -1
@@ -0,0 +1,250 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { FabricProjectCalculatorUI } from '../ui';
4
+
5
+ const slug = 'stofverbruik-calculator-project';
6
+ const title = 'Stofverbruik Calculator per Kledingstuk';
7
+ const description =
8
+ 'Bereken eenvoudig hoeveel stof je nodig hebt om een rok, broek, jurk of hemd te naaien. Pas aan op basis van stofbreedte en maat voor een professionele snit.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Hoeveel stof heb ik nodig voor een rok?',
13
+ answer:
14
+ 'Dit hangt af van de stofbreedte. Voor een rechte rok in een stof van 140-150 cm is 1,20 meter meestal voldoende. Als de stof 90-110 cm breed is, heb je 2,00 meter nodig.',
15
+ },
16
+ {
17
+ question: 'Hoe beïnvloedt de stofbreedte het verbruik?',
18
+ answer:
19
+ 'Bij een geringere breedte passen de patroondelen niet naast elkaar (parallel), waardoor het verbruik meestal verdubbelt omdat ze onder elkaar geplaatst moeten worden.',
20
+ },
21
+ {
22
+ question: 'Is het beter om extra stof te kopen?',
23
+ answer:
24
+ 'Ja, een marge van 10% (ongeveer 20 cm) wordt aanbevolen om krimp, weeffouten of onverwachte naadwaarden te compenseren.',
25
+ },
26
+ {
27
+ question: 'Wat is de draadrichting en wat is de invloed ervan?',
28
+ answer:
29
+ 'Dit is de richting parallel aan de zelfkanten van de stof. Patronen moeten op één lijn liggen met deze draad, zodat het kledingstuk niet vervormt tijdens het dragen.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Kies het type kledingstuk',
36
+ text: 'Selecteer het model dat je gaat maken (rok, broek, enz.) om de basisverbruiktabel te laden.',
37
+ },
38
+ {
39
+ name: 'Voer de stofbreedte in',
40
+ text: 'Meet de breedte van zelfkant tot zelfkant van de stof die je van plan bent te kopen (90, 115, 140 of 150 cm).',
41
+ },
42
+ {
43
+ name: 'Selecteer de maat',
44
+ text: 'Pas het volume van het kledingstuk aan op basis van de maat (XS-S, M-L, XL-XXL) om de vermenigvuldigingsfactor opnieuw te berekenen.',
45
+ },
46
+ {
47
+ name: 'Verkrijg de totale meters',
48
+ text: 'Controleer het eindresultaat met en zonder naadwaarde om precies te weten hoeveel je in de winkel moet vragen.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step) => ({
68
+ '@type': 'HowToStep',
69
+ name: step.name,
70
+ text: step.text,
71
+ })),
72
+ };
73
+
74
+ const appSchema: WithContext<SoftwareApplication> = {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'SoftwareApplication',
77
+ name: title,
78
+ description,
79
+ applicationCategory: 'UtilityApplication',
80
+ operatingSystem: 'All',
81
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
82
+ inLanguage: 'nl',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<FabricProjectCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Veelgestelde Vragen',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Bibliografie',
92
+ bibliography: [
93
+ {
94
+ name: 'Fabric Estimation Guide - Threads Magazine',
95
+ url: 'https://www.threadsmagazine.com/forum/measuring-fabric',
96
+ },
97
+ {
98
+ name: 'How much fabric do I need? - Seamwork',
99
+ url: 'https://www.seamwork.com/sewing-tutorials/the-anatomy-of-a-sewing-pattern',
100
+ },
101
+ {
102
+ name: 'Standard Fabric Consumption Charts - Textile School',
103
+ url: 'https://www.textileschool.com/209/fabric-consumption-in-garment-making/',
104
+ },
105
+ ],
106
+ howTo: howToData,
107
+ schemas: [faqSchema, howToSchema, appSchema],
108
+ seo: [
109
+ {
110
+ type: 'title',
111
+ text: 'Stofmetercalculator voor Confectie: Verbruiksgids',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Een van de meest voorkomende vragen in het naaiatelier is het bepalen van de hoeveelheid stof die gekocht moet worden voor een specifiek project. Het stofverbruik hangt radicaal af van drie factoren: het model van het kledingstuk, de maat van de persoon en vooral de breedte van de stof (die meestal varieert tussen 90 cm en 150 cm). Deze technische calculator systematiseert de berekening zodat je niet te veel koopt of tekort komt tijdens het knippen.',
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Hoeveel stof heb ik nodig voor een jurk of broek?',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'De traditionele berekening is gebaseerd op de lengte van het kledingstuk plus de lengte van de mouwen, plus een marge voor belegstukken en de zoom. Wanneer de stof echter smal is (90-110 cm), passen de patroondelen meestal niet naast elkaar, waardoor je het dubbele van de lengte moet kopen. Onze tool houdt automatisch rekening met deze variaties volgens de standaard van de textielindustrie.',
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Geschat Verbruik naar Stofbreedte (maat M-L)',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'list',
134
+ items: [
135
+ '<strong>Rechte Rok:</strong> 2.00 m in stof van 90 cm · 1.20 m in stof van 140/150 cm.',
136
+ '<strong>Lange Broek:</strong> 2.50 m in stof van 90 cm · 1.50 m in stof van 140/150 cm.',
137
+ '<strong>Herenoverhemd Lange Mouw:</strong> 2.20 m in stof van 90 cm · 1.40 m in stof van 140/150 cm.',
138
+ '<strong>Basisjurk:</strong> 3.50 m in stof van 90 cm · 2.20 m in stof van 140/150 cm.',
139
+ ],
140
+ },
141
+ {
142
+ type: 'title',
143
+ text: 'Factoren die het Stofverbruik Beïnvloeden',
144
+ level: 3,
145
+ },
146
+ {
147
+ type: 'list',
148
+ items: [
149
+ '<strong>Richting van de print (Rapport):</strong> Als de stof een tekening heeft met een duidelijke richting of ruiten die moeten aansluiten, heb je tussen de 15% en 20% extra materiaal nodig.',
150
+ '<strong>Draadrichting (Schuin van draad):</strong> Schuin van draad of cirkelvormige uitsnijdingen (zoals cirkelrokken) verbruiken aanzienlijk meer stof door het verlies in de hoeken.',
151
+ '<strong>Richting van de vleug:</strong> Bij stoffen zoals fluweel of ribfluweel moeten alle stukken in dezelfde richting worden geknipt, wat de optimalisatie van de ruimte beperkt.',
152
+ '<strong>Krimp:</strong> Veel natuurlijke stoffen (katoen, linnen, wol) krimpen na de eerste wasbeurt. Het is essentieel om de stof te wassen voordat je deze gaat knippen.',
153
+ ],
154
+ },
155
+ {
156
+ type: 'tip',
157
+ title: 'Besparingstip van de Kleermaker',
158
+ html: '<p>Als je een stof met een grote print of ruiten (plaids) gaat gebruiken, vertrouw dan niet alleen op de standaardmaat. Voeg altijd een volledige herhaling van de tekening (het rapport) toe aan het berekende totaal aantal meters om te garanderen dat de patronen aansluiten bij de zijnaden.</p>',
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Voordelen en Beperkingen van deze Calculator',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'list',
167
+ items: [
168
+ 'Directe berekening voor meerdere stofbreedtes met maataanpassing.',
169
+ 'Inclusief aanpasbare schatting voor naadwaarde.',
170
+ 'Visuele gids voor de indeling van stukken op het doek.',
171
+ 'Vervangt geen echte patroonindeling. Plus-maten kunnen extra handmatige aanpassingen vereisen.',
172
+ ],
173
+ },
174
+ {
175
+ type: 'card',
176
+ title: 'Stofbreedte',
177
+ icon: 'mdi:arrow-expand-horizontal',
178
+ html: 'De dwarsmaat van de stof van <strong>zelfkant tot zelfkant</strong>. Bepaalt of patroondelen parallel passen of onder elkaar moeten worden geplaatst.',
179
+ },
180
+ {
181
+ type: 'card',
182
+ title: 'Naadwaarde',
183
+ icon: 'mdi:tape-measure',
184
+ html: 'De afstand tussen de rand van het patroon en de <strong>uiteindelijke stiklijn</strong>. Een standaardwaarde is 1,5 cm voor kledingnaden.',
185
+ },
186
+ {
187
+ type: 'card',
188
+ title: 'Zelfkant',
189
+ icon: 'mdi:content-cut',
190
+ html: 'De versterkte zijranden van de stof die <strong>niet rafelen</strong>. Ze geven de draadrichting aan en dienen als referentie voor het knippen.',
191
+ },
192
+ ],
193
+ ui: {
194
+ sectionProject: 'Project',
195
+ sectionMaterial: 'Materiaal',
196
+ labelGarmentType: 'Type kledingstuk',
197
+ labelSize: 'Maat',
198
+ labelFabricWidth: 'Stofbreedte (cm)',
199
+ labelSeamAllowance: 'Naadwaarde (cm)',
200
+ garmentSkirt: 'Rok (Recht/A-lijn)',
201
+ garmentPants: 'Broek',
202
+ garmentDress: 'Jurk',
203
+ garmentShirt: 'Overhemd / Blouse',
204
+ garmentCoat: 'Jas / Jack',
205
+ garmentTote: 'Tote Bag',
206
+ garmentMerceria: {
207
+ skirt: '1 rits 20cm, 1 knoop',
208
+ pants: '1 rits 20cm, 1 knoop, 30cm versteviging',
209
+ dress: '1 rits 60cm, 50cm versteviging',
210
+ shirt: '7 knopen, 1m fijne versteviging',
211
+ coat: '3 grote knopen, 1,5m versteviging, voering',
212
+ tote: '2m band voor handvaten',
213
+ },
214
+ sizeXS: 'XS-S',
215
+ sizeM: 'M-L',
216
+ sizeXL: 'XL-XXL',
217
+ width90: '90 cm (Smal)',
218
+ width115: '115 cm (Patchwork)',
219
+ width140: '140 cm (Standaard EU)',
220
+ width150: '150 cm (Interieur)',
221
+ btnClear: 'Wissen',
222
+ btnShare: 'Delen',
223
+ btnCopied: 'Gekopieerd!',
224
+ btnCopyList: 'Lijst kopiëren',
225
+ resultLabel: 'Je hebt nodig:',
226
+ resultUnit: 'Meter',
227
+ shopAdviceFormat: 'Vraag {m}m in de winkel',
228
+ boardEmpty: 'Selecteer een project om de indeling te zien',
229
+ boardDescFormat: 'Breedte: {w}cm | Lengte: {m}m',
230
+ merchTitle: 'Fournituren en Materialen',
231
+ checklistThread: 'Bijpassend garen',
232
+ warningSerialFormat: 'Bij stoffen van {w}cm passen de stukken van jouw maat niet parallel. Verbruik aangepast voor serieel knippen.',
233
+ foldLabel: '⊟ stofvouw',
234
+ pieceNames: {
235
+ front: 'Voorpand',
236
+ back: 'Achterpand',
237
+ waistband: 'Tailleband',
238
+ waistbelt: 'Riem',
239
+ sleeve: 'Mouw',
240
+ collar: 'Kraag',
241
+ cuffs: 'Manchetten',
242
+ facings: 'Belegsels',
243
+ lapels: 'Revers',
244
+ pocket: 'Zak',
245
+ body: 'Body',
246
+ handleA: 'Handvat A',
247
+ handleB: 'Handvat B',
248
+ },
249
+ },
250
+ };
@@ -0,0 +1,250 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { FabricProjectCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkulator-tkaniny-projekt';
6
+ const title = 'Kalkulator Zużycia Tkaniny na Ubranie';
7
+ const description =
8
+ 'Łatwo oblicz, ile materiału potrzebujesz na uszycie spódnicy, spodni, sukienki lub koszuli. Dostosuj do szerokości tkaniny i rozmiaru, aby uzyskać profesjonalne cięcie.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Ile materiału potrzebuję na spódnicę?',
13
+ answer:
14
+ 'To zależy od szerokości tkaniny. Na prostą spódnicę przy materiale o szerokości 140-150 cm zazwyczaj wystarcza 1,20 metra. Jeśli tkanina ma 90-110 cm szerokości, będziesz potrzebować 2,00 metrów.',
15
+ },
16
+ {
17
+ question: 'Jak szerokość tkaniny wpływa na zużycie?',
18
+ answer:
19
+ 'Przy mniejszej szerokości elementy wykroju nie mieszczą się obok siebie (równolegle), dlatego zużycie zazwyczaj wzrasta dwukrotnie, ponieważ trzeba je układać jeden pod drugim.',
20
+ },
21
+ {
22
+ question: 'Czy lepiej kupić więcej materiału?',
23
+ answer:
24
+ 'Tak, zaleca się 10% marginesu (około 20 cm), aby zrekompensować kurczenie się, błędy w tkactwie lub nieoczekiwane naddatki na szwy.',
25
+ },
26
+ {
27
+ question: 'Co to jest nitka osnowy i jak wpływa na szycie?',
28
+ answer:
29
+ 'Jest to kierunek równoległy do brzegów fabrycznych tkaniny. Wykroje muszą być wyrównane do tej nitki, aby ubranie nie deformowało się podczas użytkowania.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Wybierz rodzaj ubrania',
36
+ text: 'Wybierz model, który zamierzasz uszyć (spódnica, spodnie itp.), aby załadować tabelę podstawowego zużycia.',
37
+ },
38
+ {
39
+ name: 'Wprowadź szerokość tkaniny',
40
+ text: 'Zmierz szerokość od brzegu do brzegu tkaniny, którą planujesz kupić (90, 115, 140 lub 150 cm).',
41
+ },
42
+ {
43
+ name: 'Wybierz rozmiar',
44
+ text: 'Dostosuj objętość ubrania do rozmiaru (XS-S, M-L, XL-XXL), aby przeliczyć współczynnik mnożnikowy.',
45
+ },
46
+ {
47
+ name: 'Pobierz całkowitą liczbę metrów',
48
+ text: 'Sprawdź wynik końcowy z naddatkiem na szew i bez niego, aby dokładnie wiedzieć, o ile metrów poprosić w sklepie.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step) => ({
68
+ '@type': 'HowToStep',
69
+ name: step.name,
70
+ text: step.text,
71
+ })),
72
+ };
73
+
74
+ const appSchema: WithContext<SoftwareApplication> = {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'SoftwareApplication',
77
+ name: title,
78
+ description,
79
+ applicationCategory: 'UtilityApplication',
80
+ operatingSystem: 'All',
81
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
82
+ inLanguage: 'pl',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<FabricProjectCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Najczęściej Zadawane Pytania',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Bibliografia',
92
+ bibliography: [
93
+ {
94
+ name: 'Fabric Estimation Guide - Threads Magazine',
95
+ url: 'https://www.threadsmagazine.com/forum/measuring-fabric',
96
+ },
97
+ {
98
+ name: 'How much fabric do I need? - Seamwork',
99
+ url: 'https://www.seamwork.com/sewing-tutorials/the-anatomy-of-a-sewing-pattern',
100
+ },
101
+ {
102
+ name: 'Standard Fabric Consumption Charts - Textile School',
103
+ url: 'https://www.textileschool.com/209/fabric-consumption-in-garment-making/',
104
+ },
105
+ ],
106
+ howTo: howToData,
107
+ schemas: [faqSchema, howToSchema, appSchema],
108
+ seo: [
109
+ {
110
+ type: 'title',
111
+ text: 'Kalkulator Metrów Tkaniny do Szycia: Przewodnik Zużycia',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Jedną z najczęstszych wątpliwości w pracowni krawieckiej jest ustalenie, ile tkaniny kupić na konkretny projekt. Zużycie materiału zależy zasadniczo od trzech czynników: modelu ubrania, rozmiaru osoby oraz, przede wszystkim, szerokości beli materiału (która zazwyczaj waha się od 90 cm do 150 cm). Ten techniczny kalkulator systematyzuje obliczenia, abyś nie kupował za dużo ani nie został z brakiem materiału w połowie krojenia.',
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Ile materiału potrzebuję na sukienkę lub spodnie?',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'Tradycyjne obliczenia opierają się na długości ubrania plus długości rękawów, z dodaniem marginesu na obłożenia i podłożenia. Jednakże, gdy tkanina jest wąska (90-110 cm), elementy zazwyczaj nie mieszczą się obok siebie, co zmusza do zakupu podwójnej długości. Nasze narzędzie automatycznie uwzględnia te różnice zgodnie ze standardem przemysłu tekstylnego.',
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Szacowane Zużycie według Szerokości Tkaniny (rozmiar M-L)',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'list',
134
+ items: [
135
+ '<strong>Prosta Spódnica:</strong> 2.00 m przy szerokości 90 cm · 1.20 m przy szerokości 140/150 cm.',
136
+ '<strong>Długie Spodnie:</strong> 2.50 m przy szerokości 90 cm · 1.50 m przy szerokości 140/150 cm.',
137
+ '<strong>Koszula z Długim Rękawem:</strong> 2.20 m przy szerokości 90 cm · 1.40 m przy szerokości 140/150 cm.',
138
+ '<strong>Podstawowa Sukienka:</strong> 3.50 m przy szerokości 90 cm · 2.20 m przy szerokości 140/150 cm.',
139
+ ],
140
+ },
141
+ {
142
+ type: 'title',
143
+ text: 'Czynniki Zmieniające Zużycie Tkaniny',
144
+ level: 3,
145
+ },
146
+ {
147
+ type: 'list',
148
+ items: [
149
+ '<strong>Kierunek wzoru (Raport):</strong> Jeśli tkanina ma wzór z wyraźnym kierunkiem lub kratkę, którą należy dopasować, będziesz potrzebować od 15% do 20% więcej materiału.',
150
+ '<strong>Kierunek nitki (Ze skosu):</strong> Cięcia ze skosu lub kołowe (jak spódnice z koła) zużywają znacznie więcej tkaniny ze względu na odpady w kątach.',
151
+ '<strong>Kierunek włosa:</strong> W tkaninach takich jak aksamit czy sztruks, wszystkie elementy muszą być krojone w tym samym kierunku, co ogranicza optymalizację miejsca.',
152
+ '<strong>Kurczenie się:</strong> Wiele tkanin naturalnych (bawełna, len, wełna) kurczy się po pierwszym praniu. Kluczowe jest dekatyzowanie tkaniny przed krojeniem.',
153
+ ],
154
+ },
155
+ {
156
+ type: 'tip',
157
+ title: 'Porada Krawiecka',
158
+ html: '<p>Jeśli zamierzasz użyć tkaniny z dużym wzorem lub w kratę (plaid), nie polegaj wyłącznie na standardowej mierze. Zawsze dodaj jedno pełne powtórzenie wzoru (raport) do całkowitej liczby obliczonych metrów, aby zagwarantować, że wzory zgrają się na szwach bocznych.</p>',
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Zalety i Ograniczenia tego Kalkulatora',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'list',
167
+ items: [
168
+ 'Natychmiastowe obliczenia dla wielu szerokości tkanin z korektą rozmiaru.',
169
+ 'Zawiera szacunkowy, konfigurowalny naddatek na szwy.',
170
+ 'Wizualny przewodnik rozmieszczenia elementów na materiale.',
171
+ 'Nie zastępuje rzeczywistego układu form (marker). Rozmiary Plus mogą wymagać dodatkowych ręcznych adjustacji.',
172
+ ],
173
+ },
174
+ {
175
+ type: 'card',
176
+ title: 'Szerokość beli',
177
+ icon: 'mdi:arrow-expand-horizontal',
178
+ html: 'Wymiar poprzeczny tkaniny od <strong>brzegu do brzegu</strong>. Określa, czy elementy wykroju mieszczą się równolegle, czy muszą być ukrojone szeregowo.',
179
+ },
180
+ {
181
+ type: 'card',
182
+ title: 'Naddatek na szew',
183
+ icon: 'mdi:tape-measure',
184
+ html: 'Odległość między brzegiem wykroju a <strong>linią szwu końcowego</strong>. Standardowa wartość to 1,5 cm dla szwów odzieżowych.',
185
+ },
186
+ {
187
+ type: 'card',
188
+ title: 'Brzeg fabryczny (Krajka)',
189
+ icon: 'mdi:content-cut',
190
+ html: 'Wzmocnione boczne krawędzie tkaniny, które <strong>nie strzępią się</strong>. Wskazują kierunek nitki i służą jako odniesienie do krojenia.',
191
+ },
192
+ ],
193
+ ui: {
194
+ sectionProject: 'Projekt',
195
+ sectionMaterial: 'Materiał',
196
+ labelGarmentType: 'Rodzaj ubrania',
197
+ labelSize: 'Rozmiar',
198
+ labelFabricWidth: 'Szerokość tkaniny (cm)',
199
+ labelSeamAllowance: 'Naddatek na szew (cm)',
200
+ garmentSkirt: 'Spódnica (Prosta/A-linia)',
201
+ garmentPants: 'Spodnie',
202
+ garmentDress: 'Sukienka',
203
+ garmentShirt: 'Koszula / Bluzka',
204
+ garmentCoat: 'Płaszcz / Kurtka',
205
+ garmentTote: 'Eko-torba (Tote Bag)',
206
+ garmentMerceria: {
207
+ skirt: '1 zam. 20cm, 1 guzik',
208
+ pants: '1 zam. 20cm, 1 guzik, 30cm fizeliny',
209
+ dress: '1 zam. 60cm, 50cm fizeliny',
210
+ shirt: '7 guzików, 1m cienkiej fizeliny',
211
+ coat: '3 duże guziki, 1.5m fizeliny, podszewka',
212
+ tote: '2m taśmy na rączki',
213
+ },
214
+ sizeXS: 'XS-S',
215
+ sizeM: 'M-L',
216
+ sizeXL: 'XL-XXL',
217
+ width90: '90 cm (Wąska)',
218
+ width115: '115 cm (Patchwork)',
219
+ width140: '140 cm (Standard EU)',
220
+ width150: '150 cm (Obiciowa)',
221
+ btnClear: 'Wyczyść',
222
+ btnShare: 'Udostępnij',
223
+ btnCopied: 'Skopiowano!',
224
+ btnCopyList: 'Kopiuj listę',
225
+ resultLabel: 'Potrzebujesz:',
226
+ resultUnit: 'Metry',
227
+ shopAdviceFormat: 'Poproś o {m}m w sklepie',
228
+ boardEmpty: 'Wybierz projekt, aby zobaczyć układ',
229
+ boardDescFormat: 'Szerokość: {w}cm | Długość: {m}m',
230
+ merchTitle: 'Pasmanteria i Materiały',
231
+ checklistThread: 'Dopasowane nici',
232
+ warningSerialFormat: 'Przy tkaninach o szerokości {w}cm elementy Twojego rozmiaru nie mieszczą się równolegle. Zużycie dostosowane do krojenia szeregowego.',
233
+ foldLabel: '⊟ złożenie',
234
+ pieceNames: {
235
+ front: 'Przód',
236
+ back: 'Tył',
237
+ waistband: 'Pasek',
238
+ waistbelt: 'Szlufka',
239
+ sleeve: 'Rękaw',
240
+ collar: 'Kołnierz',
241
+ cuffs: 'Mankiety',
242
+ facings: 'Obłożenia',
243
+ lapels: 'Patki',
244
+ pocket: 'Kieszeń',
245
+ body: 'Body',
246
+ handleA: 'Rączka A',
247
+ handleB: 'Rączka B',
248
+ },
249
+ },
250
+ };