@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 = 'tekstil-bakim-kilavuzu';
5
+ const title = 'Tekstil Bakım Kılavuzu: Her Lif Türü Nasıl Yıkanır';
6
+ const description = 'Pamuk, yün, ipek, keten ve sentetiklerin yıkanması ve bakımı için bilimsel kılavuz. Hassas talimatlarla çekme, renk solması ve hasarları önleyin.';
7
+
8
+ const faqData = [
9
+ {
10
+ question: 'Renklerin solmasını nasıl önlerim?',
11
+ answer: 'Soğuk suda (maksimum 30°C) yıkayın, giysileri ters çevirin, koyu renkli giysiler için deterjan kullanın ve kuruturken doğrudan güneş ışığından kaçının.',
12
+ },
13
+ {
14
+ question: 'Yünü çamaşır makinesinde yıkayabilir miyim?',
15
+ answer: 'Evet, ancak sadece yünlü programıyla (soğuk su, hassas hareket). Yüne özel deterjan kullanın ve asla normal program kullanmayın.',
16
+ },
17
+ {
18
+ question: 'İpeğimde neden su lekesi oluşuyor?',
19
+ answer: 'İpek, sudaki minerallere tepki verir. Son durulamada damıtılmış su kullanın veya lekeyi saf ipekle nazikçe ovun.',
20
+ },
21
+ ];
22
+
23
+ const howToData = [
24
+ { name: 'Etiketi kontrol edin', text: 'Yıkamadan önce her zaman etiketteki bakım talimatlarını okuyun.' },
25
+ { name: 'Lif türüne göre ayırın', text: 'Mümkün olduğunda doğal lifleri sentetiklerden ayrı yıkayın.' },
26
+ { name: 'Su sıcaklığını seçin', text: 'Hassas kumaşlar için soğuk su, sadece dayanıklı malzemeler için sıcak su kullanın.' },
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: 'tr',
60
+ };
61
+
62
+ export const content: ToolLocaleContent = {
63
+ slug,
64
+ title,
65
+ description,
66
+ ui: {
67
+ selectMaterialTitle: 'Malzemeyi Seçin',
68
+ selectMaterialPrompt: 'Bakım kılavuzunu görmek için bir kumaş seçin',
69
+ careInstructions: 'Premium bakım talimatları',
70
+ maxTemp: 'Maksimum Sıcaklık',
71
+ ironing: 'Ütüleme',
72
+ drying: 'Kurutma',
73
+ avoidLabel: 'KAÇINILMASI GEREKENLER',
74
+ sosLabel: 'Bakım Tavsiyesi',
75
+ textileData: {
76
+ cotton: {
77
+ name: "Pamuk",
78
+ description: "Doğal bitkisel lif, yumuşak ve nefes alabilir. Temel giysilerin kralı.",
79
+ family: "natural",
80
+ origin: "Pamuk bitkisinin kozası",
81
+ breathability: 9,
82
+ durability: 7,
83
+ warmth: 4,
84
+ washing: "Soğuk veya ılık su (ısıyla çeker). Güçlü sıkmaya izin verir.",
85
+ drying: "Orta sıcaklıkta kurutma makinesi veya açık hava.",
86
+ ironing: "Hala nemliyken buharlı yüksek sıcaklıkta ütü.",
87
+ donts: ["Uzun süre nemli bırakmak (küf)", "Aşırı çamaşır suyu (lifi zayıflatır)"],
88
+ sos: "Çekti mi? Saç kremi eklenmiş ılık suda bekletin ve nazikçe gerin.",
89
+ icon: "mdi:tshirt-crew",
90
+ color: "#60A5FA",
91
+ maxTemp: "40-60°C",
92
+ isNoble: false,
93
+ },
94
+ linen: {
95
+ name: "Keten",
96
+ description: "Çok güçlü bitkisel lif, serin tutar ve karakteristik bir kırışıklığı vardır.",
97
+ family: "natural",
98
+ origin: "Keten bitkisinin sapı",
99
+ breathability: 10,
100
+ durability: 9,
101
+ warmth: 2,
102
+ washing: "Hassas program, tamburu çok doldurmayın (kırılmaması için suya ihtiyacı vardır).",
103
+ drying: "Açık hava. ASLA kurutma makinesi (lifleri kırar).",
104
+ ironing: "Maksimum ütü sıcaklığı, her zaman giysi çok nemliyken.",
105
+ donts: ["Güçlü sıkma", "Hep aynı yerden katlamak (liflerin kırılıp kopmasına neden olur)"],
106
+ sos: "Ütüleme kaynaklı parlama mı var? Beyaz sirke ile nemlendirilmiş bir bezle silin.",
107
+ icon: "mdi:leaf",
108
+ color: "#A7F3D0",
109
+ maxTemp: "60°C",
110
+ isNoble: true,
111
+ },
112
+ wool: {
113
+ name: "Yün / Merino",
114
+ description: "Hayvansal protein lifi, mükemmel ısı yalıtkanı ve elastik.",
115
+ family: "natural",
116
+ origin: "Koyun postu",
117
+ breathability: 8,
118
+ durability: 6,
119
+ warmth: 10,
120
+ washing: "Elde veya yünlü programı. Nötr sabun. ASLA sıcak su (keçeleşir).",
121
+ drying: "Havlunun üzerine yatay olarak. Asla asmayın (şekli bozulur).",
122
+ ironing: "Dikey buhar veya üzerine bir bez koyarak orta sıcaklıkta ütü.",
123
+ donts: ["Sıcak su", "Ovalamak veya sıkmak", "Çamaşır suyu (yünü eritir)"],
124
+ sos: "Keçeleşti mi? Kurtarmak neredeyse imkansızdır ancak yumuşatıcıda bekletmek dokuyu biraz gevşetebilir.",
125
+ icon: "mdi:sheep",
126
+ color: "#FCD34D",
127
+ maxTemp: "30°C",
128
+ isNoble: true,
129
+ },
130
+ silk: {
131
+ name: "İpek",
132
+ description: "Sürekli filamentli hayvansal lif. Doğal parlaklık ve kuru tuşe.",
133
+ family: "natural",
134
+ origin: "İpek böceği kozası",
135
+ breathability: 7,
136
+ durability: 5,
137
+ warmth: 6,
138
+ washing: "Nötr şampuanla soğuk suda elde. Sıkmayın.",
139
+ drying: "Nemi almak için havluya sarın. Gölgede kurutun.",
140
+ ironing: "Düşük ısı, tersten ve doğrudan buhar vermeden.",
141
+ donts: ["Doğrudan güneş (yakar)", "Parfüm/Deodorant (leke yapar)", "Su (halka izi bırakır)"],
142
+ sos: "Su lekesi mi? İpeği nazikçe kendisine sürterek silin.",
143
+ icon: "mdi:ticket-percent",
144
+ color: "#F472B6",
145
+ maxTemp: "20°C",
146
+ isNoble: true,
147
+ },
148
+ cashmere: {
149
+ name: "Kaşmir",
150
+ description: "Kaşmir keçisinden elde edilen lüks lif. Son derece yumuşak ve sıcak.",
151
+ family: "natural",
152
+ origin: "Hircus keçisinin alt kılı",
153
+ breathability: 9,
154
+ durability: 5,
155
+ warmth: 10,
156
+ washing: "KESİNLİKLE bebek şampuanıyla elde. Soğuk su. Asla ovalamayın.",
157
+ drying: "Havlunun üzerine yatay olarak, şekil vererek. Kesinlikle asmayın.",
158
+ ironing: "Giysiye dokundurmadan dikey buhar veya bez üzerinden ılık ütü.",
159
+ donts: ["Çamaşır makinesi (yünlü programı dahil)", "Yumuşatıcı", "Sürekli sürtünme (topaklanma)"],
160
+ sos: "Tüylenme (boncuklanma) mı var? Özel bir tarak kullanın veya elinizle nazikçe alın.",
161
+ icon: "mdi:crown",
162
+ color: "#F59E0B",
163
+ maxTemp: "20°C",
164
+ isNoble: true,
165
+ },
166
+ polyester: {
167
+ name: "Polyester",
168
+ description: "Petrolden elde edilen sentetik lif. Dayanıklı, kırışmaz, nefes almaz.",
169
+ family: "synthetic",
170
+ origin: "Petrolden türetilen polimerler",
171
+ breathability: 2,
172
+ durability: 10,
173
+ warmth: 5,
174
+ washing: "Ilık/soğuk su. Her şeye dayanır ancak kokuları ve yağları hapseder.",
175
+ drying: "Düşük ısıda kurutucu veya açık hava. Çok hızlı kurur.",
176
+ ironing: "Düşük/orta ısı. Dikkat, erir.",
177
+ donts: ["Aşırı ısı", "Yumuşatıcı (kokuyu daha çok hapseden mumsu bir katman oluşturur)"],
178
+ sos: "İnatçı koku mu var? Yıkamadan önce sirkeli suda bekletin.",
179
+ icon: "mdi:oil",
180
+ color: "#94A3B8",
181
+ maxTemp: "40°C",
182
+ isNoble: false,
183
+ },
184
+ viscose: {
185
+ name: "Viskon / Rayon",
186
+ description: "Rejenere selülozdan yarı sentetik. İpeksi dokunuş, çok emici.",
187
+ family: "artificial",
188
+ origin: "Kimyasal işlem görmüş odun hamuru",
189
+ breathability: 8,
190
+ durability: 4,
191
+ warmth: 3,
192
+ washing: "Soğukta hassas program. Islandığında çok dirençsizleşir.",
193
+ drying: "Yatay veya yumuşak askıda. Kurutma makinesi kullanmayın.",
194
+ ironing: "Orta ısı, tersten. Mümkünse doğrudan buhar vermeden.",
195
+ donts: ["Islakken sıkmak (yırtılır)", "Uzun süre suda bekletmek"],
196
+ sos: "Çekmiş ve sertleşmiş mi? Lifi gevşetmek için bol buharla ütüleyin.",
197
+ icon: "mdi:forest",
198
+ color: "#C084FC",
199
+ maxTemp: "30°C",
200
+ isNoble: false,
201
+ },
202
+ nylon: {
203
+ name: "Naylon (Poliamid)",
204
+ description: "Çekme ve aşınmaya karşı çok dirençli sentetik.",
205
+ family: "synthetic",
206
+ origin: "Petrol türevi (poliamid)",
207
+ breathability: 3,
208
+ durability: 10,
209
+ warmth: 4,
210
+ washing: "Normal program. Renkleri karıştırmaya dikkat edin (naylon boyayı kolayca emer).",
211
+ drying: "Açık hava. Düşük ısıda kurutucu.",
212
+ ironing: "Çok düşük ısı. Çok hızlı erir.",
213
+ donts: ["Çamaşır suyu (sarartır)", "Doğrudan güneşte kurutmak"],
214
+ sos: "Grimsi mi oldu? Oksijenli ağartıcı ile yıkayın.",
215
+ icon: "mdi:parachute",
216
+ color: "#2DD4BF",
217
+ maxTemp: "40°C",
218
+ isNoble: false,
219
+ },
220
+ acrylic: {
221
+ name: "Akrilik",
222
+ description: "Yün taklidi sentetik. Yumuşak, sıcak, tüylenme yapar.",
223
+ family: "synthetic",
224
+ origin: "Polipoliakrilonitril",
225
+ breathability: 4,
226
+ durability: 6,
227
+ warmth: 8,
228
+ washing: "Ilık su. Statik elektrik için bol yumuşatıcı.",
229
+ drying: "Açık hava. Isı giysiyi kalıcı olarak deforme eder.",
230
+ ironing: "Ütülemeyin",
231
+ donts: ["Yumuşatıcı (zamanla lifleri bozar)", "Sertçe sıkmak", "Isı"],
232
+ sos: "Esnekliğini mi kaybetti? Bu geri döndürülemez (lifler parçalanmıştır).",
233
+ icon: "mdi:resize",
234
+ color: "#450A0A",
235
+ maxTemp: "30°C",
236
+ isNoble: false,
237
+ },
238
+ },
239
+ },
240
+ seo: [
241
+ { type: 'title', text: 'Tekstil Bakımında Ustalık: Giysilerinizin Ömrünü Uzatmak İçin Bilimsel Kılavuz', level: 2 },
242
+ { type: 'paragraph', html: 'Bilmeden kaç giysinizi mahvettiniz? Yünün yanlışlıkla çekmesi, pamuğun renginin solması, ipekten hiç çıkmayan bir leke. Çoğu insan, her lifin özel ihtiyaçları olduğunu anlamadan çamaşır yıkar.' },
243
+ { type: 'paragraph', html: '<strong>Tekstil Yıkama Kılavuzumuz</strong> size giysinizin gerçek bileşimine dayalı bilimsel talimatlar sunar. Genel bilgiler değil, spesifiktir. Sadece tavsiye değil, bilimdir.' },
244
+ { type: 'title', text: 'Geleneksel Yöntemler Neden Başarısız Olur', level: 2 },
245
+ { type: 'paragraph', html: 'Büyükanneniz muhtemelen her şeyi sıcak suda ve güçlü bir sabunla yıkıyordu. 50\'li yılların kalın pamuklu çarşafları için işe yarıyordu, ancak tekstil dünyası değişti. <strong>Lyocell</strong>\'den <strong>Elastan</strong>\'a kadar modern lifler tamamen farklı protokoller gerektirir.' },
246
+ { type: 'list', items: ['<strong>Pamuk</strong> sıcak suya dayanıklıdır ancak çekmeyi önlemek için hassas programlara ihtiyaç duyar.', '<strong>İpek</strong> 30°C üzerindeki sıcaklıklarda kırılgandır ve damıtılmış su gerektirir.', '<strong>Yün</strong> standart bir makinede yıkanırsa taş gibi sertleşebilir.', '<strong>Sentetikler</strong> çok bakım gerektirmez ancak statik elektrik üretirler ve kolayca tüylenirler.'] },
247
+ { type: 'title', text: 'Lif Türüne Göre Protokoller', level: 2 },
248
+ { type: 'title', text: 'Pamuk: Dayanıklı', level: 3 },
249
+ { type: 'paragraph', html: 'Pamuk hoşgörülüdür. 40-60°C sıcaklıktaki suya sorunsuz dayanabilir. Gerçek düşman klor (lifi zayıflatır) ve yüksek sıcaklıktaki kurutma makinesidir (kalıcı çekmeye neden olur). Kural: Rengi korumak için her zaman tersten yıkayın.' },
250
+ { type: 'title', text: 'İpek: Diva', level: 3 },
251
+ { type: 'paragraph', html: 'İpek soğuk su (maks 30°C), hassas deterjan ve mümkünse damıtılmış suyla durulama gerektirir. Sorun: musluk suyundaki mineraller ipeğin donuk ve kaba görünmesine neden olan tortular bırakır. Çözüm basittir: son durulamada damıtılmış su kullanın.' },
252
+ { type: 'title', text: 'Yün: Hassas', level: 3 },
253
+ { type: 'paragraph', html: 'Yün tıpkı saçınız gibi proteindir. Maksimum 30°C\'de yünlüye özel deterjanla yıkayın. Asla standart program kullanmayın: makinedeki hareket onu geri dönülemez şekilde çekecektir. Altın kural: her zaman sererek kurutun, asla asmayın (uzar).' },
254
+ { type: 'title', text: 'Sentetikler: Kolay Olanlar', level: 3 },
255
+ { type: 'paragraph', html: 'Polyester, akrilik ve naylon dayanıklıdır. 40°C suya sorunsuz dayanabilirler. Tek düşman, giysileri elektriksel olarak yükleyen statiktir. İpucu: bir yumuşatıcı ekleyin veya kurutma makinesinde kurutma kağıdı kullanın.' },
256
+ { type: 'title', text: 'Kurutma Hakkındaki Rahatsız Edici Gerçekler', level: 2 },
257
+ { type: 'paragraph', html: 'Giysi hasarlarının %90\'ı yıkama sırasında değil, kurutma sırasında oluşur. İşte nedeni:' },
258
+ { type: 'card', title: 'Filtredeki Havlar', icon: 'mdi:alert', html: 'Gördüğünüz o havlar, giysilerinizden <strong>kopan liflerdir</strong>. Her kurutma döngüsü onları biraz daha yok eder. Sentetikler daha kötüdür: birkaç hafta içinde tüylenirler.' },
259
+ { type: 'card', title: 'Sessiz Çekme', icon: 'mdi:warning', html: 'Kurutucunun ısısı çoğu doğal lifi kalıcı olarak çeker. Bir kurutmada %5 çeken bir giysi asla orijinal boyutuna geri dönmez.' },
260
+ { type: 'tip', title: 'En İyi Kurutma Pratiği', html: 'Mümkün olduğunda açık havada kurutun. Kurutma makinesi kullanmanız gerekiyorsa, düşük sıcaklık kullanın ve giysileri hala hafif nemliyken çıkarın.' },
261
+ { type: 'title', text: 'Lekeler: Hayatta Kalma Kılavuzu', level: 2 },
262
+ { type: 'paragraph', html: 'Her lif kimyasallara farklı tepki verir. Pamuktaki bir şarap lekesi soğuk suyla tedavi edilir; ipekte ise damıtılmış suya ve saf bir ipek parçasına ihtiyacınız vardır. Temel protokoller şunlardır:' },
263
+ { type: 'list', items: ['<strong>Yağlar:</strong> Yıkamadan önce kuru sabun kullanın. Asla sıcak su kullanmayın (lekeyi sabitler).', '<strong>Mürekkep/Tükenmez Kalem:</strong> Sentetikler için izopropil alkol; doğallar için soğuk su.', '<strong>Kan:</strong> HER ZAMAN soğuk su. Isı onu kalıcı olarak sabitler.', '<strong>Şarap/İçecekler:</strong> Hemen soğuk su, ardından emmesi için tuz.'] },
264
+ { type: 'paragraph', html: '"Daha az al, daha iyi seç ve uzun süre dayanmasını sağla." İyi bakılan bir giysi on yıllarca dayanabilir. Kötü davranılan bir giysi ise aylar sürer.' },
265
+ ],
266
+ faqTitle: 'Sıkça Sorulan Sorular',
267
+ faq: faqData,
268
+ bibliographyTitle: 'Referanslar',
269
+ bibliography: [
270
+ { name: 'ISO 3758 - Tekstil Bakım Sembolleri', url: 'https://www.iso.org/standard/60465.html' },
271
+ { name: 'Tekstil Etiketleme Kılavuzu', 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 = 'laundry-guide';
5
+ const title = '纺织品护理指南:如何洗涤每种纤维类型';
6
+ const description = '关于洗涤和护理棉、羊毛、丝绸、亚麻及合成纤维的科学指南。通过精确的说明防止缩水、褪色和损坏。';
7
+
8
+ const faqData = [
9
+ {
10
+ question: '如何防止衣服褪色?',
11
+ answer: '使用冷水(最高 30°C)洗涤,将衣服翻到反面洗涤,使用深色衣物专用洗涤剂,并在晾晒时避免阳光直射。',
12
+ },
13
+ {
14
+ question: '羊毛可以用洗衣机洗吗?',
15
+ answer: '可以,但只能使用羊毛模式(冷水、柔和搅动)。使用羊毛专用洗涤剂,切勿使用普通洗涤模式。',
16
+ },
17
+ {
18
+ question: '为什么我的丝绸衣服会有水渍?',
19
+ answer: '丝绸对水中的矿物质有反应。在最后一次漂洗时使用蒸留水,或者用纯丝绸布料轻轻擦拭污渍。',
20
+ },
21
+ ];
22
+
23
+ const howToData = [
24
+ { name: '检查标签', text: '洗涤前务必阅读衣服标签上的护理说明。' },
25
+ { name: '按纤维类型分类', text: '尽可能将天然纤维与合成纤维分开洗涤。' },
26
+ { name: '选择水温', text: '娇贵面料使用冷水,只有坚固耐磨的材质才使用热水。' },
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: 'zh',
60
+ };
61
+
62
+ export const content: ToolLocaleContent = {
63
+ slug,
64
+ title,
65
+ description,
66
+ ui: {
67
+ selectMaterialTitle: '选择材质',
68
+ selectMaterialPrompt: '选择一种面料查看其护理指南',
69
+ careInstructions: '高级维护说明',
70
+ maxTemp: '最高温度',
71
+ ironing: '熨烫',
72
+ drying: '干燥',
73
+ avoidLabel: '严禁事项',
74
+ sosLabel: '保养建议',
75
+ textileData: {
76
+ cotton: {
77
+ name: "棉",
78
+ description: "天然植物纤维,柔软透气。基础款之王。",
79
+ family: "natural",
80
+ origin: "棉花植株的蒴果",
81
+ breathability: 9,
82
+ durability: 7,
83
+ warmth: 4,
84
+ washing: "冷水或温水(高温会缩水)。允许强力脱水。",
85
+ drying: "烘干机中温烘干或自然晾干。",
86
+ ironing: "趁湿时用蒸汽高温熨烫。",
87
+ donts: ["长时间保持潮湿(会发霉)", "过度使用漂白剂(会削弱纤维)"],
88
+ sos: "缩水了?泡在加了护发素的温水中,然后轻轻拉伸。",
89
+ icon: "mdi:tshirt-crew",
90
+ color: "#60A5FA",
91
+ maxTemp: "40-60°C",
92
+ isNoble: false,
93
+ },
94
+ linen: {
95
+ name: "亚麻",
96
+ description: "非常坚韧的植物纤维,凉爽且具有特征性的褶皱。",
97
+ family: "natural",
98
+ origin: "亚麻植株的茎",
99
+ breathability: 10,
100
+ durability: 9,
101
+ warmth: 2,
102
+ washing: "轻柔模式,不要装得太满(需要足够的水以免纤维折断)。",
103
+ drying: "自然晾干。严禁烘干(会破坏纤维)。",
104
+ ironing: "最高温熨烫,务必在衣服还很湿的时候进行。",
105
+ donts: ["强力脱水", "总是在同一个位置折叠(会导致纤维折断)"],
106
+ sos: "熨烫导致发亮?用蘸有白醋的布擦拭。",
107
+ icon: "mdi:leaf",
108
+ color: "#A7F3D0",
109
+ maxTemp: "60°C",
110
+ isNoble: true,
111
+ },
112
+ wool: {
113
+ name: "羊毛 / 美利奴",
114
+ description: "蛋白质类动物纤维,极佳的隔热性和弹性。",
115
+ family: "natural",
116
+ origin: "绵羊毛",
117
+ breathability: 8,
118
+ durability: 6,
119
+ warmth: 10,
120
+ washing: "手洗或羊毛模式。使用中性皂。严禁用热水(会毡化)。",
121
+ drying: "平铺在毛巾上干燥。切勿悬挂(会变形)。",
122
+ ironing: "垂直蒸汽或在上面垫布中温熨烫。",
123
+ donts: ["热水", "揉搓或拧干", "漂白剂(会溶解羊毛)"],
124
+ sos: "毡化了?几乎无法恢复,但用柔顺剂浸泡可能稍微缓解。",
125
+ icon: "mdi:sheep",
126
+ color: "#FCD34D",
127
+ maxTemp: "30°C",
128
+ isNoble: true,
129
+ },
130
+ silk: {
131
+ name: "丝绸",
132
+ description: "连续长丝动物纤维。具有天然光泽和干爽手感。",
133
+ family: "natural",
134
+ origin: "蚕茧",
135
+ breathability: 7,
136
+ durability: 5,
137
+ warmth: 6,
138
+ washing: "用中性洗发水冷水手洗。不可拧干。",
139
+ drying: "用毛巾卷起吸干水分。在阴凉处晾干。",
140
+ ironing: "低温熨烫,翻到反面且不要直接喷蒸汽。",
141
+ donts: ["阳光直射(会灼伤纤维)", "香水/止汗剂(会留渍)", "水滴(会形成水渍圈)"],
142
+ sos: "有水渍?用丝绸织物互相对擦试试。",
143
+ icon: "mdi:ticket-percent",
144
+ color: "#F472B6",
145
+ maxTemp: "20°C",
146
+ isNoble: true,
147
+ },
148
+ cashmere: {
149
+ name: "羊绒",
150
+ description: "来自山羊的奢侈纤维。极其柔软温暖。",
151
+ family: "natural",
152
+ origin: "克什米尔山羊的细软底毛",
153
+ breathability: 9,
154
+ durability: 5,
155
+ warmth: 10,
156
+ washing: "严格要求用婴儿洗发水手洗。冷水。切勿揉搓。",
157
+ drying: "平铺在毛巾上并整理形状。严禁悬挂。",
158
+ ironing: "不接触衣物的垂直蒸汽,或垫布温和熨烫。",
159
+ donts: ["洗衣机(包括羊毛程序)", "柔顺剂", "持续摩擦(容易起球)"],
160
+ sos: "起球了?使用专用毛球梳或用手拆除。",
161
+ icon: "mdi:crown",
162
+ color: "#F59E0B",
163
+ maxTemp: "20°C",
164
+ isNoble: true,
165
+ },
166
+ polyester: {
167
+ name: "聚酯纤维(涤纶)",
168
+ description: "石油合成纤维。耐磨,不皱,但不透气。",
169
+ family: "synthetic",
170
+ origin: "石油衍生物聚合物",
171
+ breathability: 2,
172
+ durability: 10,
173
+ warmth: 5,
174
+ washing: "温水/冷水。基本耐受各种方式,但容易吸附异味和油脂。",
175
+ drying: "烘干机低温或自然干燥。干燥速度非常快。",
176
+ ironing: "低温/中温熨烫。注意,会熔化。",
177
+ donts: ["过热", "柔顺剂(会形成蜡质层,吸附更多异味)"],
178
+ sos: "顽固异味?洗涤前在加了醋的水中浸泡。",
179
+ icon: "mdi:oil",
180
+ color: "#94A3B8",
181
+ maxTemp: "40°C",
182
+ isNoble: false,
183
+ },
184
+ viscose: {
185
+ name: "粘胶纤维 / 人造棉",
186
+ description: "由再生纤维素制成的半合成纤维。具有丝绸手感,吸水性强。",
187
+ family: "artificial",
188
+ origin: "化学处理的木浆",
189
+ breathability: 8,
190
+ durability: 4,
191
+ warmth: 3,
192
+ washing: "冷水轻柔模式。湿透时纤维变得非常脆弱。",
193
+ drying: "平铺或用带垫衣架悬挂。不可烘干。",
194
+ ironing: "中温,翻到反面。如果可能,避免直接蒸汽。",
195
+ donts: ["湿润时拧干(会撕裂)", "长时间浸泡"],
196
+ sos: "缩水变硬了?使用大量蒸汽熨烫以舒缓纤维。",
197
+ icon: "mdi:forest",
198
+ color: "#C084FC",
199
+ maxTemp: "30°C",
200
+ isNoble: false,
201
+ },
202
+ nylon: {
203
+ name: "尼龙(锦纶)",
204
+ description: "耐拉伸和耐磨性极强的合成纤维。",
205
+ family: "synthetic",
206
+ origin: "石油衍生物(聚酰胺)",
207
+ breathability: 3,
208
+ durability: 10,
209
+ warmth: 4,
210
+ washing: "普通循环。注意避免混洗(尼龙容易吸附其他颜料)。",
211
+ drying: "自然干燥。烘干机低温。",
212
+ ironing: "极低温。极易受热熔化。",
213
+ donts: ["漂白剂(会发黄)", "阳光直射晾晒"],
214
+ sos: "发灰了?使用氧漂剂洗涤。",
215
+ icon: "mdi:parachute",
216
+ color: "#2DD4BF",
217
+ maxTemp: "40°C",
218
+ isNoble: false,
219
+ },
220
+ acrylic: {
221
+ name: "腈纶",
222
+ description: "仿羊毛合成纤维。柔软温暖,容易起球。",
223
+ family: "synthetic",
224
+ origin: "聚丙烯腈",
225
+ breathability: 4,
226
+ durability: 6,
227
+ warmth: 8,
228
+ washing: "温水。多放柔顺剂以防止静电。",
229
+ drying: "自然干燥。热量会导致衣服永久变形。",
230
+ ironing: "不可熨烫",
231
+ donts: ["柔顺剂(时间长了会损坏纤维)", "强力拧干", "热源"],
232
+ sos: "失去弹性了?这是不可逆的(纤维已损坏)。",
233
+ icon: "mdi:resize",
234
+ color: "#450A0A",
235
+ maxTemp: "30°C",
236
+ isNoble: false,
237
+ },
238
+ },
239
+ },
240
+ seo: [
241
+ { type: 'title', text: '纺织品护理大师:延长衣物寿命的科学指南', level: 2 },
242
+ { type: 'paragraph', html: '你有多少衣服是在不知不觉中洗坏的?羊毛意外缩水,棉布褪色,丝绸上永远洗不掉的渍迹。大多数人洗衣服时并不了解每种纤维都有特定的需求。' },
243
+ { type: 'paragraph', html: '我们的<strong>纺织品洗涤指南</strong>为您提供基于衣物实际成分的科学说明。它不是通用的建议,而是具体的科学方案。' },
244
+ { type: 'title', text: '为什么传统洗涤方法会失败', level: 2 },
245
+ { type: 'paragraph', html: '你的祖母可能习惯用热水和强力肥皂洗涤一切。这对于 50 年代的厚棉床单行得通,但纺织世界已经变了。现代纤维——从<strong>莱赛尔 (Lyocell)</strong> 到 <strong>氨纶 (Elastane)</strong>——需要完全不同的护理方案。' },
246
+ { type: 'list', items: ['<strong>棉</strong> 耐高温但需要轻柔循环以防缩水。', '<strong>丝绸</strong> 在 30°C 以上容易受损,且建议使用蒸留水。', '<strong>羊毛</strong> 如果用普通洗衣机洗涤可能会变得像石头一样硬。', '<strong>合成纤维</strong> 虽然好打理,但容易产生静电且极易起球。'] },
247
+ { type: 'title', text: '按纤维类型划分的护理方案', level: 2 },
248
+ { type: 'title', text: '棉:耐操型', level: 3 },
249
+ { type: 'paragraph', html: '棉布很宽容,能承受 40-60°C 的水温。真正的敌人是氯(会削弱纤维)和高温烘干(会导致永久缩水)。准则:务必翻面洗涤以保护颜色。' },
250
+ { type: 'title', text: '丝绸:贵妇型', level: 3 },
251
+ { type: 'paragraph', html: '丝绸需要冷水(最高 30°C)、温和洗涤剂,如果可能的话最后用蒸留水漂洗。问题在于:自来水中的矿物质会留下沉积物,使丝绸看起来暗淡粗糙。解决方法:在最后一步漂洗时使用蒸留水。' },
252
+ { type: 'title', text: '羊毛:娇贵型', level: 3 },
253
+ { type: 'paragraph', html: '羊毛是由蛋白质组成的,就像你的头发。最高洗涤温度 30°C,并使用羊毛专用洗涤剂。千万不要使用标准模式:机械搅动会使其发生不可逆的缩水。金科玉律:务必平铺晾干,严禁悬挂(会拉长)。' },
254
+ { type: 'title', text: '合成纤维:省心型', level: 3 },
255
+ { type: 'paragraph', html: '涤纶、腈纶和尼龙都很耐穿,可以承受 40°C 的温水。唯一的敌人是静电,它会使衣物带电。窍门:添加柔顺剂或在烘干机中使用烘干纸。' },
256
+ { type: 'title', text: '关于干燥的残酷真相', level: 2 },
257
+ { type: 'paragraph', html: '90% 的衣物损坏发生在干燥过程,而非洗涤过程。原因如下:' },
258
+ { type: 'card', title: '过滤网里的绒毛', icon: 'mdi:alert', html: '你在烘干机过滤网上看到的绒毛其实是从衣服上<strong>脱落的纤维</strong>。每一次烘干都在慢慢摧毁你的衣服。合成纤维更糟:几周内就会起球。' },
259
+ { type: 'card', title: '无声的缩水', icon: 'mdi:warning', html: '烘干机的热量会使大多数天然纤维永久缩水。烘干一次缩水 5% 的衣服永远无法恢复原状。' },
260
+ { type: 'tip', title: '最佳烘干实践', html: '尽可能自然晾干。如果必须使用烘干机,请使用低温档,并在衣服还有轻微湿气时取出。' },
261
+ { type: 'title', text: '去渍:生存指南', level: 2 },
262
+ { type: 'paragraph', html: '不同纤维对化学品的反应不同。棉布上的红酒渍用冷水处理;丝绸则需要蒸留水和一块干净的丝绸布。以下是基本原则:' },
263
+ { type: 'list', items: ['<strong>油脂:</strong> 洗涤前使用干皂,严禁用热水(会固化污渍)。', '<strong>墨水/圆珠笔:</strong> 合成纤维用异丙醇;天然纤维用冷水。', '<strong>血迹:</strong> 务必使用冷水。热量会使其永久固化。', '<strong>红酒/饮料:</strong> 立即冷水冲洗,然后撒盐吸收。'] },
264
+ { type: 'paragraph', html: '“少买,优选,使之长久。” 护理得当的衣服可以穿几十年,护理不当的只能穿几个月。' },
265
+ ],
266
+ faqTitle: '常见问题',
267
+ faq: faqData,
268
+ bibliographyTitle: '参考资料',
269
+ bibliography: [
270
+ { name: 'ISO 3758 - 纺织品护理符号', url: 'https://www.iso.org/standard/60465.html' },
271
+ { name: '纺织品标签指南', url: 'https://www.ftc.gov/' },
272
+ ],
273
+ howTo: howToData,
274
+ schemas: [faqSchema, howToSchema, appSchema],
275
+ };
@@ -2,10 +2,6 @@ import type { TextilesToolEntry, ToolDefinition } from '../../types';
2
2
  import LaundryGuideComponent from './component.astro';
3
3
  import LaundryGuideSEO from './seo.astro';
4
4
  import LaundryGuideBibliography from './bibliography.astro';
5
- import { content as es } from './i18n/es';
6
- import { content as en } from './i18n/en';
7
- import { content as fr } from './i18n/fr';
8
-
9
5
  export const laundryGuide: TextilesToolEntry = {
10
6
  id: 'laundry-guide',
11
7
  icons: {
@@ -13,9 +9,21 @@ export const laundryGuide: TextilesToolEntry = {
13
9
  fg: 'mdi:water-check',
14
10
  },
15
11
  i18n: {
16
- es: async () => es,
17
- en: async () => en,
18
- fr: async () => fr,
12
+ es: () => import('./i18n/es').then((m) => m.content),
13
+ en: () => import('./i18n/en').then((m) => m.content),
14
+ fr: () => import('./i18n/fr').then((m) => m.content),
15
+ de: () => import('./i18n/de').then((m) => m.content),
16
+ id: () => import('./i18n/id').then((m) => m.content),
17
+ it: () => import('./i18n/it').then((m) => m.content),
18
+ ja: () => import('./i18n/ja').then((m) => m.content),
19
+ ko: () => import('./i18n/ko').then((m) => m.content),
20
+ nl: () => import('./i18n/nl').then((m) => m.content),
21
+ pl: () => import('./i18n/pl').then((m) => m.content),
22
+ pt: () => import('./i18n/pt').then((m) => m.content),
23
+ ru: () => import('./i18n/ru').then((m) => m.content),
24
+ sv: () => import('./i18n/sv').then((m) => m.content),
25
+ tr: () => import('./i18n/tr').then((m) => m.content),
26
+ zh: () => import('./i18n/zh').then((m) => m.content),
19
27
  },
20
28
  };
21
29