@jjlmoya/utils-textiles 1.13.0 → 1.15.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 (254) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +2 -2
  3. package/src/category/i18n/en.ts +2 -2
  4. package/src/category/i18n/es.ts +2 -2
  5. package/src/category/i18n/fr.ts +9 -9
  6. package/src/category/i18n/id.ts +2 -2
  7. package/src/category/i18n/it.ts +2 -2
  8. package/src/category/i18n/nl.ts +2 -2
  9. package/src/category/i18n/pl.ts +3 -3
  10. package/src/category/i18n/pt.ts +2 -2
  11. package/src/category/i18n/ru.ts +5 -5
  12. package/src/category/i18n/sv.ts +3 -3
  13. package/src/category/i18n/zh.ts +2 -2
  14. package/src/layouts/PreviewLayout.astro +1 -0
  15. package/src/pages/[locale]/[slug].astro +30 -14
  16. package/src/tests/diacritics_density.test.ts +118 -0
  17. package/src/tests/inverted_punctuation.test.ts +84 -0
  18. package/src/tests/locale_completeness.test.ts +0 -33
  19. package/src/tests/no_en_dash.test.ts +70 -0
  20. package/src/tests/script_density.test.ts +94 -0
  21. package/src/tests/shared-test-helpers.ts +56 -0
  22. package/src/tests/tool_exports.test.ts +34 -0
  23. package/src/tool/burnTest/bibliography.astro +2 -10
  24. package/src/tool/burnTest/bibliography.ts +16 -0
  25. package/src/tool/burnTest/i18n/de.ts +5 -19
  26. package/src/tool/burnTest/i18n/en.ts +2 -16
  27. package/src/tool/burnTest/i18n/es.ts +2 -16
  28. package/src/tool/burnTest/i18n/fr.ts +5 -19
  29. package/src/tool/burnTest/i18n/id.ts +2 -16
  30. package/src/tool/burnTest/i18n/it.ts +2 -16
  31. package/src/tool/burnTest/i18n/ja.ts +2 -16
  32. package/src/tool/burnTest/i18n/ko.ts +2 -16
  33. package/src/tool/burnTest/i18n/nl.ts +2 -16
  34. package/src/tool/burnTest/i18n/pl.ts +5 -19
  35. package/src/tool/burnTest/i18n/pt.ts +2 -16
  36. package/src/tool/burnTest/i18n/ru.ts +8 -22
  37. package/src/tool/burnTest/i18n/sv.ts +2 -16
  38. package/src/tool/burnTest/i18n/tr.ts +2 -16
  39. package/src/tool/burnTest/i18n/zh.ts +5 -19
  40. package/src/tool/burnTest/index.ts +1 -0
  41. package/src/tool/burnTest/seo.astro +2 -27
  42. package/src/tool/clothingSizeConverter/bibliography.astro +2 -10
  43. package/src/tool/clothingSizeConverter/bibliography.ts +10 -0
  44. package/src/tool/clothingSizeConverter/i18n/de.ts +2 -10
  45. package/src/tool/clothingSizeConverter/i18n/en.ts +3 -11
  46. package/src/tool/clothingSizeConverter/i18n/es.ts +2 -10
  47. package/src/tool/clothingSizeConverter/i18n/fr.ts +8 -16
  48. package/src/tool/clothingSizeConverter/i18n/id.ts +2 -10
  49. package/src/tool/clothingSizeConverter/i18n/it.ts +2 -10
  50. package/src/tool/clothingSizeConverter/i18n/ja.ts +2 -10
  51. package/src/tool/clothingSizeConverter/i18n/ko.ts +2 -10
  52. package/src/tool/clothingSizeConverter/i18n/nl.ts +2 -10
  53. package/src/tool/clothingSizeConverter/i18n/pl.ts +3 -11
  54. package/src/tool/clothingSizeConverter/i18n/pt.ts +2 -10
  55. package/src/tool/clothingSizeConverter/i18n/ru.ts +4 -12
  56. package/src/tool/clothingSizeConverter/i18n/sv.ts +2 -10
  57. package/src/tool/clothingSizeConverter/i18n/tr.ts +2 -10
  58. package/src/tool/clothingSizeConverter/i18n/zh.ts +3 -11
  59. package/src/tool/clothingSizeConverter/index.ts +1 -0
  60. package/src/tool/clothingSizeConverter/seo.astro +2 -27
  61. package/src/tool/fabricProjectCalculator/bibliography.astro +2 -10
  62. package/src/tool/fabricProjectCalculator/bibliography.ts +16 -0
  63. package/src/tool/fabricProjectCalculator/component.astro +2 -3
  64. package/src/tool/fabricProjectCalculator/fabric-project-calculator.css +63 -1
  65. package/src/tool/fabricProjectCalculator/i18n/de.ts +2 -16
  66. package/src/tool/fabricProjectCalculator/i18n/en.ts +2 -16
  67. package/src/tool/fabricProjectCalculator/i18n/es.ts +2 -16
  68. package/src/tool/fabricProjectCalculator/i18n/fr.ts +2 -16
  69. package/src/tool/fabricProjectCalculator/i18n/id.ts +2 -16
  70. package/src/tool/fabricProjectCalculator/i18n/it.ts +2 -16
  71. package/src/tool/fabricProjectCalculator/i18n/ja.ts +2 -16
  72. package/src/tool/fabricProjectCalculator/i18n/ko.ts +2 -16
  73. package/src/tool/fabricProjectCalculator/i18n/nl.ts +2 -16
  74. package/src/tool/fabricProjectCalculator/i18n/pl.ts +2 -16
  75. package/src/tool/fabricProjectCalculator/i18n/pt.ts +2 -16
  76. package/src/tool/fabricProjectCalculator/i18n/ru.ts +4 -18
  77. package/src/tool/fabricProjectCalculator/i18n/sv.ts +2 -16
  78. package/src/tool/fabricProjectCalculator/i18n/tr.ts +2 -16
  79. package/src/tool/fabricProjectCalculator/i18n/zh.ts +3 -17
  80. package/src/tool/fabricProjectCalculator/index.ts +1 -0
  81. package/src/tool/fabricProjectCalculator/seo.astro +2 -27
  82. package/src/tool/fabricTruth/bibliography.astro +2 -10
  83. package/src/tool/fabricTruth/bibliography.ts +16 -0
  84. package/src/tool/fabricTruth/i18n/de.ts +3 -17
  85. package/src/tool/fabricTruth/i18n/en.ts +3 -17
  86. package/src/tool/fabricTruth/i18n/es.ts +3 -17
  87. package/src/tool/fabricTruth/i18n/fr.ts +15 -29
  88. package/src/tool/fabricTruth/i18n/id.ts +3 -17
  89. package/src/tool/fabricTruth/i18n/it.ts +3 -17
  90. package/src/tool/fabricTruth/i18n/ja.ts +3 -17
  91. package/src/tool/fabricTruth/i18n/ko.ts +3 -17
  92. package/src/tool/fabricTruth/i18n/nl.ts +3 -17
  93. package/src/tool/fabricTruth/i18n/pl.ts +3 -17
  94. package/src/tool/fabricTruth/i18n/pt.ts +3 -17
  95. package/src/tool/fabricTruth/i18n/ru.ts +13 -27
  96. package/src/tool/fabricTruth/i18n/sv.ts +3 -17
  97. package/src/tool/fabricTruth/i18n/tr.ts +3 -17
  98. package/src/tool/fabricTruth/i18n/zh.ts +11 -25
  99. package/src/tool/fabricTruth/index.ts +1 -0
  100. package/src/tool/fabricTruth/seo.astro +2 -27
  101. package/src/tool/fiberPrep/bibliography.astro +2 -10
  102. package/src/tool/fiberPrep/bibliography.ts +12 -0
  103. package/src/tool/fiberPrep/fiber-preparation-natural-dyeing.css +130 -11
  104. package/src/tool/fiberPrep/i18n/de.ts +2 -12
  105. package/src/tool/fiberPrep/i18n/en.ts +2 -12
  106. package/src/tool/fiberPrep/i18n/es.ts +2 -12
  107. package/src/tool/fiberPrep/i18n/fr.ts +6 -16
  108. package/src/tool/fiberPrep/i18n/id.ts +2 -12
  109. package/src/tool/fiberPrep/i18n/it.ts +2 -12
  110. package/src/tool/fiberPrep/i18n/ja.ts +2 -12
  111. package/src/tool/fiberPrep/i18n/ko.ts +2 -12
  112. package/src/tool/fiberPrep/i18n/nl.ts +2 -12
  113. package/src/tool/fiberPrep/i18n/pl.ts +2 -12
  114. package/src/tool/fiberPrep/i18n/pt.ts +2 -12
  115. package/src/tool/fiberPrep/i18n/ru.ts +5 -15
  116. package/src/tool/fiberPrep/i18n/sv.ts +2 -12
  117. package/src/tool/fiberPrep/i18n/tr.ts +2 -12
  118. package/src/tool/fiberPrep/i18n/zh.ts +4 -14
  119. package/src/tool/fiberPrep/index.ts +1 -0
  120. package/src/tool/fiberPrep/seo.astro +2 -27
  121. package/src/tool/knittingGauge/bibliography.astro +2 -10
  122. package/src/tool/knittingGauge/bibliography.ts +12 -0
  123. package/src/tool/knittingGauge/i18n/de.ts +2 -12
  124. package/src/tool/knittingGauge/i18n/en.ts +2 -12
  125. package/src/tool/knittingGauge/i18n/es.ts +2 -12
  126. package/src/tool/knittingGauge/i18n/fr.ts +2 -12
  127. package/src/tool/knittingGauge/i18n/id.ts +2 -12
  128. package/src/tool/knittingGauge/i18n/it.ts +2 -12
  129. package/src/tool/knittingGauge/i18n/ja.ts +2 -12
  130. package/src/tool/knittingGauge/i18n/ko.ts +2 -12
  131. package/src/tool/knittingGauge/i18n/nl.ts +2 -12
  132. package/src/tool/knittingGauge/i18n/pl.ts +2 -12
  133. package/src/tool/knittingGauge/i18n/pt.ts +2 -12
  134. package/src/tool/knittingGauge/i18n/ru.ts +8 -18
  135. package/src/tool/knittingGauge/i18n/sv.ts +2 -12
  136. package/src/tool/knittingGauge/i18n/tr.ts +2 -12
  137. package/src/tool/knittingGauge/i18n/zh.ts +3 -13
  138. package/src/tool/knittingGauge/index.ts +1 -0
  139. package/src/tool/knittingGauge/seo.astro +2 -27
  140. package/src/tool/laundryGuide/bibliography.astro +2 -10
  141. package/src/tool/laundryGuide/bibliography.ts +6 -0
  142. package/src/tool/laundryGuide/i18n/de.ts +3 -7
  143. package/src/tool/laundryGuide/i18n/en.ts +3 -7
  144. package/src/tool/laundryGuide/i18n/es.ts +3 -7
  145. package/src/tool/laundryGuide/i18n/fr.ts +14 -18
  146. package/src/tool/laundryGuide/i18n/id.ts +3 -7
  147. package/src/tool/laundryGuide/i18n/it.ts +3 -7
  148. package/src/tool/laundryGuide/i18n/ja.ts +2 -6
  149. package/src/tool/laundryGuide/i18n/ko.ts +2 -6
  150. package/src/tool/laundryGuide/i18n/nl.ts +3 -7
  151. package/src/tool/laundryGuide/i18n/pl.ts +4 -8
  152. package/src/tool/laundryGuide/i18n/pt.ts +3 -7
  153. package/src/tool/laundryGuide/i18n/ru.ts +8 -12
  154. package/src/tool/laundryGuide/i18n/sv.ts +3 -7
  155. package/src/tool/laundryGuide/i18n/tr.ts +2 -6
  156. package/src/tool/laundryGuide/i18n/zh.ts +4 -8
  157. package/src/tool/laundryGuide/index.ts +1 -0
  158. package/src/tool/laundryGuide/seo.astro +2 -27
  159. package/src/tool/needleConverter/bibliography.astro +2 -10
  160. package/src/tool/needleConverter/bibliography.ts +12 -0
  161. package/src/tool/needleConverter/i18n/de.ts +2 -12
  162. package/src/tool/needleConverter/i18n/en.ts +2 -12
  163. package/src/tool/needleConverter/i18n/es.ts +2 -12
  164. package/src/tool/needleConverter/i18n/fr.ts +7 -17
  165. package/src/tool/needleConverter/i18n/id.ts +2 -12
  166. package/src/tool/needleConverter/i18n/it.ts +2 -12
  167. package/src/tool/needleConverter/i18n/ja.ts +2 -12
  168. package/src/tool/needleConverter/i18n/ko.ts +2 -12
  169. package/src/tool/needleConverter/i18n/nl.ts +2 -12
  170. package/src/tool/needleConverter/i18n/pl.ts +2 -12
  171. package/src/tool/needleConverter/i18n/pt.ts +2 -12
  172. package/src/tool/needleConverter/i18n/ru.ts +6 -16
  173. package/src/tool/needleConverter/i18n/sv.ts +2 -12
  174. package/src/tool/needleConverter/i18n/tr.ts +2 -12
  175. package/src/tool/needleConverter/i18n/zh.ts +2 -12
  176. package/src/tool/needleConverter/index.ts +1 -0
  177. package/src/tool/needleConverter/seo.astro +1 -1
  178. package/src/tool/sewingPatternScaler/bibliography.astro +2 -10
  179. package/src/tool/sewingPatternScaler/bibliography.ts +12 -0
  180. package/src/tool/sewingPatternScaler/i18n/de.ts +2 -12
  181. package/src/tool/sewingPatternScaler/i18n/en.ts +2 -12
  182. package/src/tool/sewingPatternScaler/i18n/es.ts +2 -12
  183. package/src/tool/sewingPatternScaler/i18n/fr.ts +4 -14
  184. package/src/tool/sewingPatternScaler/i18n/id.ts +2 -12
  185. package/src/tool/sewingPatternScaler/i18n/it.ts +2 -12
  186. package/src/tool/sewingPatternScaler/i18n/ja.ts +2 -12
  187. package/src/tool/sewingPatternScaler/i18n/ko.ts +2 -12
  188. package/src/tool/sewingPatternScaler/i18n/nl.ts +2 -12
  189. package/src/tool/sewingPatternScaler/i18n/pl.ts +4 -14
  190. package/src/tool/sewingPatternScaler/i18n/pt.ts +2 -12
  191. package/src/tool/sewingPatternScaler/i18n/ru.ts +9 -19
  192. package/src/tool/sewingPatternScaler/i18n/sv.ts +2 -12
  193. package/src/tool/sewingPatternScaler/i18n/tr.ts +2 -12
  194. package/src/tool/sewingPatternScaler/i18n/zh.ts +5 -15
  195. package/src/tool/sewingPatternScaler/index.ts +1 -0
  196. package/src/tool/sewingPatternScaler/seo.astro +2 -36
  197. package/src/tool/shoeSizeConverter/bibliography.astro +2 -10
  198. package/src/tool/shoeSizeConverter/bibliography.ts +7 -0
  199. package/src/tool/shoeSizeConverter/i18n/de.ts +2 -7
  200. package/src/tool/shoeSizeConverter/i18n/en.ts +2 -7
  201. package/src/tool/shoeSizeConverter/i18n/es.ts +2 -7
  202. package/src/tool/shoeSizeConverter/i18n/fr.ts +3 -8
  203. package/src/tool/shoeSizeConverter/i18n/id.ts +2 -7
  204. package/src/tool/shoeSizeConverter/i18n/it.ts +2 -7
  205. package/src/tool/shoeSizeConverter/i18n/ja.ts +2 -7
  206. package/src/tool/shoeSizeConverter/i18n/ko.ts +2 -7
  207. package/src/tool/shoeSizeConverter/i18n/nl.ts +2 -7
  208. package/src/tool/shoeSizeConverter/i18n/pl.ts +2 -7
  209. package/src/tool/shoeSizeConverter/i18n/pt.ts +2 -7
  210. package/src/tool/shoeSizeConverter/i18n/ru.ts +6 -11
  211. package/src/tool/shoeSizeConverter/i18n/sv.ts +2 -7
  212. package/src/tool/shoeSizeConverter/i18n/tr.ts +2 -7
  213. package/src/tool/shoeSizeConverter/i18n/zh.ts +5 -10
  214. package/src/tool/shoeSizeConverter/index.ts +1 -0
  215. package/src/tool/shoeSizeConverter/seo.astro +2 -27
  216. package/src/tool/stainChemistry/bibliography.astro +2 -10
  217. package/src/tool/stainChemistry/bibliography.ts +16 -0
  218. package/src/tool/stainChemistry/i18n/de.ts +5 -19
  219. package/src/tool/stainChemistry/i18n/en.ts +5 -19
  220. package/src/tool/stainChemistry/i18n/es.ts +5 -19
  221. package/src/tool/stainChemistry/i18n/fr.ts +8 -22
  222. package/src/tool/stainChemistry/i18n/id.ts +5 -19
  223. package/src/tool/stainChemistry/i18n/it.ts +5 -19
  224. package/src/tool/stainChemistry/i18n/ja.ts +5 -19
  225. package/src/tool/stainChemistry/i18n/ko.ts +5 -19
  226. package/src/tool/stainChemistry/i18n/nl.ts +5 -19
  227. package/src/tool/stainChemistry/i18n/pl.ts +5 -19
  228. package/src/tool/stainChemistry/i18n/pt.ts +5 -19
  229. package/src/tool/stainChemistry/i18n/ru.ts +9 -23
  230. package/src/tool/stainChemistry/i18n/sv.ts +5 -19
  231. package/src/tool/stainChemistry/i18n/tr.ts +5 -19
  232. package/src/tool/stainChemistry/i18n/zh.ts +9 -23
  233. package/src/tool/stainChemistry/index.ts +1 -0
  234. package/src/tool/stainChemistry/seo.astro +2 -27
  235. package/src/tool/yarnCalculator/bibliography.astro +2 -10
  236. package/src/tool/yarnCalculator/bibliography.ts +16 -0
  237. package/src/tool/yarnCalculator/i18n/de.ts +2 -16
  238. package/src/tool/yarnCalculator/i18n/en.ts +2 -16
  239. package/src/tool/yarnCalculator/i18n/es.ts +2 -16
  240. package/src/tool/yarnCalculator/i18n/fr.ts +6 -20
  241. package/src/tool/yarnCalculator/i18n/id.ts +2 -16
  242. package/src/tool/yarnCalculator/i18n/it.ts +2 -16
  243. package/src/tool/yarnCalculator/i18n/ja.ts +2 -16
  244. package/src/tool/yarnCalculator/i18n/ko.ts +2 -16
  245. package/src/tool/yarnCalculator/i18n/nl.ts +2 -16
  246. package/src/tool/yarnCalculator/i18n/pl.ts +2 -16
  247. package/src/tool/yarnCalculator/i18n/pt.ts +2 -16
  248. package/src/tool/yarnCalculator/i18n/ru.ts +9 -23
  249. package/src/tool/yarnCalculator/i18n/sv.ts +2 -16
  250. package/src/tool/yarnCalculator/i18n/tr.ts +2 -16
  251. package/src/tool/yarnCalculator/i18n/zh.ts +7 -21
  252. package/src/tool/yarnCalculator/index.ts +1 -0
  253. package/src/tool/yarnCalculator/seo.astro +2 -1
  254. package/src/types.ts +2 -4
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'schuhgroessen-umrechner';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Häufig gestellte Fragen',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Literaturhinweise',
83
- bibliography: [
84
- { name: 'Schuhgröße - Wikipedia', url: 'https://de.wikipedia.org/wiki/Schuhgröße' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -81,14 +82,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Frequently Asked Questions',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliography',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'conversor-tallas-zapatos';
@@ -81,14 +82,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Preguntas Frecuentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliografía',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'convertisseur-pointures-chaussures';
@@ -81,20 +82,14 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Questions Fréquentes',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliographie',
87
- bibliography: [
88
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
89
- { name: 'ISO 9407: Pointures - Système Mondopoint', url: 'https://www.iso.org/standard/17157.html' },
90
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
91
- ],
86
+ bibliography: bibliography,
92
87
  howTo: howToData,
93
88
  schemas: [faqSchema, howToSchema, appSchema],
94
89
  seo: [
95
90
  {
96
91
  type: 'title',
97
- text: 'Convertisseur de Pointures : Guide International Complet',
92
+ text: 'Convertisseur de Pointures: Guide International Complet',
98
93
  level: 2,
99
94
  },
100
95
  {
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'konversi-ukuran-sepatu';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Pertanyaan yang Sering Diajukan',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Referensi',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'convertitore-taglie-scarpe';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Domande Frequenti',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'よくある質問',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考文献',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '자주 묻는 질문',
81
81
  faq: faqData,
82
- bibliographyTitle: '참고 문헌',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'schoenmaat-omrekenen';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Veelgestelde Vragen',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografie',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'przelicznik-rozmiarow-butow';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Najczęściej Zadawane Pytania',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'conversor-tamanhos-sapatos';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Perguntas Frequentes',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografia',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'tablica-razmerov-obuvi';
@@ -9,7 +10,7 @@ const description = 'Перевод размеров обуви между си
9
10
  const faqData = [
10
11
  {
11
12
  question: 'Как узнать свой размер обуви в США (US)?',
12
- answer: 'Для мужчин размер US обычно на одну единицу больше, чем размер UK. Для женщин шкала отличается. Самый точный способизмерить стопу в сантиметрах и использовать наш конвертер для получения точного номера US.',
13
+ answer: 'Для мужчин размер US обычно на одну единицу больше, чем размер UK. Для женщин шкала отличается. Самый точный способ - измерить стопу в сантиметрах и использовать наш конвертер для получения точного номера US.',
13
14
  },
14
15
  {
15
16
  question: 'В чем разница между британским (UK) и американским (US) размерами обуви?',
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Часто задаваемые вопросы',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Источники',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -95,7 +90,7 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
95
90
  },
96
91
  {
97
92
  type: 'paragraph',
98
- html: 'Покупка обуви в международных интернет-магазинах может стать логистической проблемой. <strong>Конвертер размеров обуви</strong>это незаменимый инструмент, позволяющий избежать ненужных возвратов и гарантировать успех каждой покупки на Amazon, AliExpress или в специализированном спортивном магазине.',
93
+ html: 'Покупка обуви в международных интернет-магазинах может стать логистической проблемой. <strong>Конвертер размеров обуви</strong> - это незаменимый инструмент, позволяющий избежать ненужных возвратов и гарантировать успех каждой покупки на Amazon, AliExpress или в специализированном спортивном магазине.',
99
94
  },
100
95
  {
101
96
  type: 'title',
@@ -104,12 +99,12 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
104
99
  },
105
100
  {
106
101
  type: 'paragraph',
107
- html: 'В мире обуви нет единого стандарта. Исторически сложилось так, что каждый регион разработал свою систему, основанную на местных единицах измерения, таких как дюймы или «парижская точка».',
102
+ html: 'В мире обуви нет единого стандарта. Исторически сложилось так, что каждый регион разработал свою систему, основанную на местных единицах измерения, таких как дюймы или "парижская точка".',
108
103
  },
109
104
  {
110
105
  type: 'list',
111
106
  items: [
112
- '<span><strong>Размеры EU (Европа):</strong> основаны на «парижской точке», которая равна 2/3 сантиметра. Это наиболее распространенная система в России.</span>',
107
+ '<span><strong>Размеры EU (Европа):</strong> основаны на "парижской точке", которая равна 2/3 сантиметра. Это наиболее распространенная система в России.</span>',
113
108
  '<span><strong>Размеры US (США):</strong> используют дюймы с разной точкой отсчета для мужчин и женщин.</span>',
114
109
  '<span><strong>Размеры UK (Великобритания):</strong> также используют имперскую систему, но со шкалами на одну единицу меньше, чем в США.</span>',
115
110
  '<span><strong>Размер CM / Mondopoint:</strong> самый точный. Использует непосредственно длину стопы в сантиметрах.</span>',
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'skostorleks-konverterare';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Vanliga frågor',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Bibliografi',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'ayakkabi-numarasi-donusturucu';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: 'Sıkça Sorulan Sorular',
81
81
  faq: faqData,
82
- bibliographyTitle: 'Referanslar',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { ShoeSizeConverterUI } from '../ui';
4
5
 
5
6
  const slug = 'shoe-size-converter';
@@ -77,14 +78,8 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
77
78
  slug,
78
79
  title,
79
80
  description,
80
- faqTitle: '常见问题',
81
81
  faq: faqData,
82
- bibliographyTitle: '参考资料',
83
- bibliography: [
84
- { name: 'Shoe size conversion - Wikipedia', url: 'https://en.wikipedia.org/wiki/Shoe_size' },
85
- { name: 'ISO 9407: Shoe sizes - Mondopoint system', url: 'https://www.iso.org/standard/17157.html' },
86
- { name: 'Shoe size conversion - Zappos', url: 'https://www.zappos.com/c/shoe-size-conversion' },
87
- ],
82
+ bibliography: bibliography,
88
83
  howTo: howToData,
89
84
  schemas: [faqSchema, howToSchema, appSchema],
90
85
  seo: [
@@ -104,12 +99,12 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
104
99
  },
105
100
  {
106
101
  type: 'paragraph',
107
- html: '鞋类世界并没有统一。从历史上看,每个地区都根据当地的测量单位(如英寸或“巴黎点”)开发了自己的系统。',
102
+ html: '鞋类世界并没有统一。从历史上看,每个地区都根据当地的测量单位(如英寸或"巴黎点")开发了自己的系统。',
108
103
  },
109
104
  {
110
105
  type: 'list',
111
106
  items: [
112
- '<span><strong>欧码 EU (欧洲):</strong> 基于“巴黎点”,相当于 2/3 厘米。这是中国最常用的参考系统之一。</span>',
107
+ '<span><strong>欧码 EU (欧洲):</strong> 基于"巴黎点",相当于 2/3 厘米。这是中国最常用的参考系统之一。</span>',
113
108
  '<span><strong>美码 US (美国):</strong> 使用英寸,且男女鞋的起点不同。</span>',
114
109
  '<span><strong>英码 UK (英国):</strong> 同样采用英制系统,但刻度比美国低一个单位。</span>',
115
110
  '<span><strong>厘米 CM / Mondopoint:</strong> 最精确的。直接使用以厘米为单位的脚长。</span>',
@@ -136,7 +131,7 @@ export const content: ToolLocaleContent<ShoeSizeConverterUI> = {
136
131
  },
137
132
  {
138
133
  type: 'paragraph',
139
- html: '为什么 Nike 穿 42 码,而在 Adidas 却穿 41 1/3 码?品牌使用自己的“鞋楦”。有些运动品牌往往尺码偏小,这迫使人们不得不购买比平时大半号的鞋子。',
134
+ html: '为什么 Nike 穿 42 码,而在 Adidas 却穿 41 1/3 码?品牌使用自己的"鞋楦"。有些运动品牌往往尺码偏小,这迫使人们不得不购买比平时大半号的鞋子。',
140
135
  },
141
136
  ],
142
137
  ui: {
@@ -1,3 +1,4 @@
1
+ import type { ToolDefinition } from '../../types';
1
2
  import { shoeSizeConverter } from './entry';
2
3
  export * from './entry';
3
4
  export const SHOE_SIZE_CONVERTER_TOOL: ToolDefinition = {
@@ -1,11 +1,5 @@
1
1
  ---
2
- import {
3
- SEOTitle,
4
- SEOCard,
5
- SEOTip,
6
- SEOList,
7
- SEOArticle
8
- } from '@jjlmoya/utils-shared';
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
9
3
  import { shoeSizeConverter } from './index';
10
4
  import type { KnownLocale } from '../../types';
11
5
 
@@ -16,25 +10,6 @@ interface Props {
16
10
  const { locale = 'es' } = Astro.props;
17
11
  const content = await shoeSizeConverter.i18n[locale]?.();
18
12
  if (!content) return null;
19
-
20
- const { seo } = content;
21
13
  ---
22
14
 
23
- <SEOArticle>
24
- {seo.map((section: any) => {
25
- switch (section.type) {
26
- case 'title':
27
- return <SEOTitle title={section.text} level={section.level || 2} />;
28
- case 'paragraph':
29
- return <p set:html={section.html} />;
30
- case 'list':
31
- return <SEOList items={section.items} />;
32
- case 'card':
33
- return <SEOCard title={section.title} icon={section.icon}><Fragment set:html={section.html} /></SEOCard>;
34
- case 'tip':
35
- return <SEOTip title={section.title}><Fragment set:html={section.html} /></SEOTip>;
36
- default:
37
- return null;
38
- }
39
- })}
40
- </SEOArticle>
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { stainChemistry } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await stainChemistry.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,16 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'AATCC - Association for Advancing Color Technology and Chemistry',
6
+ url: 'https://www.aatcc.org',
7
+ },
8
+ {
9
+ name: 'Kissa, E. - Textile Auxiliaries',
10
+ url: 'https://www.springer.com/gp/book/9783642057328',
11
+ },
12
+ {
13
+ name: 'ISO 105 - Textiles: Tests for Colour Fastness',
14
+ url: 'https://www.iso.org/standard/72682.html',
15
+ },
16
+ ];
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { StainChemistryUI } from '../ui';
4
5
 
5
6
  const slug = 'textilflecken-chemie-protokoll';
@@ -152,7 +153,7 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
152
153
  id: 'wine',
153
154
  name: 'Rotwein / Obst',
154
155
  protocols: {
155
- natural: { agentId: 'percarbonate', temperature: '4060°C', method: 'Langes Einweichen' },
156
+ natural: { agentId: 'percarbonate', temperature: '40-60°C', method: 'Langes Einweichen' },
156
157
  synthetic: { agentId: 'percarbonate', temperature: '40°C', method: 'Direktes Auftragen als Paste' },
157
158
  delicate: {
158
159
  agentId: 'vinegar',
@@ -231,13 +232,13 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
231
232
  },
232
233
  {
233
234
  type: 'card',
234
- title: '01 Kontrollierte Oxidation',
235
+ title: '01: Kontrollierte Oxidation',
235
236
  icon: 'mdi:atom',
236
237
  html: '<strong>Natriumpercarbonat</strong> setzt Aktivsauerstoff frei, der die Doppelbindungen der Chromophore (die Moleküle, die für die Farbe des Flecks verantwortlich sind) aufbricht, wodurch sie farblos und wasserlöslich werden. Es ist die effektivste Methode für organische Flecken.',
237
238
  },
238
239
  {
239
240
  type: 'card',
240
- title: '02 Lösung durch Lösungsmittel',
241
+ title: '02: Lösung durch Lösungsmittel',
241
242
  icon: 'mdi:flask-outline',
242
243
  html: 'Flecken wie Öl oder Tinte sind nicht wasserlöslich. Lösungsmittel wie <strong>Isopropylalkohol</strong> oder <strong>Aceton</strong> verringern die Oberflächenspannung und ziehen die unpolaren Moleküle des Flecks an, sodass sie auf ein Trägermedium übertragen werden können.',
243
244
  },
@@ -278,23 +279,8 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
278
279
  html: '<strong>Isopropylalkohol</strong> ist stabiler, kann aber bei gefärbten Synthetikfasern die Pigmente mitreißen. Wir empfehlen vor der Hauptbehandlung immer den "Saum-Test" an einer unauffälligen Stelle.',
279
280
  },
280
281
  ],
281
- faqTitle: 'Häufig gestellte Fragen',
282
282
  faq: faqData,
283
- bibliographyTitle: 'Literaturhinweise',
284
- bibliography: [
285
- {
286
- name: 'AATCC - Association for Advancing Color Technology and Chemistry',
287
- url: 'https://www.aatcc.org',
288
- },
289
- {
290
- name: 'Kissa, E. — Textile Auxiliaries',
291
- url: 'https://www.springer.com/gp/book/9783642057328',
292
- },
293
- {
294
- name: 'ISO 105 — Textiles: Tests for Colour Fastness',
295
- url: 'https://www.iso.org/standard/72682.html',
296
- },
297
- ],
283
+ bibliography: bibliography,
298
284
  howTo: howToData,
299
285
  schemas: [faqSchema, howToSchema, appSchema],
300
286
  };
@@ -1,5 +1,6 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
3
4
  import type { StainChemistryUI } from '../ui';
4
5
 
5
6
  const slug = 'stain-chemical-protocol';
@@ -151,7 +152,7 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
151
152
  id: 'wine',
152
153
  name: 'Red Wine / Fruit',
153
154
  protocols: {
154
- natural: { agentId: 'percarbonate', temperature: '4060°C', method: 'Extended soak' },
155
+ natural: { agentId: 'percarbonate', temperature: '40-60°C', method: 'Extended soak' },
155
156
  synthetic: { agentId: 'percarbonate', temperature: '40°C', method: 'Direct paste' },
156
157
  delicate: {
157
158
  agentId: 'vinegar',
@@ -234,13 +235,13 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
234
235
  },
235
236
  {
236
237
  type: 'card',
237
- title: '01 Controlled Oxidation',
238
+ title: '01: Controlled Oxidation',
238
239
  icon: 'mdi:atom',
239
240
  html: '<strong>Sodium percarbonate</strong> releases active oxygen that breaks the double bonds of chromophores (the molecules responsible for the stain\'s color), rendering them colorless and water-soluble. It is the most effective method for organic stains.',
240
241
  },
241
242
  {
242
243
  type: 'card',
243
- title: '02 Solubilization by Solvents',
244
+ title: '02: Solubilization by Solvents',
244
245
  icon: 'mdi:flask-outline',
245
246
  html: 'Stains like oil or ink are not water-soluble. Solvents such as <strong>isopropyl alcohol</strong> or <strong>acetone</strong> reduce surface tension and attract the non-polar molecules of the stain, allowing them to be transferred to a support medium.',
246
247
  },
@@ -281,23 +282,8 @@ export const content: ToolLocaleContent<StainChemistryUI> = {
281
282
  html: '<strong>Isopropyl alcohol</strong> is more stable, but on dyed synthetics it can carry away the pigment itself. We always recommend the "hem test" on a hidden area before the main treatment.',
282
283
  },
283
284
  ],
284
- faqTitle: 'Frequently Asked Questions',
285
285
  faq: faqData,
286
- bibliographyTitle: 'Bibliography',
287
- bibliography: [
288
- {
289
- name: 'AATCC - Association for Advancing Color Technology and Chemistry',
290
- url: 'https://www.aatcc.org',
291
- },
292
- {
293
- name: 'Kissa, E. — Textile Auxiliaries',
294
- url: 'https://www.springer.com/gp/book/9783642057328',
295
- },
296
- {
297
- name: 'ISO 105 — Textiles: Tests for Colour Fastness',
298
- url: 'https://www.iso.org/standard/72682.html',
299
- },
300
- ],
286
+ bibliography: bibliography,
301
287
  howTo: howToData,
302
288
  schemas: [faqSchema, howToSchema, appSchema],
303
289
  };