@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,275 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'textilpflege-leitfaden';
5
+ const title = 'Textilpflege Leitfaden: So waschen Sie jeden Fasertyp';
6
+ const description = 'Wissenschaftlicher Leitfaden zum Waschen und Pflegen von Baumwolle, Wolle, Seide, Leinen und Synthetik. Verhindern Sie Einlaufen, Verblassen und Schäden mit präzisen Anweisungen.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Wie verhindere ich, dass Farben verblassen?',
11
+ answer: 'Waschen Sie in kaltem Wasser (maximal 30°C), drehen Sie die Kleidungsstücke auf links, verwenden Sie Feinwaschmittel für dunkle Wäsche und vermeiden Sie direktes Sonnenlicht beim Trocknen.',
12
+ },
13
+ {
14
+ question: 'Kann ich Wolle in der Waschmaschine waschen?',
15
+ answer: 'Ja, aber nur im Wollwaschgang (kaltes Wasser, sanfte Bewegung). Verwenden Sie spezielles Wollwaschmittel und niemals einen normalen Waschgang.',
16
+ },
17
+ {
18
+ question: 'Warum bekommt meine Seide Wasserflecken?',
19
+ answer: 'Seide reagiert auf Mineralien im Wasser. Verwenden Sie destilliertes Wasser für die letzte Spülung oder reiben Sie den Fleck vorsichtig mit reiner Seide ab.',
20
+ },
21
+ ];
22
+
23
+ const howToData = [
24
+ { name: 'Etikett prüfen', text: 'Lesen Sie vor dem Waschen immer die Pflegehinweise auf dem Etikett.' },
25
+ { name: 'Nach Fasertyp sortieren', text: 'Waschen Sie Naturfasern nach Möglichkeit getrennt von Synthetikfasern.' },
26
+ { name: 'Wassertemperatur wählen', text: 'Verwenden Sie kaltes Wasser für empfindliche Stoffe und heißes Wasser nur für strapazierfähige Materialien.' },
27
+ ];
28
+
29
+ const faqSchema: WithContext<FAQPage> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'FAQPage',
32
+ mainEntity: faqData.map((item) => ({
33
+ '@type': 'Question',
34
+ name: item.question,
35
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
36
+ })),
37
+ };
38
+
39
+ const howToSchema: WithContext<HowTo> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'HowTo',
42
+ name: title,
43
+ description: description,
44
+ step: howToData.map((step) => ({
45
+ '@type': 'HowToStep',
46
+ name: step.name,
47
+ text: step.text,
48
+ })),
49
+ };
50
+
51
+ const appSchema: WithContext<SoftwareApplication> = {
52
+ '@context': 'https://schema.org',
53
+ '@type': 'SoftwareApplication',
54
+ name: title,
55
+ description: description,
56
+ applicationCategory: 'UtilityApplication',
57
+ operatingSystem: 'All',
58
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
59
+ inLanguage: 'de',
60
+ };
61
+
62
+ export const content: ToolLocaleContent = {
63
+ slug,
64
+ title,
65
+ description,
66
+ ui: {
67
+ selectMaterialTitle: 'Material auswählen',
68
+ selectMaterialPrompt: 'Wählen Sie ein Gewebe aus, um den Pflegeleitfaden zu sehen',
69
+ careInstructions: 'Premium-Pflegeanweisungen',
70
+ maxTemp: 'Höchsttemperatur',
71
+ ironing: 'Bügeln',
72
+ drying: 'Trocknen',
73
+ avoidLabel: 'Zu VERMEIDEN',
74
+ sosLabel: 'Pflege-Tipp',
75
+ textileData: {
76
+ cotton: {
77
+ name: "Baumwolle",
78
+ description: "Natürliche Pflanzenfaser, weich und atmungsaktiv. Der König der Basics.",
79
+ family: "natural",
80
+ origin: "Kapsel der Baumwollpflanze",
81
+ breathability: 9,
82
+ durability: 7,
83
+ warmth: 4,
84
+ washing: "Kaltes oder lauwarmes Wasser (läuft bei Hitze ein). Starkes Schleudern erlaubt.",
85
+ drying: "Trockner bei mittlerer Temp oder an der Luft.",
86
+ ironing: "Heiß bügeln mit Dampf, solange es noch feucht ist.",
87
+ donts: ["Lange feucht lassen (Schimmel)", "Zu viel Bleiche (schwächt die Faser)"],
88
+ sos: "Eingelaufen? In lauwarmem Wasser mit Haarspülung einweichen und vorsichtig dehnen.",
89
+ icon: "mdi:tshirt-crew",
90
+ color: "#60A5FA",
91
+ maxTemp: "40-60°C",
92
+ isNoble: false,
93
+ },
94
+ linen: {
95
+ name: "Leinen",
96
+ description: "Sehr starke Pflanzenfaser, kühl und mit charakteristischer Knitteroptik.",
97
+ family: "natural",
98
+ origin: "Stängel der Flachspflanze",
99
+ breathability: 10,
100
+ durability: 9,
101
+ warmth: 2,
102
+ washing: "Schonwaschgang, Trommel nicht zu voll machen (braucht Wasser, um nicht zu brechen).",
103
+ drying: "An der Luft. NIEMALS Trockner (bricht die Fasern).",
104
+ ironing: "Höchste Temperatur, das Kleidungsstück muss dabei sehr feucht sein.",
105
+ donts: ["Starkes Schleudern", "Immer an der gleichen Stelle falten (Bruchgefahr)"],
106
+ sos: "Glanz durch Bügeln? Mit einem Tuch und weißem Essig abreiben.",
107
+ icon: "mdi:leaf",
108
+ color: "#A7F3D0",
109
+ maxTemp: "60°C",
110
+ isNoble: true,
111
+ },
112
+ wool: {
113
+ name: "Wolle / Merino",
114
+ description: "Tierische Proteinfaser, exzellente Wärmeisolation und elastisch.",
115
+ family: "natural",
116
+ origin: "Schafvlies",
117
+ breathability: 8,
118
+ durability: 6,
119
+ warmth: 10,
120
+ washing: "Handwäsche oder Wollwaschgang. Neutrale Seife. NIEMALS heißes Wasser (verfilzt).",
121
+ drying: "Liegend auf einem Handtuch. Niemals aufhängen (verformt sich).",
122
+ ironing: "Vertikaldampf oder mittlere Temperatur mit Tuch darüber.",
123
+ donts: ["Heißes Wasser", "Rubbeln oder Wringen", "Bleichmittel (löst Wolle auf)"],
124
+ sos: "Verfilzt? Fast unmöglich zu retten, aber Einweichen mit Weichspüler kann etwas entspannen.",
125
+ icon: "mdi:sheep",
126
+ color: "#FCD34D",
127
+ maxTemp: "30°C",
128
+ isNoble: true,
129
+ },
130
+ silk: {
131
+ name: "Seide",
132
+ description: "Tierische Faser aus Endlosfilament. Natürlicher Glanz und trockener Griff.",
133
+ family: "natural",
134
+ origin: "Kokon der Seidenraupe",
135
+ breathability: 7,
136
+ durability: 5,
137
+ warmth: 6,
138
+ washing: "Handwäsche in kaltem Wasser mit neutralem Shampoo. Nicht wringen.",
139
+ drying: "In Handtuch einrollen, um Feuchtigkeit zu entfernen. Im Schatten trocknen.",
140
+ ironing: "Niedrige Temperatur, auf links und ohne Direktdampf.",
141
+ donts: ["Direkte Sonne (verbrennt)", "Parfüm/Deo (Fleckenbildung)", "Wasser (hinterlässt Ränder)"],
142
+ sos: "Wasserfleck? Seide vorsichtig gegen sich selbst reiben.",
143
+ icon: "mdi:ticket-percent",
144
+ color: "#F472B6",
145
+ maxTemp: "20°C",
146
+ isNoble: true,
147
+ },
148
+ cashmere: {
149
+ name: "Kaschmir",
150
+ description: "Luxusfaser der Kaschmirziege. Extrem weich und warm.",
151
+ family: "natural",
152
+ origin: "Unterwolle der Hircus-Ziege",
153
+ breathability: 9,
154
+ durability: 5,
155
+ warmth: 10,
156
+ washing: "STRENGSTENS von Hand mit Babyshampoo. Kaltes Wasser. Niemals rubbeln.",
157
+ drying: "Liegend auf einem Handtuch in Form bringen. Niemals aufhängen.",
158
+ ironing: "Vertikaldampf ohne Berührung oder lauwarmes Bügeleisen mit Tuch.",
159
+ donts: ["Waschmaschine (auch kein Wollprogramm)", "Weichspüler", "Ständige Reibung (Knötchenbildung)"],
160
+ sos: "Pilling (Knötchen)? Speziellen Kamm verwenden oder von Hand entfernen.",
161
+ icon: "mdi:crown",
162
+ color: "#F59E0B",
163
+ maxTemp: "20°C",
164
+ isNoble: true,
165
+ },
166
+ polyester: {
167
+ name: "Polyester",
168
+ description: "Synthetische Faser aus Erdöl. Widerstandsfähig, knitterfrei, nicht atmungsaktiv.",
169
+ family: "synthetic",
170
+ origin: "Erdölderivate Polymere",
171
+ breathability: 2,
172
+ durability: 10,
173
+ warmth: 5,
174
+ washing: "Warmes/kaltes Wasser. Verträgt fast alles, zieht aber Gerüche und Fette an.",
175
+ drying: "Trockner niedrig oder an der Luft. Trocknet sehr schnell.",
176
+ ironing: "Niedrige/mittlere Temperatur. Vorsicht, schmilzt.",
177
+ donts: ["Übermäßige Hitze", "Weichspüler (hinterlässt Wachsschicht, die Gerüche bindet)"],
178
+ sos: "Hartnäckiger Geruch? Vor dem Waschen in Wasser mit Essig einweichen.",
179
+ icon: "mdi:oil",
180
+ color: "#94A3B8",
181
+ maxTemp: "40°C",
182
+ isNoble: false,
183
+ },
184
+ viscose: {
185
+ name: "Viskose / Rayon",
186
+ description: "Halbsynthetisch aus regenerierter Zellulose. Seidiger Griff, sehr saugfähig.",
187
+ family: "artificial",
188
+ origin: "Chemisch behandelter Holzschliff",
189
+ breathability: 8,
190
+ durability: 4,
191
+ warmth: 3,
192
+ washing: "Schonwaschgang kalt. Wird in nassem Zustand sehr instabil.",
193
+ drying: "Liegend oder auf gepolstertem Bügel. Kein Trockner.",
194
+ ironing: "Mittlere Temperatur, auf links. Wenn möglich ohne Direktdampf.",
195
+ donts: ["Nass wringen (reißt)", "Langes Einweichen"],
196
+ sos: "Eingelaufen und hart? Mit viel Dampf bügeln, um die Faser zu entspannen.",
197
+ icon: "mdi:forest",
198
+ color: "#C084FC",
199
+ maxTemp: "30°C",
200
+ isNoble: false,
201
+ },
202
+ nylon: {
203
+ name: "Nylon (Polyamid)",
204
+ description: "Synthetisch, sehr zug- und abriebfest.",
205
+ family: "synthetic",
206
+ origin: "Erdölderivat (Polyamid)",
207
+ breathability: 3,
208
+ durability: 10,
209
+ warmth: 4,
210
+ washing: "Normaler Waschgang. Vorsicht beim Mischen von Farben (nimmt Farbstoffe auf).",
211
+ drying: "An der Luft. Trockner niedrig.",
212
+ ironing: "Sehr niedrig. Schmilzt extrem schnell.",
213
+ donts: ["Bleiche (vergilbt)", "In direkter Sonne trocknen"],
214
+ sos: "Graustich? Mit Sauerstoffbleiche waschen.",
215
+ icon: "mdi:parachute",
216
+ color: "#2DD4BF",
217
+ maxTemp: "40°C",
218
+ isNoble: false,
219
+ },
220
+ acrylic: {
221
+ name: "Acryl",
222
+ description: "Synthetisches Wollimitat. Weich, warm, bildet Knötchen.",
223
+ family: "synthetic",
224
+ origin: "Polyacrylnitril",
225
+ breathability: 4,
226
+ durability: 6,
227
+ warmth: 8,
228
+ washing: "Lauwarmes Wasser. Viel Weichspüler gegen statische Aufladung.",
229
+ drying: "An der Luft. Hitze verformt das Kleidungsstück dauerhaft.",
230
+ ironing: "Nicht bügeln",
231
+ donts: ["Weichspüler (bricht Fasern nach einiger Zeit)", "Starkes Auswringen", "Hitze"],
232
+ sos: "Elastizität verloren? Das ist irreversibel (Fasern sind gebrochen).",
233
+ icon: "mdi:resize",
234
+ color: "#450A0A",
235
+ maxTemp: "30°C",
236
+ isNoble: false,
237
+ },
238
+ },
239
+ },
240
+ seo: [
241
+ { type: 'title', text: 'Meisterschaft in der Textilpflege: Wissenschaftlicher Leitfaden zur Verlängerung der Lebensdauer Ihrer Kleidung', level: 2 },
242
+ { type: 'paragraph', html: 'Wie viele Kleidungsstücke haben Sie unbewusst ruiniert? Ein versehentliches Einlaufen von Wolle, verblassende Farben bei Baumwolle oder ein Fleck in Seide, der nie wieder rausgeht. Die meisten Menschen waschen Kleidung, ohne zu verstehen, dass jede Faser spezifische Bedürfnisse hat.' },
243
+ { type: 'paragraph', html: 'Unser <strong>Textilpflege-Leitfaden</strong> bietet Ihnen wissenschaftlich fundierte Anweisungen basierend auf der tatsächlichen Zusammensetzung Ihres Kleidungsstücks. Nicht oberflächlich, sondern spezifisch. Kein bloßer Ratschlag, sondern Wissenschaft.' },
244
+ { type: 'title', text: 'Warum die traditionelle Methode scheitert', level: 2 },
245
+ { type: 'paragraph', html: 'Ihre Großmutter hat wahrscheinlich alles in heißem Wasser mit starker Seife gewaschen. Das funktionierte für die dicken Baumwolllaken der 50er Jahre, aber die Textilwelt hat sich verändert. Moderne Fasern – von <strong>Lyocell</strong> bis <strong>Elastan</strong> – erfordern völlig unterschiedliche Protokolle.' },
246
+ { type: 'list', items: ['<strong>Baumwolle</strong> verträgt heißes Wasser, braucht aber Schonwaschgänge, um Einlaufen zu vermeiden.', '<strong>Seide</strong> ist bei Temperaturen über 30°C empfindlich und benötigt nach Möglichkeit destilliertes Wasser.', '<strong>Wolle</strong> kann sich anfühlen wie ein Stein, wenn sie in einer Standardmaschine gewaschen wird.', '<strong>Synthetik</strong> braucht wenig Pflege, neigt aber zu statischer Aufladung und Pilling.'] },
247
+ { type: 'title', text: 'Protokolle nach Fasertyp', level: 2 },
248
+ { type: 'title', text: 'Baumwolle: Der Widerstandsfähige', level: 3 },
249
+ { type: 'paragraph', html: 'Baumwolle ist nachsichtig. Sie hält Wasser bei 40-60°C problemlos aus. Der wahre Feind ist Chlor (das die Faser schwächt) und das Trocknen im Trockner bei hoher Temperatur (verursacht dauerhaftes Einlaufen). Regel: Immer auf links waschen, um die Farbe zu erhalten.' },
250
+ { type: 'title', text: 'Seide: Die Diva', level: 3 },
251
+ { type: 'paragraph', html: 'Seide benötigt kaltes Wasser (max. 30°C), mildes Waschmittel und nach Möglichkeit eine Spülung mit destilliertem Wasser. Das Problem: Mineralien im Leitungswasser hinterlassen Rückstände, die Seide stumpf und rau machen. Die Lösung ist einfach: Verwenden Sie destilliertes Wasser bei der letzten Spülung.' },
252
+ { type: 'title', text: 'Wolle: Der Empfindliche', level: 3 },
253
+ { type: 'paragraph', html: 'Wolle ist Protein, genau wie Ihr Haar. Waschen Sie bei maximal 30°C mit speziellem Wollwaschmittel. Niemals einen Standardwaschgang verwenden: Die Bewegung lässt sie unwiderruflich einlaufen. Goldene Regel: Immer liegend trocknen, niemals hängend (leiert aus).' },
254
+ { type: 'title', text: 'Synthetik: Die Einfachen', level: 3 },
255
+ { type: 'paragraph', html: 'Polyester, Acryl und Nylon sind robust. Sie vertragen 40°C warmes Wasser problemlos. Der einzige Feind ist die Statik. Trick: Verwenden Sie einen Weichspüler oder ein Trocknertuch im Trockner.' },
256
+ { type: 'title', text: 'Die unbequeme Wahrheit über das Trocknen', level: 2 },
257
+ { type: 'paragraph', html: '90% der Schäden an Kleidungsstücken entstehen beim Trocknen, nicht beim Waschen. Hier ist der Grund dafür:' },
258
+ { type: 'card', title: 'Fussel im Filter', icon: 'mdi:alert', html: 'Diese Fussel, die Sie sehen, sind <strong>abgelöste Fasern</strong> Ihrer Kleidung. Jeder Trocknerzyklus zerstört ein bisschen mehr. Synthetik ist am schlimmsten: Es bildet innerhalb von Wochen Knötchen.' },
259
+ { type: 'card', title: 'Das schleichende Einlaufen', icon: 'mdi:warning', html: 'Die Hitze des Trockners lässt die meisten Naturfasern dauerhaft einlaufen. Ein Kleidungsstück, das einmal um 5% geschrumpft ist, wird nie wieder seine Originalgröße erreichen.' },
260
+ { type: 'tip', title: 'Beste Trocknungspraxis', html: 'Trocknen Sie an der Luft, wann immer es möglich ist. Wenn Sie den Trockner benutzen müssen, wählen Sie eine niedrige Temperatur und nehmen Sie die Wäsche heraus, während sie noch ganz leicht feucht ist.' },
261
+ { type: 'title', text: 'Flecken: Der Überlebensleitfaden', level: 2 },
262
+ { type: 'paragraph', html: 'Jede Faser reagiert anders auf Chemikalien. Ein Weinfleck auf Baumwolle wird mit kaltem Wasser behandelt; bei Seide benötigen Sie destilliertes Wasser und ein Tuch aus reiner Seide. Hier sind die Basisprotokolle:' },
263
+ { type: 'list', items: ['<strong>Fett:</strong> Vor dem Waschen mit Trockenreiniger behandeln. Niemals heißes Wasser (fixiert den Fleck).', '<strong>Tinte/Kugelschreiber:</strong> Isopropylalkohol für Synthetik; kaltes Wasser für Naturfasern.', '<strong>Blut:</strong> IMMER kaltes Wasser. Hitze fixiert es dauerhaft.', '<strong>Wein/Getränke:</strong> Sofort kaltes Wasser, gefolgt von Salz zur Absorption.'] },
264
+ { type: 'paragraph', html: '"Weniger kaufen, besser wählen und dafür sorgen, dass es hält." Ein gut gepflegtes Kleidungsstück kann Jahrzehnte halten. Ein schlecht behandeltes nur Monate.' },
265
+ ],
266
+ faqTitle: 'Häufig gestellte Fragen',
267
+ faq: faqData,
268
+ bibliographyTitle: 'Referenzen',
269
+ bibliography: [
270
+ { name: 'ISO 3758 - Textilpflege-Symbole', url: 'https://www.iso.org/standard/60465.html' },
271
+ { name: 'Leitfaden zur Textilkennzeichnung', url: 'https://www.ftc.gov/' },
272
+ ],
273
+ howTo: howToData,
274
+ schemas: [faqSchema, howToSchema, appSchema],
275
+ };
@@ -0,0 +1,275 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'panduan-mencuci-tekstil';
5
+ const title = 'Panduan Perawatan Tekstil: Cara Mencuci Setiap Jenis Serat';
6
+ const description = 'Panduan ilmiah untuk mencuci dan merawat katun, wol, sutra, linen, dan sintetis. Cegah penyusutan, pemudaran warna, dan kerusakan dengan instruksi yang presisi.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Bagaimana cara mencegah warna agar tidak pudar?',
11
+ answer: 'Cuci dengan air dingin (maksimal 30°C), balikkan pakaian ke dalam (bagian dalam di luar), gunakan deterjen khusus pakaian gelap, dan hindari sinar matahari langsung saat menjemur.',
12
+ },
13
+ {
14
+ question: 'Bisakah saya mencuci wol di mesin cuci?',
15
+ answer: 'Ya, tetapi hanya dengan siklus khusus wol (air dingin, putaran lembut). Gunakan deterjen khusus wol dan jangan pernah menggunakan siklus normal.',
16
+ },
17
+ {
18
+ question: 'Mengapa sutra saya terkena noda air?',
19
+ answer: 'Sutra bereaksi terhadap mineral dalam air. Gunakan air suling (distilasi) pada bilasan terakhir atau gosok noda dengan lembut menggunakan kain sutra murni.',
20
+ },
21
+ ];
22
+
23
+ const howToData = [
24
+ { name: 'Periksa label', text: 'Selalu baca petunjuk perawatan pada label sebelum mencuci.' },
25
+ { name: 'Urutkan berdasarkan jenis serat', text: 'Cuci serat alami secara terpisah dari sintetis jika memungkinkan.' },
26
+ { name: 'Pilih suhu air', text: 'Gunakan air dingin untuk kain halus dan air panas hanya untuk material yang tahan lama.' },
27
+ ];
28
+
29
+ const faqSchema: WithContext<FAQPage> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'FAQPage',
32
+ mainEntity: faqData.map((item) => ({
33
+ '@type': 'Question',
34
+ name: item.question,
35
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
36
+ })),
37
+ };
38
+
39
+ const howToSchema: WithContext<HowTo> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'HowTo',
42
+ name: title,
43
+ description: description,
44
+ step: howToData.map((step) => ({
45
+ '@type': 'HowToStep',
46
+ name: step.name,
47
+ text: step.text,
48
+ })),
49
+ };
50
+
51
+ const appSchema: WithContext<SoftwareApplication> = {
52
+ '@context': 'https://schema.org',
53
+ '@type': 'SoftwareApplication',
54
+ name: title,
55
+ description: description,
56
+ applicationCategory: 'UtilityApplication',
57
+ operatingSystem: 'All',
58
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
59
+ inLanguage: 'id',
60
+ };
61
+
62
+ export const content: ToolLocaleContent = {
63
+ slug,
64
+ title,
65
+ description,
66
+ ui: {
67
+ selectMaterialTitle: 'Pilih Material',
68
+ selectMaterialPrompt: 'Pilih kain untuk melihat panduan perawatannya',
69
+ careInstructions: 'Instruksi perawatan premium',
70
+ maxTemp: 'Suhu Maksimal',
71
+ ironing: 'Penyetrikaan',
72
+ drying: 'Pengeringan',
73
+ avoidLabel: 'Hal yang harus DIHINDARI',
74
+ sosLabel: 'Tips Perawatan',
75
+ textileData: {
76
+ cotton: {
77
+ name: "Katun",
78
+ description: "Serat nabati alami, lembut dan menyerap keringat. Raja dari segala bahan dasar.",
79
+ family: "natural",
80
+ origin: "Kuncup tanaman kapas",
81
+ breathability: 9,
82
+ durability: 7,
83
+ warmth: 4,
84
+ washing: "Air dingin atau hangat (menyusut dengan panas). Boleh menggunakan putaran mesin kuat.",
85
+ drying: "Mesin pengering suhu sedang atau dijemur di udara terbuka.",
86
+ ironing: "Setrika suhu tinggi dengan uap saat masih lembap.",
87
+ donts: ["Dibiarkan lembap terlalu lama (jamur)", "Terlalu banyak pemutih (melemahkan serat)"],
88
+ sos: "Menyusut? Rendam dalam air hangat dengan kondisioner rambut dan tarik secara perlahan.",
89
+ icon: "mdi:tshirt-crew",
90
+ color: "#60A5FA",
91
+ maxTemp: "40-60°C",
92
+ isNoble: false,
93
+ },
94
+ linen: {
95
+ name: "Linen",
96
+ description: "Serat nabati yang sangat kuat, sejuk, dan memiliki kerutan khas.",
97
+ family: "natural",
98
+ origin: "Batang tanaman linen (flax)",
99
+ breathability: 10,
100
+ durability: 9,
101
+ warmth: 2,
102
+ washing: "Siklus halus, jangan mengisi mesin terlalu penuh (butuh air agar tidak pecah/patah).",
103
+ drying: "Di udara terbuka. JANGAN PERNAH gunakan mesin pengering (merusak serat).",
104
+ ironing: "Setrika suhu maksimal, selalu saat pakaian sangat lembap.",
105
+ donts: ["Putaran mesin kuat", "Melipat selalu di tempat yang sama (bisa patah)"],
106
+ sos: "Mengkilap karena penyetrikaan? Usap dengan kain yang dibasahi cuka putih.",
107
+ icon: "mdi:leaf",
108
+ color: "#A7F3D0",
109
+ maxTemp: "60°C",
110
+ isNoble: true,
111
+ },
112
+ wool: {
113
+ name: "Wol / Merino",
114
+ description: "Serat protein hewani, isolator panas yang sangat baik dan elastis.",
115
+ family: "natural",
116
+ origin: "Bulu domba",
117
+ breathability: 8,
118
+ durability: 6,
119
+ warmth: 10,
120
+ washing: "Cuci tangan atau siklus wol. Sabun netral. JANGAN PERNAH gunakan air panas (akan menggumpal/felted).",
121
+ drying: "Dihamparkan horizontal di atas handuk. Jangan pernah digantung (akan melar).",
122
+ ironing: "Uap vertikal atau setrika suhu sedang dengan kain pelapis di atasnya.",
123
+ donts: ["Air panas", "Digosok atau dipelintir", "Pemutih (akan melarutkan serat)"],
124
+ sos: "Menggumpal? Hampir mustahil diperbaiki, tetapi merendam dengan pelembut mungkin bisa sedikit melunakkan.",
125
+ icon: "mdi:sheep",
126
+ color: "#FCD34D",
127
+ maxTemp: "30°C",
128
+ isNoble: true,
129
+ },
130
+ silk: {
131
+ name: "Sutra",
132
+ description: "Serat hewani dari filamen kontinu. Kilau alami dan sentuhan kering.",
133
+ family: "natural",
134
+ origin: "Kepompong ulat sutra",
135
+ breathability: 7,
136
+ durability: 5,
137
+ warmth: 6,
138
+ washing: "Cuci tangan dalam air dingin dengan sampo netral. Jangan dipelintir.",
139
+ drying: "Gulung dalam handuk untuk menyerap kelembapan. Jemur di tempat teduh.",
140
+ ironing: "Setrika suhu rendah, posisi terbalik dan tanpa uap langsung.",
141
+ donts: ["Sinar matahari langsung (merusak)", "Parfum/Deodoran (meninggalkan noda)", "Air (membuat lingkaran noda)"],
142
+ sos: "Noda air? Gosok sutra dengan lembut terhadap sesamanya.",
143
+ icon: "mdi:ticket-percent",
144
+ color: "#F472B6",
145
+ maxTemp: "20°C",
146
+ isNoble: true,
147
+ },
148
+ cashmere: {
149
+ name: "Kasmir",
150
+ description: "Serat mewah dari kambing Kashmir. Sangat lembut dan hangat.",
151
+ family: "natural",
152
+ origin: "Lapisan bulu bagian dalam kambing Hircus",
153
+ breathability: 9,
154
+ durability: 5,
155
+ warmth: 10,
156
+ washing: "MUTLAK cuci tangan dengan sampo bayi. Air dingin. Jangan pernah digosok.",
157
+ drying: "Dihamparkan horizontal di atas handuk sambil dibentuk. Jangan digantung.",
158
+ ironing: "Uap vertikal tanpa menyentuh pakaian atau setrika hangat dengan kain pelapis.",
159
+ donts: ["Mesin cuci (termasuk program wol)", "Pelembut kain", "Gesekan terus-menerus (bola-bola serat)"],
160
+ sos: "Pilling (bola-bola serat)? Gunakan sisir khusus atau ambil dengan tangan.",
161
+ icon: "mdi:crown",
162
+ color: "#F59E0B",
163
+ maxTemp: "20°C",
164
+ isNoble: true,
165
+ },
166
+ polyester: {
167
+ name: "Poliester",
168
+ description: "Serat sintetis dari minyak bumi. Tahan lama, tidak mudah kusut, tidak menyerap udara.",
169
+ family: "synthetic",
170
+ origin: "Polimer turunan minyak bumi",
171
+ breathability: 2,
172
+ durability: 10,
173
+ warmth: 5,
174
+ washing: "Air hangat/dingin. Tahan segala cara cuci, tetapi menjebak bau dan lemak.",
175
+ drying: "Mesin pengering suhu rendah atau udara bebas. Kering sangat cepat.",
176
+ ironing: "Setrika suhu rendah/sedang. Hati-hati, bisa meleleh.",
177
+ donts: ["Panas berlebih", "Pelembut (membuat lapisan lilin yang menjebak lebih banyak bau)"],
178
+ sos: "Bau membandel? Rendam dalam air dengan cuka sebelum dicuci.",
179
+ icon: "mdi:oil",
180
+ color: "#94A3B8",
181
+ maxTemp: "40°C",
182
+ isNoble: false,
183
+ },
184
+ viscose: {
185
+ name: "Viskosa / Rayon",
186
+ description: "Semi-sintetis dari selulosa yang diregenerasi. Sentuhan sutra, sangat menyerap.",
187
+ family: "artificial",
188
+ origin: "Bubur kayu yang diolah secara kimia",
189
+ breathability: 8,
190
+ durability: 4,
191
+ warmth: 3,
192
+ washing: "Siklus halus dalam air dingin. Menjadi sangat lemah saat basah.",
193
+ drying: "Dihamparkan horizontal atau gantungan busa. Jangan gunakan mesin pengering.",
194
+ ironing: "Suhu sedang, posisi terbalik. Tanpa uap langsung jika memungkinkan.",
195
+ donts: ["Dipelintir saat basah (serat putus)", "Rendaman lama"],
196
+ sos: "Menyusut dan kaku? Setrika dengan banyak uap untuk melemaskan serat.",
197
+ icon: "mdi:forest",
198
+ color: "#C084FC",
199
+ maxTemp: "30°C",
200
+ isNoble: false,
201
+ },
202
+ nylon: {
203
+ name: "Nilon (Poliamida)",
204
+ description: "Sintetis yang sangat tahan terhadap tarikan dan abrasi.",
205
+ family: "synthetic",
206
+ origin: "Turunan minyak bumi (poliamida)",
207
+ breathability: 3,
208
+ durability: 10,
209
+ warmth: 4,
210
+ washing: "Siklus normal. Hati-hati mencampur warna (nilon mudah menyerap warna lain).",
211
+ drying: "Di udara terbuka. Mesin pengering suhu rendah.",
212
+ ironing: "Sangat rendah. Meleleh sangat cepat.",
213
+ donts: ["Pemutih (membuat menjadi kuning)", "Dijemur di bawah matahari langsung"],
214
+ sos: "Menjadi keabu-abuan? Cuci dengan pemutih beroksigen.",
215
+ icon: "mdi:parachute",
216
+ color: "#2DD4BF",
217
+ maxTemp: "40°C",
218
+ isNoble: false,
219
+ },
220
+ acrylic: {
221
+ name: "Akrilik",
222
+ description: "Sintetis imitasi wol. Lembut, hangat, mudah berbola serat.",
223
+ family: "synthetic",
224
+ origin: "Polialkulonitril",
225
+ breathability: 4,
226
+ durability: 6,
227
+ warmth: 8,
228
+ washing: "Air hangat kuku. Gunakan pelembut untuk mengurangi listrik statis.",
229
+ drying: "Di jemur. Panas akan merusak bentuk pakaian secara permanen.",
230
+ ironing: "Jangan disetrika",
231
+ donts: ["Pelembut (merusak serat jika lama)", "Diperas kuat", "Panas"],
232
+ sos: "Kehilangan elastisitas? Hal ini tidak bisa diperbaiki (serat sudah putus).",
233
+ icon: "mdi:resize",
234
+ color: "#450A0A",
235
+ maxTemp: "30°C",
236
+ isNoble: false,
237
+ },
238
+ },
239
+ },
240
+ seo: [
241
+ { type: 'title', text: 'Penguasaan Perawatan Tekstil: Panduan Ilmiah untuk Memperpanjang Umur Pakaian Anda', level: 2 },
242
+ { type: 'paragraph', html: 'Berapa banyak pakaian yang telah Anda rusak tanpa sadar? Penyusutan wol yang tidak disengaja, pudarnya warna pada katun, atau noda sutra yang tidak pernah hilang. Kebanyakan orang mencuci pakaian tanpa memahami bahwa setiap serat memiliki kebutuhan spesifik.' },
243
+ { type: 'paragraph', html: '<strong>Panduan Mencuci Tekstil</strong> kami menyediakan instruksi ilmiah berdasarkan komposisi asli pakaian Anda. Ini bukan instruksi umum; ini spesifik. Ini bukan sekadar saran; ini sains.' },
244
+ { type: 'title', text: 'Mengapa Metode Tradisional Gagal', level: 2 },
245
+ { type: 'paragraph', html: 'Nenek Anda mungkin mencuci segalanya dengan air panas dan sabun yang kuat. Itu berhasil untuk seprai katun tebal tahun 50-an, tetapi dunia tekstil telah berubah. Serat modern—mulai dari <strong>Lyocell</strong> hingga <strong>Elastane</strong>—memerlukan protokol yang sangat berbeda.' },
246
+ { type: 'list', items: ['<strong>Katun</strong> menoleransi air panas tetapi membutuhkan siklus lembut untuk menghindari penyusutan.', '<strong>Sutra</strong> rapuh pada suhu di atas 30°C dan membutuhkan air suling.', '<strong>Wol</strong> bisa terasa keras seperti batu jika dicuci dengan mesin standar.', '<strong>Sintetis</strong> tidak butuh banyak perawatan, tetapi menghasilkan listrik statis dan mudah berbola serat.'] },
247
+ { type: 'title', text: 'Protokol Berdasarkan Jenis Serat', level: 2 },
248
+ { type: 'title', text: 'Katun: Si Tahan Banting', level: 3 },
249
+ { type: 'paragraph', html: 'Katun sangat pemaaf. Bisa menahan air pada suhu 40-60°C tanpa masalah. Musuh aslinya adalah klorin (yang melemahkan serat) dan pengeringan mesin suhu tinggi (yang menyebabkan penyusutan permanen). Aturannya: selalu cuci secara terbalik untuk menjaga warna.' },
250
+ { type: 'title', text: 'Sutra: Si Diva', level: 3 },
251
+ { type: 'paragraph', html: 'Sutra butuh air dingin (maks 30°C), deterjen lembut, dan pembilasan air suling jika memungkinkan. Masalahnya: mineral dalam air keran meninggalkan endapan yang membuat sutra tampak kusam dan kasar. Solusinya sederhana: gunakan air suling pada bilasan terakhir.' },
252
+ { type: 'title', text: 'Wol: Si Halus', level: 3 },
253
+ { type: 'paragraph', html: 'Wol adalah protein, seperti rambut Anda. Cuci pada suhu maks 30°C dengan deterjen khusus wol. Jangan pernah gunakan siklus standar: putaran mesin akan membuatnya menyusut secara ireversibel. Aturan emas: selalu jemur mendatar (dry flat), jangan pernah digantung (bisa melar).' },
254
+ { type: 'title', text: 'Sintetis: Si Mudah', level: 3 },
255
+ { type: 'paragraph', html: 'Poliester, akrilik, dan nilon sangat tahan lama. Bisa menahan air pada suhu 40°C tanpa masalah. Satu-satunya musuh adalah listrik statis. Triknya: tambahkan pelembut pakaian atau gunakan dryer sheet di mesin pengering.' },
256
+ { type: 'title', text: 'Kenyataan Pahit Tentang Pengeringan', level: 2 },
257
+ { type: 'paragraph', html: '90% kerusakan pakaian terjadi selama pengeringan, bukan pencucian. Inilah alasannya:' },
258
+ { type: 'card', title: 'Serat di Filter Mesin', icon: 'mdi:alert', html: 'Serat halus yang Anda lihat di filter adalah <strong>serat yang lepas</strong> dari pakaian Anda. Setiap siklus pengeringan menghancurkan sedikit demi sedikit. Sintetis lebih buruk: akan berbola serat dalam hitungan minggu.' },
259
+ { type: 'card', title: 'Penyusutan Diam diam', icon: 'mdi:warning', html: 'Panas dari mesin pengering menyusutkan sebagian besar serat alami secara permanen. Pakaian yang menyusut 5% dalam sekali pengeringan tidak akan pernah kembali ke ukuran aslinya.' },
260
+ { type: 'tip', title: 'Praktik Pengeringan Terbaik', html: 'Jemur di udara terbuka sebisa mungkin. Jika harus menggunakan mesin pengering, gunakan suhu rendah dan keluarkan pakaian saat masih agak lembap.' },
261
+ { type: 'title', text: 'Noda: Panduan Bertahan Hidup', level: 2 },
262
+ { type: 'paragraph', html: 'Setiap serat bereaksi berbeda terhadap bahan kimia. Noda anggur pada katun ditangani dengan air dingin; pada sutra, Anda butuh air suling dan kain sutra murni. Berikut adalah protokol dasarnya:' },
263
+ { type: 'list', items: ['<strong>Lemak:</strong> Gunakan sabun kering (dry soap) sebelum cuci. Jangan gunakan air panas (akan memantapkan noda).', '<strong>Tinta/Pulpen:</strong> Alkohol isopropil untuk sintetis; air dingin untuk alami.', '<strong>Darah:</strong> SELALU air dingin. Panas akan memantapkannya secara permanen.', '<strong>Anggur/Minuman:</strong> Air dingin segera, diikuti garam untuk menyerap.'] },
264
+ { type: 'paragraph', html: '"Beli lebih sedikit, pilih lebih baik, dan buatlah awet." Pakaian yang dirawat dengan baik bisa bertahan puluhan tahun. Pakaian yang disalahartikan, hanya bertahan berbulan-bulan.' },
265
+ ],
266
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
267
+ faq: faqData,
268
+ bibliographyTitle: 'Referensi',
269
+ bibliography: [
270
+ { name: 'ISO 3758 - Simbol Perawatan Tekstil', url: 'https://www.iso.org/standard/60465.html' },
271
+ { name: 'Panduan Pelabelan Tekstil', url: 'https://www.ftc.gov/' },
272
+ ],
273
+ howTo: howToData,
274
+ schemas: [faqSchema, howToSchema, appSchema],
275
+ };