@jjlmoya/utils-textiles 1.4.0 → 1.6.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 (181) 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 +1 -1
  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_language_code_format.test.ts +23 -0
  20. package/src/tests/slug_uniqueness.test.ts +81 -0
  21. package/src/tests/title_quality.test.ts +55 -0
  22. package/src/tool/burnTest/i18n/de.ts +225 -0
  23. package/src/tool/burnTest/i18n/id.ts +225 -0
  24. package/src/tool/burnTest/i18n/it.ts +225 -0
  25. package/src/tool/burnTest/i18n/ja.ts +225 -0
  26. package/src/tool/burnTest/i18n/ko.ts +225 -0
  27. package/src/tool/burnTest/i18n/nl.ts +225 -0
  28. package/src/tool/burnTest/i18n/pl.ts +225 -0
  29. package/src/tool/burnTest/i18n/pt.ts +225 -0
  30. package/src/tool/burnTest/i18n/ru.ts +225 -0
  31. package/src/tool/burnTest/i18n/sv.ts +225 -0
  32. package/src/tool/burnTest/i18n/tr.ts +225 -0
  33. package/src/tool/burnTest/i18n/zh.ts +225 -0
  34. package/src/tool/burnTest/index.ts +15 -7
  35. package/src/tool/clothingSizeConverter/i18n/de.ts +356 -0
  36. package/src/tool/clothingSizeConverter/i18n/id.ts +356 -0
  37. package/src/tool/clothingSizeConverter/i18n/it.ts +356 -0
  38. package/src/tool/clothingSizeConverter/i18n/ja.ts +356 -0
  39. package/src/tool/clothingSizeConverter/i18n/ko.ts +356 -0
  40. package/src/tool/clothingSizeConverter/i18n/nl.ts +356 -0
  41. package/src/tool/clothingSizeConverter/i18n/pl.ts +356 -0
  42. package/src/tool/clothingSizeConverter/i18n/pt.ts +356 -0
  43. package/src/tool/clothingSizeConverter/i18n/ru.ts +356 -0
  44. package/src/tool/clothingSizeConverter/i18n/sv.ts +356 -0
  45. package/src/tool/clothingSizeConverter/i18n/tr.ts +356 -0
  46. package/src/tool/clothingSizeConverter/i18n/zh.ts +356 -0
  47. package/src/tool/clothingSizeConverter/index.ts +15 -7
  48. package/src/tool/fabricProjectCalculator/i18n/de.ts +250 -0
  49. package/src/tool/fabricProjectCalculator/i18n/id.ts +250 -0
  50. package/src/tool/fabricProjectCalculator/i18n/it.ts +250 -0
  51. package/src/tool/fabricProjectCalculator/i18n/ja.ts +250 -0
  52. package/src/tool/fabricProjectCalculator/i18n/ko.ts +250 -0
  53. package/src/tool/fabricProjectCalculator/i18n/nl.ts +250 -0
  54. package/src/tool/fabricProjectCalculator/i18n/pl.ts +250 -0
  55. package/src/tool/fabricProjectCalculator/i18n/pt.ts +250 -0
  56. package/src/tool/fabricProjectCalculator/i18n/ru.ts +250 -0
  57. package/src/tool/fabricProjectCalculator/i18n/sv.ts +250 -0
  58. package/src/tool/fabricProjectCalculator/i18n/tr.ts +250 -0
  59. package/src/tool/fabricProjectCalculator/i18n/zh.ts +250 -0
  60. package/src/tool/fabricProjectCalculator/index.ts +15 -7
  61. package/src/tool/fabricTruth/i18n/de.ts +282 -0
  62. package/src/tool/fabricTruth/i18n/en.ts +1 -1
  63. package/src/tool/fabricTruth/i18n/fr.ts +1 -1
  64. package/src/tool/fabricTruth/i18n/id.ts +282 -0
  65. package/src/tool/fabricTruth/i18n/it.ts +282 -0
  66. package/src/tool/fabricTruth/i18n/ja.ts +282 -0
  67. package/src/tool/fabricTruth/i18n/ko.ts +282 -0
  68. package/src/tool/fabricTruth/i18n/nl.ts +282 -0
  69. package/src/tool/fabricTruth/i18n/pl.ts +282 -0
  70. package/src/tool/fabricTruth/i18n/pt.ts +282 -0
  71. package/src/tool/fabricTruth/i18n/ru.ts +282 -0
  72. package/src/tool/fabricTruth/i18n/sv.ts +282 -0
  73. package/src/tool/fabricTruth/i18n/tr.ts +282 -0
  74. package/src/tool/fabricTruth/i18n/zh.ts +286 -0
  75. package/src/tool/fabricTruth/index.ts +15 -7
  76. package/src/tool/fiberPrep/i18n/de.ts +225 -0
  77. package/src/tool/fiberPrep/i18n/id.ts +225 -0
  78. package/src/tool/fiberPrep/i18n/it.ts +225 -0
  79. package/src/tool/fiberPrep/i18n/ja.ts +225 -0
  80. package/src/tool/fiberPrep/i18n/ko.ts +225 -0
  81. package/src/tool/fiberPrep/i18n/nl.ts +225 -0
  82. package/src/tool/fiberPrep/i18n/pl.ts +225 -0
  83. package/src/tool/fiberPrep/i18n/pt.ts +225 -0
  84. package/src/tool/fiberPrep/i18n/ru.ts +225 -0
  85. package/src/tool/fiberPrep/i18n/sv.ts +225 -0
  86. package/src/tool/fiberPrep/i18n/tr.ts +225 -0
  87. package/src/tool/fiberPrep/i18n/zh.ts +225 -0
  88. package/src/tool/fiberPrep/index.ts +15 -7
  89. package/src/tool/knittingGauge/i18n/de.ts +234 -0
  90. package/src/tool/knittingGauge/i18n/id.ts +234 -0
  91. package/src/tool/knittingGauge/i18n/it.ts +234 -0
  92. package/src/tool/knittingGauge/i18n/ja.ts +234 -0
  93. package/src/tool/knittingGauge/i18n/ko.ts +234 -0
  94. package/src/tool/knittingGauge/i18n/nl.ts +234 -0
  95. package/src/tool/knittingGauge/i18n/pl.ts +234 -0
  96. package/src/tool/knittingGauge/i18n/pt.ts +234 -0
  97. package/src/tool/knittingGauge/i18n/ru.ts +234 -0
  98. package/src/tool/knittingGauge/i18n/sv.ts +234 -0
  99. package/src/tool/knittingGauge/i18n/tr.ts +234 -0
  100. package/src/tool/knittingGauge/i18n/zh.ts +234 -0
  101. package/src/tool/knittingGauge/index.ts +15 -7
  102. package/src/tool/laundryGuide/i18n/de.ts +275 -0
  103. package/src/tool/laundryGuide/i18n/id.ts +275 -0
  104. package/src/tool/laundryGuide/i18n/it.ts +275 -0
  105. package/src/tool/laundryGuide/i18n/ja.ts +275 -0
  106. package/src/tool/laundryGuide/i18n/ko.ts +275 -0
  107. package/src/tool/laundryGuide/i18n/nl.ts +275 -0
  108. package/src/tool/laundryGuide/i18n/pl.ts +275 -0
  109. package/src/tool/laundryGuide/i18n/pt.ts +275 -0
  110. package/src/tool/laundryGuide/i18n/ru.ts +275 -0
  111. package/src/tool/laundryGuide/i18n/sv.ts +275 -0
  112. package/src/tool/laundryGuide/i18n/tr.ts +275 -0
  113. package/src/tool/laundryGuide/i18n/zh.ts +275 -0
  114. package/src/tool/laundryGuide/index.ts +15 -7
  115. package/src/tool/needleConverter/i18n/de.ts +212 -0
  116. package/src/tool/needleConverter/i18n/id.ts +212 -0
  117. package/src/tool/needleConverter/i18n/it.ts +212 -0
  118. package/src/tool/needleConverter/i18n/ja.ts +212 -0
  119. package/src/tool/needleConverter/i18n/ko.ts +212 -0
  120. package/src/tool/needleConverter/i18n/nl.ts +212 -0
  121. package/src/tool/needleConverter/i18n/pl.ts +212 -0
  122. package/src/tool/needleConverter/i18n/pt.ts +212 -0
  123. package/src/tool/needleConverter/i18n/ru.ts +212 -0
  124. package/src/tool/needleConverter/i18n/sv.ts +212 -0
  125. package/src/tool/needleConverter/i18n/tr.ts +212 -0
  126. package/src/tool/needleConverter/i18n/zh.ts +212 -0
  127. package/src/tool/needleConverter/index.ts +15 -7
  128. package/src/tool/sewingPatternScaler/i18n/de.ts +227 -0
  129. package/src/tool/sewingPatternScaler/i18n/id.ts +227 -0
  130. package/src/tool/sewingPatternScaler/i18n/it.ts +227 -0
  131. package/src/tool/sewingPatternScaler/i18n/ja.ts +227 -0
  132. package/src/tool/sewingPatternScaler/i18n/ko.ts +227 -0
  133. package/src/tool/sewingPatternScaler/i18n/nl.ts +227 -0
  134. package/src/tool/sewingPatternScaler/i18n/pl.ts +227 -0
  135. package/src/tool/sewingPatternScaler/i18n/pt.ts +227 -0
  136. package/src/tool/sewingPatternScaler/i18n/ru.ts +227 -0
  137. package/src/tool/sewingPatternScaler/i18n/sv.ts +227 -0
  138. package/src/tool/sewingPatternScaler/i18n/tr.ts +227 -0
  139. package/src/tool/sewingPatternScaler/i18n/zh.ts +227 -0
  140. package/src/tool/sewingPatternScaler/index.ts +15 -7
  141. package/src/tool/shoeSizeConverter/i18n/de.ts +184 -0
  142. package/src/tool/shoeSizeConverter/i18n/id.ts +184 -0
  143. package/src/tool/shoeSizeConverter/i18n/it.ts +184 -0
  144. package/src/tool/shoeSizeConverter/i18n/ja.ts +184 -0
  145. package/src/tool/shoeSizeConverter/i18n/ko.ts +184 -0
  146. package/src/tool/shoeSizeConverter/i18n/nl.ts +184 -0
  147. package/src/tool/shoeSizeConverter/i18n/pl.ts +184 -0
  148. package/src/tool/shoeSizeConverter/i18n/pt.ts +184 -0
  149. package/src/tool/shoeSizeConverter/i18n/ru.ts +184 -0
  150. package/src/tool/shoeSizeConverter/i18n/sv.ts +184 -0
  151. package/src/tool/shoeSizeConverter/i18n/tr.ts +184 -0
  152. package/src/tool/shoeSizeConverter/i18n/zh.ts +184 -0
  153. package/src/tool/shoeSizeConverter/index.ts +15 -7
  154. package/src/tool/stainChemistry/i18n/de.ts +300 -0
  155. package/src/tool/stainChemistry/i18n/id.ts +300 -0
  156. package/src/tool/stainChemistry/i18n/it.ts +300 -0
  157. package/src/tool/stainChemistry/i18n/ja.ts +300 -0
  158. package/src/tool/stainChemistry/i18n/ko.ts +297 -0
  159. package/src/tool/stainChemistry/i18n/nl.ts +300 -0
  160. package/src/tool/stainChemistry/i18n/pl.ts +300 -0
  161. package/src/tool/stainChemistry/i18n/pt.ts +300 -0
  162. package/src/tool/stainChemistry/i18n/ru.ts +300 -0
  163. package/src/tool/stainChemistry/i18n/sv.ts +300 -0
  164. package/src/tool/stainChemistry/i18n/tr.ts +300 -0
  165. package/src/tool/stainChemistry/i18n/zh.ts +295 -0
  166. package/src/tool/stainChemistry/index.ts +15 -7
  167. package/src/tool/yarnCalculator/i18n/de.ts +310 -0
  168. package/src/tool/yarnCalculator/i18n/id.ts +310 -0
  169. package/src/tool/yarnCalculator/i18n/it.ts +310 -0
  170. package/src/tool/yarnCalculator/i18n/ja.ts +310 -0
  171. package/src/tool/yarnCalculator/i18n/ko.ts +310 -0
  172. package/src/tool/yarnCalculator/i18n/nl.ts +310 -0
  173. package/src/tool/yarnCalculator/i18n/pl.ts +310 -0
  174. package/src/tool/yarnCalculator/i18n/pt.ts +310 -0
  175. package/src/tool/yarnCalculator/i18n/ru.ts +310 -0
  176. package/src/tool/yarnCalculator/i18n/sv.ts +310 -0
  177. package/src/tool/yarnCalculator/i18n/tr.ts +310 -0
  178. package/src/tool/yarnCalculator/i18n/zh.ts +309 -0
  179. package/src/tool/yarnCalculator/index.ts +15 -7
  180. package/src/tools.ts +2 -0
  181. 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 = 'tygatatgangskalkylator-projekt';
6
+ const title = 'Tygåtgångskalkylator per plagg';
7
+ const description =
8
+ 'Beräkna enkelt hur mycket tyg du behöver för att sy en kjol, ett par byxor, en klänning eller en skjorta. Anpassa efter tygbredd och storlek för en professionell tillskärning.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Hur mycket tyg behöver jag för en kjol?',
13
+ answer:
14
+ 'Det beror på tygbredden. För en rak kjol i ett tyg som är 140-150 cm brett räcker det oftast med 1,20 meter. Om tyget är 90-110 cm brett behöver du 2,00 meter.',
15
+ },
16
+ {
17
+ question: 'Hur påverkar tygbredden åtgången?',
18
+ answer:
19
+ 'Vid en smalare bredd får mönsterdelarna inte plats bredvid varandra (parallellt), vilket gör att åtgången oftast fördubblas eftersom de måste placeras under varandra.',
20
+ },
21
+ {
22
+ question: 'Är det bättre att köpa extra tyg?',
23
+ answer:
24
+ 'Ja, en marginal på 10 % (ca 20 cm) rekommenderas för att kompensera för krympning, vävfel eller oväntade sömsmåner.',
25
+ },
26
+ {
27
+ question: 'Vad är trådrak och hur påverkar den sömnaden?',
28
+ answer:
29
+ 'Det är riktningen parallell med tygets stadkanter. Mönsterdelarna måste anpassas efter denna tråd för att plagget inte ska bli snett när det används.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Välj typ av plagg',
36
+ text: 'Välj den modell du ska sy (kjol, byxor etc.) för att ladda dess tabell för basåtgång.',
37
+ },
38
+ {
39
+ name: 'Ange tygbredd',
40
+ text: 'Mät bredden från stadkant til stadkant på det tyg du planerar att köpa (90, 115, 140 eller 150 cm).',
41
+ },
42
+ {
43
+ name: 'Välj storlek',
44
+ text: 'Justera plaggets volym efter storlek (XS-S, M-L, XL-XXL) för att beräkna om multiplikationsfaktorn.',
45
+ },
46
+ {
47
+ name: 'Se totalt antal meter',
48
+ text: 'Kontrollera slutresultatet med och utan sömsmån för att veta exakt hur mycket du ska be om i butiken.',
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: 'sv',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<FabricProjectCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Vanliga frågor',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Bibliografi',
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: 'Beräkna tygåtgång för sömnad: En komplett guide',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'En av de vanligaste frågorna i syateljén är hur mycket tyg man ska köpa till ett specifikt projekt. Tygåtgången beror radikalt på tre faktorer: plaggets modell, personens storlek och framför allt tygrullens bredd (som vanligtvis varierar mellan 90 cm och 150 cm). Denna tekniska kalkylator systematiserar beräkningen så att du varken köper för mycket eller står där med för lite mitt i tillskärningen.',
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Hur mycket tyg behöver jag till en klänning eller byxor?',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'Den traditionella beräkningen baseras på plaggets längd plus ärmarnas längd, med ett tillägg för infodringar och fåll. Men när tyget är smalt (90-110 cm) får delarna oftast inte plats bredvid varandra, vilket tvingar en att köpa dubbla längden. Vårt verktyg tar automatiskt hänsyn till dessa variationer enligt textilindustrins standard.',
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Uppskattad åtgång efter tygbredd (storlek M-L)',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'list',
134
+ items: [
135
+ '<strong>Rak kjol:</strong> 2,00 m vid 90 cm tygbredd · 1,20 m vid 140/150 cm tygbredd.',
136
+ '<strong>Långa byxor:</strong> 2,50 m vid 90 cm tygbredd · 1,50 m vid 140/150 cm tygbredd.',
137
+ '<strong>Långärmad skjorta:</strong> 2,20 m vid 90 cm tygbredd · 1,40 m vid 140/150 cm tygbredd.',
138
+ '<strong>Bas-klänning:</strong> 3,50 m vid 90 cm tygbredd · 2,20 m vid 140/150 cm tygbredd.',
139
+ ],
140
+ },
141
+ {
142
+ type: 'title',
143
+ text: 'Faktorer som ändrar tygåtgången',
144
+ level: 3,
145
+ },
146
+ {
147
+ type: 'list',
148
+ items: [
149
+ '<strong>Mönsterriktning (Rapport):</strong> Om tyget har ett mönster med en tydlig riktning eller rutor som måste passas in, behöver du mellan 15 % och 20 % extra material.',
150
+ '<strong>Skärning på snedden (Biais):</strong> Snedskurna eller cirkulära snitt (som helklockade kjolar) förbrukar betydligt mer tyg på grund av spillet i vinklarna.',
151
+ '<strong>Luggriktning:</strong> På tyger som sammet eller manchester måste alla delar klippas i samma riktning, vilket begränsar optimeringen av ytan.',
152
+ '<strong>Krympning:</strong> Många naturmaterial (bomull, linne, ull) krymper vid första tvätten. Det är avgörande att förtvätta tyget innan tillskärning.',
153
+ ],
154
+ },
155
+ {
156
+ type: 'tip',
157
+ title: 'Skräddarens tips',
158
+ html: '<p>Om du ska använda ett tyg med ett stort mönster eller rutor (plaids), lita inte enbart på det vanliga måttet. Lägg alltid till en hel mönsterrapport till det totala antalet beräknade meter för att garantera att mönstret stämmer i sidsömmarna.</p>',
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Fördelar och begränsningar med denna kalkylator',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'list',
167
+ items: [
168
+ 'Omedelbar beräkning för flera tygbredder med storleksjustering.',
169
+ 'Inkluderar anpassningsbar uppskattning av sömsmån.',
170
+ 'Visuell guide för placering av mönsterdelar på tyget.',
171
+ 'Ersätter inte en riktig mönsterläggning. Plus-storlekar kan kräva ytterligare manuella justeringar.',
172
+ ],
173
+ },
174
+ {
175
+ type: 'card',
176
+ title: 'Tygbredd',
177
+ icon: 'mdi:arrow-expand-horizontal',
178
+ html: 'Måttet tvärs över tyget från <strong>stadkant till stadkant</strong>. Avgör om mönsterdelarna får plats parallellt eller måste placeras efter varandra.',
179
+ },
180
+ {
181
+ type: 'card',
182
+ title: 'Sömsmån',
183
+ icon: 'mdi:tape-measure',
184
+ html: 'Avståndet mellan mönstrets kant och den <strong>slutliga sömlinjen</strong>. Ett standardvärde är 1,5 cm för klädsömnad.',
185
+ },
186
+ {
187
+ type: 'card',
188
+ title: 'Stadkant',
189
+ icon: 'mdi:content-cut',
190
+ html: 'De förstärkta sidokanterna på tyget som <strong>inte fransar sig</strong>. De anger trådrak riktning och fungerar som referens vid tillskärning.',
191
+ },
192
+ ],
193
+ ui: {
194
+ sectionProject: 'Projekt',
195
+ sectionMaterial: 'Material',
196
+ labelGarmentType: 'Typ av plagg',
197
+ labelSize: 'Storlek',
198
+ labelFabricWidth: 'Tygbredd (cm)',
199
+ labelSeamAllowance: 'Sömsmån (cm)',
200
+ garmentSkirt: 'Kjol (Rak/A-linje)',
201
+ garmentPants: 'Byxor',
202
+ garmentDress: 'Klänning',
203
+ garmentShirt: 'Skjorta / Blus',
204
+ garmentCoat: 'Kappa / Jacka',
205
+ garmentTote: 'Tygkasse (Tote Bag)',
206
+ garmentMerceria: {
207
+ skirt: '1 dragkedja 20cm, 1 knapp',
208
+ pants: '1 dragkedja 20cm, 1 knapp, 30cm mellanlägg',
209
+ dress: '1 dragkedja 60cm, 50cm mellanlägg',
210
+ shirt: '7 knappar, 1m tunt mellanlägg',
211
+ coat: '3 stora knappar, 1.5m mellanlägg, foder',
212
+ tote: '2m band till handtag',
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 (EU Standard)',
220
+ width150: '150 cm (Möbeltyg)',
221
+ btnClear: 'Rensa',
222
+ btnShare: 'Dela',
223
+ btnCopied: 'Kopierat!',
224
+ btnCopyList: 'Kopiera lista',
225
+ resultLabel: 'Du behöver:',
226
+ resultUnit: 'Meter',
227
+ shopAdviceFormat: 'Be om {m}m i butiken',
228
+ boardEmpty: 'Välj ett projekt för att se läggplanen',
229
+ boardDescFormat: 'Bredd: {w}cm | Längd: {m}m',
230
+ merchTitle: 'Sybehör och material',
231
+ checklistThread: 'Sytråd i matchande färg',
232
+ warningSerialFormat: 'Vid tyger på {w}cm får delarna i din storlek inte plats parallellt. Åtgången är anpassad för seriell tillskärning.',
233
+ foldLabel: '⊟ tygvikt',
234
+ pieceNames: {
235
+ front: 'Framstycke',
236
+ back: 'Bakstycke',
237
+ waistband: 'Linning',
238
+ waistbelt: 'Hälla',
239
+ sleeve: 'Ärm',
240
+ collar: 'Krage',
241
+ cuffs: 'Manschetter',
242
+ facings: 'Infodringar',
243
+ lapels: 'Slag',
244
+ pocket: 'Ficka',
245
+ body: 'Stycke',
246
+ handleA: 'Handtag A',
247
+ handleB: 'Handtag 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 = 'kumas-ihtiyaci-hesaplama-proje';
6
+ const title = 'Ürün Başına Kumaş Sarfiyat Hesaplayıcı';
7
+ const description =
8
+ 'Etek, pantolon, elbise veya gömlek dikmek için ne kadar kumaşa ihtiyacınız olduğunu kolayca hesaplayın. Profesyonel bir kesim için kumaş genişliği ve bedene göre ayarlayın.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Bir etek için ne kadar kumaşa ihtiyacım var?',
13
+ answer:
14
+ 'Kumaş genişliğine bağlıdır. 140-150 cm genişliğindeki kumaşlarda düz bir etek için genellikle 1.20 metre yeterlidir. Kumaş 90-110 cm genişliğindeyse 2.00 metreye ihtiyacınız olacaktır.',
15
+ },
16
+ {
17
+ question: 'Kumaş genişliği sarfiyatı nasıl etkiler?',
18
+ answer:
19
+ 'Genişlik azaldığında, kalıp parçaları yan yana (paralel) sığmaz, bu nedenle parçaları alt alta yerleştirmek zorunda kalacağınız için sarfiyat genellikle iki katına çıkar.',
20
+ },
21
+ {
22
+ question: 'Daha fazla kumaş almak daha mı iyi?',
23
+ answer:
24
+ 'Evet, çekme, kumaş hataları veya beklenmedik dikiş paylarını telafi etmek için %10\'luk bir marj (yaklaşık 20 cm) önerilir.',
25
+ },
26
+ {
27
+ question: 'Kumaşın boy ipliği nedir ve dikişi nasıl etkiler?',
28
+ answer:
29
+ 'Kumaşın kenarlarına paralel olan yöndür. Giysinin kullanım sırasında deforme olmaması için kalıpların bu ipliğe göre hizalanması gerekir.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Ürün Türünü Seçin',
36
+ text: 'Temel sarfiyat tablosunu yüklemek için dikeceğiniz modeli (etek, pantolon vb.) seçin.',
37
+ },
38
+ {
39
+ name: 'Kumaş Genişliğini Girin',
40
+ text: 'Satın almayı planladığınız kumaşın kenardan kenara genişliğini (90, 115, 140 veya 150 cm) ölçün.',
41
+ },
42
+ {
43
+ name: 'Bedeni Seçin',
44
+ text: 'Çarpan faktörünü yeniden hesaplamak için ürünün hacmini bedene göre (XS-S, M-L, XL-XXL) ayarlayın.',
45
+ },
46
+ {
47
+ name: 'Toplam Metreyi Alın',
48
+ text: 'Mağazada tam olarak ne kadar isteyeceğinizi bilmek için dikiş payı olan ve olmayan nihai sonucu kontrol edin.',
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: 'tr',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<FabricProjectCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Sıkça Sorulan Sorular',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Kaynakça',
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: 'Konfeksiyon İçin Kumaş Metre Hesaplayıcı: Sarfiyat Rehberi',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Dikiş atölyesinde en sık sorulan sorulardan biri, belirli bir proje için ne kadar kumaş satın alınacağını belirlemektir. Kumaş sarfiyatı kökten üç faktöre bağlıdır: giysinin modeli, kişinin bedeni ve her şeyden önemlisi, kumaş parçasının genişliği (genellikle 90 cm ile 150 cm arasında değişir). Bu teknik hesaplayıcı, fazla satın almamanız veya kesimin ortasında kumaşsız kalmamanız için hesaplamayı sistemleştirir.',
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: 'Bir elbise veya pantolon için ne kadar kumaşa ihtiyacım var?',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'Geleneksel hesaplama, giysi boyuna kol boyunun eklenmesi ve temizleme payları ile etek baskısı için bir marj eklenmesine dayanır. Ancak kumaş dar olduğunda (90-110 cm), parçalar genellikle yan yana sığmaz, bu da boyun iki katı kadar kumaş satın almanızı zorunlu kılar. Aracımız, tekstil endüstrisi standartlarına göre bu varyasyonları otomatik olarak dikkate alır.',
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Kumaş Genişliğine Göre Tahmini Sarfiyat (M-L beden)',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'list',
134
+ items: [
135
+ '<strong>Düz Etek:</strong> 90 cm kumaşta 2.00 m · 140/150 cm kumaşta 1.20 m.',
136
+ '<strong>Uzun Pantolon:</strong> 90 cm kumaşta 2.50 m · 140/150 cm kumaşta 1.50 m.',
137
+ '<strong>Uzun Kollu Gömlek:</strong> 90 cm kumaşta 2.20 m · 140/150 cm kumaşta 1.40 m.',
138
+ '<strong>Temel Elbise:</strong> 90 cm kumaşta 3.50 m · 140/150 cm kumaşta 2.20 m.',
139
+ ],
140
+ },
141
+ {
142
+ type: 'title',
143
+ text: 'Kumaş Sarfiyatını Değiştiren Faktörler',
144
+ level: 3,
145
+ },
146
+ {
147
+ type: 'list',
148
+ items: [
149
+ '<strong>Desen yönü (Rapport):</strong> Kumaşın net bir yönü olan bir deseni veya eşleşmesi gereken kareleri varsa, %15 ile %20 arasında ekstra malzemeye ihtiyacınız olacaktır.',
150
+ '<strong>Verev yönü (Al bies):</strong> Verev kesimler veya dairesel kesimler (kloş etekler gibi), açılardaki fire nedeniyle önemli ölçüde daha fazla kumaş tüketir.',
151
+ '<strong>Tüy yönü:</strong> Kadife veya fitilli kadife gibi dokumalarda, tüm parçalar aynı yönde kesilmelidir, bu da alan optimizasyonunu kısıtlar.',
152
+ '<strong>Çekme:</strong> Birçok doğal dokuma (pamuk, keten, yün) ilk yıkamadan sonra çeker. Kumaşı kesmeden önce ön yıkama yapmak hayati önem taşır.',
153
+ ],
154
+ },
155
+ {
156
+ type: 'tip',
157
+ title: 'Terzi Tavsiyesi',
158
+ html: '<p>Büyük bir deseni veya kareleri (plaid) olan bir kumaş kullanacaksanız, yalnızca standart ölçüye güvenmeyin. Yan dikişlerde desenlerin çakışmasını garanti etmek için hesaplanan toplam metreye daima desenin tam bir tekrarını (rapport) ekleyin.</p>',
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Bu Hesaplayıcının Avantajları ve Sınırlamaları',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'list',
167
+ items: [
168
+ 'Beden ayarı ile birden fazla kumaş genişliği için anında hesaplama.',
169
+ 'Özelleştirilebilir dikiş payı tahmini içerir.',
170
+ 'Kumaş üzerindeki parça yerleşimine dair görsel kılavuz.',
171
+ 'Gerçek bir kalıp yerleşiminin (pastal) yerini tutmaz. Büyük bedenler ek manuel ayarlamalar gerektirebilir.',
172
+ ],
173
+ },
174
+ {
175
+ type: 'card',
176
+ title: 'Kumaş eni',
177
+ icon: 'mdi:arrow-expand-horizontal',
178
+ html: 'Kumaşın <strong>kenardan kenara</strong> olan enlemesine ölçüsüdür. Kalıp parçalarının yan yana mı yoksa arka arkaya mı yerleştirileceğini belirler.',
179
+ },
180
+ {
181
+ type: 'card',
182
+ title: 'Dikiş payı',
183
+ icon: 'mdi:tape-measure',
184
+ html: 'Kalıp kenarı ile <strong>nihai dikiş hattı</strong> arasındaki mesafedir. Giysi dikişleri için standart bir değer 1.5 cm\'dir.',
185
+ },
186
+ {
187
+ type: 'card',
188
+ title: 'Kumaş kenarı (Selvedge)',
189
+ icon: 'mdi:content-cut',
190
+ html: 'Kumaşın <strong>sökülmeyen</strong> takviyeli yan kenarlarıdır. İplik yönünü gösterir ve kesim için referans işlevi görür.',
191
+ },
192
+ ],
193
+ ui: {
194
+ sectionProject: 'Proje',
195
+ sectionMaterial: 'Malzeme',
196
+ labelGarmentType: 'Ürün türü',
197
+ labelSize: 'Beden',
198
+ labelFabricWidth: 'Kumaş genişliği (cm)',
199
+ labelSeamAllowance: 'Dikiş payı (cm)',
200
+ garmentSkirt: 'Etek (Düz/Çan)',
201
+ garmentPants: 'Pantolon',
202
+ garmentDress: 'Elbise',
203
+ garmentShirt: 'Gömlek / Bluz',
204
+ garmentCoat: 'Palto / Ceket',
205
+ garmentTote: 'Tote Bag',
206
+ garmentMerceria: {
207
+ skirt: '1 fermuar 20cm, 1 düğme',
208
+ pants: '1 fermuar 20cm, 1 düğme, 30cm tela',
209
+ dress: '1 fermuar 60cm, 50cm tela',
210
+ shirt: '7 düğme, 1m ince tela',
211
+ coat: '3 büyük düğme, 1.5m tela, astar',
212
+ tote: '2m tutacak şeridi',
213
+ },
214
+ sizeXS: 'XS-S',
215
+ sizeM: 'M-L',
216
+ sizeXL: 'XL-XXL',
217
+ width90: '90 cm (Dar)',
218
+ width115: '115 cm (Patchwork)',
219
+ width140: '140 cm (Standart EU)',
220
+ width150: '150 cm (Döşemelik)',
221
+ btnClear: 'Temizle',
222
+ btnShare: 'Paylaş',
223
+ btnCopied: 'Kopyalandı!',
224
+ btnCopyList: 'Listeyi kopyala',
225
+ resultLabel: 'İhtiyacınız olan:',
226
+ resultUnit: 'Metre',
227
+ shopAdviceFormat: 'Mağazada {m}m isteyin',
228
+ boardEmpty: 'Yerleşimi görmek için bir proje seçin',
229
+ boardDescFormat: 'En: {w}cm | Boy: {m}m',
230
+ merchTitle: 'Tuhafiye ve Malzemeler',
231
+ checklistThread: 'Uygun renkte iplik',
232
+ warningSerialFormat: '{w}cm genişliğindeki kumaşlarda bedeninizin parçaları yan yana sığmaz. Sarfiyat seri kesim için ayarlanmıştır.',
233
+ foldLabel: '⊟ kumaş katı',
234
+ pieceNames: {
235
+ front: 'Ön',
236
+ back: 'Arka',
237
+ waistband: 'Kemer',
238
+ waistbelt: 'Kemer Köprüsü',
239
+ sleeve: 'Kol',
240
+ collar: 'Yaka',
241
+ cuffs: 'Manşetler',
242
+ facings: 'Pervazlar',
243
+ lapels: 'Klapa',
244
+ pocket: 'Cep',
245
+ body: 'Gövde',
246
+ handleA: 'Tutacak A',
247
+ handleB: 'Tutacak B',
248
+ },
249
+ },
250
+ };