@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,310 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YarnCalculatorUI } from '../ui';
4
+
5
+ const slug = 'wollrechner-garnverbrauch';
6
+ const title = 'Wollrechner: Wie viele Meter und Knäuel benötige ich?';
7
+ const description =
8
+ 'Berechnen Sie präzise die benötigte Menge an Wolle oder Garn für Ihre Strick- und Häkelprojekte basierend auf Muster und Größe.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Warum verbraucht Häkeln mehr Wolle als Stricken?',
13
+ answer:
14
+ 'Häkeln basiert auf der Erstellung von Knoten und überlappenden Schlaufen, was zu einem dichteren und dickeren Gewebe pro Quadratzentimeter führt. Im Durchschnitt verbraucht ein Häkelprojekt zwischen 25% und 35% mehr Garn als das gleiche Projekt, wenn es gestrickt würde.',
15
+ },
16
+ {
17
+ question: 'Was passiert, wenn ich Wolle aus verschiedenen Partien (Dye Lot) kaufe?',
18
+ answer:
19
+ 'Auch wenn die Farbe im Laden identisch aussieht, können minimale chemische Abweichungen beim Färben sichtbare Streifen im fertigen Kleidungsstück erzeugen. Es wird dringend empfohlen, die gesamte Wolle auf einmal zu kaufen und sicherzustellen, dass die Partienummer identisch ist.',
20
+ },
21
+ {
22
+ question: 'Wie beeinflusst die Maschenprobe (Gauge) den Verbrauch?',
23
+ answer:
24
+ 'Wenn Sie locker stricken, verbraucht jede Masche mehr Meter Garn. Wenn Ihre Maschenprobe größer ist als in der Anleitung angegeben (z. B. 13 statt 15 Maschen), erhöht sich der Wollverbrauch erheblich. Eine vorherige Maschenprobe ist daher unerlässlich.',
25
+ },
26
+ {
27
+ question: 'Wie berechne ich die Meterzahl, wenn ich nur das Gewicht des Knäuels habe?',
28
+ answer:
29
+ 'Ohne Angabe der Lauflänge ist es schwierig. Die meisten Knäuel geben die Meter auf der Banderole an. Falls nicht, suchen Sie nach dem Namen der Wolle in Datenbanken wie Ravelry, um die exakte Länge pro 50g oder 100g zu finden.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Projekt auswählen',
36
+ text: 'Wählen Sie zwischen Pullover, Schal, Mütze, Socken oder Decke, um die spezifischen Verbrauchsdaten zu laden.',
37
+ },
38
+ {
39
+ name: 'Größe und Dicke definieren',
40
+ text: 'Geben Sie die Endmaße (S, M, L, XL) und die Stärke des verwendeten Garns an (Fingering, DK, Worsted, Bulky).',
41
+ },
42
+ {
43
+ name: 'Multiplikatoren aktivieren',
44
+ text: 'Falls Ihr Muster Zöpfe oder komplexe Strukturen aufweist, aktivieren Sie den Schalter für Texturen, um den nötigen Aufschlag hinzuzufügen.',
45
+ },
46
+ {
47
+ name: 'Einkaufsliste erhalten',
48
+ text: 'Geben Sie die Meter pro Knäuel Ihrer gewählten Wolle ein, um genau zu sehen, wie viele Einheiten Sie kaufen müssen.',
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: 'de',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<YarnCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Häufig gestellte Fragen',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Literaturhinweise',
92
+ bibliography: [
93
+ {
94
+ name: 'Craft Yarn Council: Standard Yarn Weights & Yardages',
95
+ url: 'https://www.craftyarncouncil.com/standards/yarn-weight-system',
96
+ },
97
+ {
98
+ name: 'Interweave Essentials: Yarn Substitution and Estimation',
99
+ url: 'https://www.interweave.com/article/knitting/yarn-substitution-angelina-take-two/',
100
+ },
101
+ {
102
+ name: 'The Woolery: Fibers and Calculation of Yarn Usage',
103
+ url: 'https://woolery.com/blogs/the-woolery-blog/yarn-weight-charts-helpful-guide/',
104
+ },
105
+ ],
106
+ howTo: howToData,
107
+ schemas: [faqSchema, howToSchema, appSchema],
108
+ seo: [
109
+ {
110
+ type: 'title',
111
+ text: 'Leitfaden zum Wollverbrauch: So berechnen Sie Meter und Knäuel für Ihre Projekte',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Meistern Sie die Logistik des Handarbeitens und vermeiden Sie, dass Ihnen das Garn ausgeht, mit unserem technischen Wollrechner für Stricken und Häkeln. Die größte Angst beim Handarbeiten ist das <strong>"Yarn Chicken"</strong>: der kritische Moment am Ende eines Projekts, wenn es so aussieht, als würde das Garn ausgehen, bevor die letzten Maschen abgekettet sind. Dieser Rechner wurde entwickelt, um Schätzungen basierend auf Industriestandards für Lauflänge und Gewicht zu liefern.',
117
+ },
118
+ {
119
+ type: 'stats',
120
+ items: [
121
+ { value: '+10%', label: 'Sicherheitsmarge', icon: 'mdi:security' },
122
+ { value: 'Metrisch', label: 'Meter-Berechnung', icon: 'mdi:ruler' },
123
+ { value: 'Offline', label: 'Lokale Datenbank', icon: 'mdi:wifi-off' },
124
+ ],
125
+ columns: 3,
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Warum das Gewicht von Wollknäueln irreführend ist',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Viele Anfänger begehen den Fehler, Wolle ausschließlich nach Gewicht zu kaufen (z. B. "6 Knäuel zu je 100g"). Das Gewicht ist jedoch eine Einheit der Masse, nicht der Länge. Zwei Wollarten, die jeweils 100g wiegen, können radikal unterschiedliche Lauflängen haben: Eine Wolle vom Typ <strong>Bulky</strong> kann nur 80 Meter haben, während eine <strong>Fingering / Lace</strong> Wolle bei gleichem Gewicht über 450 Meter lang sein kann.',
135
+ },
136
+ {
137
+ type: 'paragraph',
138
+ html: 'Daher priorisiert unser Rechner immer die <strong>Gesamt-Meterzahl</strong>. Sobald Sie die benötigte Länge für Ihre Größe und Ihr Projekt kennen, können Sie diese durch die Lauflänge auf der Banderole teilen, um die exakte Anzahl der benötigten Knäuel zu erhalten.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Standard-Lauflängen-Tabelle nach Garnstärke',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Falls Sie die Banderole nicht zur Hand haben, können Sie diese Referenzwerte (pro 100g Faser) für Ihre Schätzung nutzen:',
148
+ },
149
+ {
150
+ type: 'table',
151
+ headers: ['Stärke (Weight)', 'Meter ca. / 100g', 'Empfohlene Nutzung', 'Empf. Nadelstärke'],
152
+ rows: [
153
+ ['<strong>Lace / 0</strong>', '600 - 900m', 'Spitzenschals, Ajourmuster', '1.5 - 2.5mm'],
154
+ ['<strong>Fingering / 1</strong>', '360 - 450m', 'Socken, Babykleidung', '2.25 - 3.25mm'],
155
+ ['<strong>Sport / 2</strong>', '270 - 320m', 'Leichte Jacken', '3.25 - 3.75mm'],
156
+ ['<strong>DK / 3</strong>', '200 - 250m', 'Pullover, Mützen', '3.75 - 4.5mm'],
157
+ ['<strong>Worsted / 4</strong>', '180 - 220m', 'Decken, Mäntel', '4.5 - 5.5mm'],
158
+ ['<strong>Bulky / 5</strong>', '100 - 140m', 'XXL-Schals, Decken', '6.0 - 8.0mm'],
159
+ ],
160
+ },
161
+ {
162
+ type: 'tip',
163
+ title: 'Der Faktor der Maschenprobe (Gauge)',
164
+ html: '<p>Denken Sie daran: Wenn Sie sehr locker stricken, werden Ihre Maschen größer und verbrauchen mehr Garn als bei festem Stricken. Unser Rechner wendet eine Sicherheitsmarge an. Wenn Sie jedoch wissen, dass Sie extrem locker stricken, sollten Sie 5-10% zusätzlich einplanen.</p>',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Variablen, die den Garnverbrauch erhöhen',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: 'Nicht alle Muster verbrauchen die gleiche Menge an Fasern. Beachten Sie bei der Wahl Ihres Designs diese Multiplikationsfaktoren:',
174
+ },
175
+ {
176
+ type: 'comparative',
177
+ items: [
178
+ {
179
+ title: 'Glatt rechts / Jersey',
180
+ description: 'Stellt den Basisverbrauch und die maximale Garneffizienz für jedes Kleidungsstück dar.',
181
+ icon: 'mdi:minus-circle-outline',
182
+ points: ['Ideal für Anfänger', 'Natürlicher Fall des Gewebes'],
183
+ },
184
+ {
185
+ title: 'Zöpfe / Struktur',
186
+ description: 'Die Kreuzung der Fasern "verkürzt" das Stück und erhöht den Verbrauch um ca. 25%.',
187
+ icon: 'mdi:texture-box',
188
+ points: ['Benötigt mehr Meter', 'Dichteres und schwereres Gewebe'],
189
+ pointIcon: 'mdi:alert-circle-outline',
190
+ },
191
+ {
192
+ title: 'Häkeln (Crochet)',
193
+ description: 'Häkelknoten verbrauchen ca. 30% mehr Garn als das Stricken.',
194
+ icon: 'mdi:hook',
195
+ points: ['Höherer Knäuelverbrauch', 'Dreidimensionale Textur'],
196
+ pointIcon: 'mdi:alert-circle-outline',
197
+ },
198
+ {
199
+ title: 'Rippenmuster',
200
+ description: 'Die Rechts/Links-Struktur sammelt mehr Wolle pro Quadratzentimeter an.',
201
+ icon: 'mdi:unfold-more-horizontal',
202
+ points: ['Mittlerer Verbrauch (+15%)', 'Hohe Elastizität'],
203
+ },
204
+ ],
205
+ columns: 2,
206
+ },
207
+ {
208
+ type: 'title',
209
+ text: 'Glossar für vorausschauende Handarbeiter',
210
+ level: 3,
211
+ },
212
+ {
213
+ type: 'glossary',
214
+ items: [
215
+ {
216
+ term: 'Dye Lot (Farbpartie)',
217
+ definition:
218
+ 'Nummer, die das Färbebad identifiziert. Verschiedene Partien können Farbunterschiede aufweisen, die am Knäuel kaum, im fertigen Kleidungsstück aber deutlich sichtbar sind.',
219
+ },
220
+ {
221
+ term: 'Stash (Vorrat)',
222
+ definition:
223
+ 'Die persönliche Garnsammlung. Das Gewicht von Restgarn ohne Banderole zu kennen, ist wichtig für kleine Projekte.',
224
+ },
225
+ {
226
+ term: 'Aufmachung',
227
+ definition:
228
+ 'Die Form des Garns (Strang, Knäuel oder Konus), was beeinflusst, ob es vor der Verwendung gewickelt werden muss.',
229
+ },
230
+ {
231
+ term: 'Yarn Chicken',
232
+ definition:
233
+ 'Die Herausforderung, einen Abschnitt zu beenden, wenn die Garnmenge unzureichend erscheint.',
234
+ },
235
+ ],
236
+ },
237
+ {
238
+ type: 'title',
239
+ text: 'So nutzen Sie die Ergebnisse dieses Rechners',
240
+ level: 3,
241
+ },
242
+ {
243
+ type: 'paragraph',
244
+ html: 'Sobald das Tool Ihnen die Anzahl an Metern und Knäueln ausgibt, empfehlen wir folgende manuelle Überprüfungsschritte:',
245
+ },
246
+ {
247
+ type: 'list',
248
+ items: [
249
+ '<strong>Lauflänge Ihres Knäuels prüfen:</strong> Nicht jedes 100g-Knäuel hat 200m. Überprüfen Sie dies auf der Banderole.',
250
+ '<strong>Extras dazurechnen:</strong> Wenn Sie Fransen für einen Schal oder Pompons für eine Mütze planen, rechnen Sie 50-80 Meter extra dazu.',
251
+ '<strong>Maschenprobe:</strong> Stricken Sie ein 10x10 cm Quadrat. Wiegen Sie es genau. Wenn es 20g wiegt und Ihre Decke 100x100 cm groß ist (100 Quadrate), benötigen Sie genau 2kg Wolle.',
252
+ '<strong>Immer aus der gleichen Partie kaufen:</strong> Wenn die Berechnung 7 Knäuel ergibt, kaufen Sie lieber 8, um Puffer für Nähte zu haben.',
253
+ ],
254
+ },
255
+ {
256
+ type: 'summary',
257
+ title: 'Strategische Tipps für den Wollkauf',
258
+ items: [
259
+ 'Priorisieren Sie Meter gegenüber Gramm, um die benötigte Länge sicherzustellen.',
260
+ 'Häkeln verbraucht wesentlich mehr Wolle als Stricken; passen Sie die Auswahl entsprechend an.',
261
+ 'Dichte Texturen (Zöpfe) erfordern einen Aufschlag von 25% beim Garnbudget.',
262
+ 'Bewahren Sie immer eine Banderole jeder Partie auf, falls Sie Wolle nachbestellen müssen.',
263
+ 'Nutzen Sie den 10%-Sicherheitspuffer für die obligatorische Maschenprobe.',
264
+ ],
265
+ },
266
+ ],
267
+ ui: {
268
+ sectionProject: '1. PROJEKTART',
269
+ sectionSize: '2. ABMESSUNGEN / GRÖSSE',
270
+ sectionWeight: '3. GARNSTÄRKE',
271
+ sectionPattern: '4. MUSTER-MERKMALE',
272
+ sectionBall: '5. KNÄUEL-DATEN',
273
+ labelCables: 'Zöpfe oder dichte Strukturen?',
274
+ labelGrams: 'GRAMM / KNÄUEL',
275
+ labelMeters: 'METER / KNÄUEL',
276
+ weightFine: 'Fein',
277
+ weightMedium: 'Mittel',
278
+ weightThick: 'Dick',
279
+ weightXXL: 'XXL',
280
+ projectSweater: 'PULLOVER',
281
+ projectScarf: 'SCHAL',
282
+ projectHat: 'MÜTZE',
283
+ projectSocks: 'SOCKEN',
284
+ projectBlanket: 'DECKE',
285
+ projectCardigan: 'STRICKJACKE',
286
+ statPrefix: 'GESCHÄTZTER VERBRAUCH',
287
+ statSuffix: 'M',
288
+ statNote: 'Endgültige Lauflänge berechnet mit 10% Sicherheitsreserve.',
289
+ ballsFormatSingular: 'Kaufen Sie {n} Knäuel',
290
+ ballsFormatPlural: 'Kaufen Sie {n} Knäuel',
291
+ ballsDetailFormat: 'Knäuel zu je {w}g / {m}m.',
292
+ alertTitle: 'Strategische Sicherheit:',
293
+ alertText:
294
+ 'Diese Berechnung stellt sicher, dass Ihnen das Garn nicht ausgeht. Achten Sie beim Kauf auf die gleiche Farbpartie (Dye Lot).',
295
+ schemeSleeveLabel: 'Ärmel',
296
+ schemeSleeveEach: 'je',
297
+ schemeBodyLabel: 'Körper',
298
+ schemeTotalHat: 'Gesamt Mütze',
299
+ schemeTotalFlat: 'Gesamt Stück',
300
+ schemeTotalSocks: 'Gesamt Paar',
301
+ sizeLabels: {
302
+ sweater: ['S', 'M', 'L', 'XL'],
303
+ cardigan: ['S', 'M', 'L', 'XL'],
304
+ hat: ['Kind', 'S', 'M', 'L'],
305
+ scarf: ['Mini', 'M', 'Groß', 'Maxi'],
306
+ socks: ['Kind', 'Erw. S', 'Erw. M', 'Erw. L'],
307
+ blanket: ['Baby', 'Sofa', 'Bett 90', 'Bett 150'],
308
+ },
309
+ },
310
+ };
@@ -0,0 +1,310 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YarnCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkulator-benang-rajut';
6
+ const title = 'Kalkulator Benang: Berapa meter dan gulung yang saya butuhkan?';
7
+ const description =
8
+ 'Hitung dengan presisi metrik jumlah wol atau benang yang dibutuhkan untuk proyek merajut (knit) dan merenda (crochet) berdasarkan pola dan ukuran.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Mengapa merenda (crochet) menghabiskan lebih banyak benang daripada merajut (knit)?',
13
+ answer:
14
+ 'Merenda didasarkan pada pembuatan simpul dan loop yang tumpang tindih, yang menghasilkan kain yang lebih padat dan tebal per sentimeter persegi. Rata-rata, proyek crochet mengonsumsi antara 25% hingga 35% lebih banyak benang daripada proyek rajutan dua jarum yang sama.',
15
+ },
16
+ {
17
+ question: 'Apa yang terjadi jika saya membeli benang dari lot pewarna (Dye Lot) yang berbeda?',
18
+ answer:
19
+ 'Meskipun warnanya tampak identik di toko, variasi kimia minimal selama pencelupan dapat menciptakan "garis-garis" yang terlihat pada pakaian yang sudah jadi. Sangat disarankan untuk membeli semua benang sekaligus dengan memastikan kode lot-nya sama.',
20
+ },
21
+ {
22
+ question: 'Bagaimana ketegangan (gauge) memengaruhi konsumsi akhir?',
23
+ answer:
24
+ 'Jika Anda merajut dengan longgar, setiap tusukan menghabiskan lebih banyak meter benang. Jika sampel ketegangan Anda lebih besar dari yang ditunjukkan pola (misalnya 13 tusukan, bukan 15), konsumsi benang Anda akan meningkat secara substansial. Melakukan sampel ketegangan sebelumnya sangatlah penting.',
25
+ },
26
+ {
27
+ question: 'Bagaimana cara menghitung meter jika saya hanya tahu berat gulungan benang?',
28
+ answer:
29
+ 'Tanpa data panjang meter, sulit ditentukan. Kebanyakan gulungan benang mencantumkan panjang meternya di label. Jika tidak ada, cari nama benangnya di database seperti Ravelry untuk menemukan panjang pastinya per 50g atau 100g.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Pilih proyek',
36
+ text: 'Pilih antara sweter, syal, topi, kaus kaki, atau selimut untuk memuat basis konsumsi spesifik.',
37
+ },
38
+ {
39
+ name: 'Tentukan ukuran dan ketebalan',
40
+ text: 'Tentukan dimensi akhir (S, M, L, XL) dan ketebalan benang yang akan Anda gunakan (Fingering, DK, Worsted, Bulky).',
41
+ },
42
+ {
43
+ name: 'Aktifkan pengganda',
44
+ text: 'Jika pola Anda memiliki kepang (cables) atau tekstur kompleks, aktifkan sakelar tekstur untuk menambahkan tambahan yang diperlukan.',
45
+ },
46
+ {
47
+ name: 'Dapatkan daftar belanja',
48
+ text: 'Masukkan panjang meter per gulung dari benang pilihan Anda untuk melihat persis berapa banyak unit yang harus Anda beli.',
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: 'id',
83
+ };
84
+
85
+ export const content: ToolLocaleContent<YarnCalculatorUI> = {
86
+ slug,
87
+ title,
88
+ description,
89
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
90
+ faq: faqData,
91
+ bibliographyTitle: 'Referensi',
92
+ bibliography: [
93
+ {
94
+ name: 'Craft Yarn Council: Standard Yarn Weights & Yardages',
95
+ url: 'https://www.craftyarncouncil.com/standards/yarn-weight-system',
96
+ },
97
+ {
98
+ name: 'Interweave Essentials: Yarn Substitution and Estimation',
99
+ url: 'https://www.interweave.com/article/knitting/yarn-substitution-angelina-take-two/',
100
+ },
101
+ {
102
+ name: 'The Woolery: Fibers and Calculation of Yarn Usage',
103
+ url: 'https://woolery.com/blogs/the-woolery-blog/yarn-weight-charts-helpful-guide/',
104
+ },
105
+ ],
106
+ howTo: howToData,
107
+ schemas: [faqSchema, howToSchema, appSchema],
108
+ seo: [
109
+ {
110
+ type: 'title',
111
+ text: 'Panduan Konsumsi Benang: Cara Menghitung meter dan gulungan untuk proyek Anda',
112
+ level: 2,
113
+ },
114
+ {
115
+ type: 'paragraph',
116
+ html: 'Kuasai logistik merajut dan hindari kehabisan benang dengan kalkulator teknis presisi kami untuk rajut dan renda. Salah satu ketakutan terbesar setiap perajut adalah <strong>"Yarn Chicken"</strong>: momen kritis di akhir proyek di mana benang sepertinya akan habis sebelum menyelesaikan tusukan terakhir. Kalkulator ini dikembangkan untuk menawarkan estimasi berdasarkan standar industri panjang meter dan berat benang.',
117
+ },
118
+ {
119
+ type: 'stats',
120
+ items: [
121
+ { value: '+10%', label: 'Margin Aman', icon: 'mdi:security' },
122
+ { value: 'Metrik', label: 'Perhitungan dalam Meter', icon: 'mdi:ruler' },
123
+ { value: 'Offline', label: 'Database Lokal', icon: 'mdi:wifi-off' },
124
+ ],
125
+ columns: 3,
126
+ },
127
+ {
128
+ type: 'title',
129
+ text: 'Mengapa berat gulungan benang sering menipu?',
130
+ level: 3,
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Banyak pemula melakukan kesalahan dengan membeli benang hanya berdasarkan berat (misalnya "6 gulung seberat 100g"). Namun, berat adalah satuan massa, bukan panjang. Dua benang yang keduanya seberat 100g dapat memiliki panjang yang sangat berbeda: benang jenis <strong>Bulky</strong> mungkin hanya memiliki panjang 80 meter, sedangkan benang <strong>Fingering / Lace</strong> dapat melebihi 450 meter dengan berat yang sama.',
135
+ },
136
+ {
137
+ type: 'paragraph',
138
+ html: 'Oleh karena itu, kalkulator kami selalu memprioritaskan <strong>total meter</strong>. Setelah Anda mengetahui panjang yang dibutuhkan untuk ukuran dan proyek Anda, Anda dapat membaginya dengan panjang meter yang tertera pada label benang spesifik Anda untuk mendapatkan jumlah gulungan yang tepat yang harus Anda beli.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Tabel Panjang Meter Standar berdasarkan Ketebalan',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Jika Anda tidak memegang label benangnya, Anda dapat menggunakan referensi panjang meter ini (per 100g serat) untuk estimasi Anda:',
148
+ },
149
+ {
150
+ type: 'table',
151
+ headers: ['Ketebalan (Weight)', 'Meter kira-kira / 100g', 'Kegunaan yang Disarankan', 'Saran Jarum'],
152
+ rows: [
153
+ ['<strong>Lace / 0</strong>', '600 - 900m', 'Syal renda, rajutan berlubang', '1.5 - 2.5mm'],
154
+ ['<strong>Fingering / 1</strong>', '360 - 450m', 'Kaus kaki, pakaian bayi', '2.25 - 3.25mm'],
155
+ ['<strong>Sport / 2</strong>', '270 - 320m', 'Jaket ringan', '3.25 - 3.75mm'],
156
+ ['<strong>DK / 3</strong>', '200 - 250m', 'Sweter, topi', '3.75 - 4.5mm'],
157
+ ['<strong>Worsted / 4</strong>', '180 - 220m', 'Selimut, mantel', '4.5 - 5.5mm'],
158
+ ['<strong>Bulky / 5</strong>', '100 - 140m', 'Syal XXL, selimut', '6.0 - 8.0mm'],
159
+ ],
160
+ },
161
+ {
162
+ type: 'tip',
163
+ title: 'Faktor Ketegangan (Gauge)',
164
+ html: '<p>Ingatlah bahwa jika Anda merajut dengan sangat longgar, tusukan Anda akan lebih besar dan menghabiskan lebih banyak benang daripada jika Anda merajut dengan kencang. Kalkulator kami menerapkan margin keamanan, tetapi jika Anda tahu ketegangan Anda sangat longgar, pertimbangkan untuk menambahkan 5-10% tambahan pada hasilnya untuk menghindari kekurangan benang.</p>',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Variabel yang meningkatkan konsumsi benang',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: 'Tidak semua tusukan menghabiskan jumlah serat yang sama. Saat memilih desain Anda, pertimbangkan faktor-faktor pengganda ini:',
174
+ },
175
+ {
176
+ type: 'comparative',
177
+ items: [
178
+ {
179
+ title: 'Stockinette / Jersey',
180
+ description: 'Mewakili konsumsi dasar dan efisiensi benang maksimal untuk pakaian apa pun.',
181
+ icon: 'mdi:minus-circle-outline',
182
+ points: ['Ideal untuk pemula', 'Tekstur jatuh alami'],
183
+ },
184
+ {
185
+ title: 'Cables / Kepang',
186
+ description: 'Persilangan serat "memperpendek" potongan kain, meningkatkan konsumsi sekitar 25%.',
187
+ icon: 'mdi:texture-box',
188
+ points: ['Butuh lebih banyak meter', 'Kain lebih padat dan berat'],
189
+ pointIcon: 'mdi:alert-circle-outline',
190
+ },
191
+ {
192
+ title: 'Merenda (Crochet)',
193
+ description: 'Simpul crochet menggunakan sekitar 30% lebih banyak benang daripada merajut biasa.',
194
+ icon: 'mdi:hook',
195
+ points: ['Penggunaan benang lebih cepat', 'Tekstur tiga dimensi'],
196
+ pointIcon: 'mdi:alert-circle-outline',
197
+ },
198
+ {
199
+ title: 'Ribbing / Karet',
200
+ description: 'Struktur atas/bawah mengumpulkan lebih banyak wol per cm persegi.',
201
+ icon: 'mdi:unfold-more-horizontal',
202
+ points: ['Konsumsi menengah (+15%)', 'Pemulihan elastisitas tinggi'],
203
+ },
204
+ ],
205
+ columns: 2,
206
+ },
207
+ {
208
+ type: 'title',
209
+ text: 'Glosarium Perajut Pintar',
210
+ level: 3,
211
+ },
212
+ {
213
+ type: 'glossary',
214
+ items: [
215
+ {
216
+ term: 'Dye Lot (Lot Pewarna)',
217
+ definition:
218
+ 'Nomor yang mengidentifikasi bak pewarna tempat benang dicelup. Lot yang berbeda dapat memiliki variasi warna yang tidak terlihat saat dalam gulungan tetapi sangat terlihat pada pakaian yang sudah jadi.',
219
+ },
220
+ {
221
+ term: 'Stash (Simpanan)',
222
+ definition:
223
+ 'Koleksi pribadi benang seorang perajut. Mengidentifikasi berat sisa benang tanpa label sangat penting untuk proyek kecil.',
224
+ },
225
+ {
226
+ term: 'Put-up',
227
+ definition:
228
+ 'Cara benang disajikan (dalam bentuk hanks, gulungan ball, atau cones), yang memengaruhi apakah perlu digulung ulang sebelum digunakan.',
229
+ },
230
+ {
231
+ term: 'Yarn Chicken',
232
+ definition:
233
+ 'Tantangan mencoba menyelesaikan bagian rajutan dengan jumlah benang yang tampaknya tidak mencukupi.',
234
+ },
235
+ ],
236
+ },
237
+ {
238
+ type: 'title',
239
+ text: 'Cara menggunakan hasil kalkulator ini',
240
+ level: 3,
241
+ },
242
+ {
243
+ type: 'paragraph',
244
+ html: 'Setelah alat memberikan jumlah meter dan gulungan, kami sarankan untuk melakukan langkah-langkah verifikasi manual berikut:',
245
+ },
246
+ {
247
+ type: 'list',
248
+ items: [
249
+ '<strong>Periksa panjang meter gulungan asli Anda:</strong> Tidak semua gulungan 100g memiliki panjang 200m. Verifikasi data ini di label untuk menyesuaikan perhitungan akhir.',
250
+ '<strong>Tambahkan panjang meter untuk detail:</strong> Jika Anda akan menambahkan rumbai pada syal atau pompon pada topi, tambahkan ekstara 50-80 meter pada totalnya.',
251
+ '<strong>Sampel ketegangan:</strong> Rajut kotak berukuran 10x10 cm. Timbang dengan timbangan presisi. Jika beratnya 20g dan selimut Anda berukuran 100x100 (100 kotak), Anda akan membutuhkan tepat 2kg benang.',
252
+ '<strong>Belilah dari lot yang sama:</strong> Jika hasil hitung menunjukkan 7 gulung, belilah 8 untuk berjaga-jaga jika ada perbedaan lot agar memiliki ruang gerak atau untuk bagian tersembunyi seperti jahitan.',
253
+ ],
254
+ },
255
+ {
256
+ type: 'summary',
257
+ title: 'Saran Strategis untuk Membeli Benang',
258
+ items: [
259
+ 'Prioritaskan panjang meter daripada gram untuk memastikan panjang yang dibutuhkan.',
260
+ 'Merenda menghabiskan lebih banyak benang daripada merajut; sesuaikan pemilih jenis.',
261
+ 'Tekstur padat (kepang) memerlukan kenaikan 25% dalam anggaran benang.',
262
+ 'Selalu simpan label dari setiap lot jika Anda perlu memesan warna pengganti.',
263
+ 'Gunakan margin keamanan 10% untuk merajut sampel ketegangan wajib.',
264
+ ],
265
+ },
266
+ ],
267
+ ui: {
268
+ sectionProject: '1. JENIS PROYEK',
269
+ sectionSize: '2. DIMENSI / UKURAN',
270
+ sectionWeight: '3. KETEBALAN BENANG',
271
+ sectionPattern: '4. KARAKTERISTIK POLA',
272
+ sectionBall: '5. DATA GULUNGAN',
273
+ labelCables: 'Kepang atau tekstur padat?',
274
+ labelGrams: 'GRAM / GULUNG',
275
+ labelMeters: 'METER / GULUNG',
276
+ weightFine: 'Halus',
277
+ weightMedium: 'Sedang',
278
+ weightThick: 'Tebal',
279
+ weightXXL: 'XXL',
280
+ projectSweater: 'SWETER',
281
+ projectScarf: 'SYAL',
282
+ projectHat: 'TOPI',
283
+ projectSocks: 'KAUS KAKI',
284
+ projectBlanket: 'SELIMUT',
285
+ projectCardigan: 'JAKET RAJUT',
286
+ statPrefix: 'ESTIMASI TOTAL KONSUMSI',
287
+ statSuffix: 'M',
288
+ statNote: 'Panjang meter akhir dihitung dengan cadangan stok 10%.',
289
+ ballsFormatSingular: 'Beli {n} gulung',
290
+ ballsFormatPlural: 'Beli {n} gulung',
291
+ ballsDetailFormat: 'Gulungan seberat {w}g / {m}m masing-masing.',
292
+ alertTitle: 'Keamanan strategis:',
293
+ alertText:
294
+ 'Perhitungan ini menjamin Anda tidak akan kehabisan benang. Pastikan lot pewarna (dye lot) sama saat membeli benang Anda.',
295
+ schemeSleeveLabel: 'Lengan',
296
+ schemeSleeveEach: 'masing-masing',
297
+ schemeBodyLabel: 'Badan',
298
+ schemeTotalHat: 'Total Topi',
299
+ schemeTotalFlat: 'Total Bagian',
300
+ schemeTotalSocks: 'Total Sepasang',
301
+ sizeLabels: {
302
+ sweater: ['S', 'M', 'L', 'XL'],
303
+ cardigan: ['S', 'M', 'L', 'XL'],
304
+ hat: ['Anak', 'S', 'M', 'L'],
305
+ scarf: ['Mini', 'M', 'Besar', 'Maxi'],
306
+ socks: ['Anak', 'Dws S', 'Dws M', 'Dws L'],
307
+ blanket: ['Bayi', 'Sofa', 'Tempat Tidur 90', 'Tempat Tidur 150'],
308
+ },
309
+ },
310
+ };