@jjlmoya/utils-diy 1.2.0 → 1.4.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 (189) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +12 -0
  3. package/src/category/i18n/id.ts +12 -0
  4. package/src/category/i18n/it.ts +12 -0
  5. package/src/category/i18n/ja.ts +12 -0
  6. package/src/category/i18n/ko.ts +12 -0
  7. package/src/category/i18n/nl.ts +12 -0
  8. package/src/category/i18n/pl.ts +12 -0
  9. package/src/category/i18n/pt.ts +12 -0
  10. package/src/category/i18n/ru.ts +12 -0
  11. package/src/category/i18n/sv.ts +12 -0
  12. package/src/category/i18n/tr.ts +12 -0
  13. package/src/category/i18n/zh.ts +12 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/seo_length.test.ts +3 -0
  19. package/src/tests/slug_uniqueness.test.ts +58 -0
  20. package/src/tool/balusterCalculator/i18n/de.ts +264 -0
  21. package/src/tool/balusterCalculator/i18n/id.ts +264 -0
  22. package/src/tool/balusterCalculator/i18n/it.ts +264 -0
  23. package/src/tool/balusterCalculator/i18n/ja.ts +264 -0
  24. package/src/tool/balusterCalculator/i18n/ko.ts +264 -0
  25. package/src/tool/balusterCalculator/i18n/nl.ts +264 -0
  26. package/src/tool/balusterCalculator/i18n/pl.ts +264 -0
  27. package/src/tool/balusterCalculator/i18n/pt.ts +264 -0
  28. package/src/tool/balusterCalculator/i18n/ru.ts +264 -0
  29. package/src/tool/balusterCalculator/i18n/sv.ts +264 -0
  30. package/src/tool/balusterCalculator/i18n/tr.ts +264 -0
  31. package/src/tool/balusterCalculator/i18n/zh.ts +264 -0
  32. package/src/tool/balusterCalculator/index.ts +15 -7
  33. package/src/tool/clayCalculator/i18n/de.ts +183 -0
  34. package/src/tool/clayCalculator/i18n/id.ts +183 -0
  35. package/src/tool/clayCalculator/i18n/it.ts +183 -0
  36. package/src/tool/clayCalculator/i18n/ja.ts +182 -0
  37. package/src/tool/clayCalculator/i18n/ko.ts +183 -0
  38. package/src/tool/clayCalculator/i18n/nl.ts +183 -0
  39. package/src/tool/clayCalculator/i18n/pl.ts +183 -0
  40. package/src/tool/clayCalculator/i18n/pt.ts +183 -0
  41. package/src/tool/clayCalculator/i18n/ru.ts +183 -0
  42. package/src/tool/clayCalculator/i18n/sv.ts +183 -0
  43. package/src/tool/clayCalculator/i18n/tr.ts +183 -0
  44. package/src/tool/clayCalculator/i18n/zh.ts +183 -0
  45. package/src/tool/clayCalculator/index.ts +15 -7
  46. package/src/tool/concreteCalculator/i18n/de.ts +201 -0
  47. package/src/tool/concreteCalculator/i18n/id.ts +201 -0
  48. package/src/tool/concreteCalculator/i18n/it.ts +201 -0
  49. package/src/tool/concreteCalculator/i18n/ja.ts +201 -0
  50. package/src/tool/concreteCalculator/i18n/ko.ts +201 -0
  51. package/src/tool/concreteCalculator/i18n/nl.ts +201 -0
  52. package/src/tool/concreteCalculator/i18n/pl.ts +201 -0
  53. package/src/tool/concreteCalculator/i18n/pt.ts +201 -0
  54. package/src/tool/concreteCalculator/i18n/ru.ts +201 -0
  55. package/src/tool/concreteCalculator/i18n/sv.ts +201 -0
  56. package/src/tool/concreteCalculator/i18n/tr.ts +201 -0
  57. package/src/tool/concreteCalculator/i18n/zh.ts +201 -0
  58. package/src/tool/concreteCalculator/index.ts +17 -5
  59. package/src/tool/cutOptimizer/i18n/de.ts +178 -0
  60. package/src/tool/cutOptimizer/i18n/id.ts +178 -0
  61. package/src/tool/cutOptimizer/i18n/it.ts +178 -0
  62. package/src/tool/cutOptimizer/i18n/ja.ts +178 -0
  63. package/src/tool/cutOptimizer/i18n/ko.ts +178 -0
  64. package/src/tool/cutOptimizer/i18n/nl.ts +178 -0
  65. package/src/tool/cutOptimizer/i18n/pl.ts +178 -0
  66. package/src/tool/cutOptimizer/i18n/pt.ts +178 -0
  67. package/src/tool/cutOptimizer/i18n/ru.ts +178 -0
  68. package/src/tool/cutOptimizer/i18n/sv.ts +178 -0
  69. package/src/tool/cutOptimizer/i18n/tr.ts +178 -0
  70. package/src/tool/cutOptimizer/i18n/zh.ts +178 -0
  71. package/src/tool/cutOptimizer/index.ts +17 -5
  72. package/src/tool/drillCalculator/i18n/de.ts +137 -0
  73. package/src/tool/drillCalculator/i18n/id.ts +137 -0
  74. package/src/tool/drillCalculator/i18n/it.ts +137 -0
  75. package/src/tool/drillCalculator/i18n/ja.ts +137 -0
  76. package/src/tool/drillCalculator/i18n/ko.ts +137 -0
  77. package/src/tool/drillCalculator/i18n/nl.ts +137 -0
  78. package/src/tool/drillCalculator/i18n/pl.ts +137 -0
  79. package/src/tool/drillCalculator/i18n/pt.ts +137 -0
  80. package/src/tool/drillCalculator/i18n/ru.ts +137 -0
  81. package/src/tool/drillCalculator/i18n/sv.ts +137 -0
  82. package/src/tool/drillCalculator/i18n/tr.ts +137 -0
  83. package/src/tool/drillCalculator/i18n/zh.ts +137 -0
  84. package/src/tool/drillCalculator/index.ts +17 -5
  85. package/src/tool/drillSharpener/i18n/de.ts +120 -0
  86. package/src/tool/drillSharpener/i18n/id.ts +120 -0
  87. package/src/tool/drillSharpener/i18n/it.ts +120 -0
  88. package/src/tool/drillSharpener/i18n/ja.ts +120 -0
  89. package/src/tool/drillSharpener/i18n/ko.ts +120 -0
  90. package/src/tool/drillSharpener/i18n/nl.ts +120 -0
  91. package/src/tool/drillSharpener/i18n/pl.ts +120 -0
  92. package/src/tool/drillSharpener/i18n/pt.ts +120 -0
  93. package/src/tool/drillSharpener/i18n/ru.ts +120 -0
  94. package/src/tool/drillSharpener/i18n/sv.ts +120 -0
  95. package/src/tool/drillSharpener/i18n/tr.ts +120 -0
  96. package/src/tool/drillSharpener/i18n/zh.ts +120 -0
  97. package/src/tool/drillSharpener/index.ts +17 -5
  98. package/src/tool/epoxyCalculator/i18n/de.ts +118 -0
  99. package/src/tool/epoxyCalculator/i18n/id.ts +118 -0
  100. package/src/tool/epoxyCalculator/i18n/it.ts +118 -0
  101. package/src/tool/epoxyCalculator/i18n/ja.ts +118 -0
  102. package/src/tool/epoxyCalculator/i18n/ko.ts +118 -0
  103. package/src/tool/epoxyCalculator/i18n/nl.ts +118 -0
  104. package/src/tool/epoxyCalculator/i18n/pl.ts +118 -0
  105. package/src/tool/epoxyCalculator/i18n/pt.ts +118 -0
  106. package/src/tool/epoxyCalculator/i18n/ru.ts +118 -0
  107. package/src/tool/epoxyCalculator/i18n/sv.ts +118 -0
  108. package/src/tool/epoxyCalculator/i18n/tr.ts +118 -0
  109. package/src/tool/epoxyCalculator/i18n/zh.ts +118 -0
  110. package/src/tool/epoxyCalculator/index.ts +15 -7
  111. package/src/tool/furnitureFit/i18n/de.ts +113 -0
  112. package/src/tool/furnitureFit/i18n/id.ts +113 -0
  113. package/src/tool/furnitureFit/i18n/it.ts +113 -0
  114. package/src/tool/furnitureFit/i18n/ja.ts +113 -0
  115. package/src/tool/furnitureFit/i18n/ko.ts +113 -0
  116. package/src/tool/furnitureFit/i18n/nl.ts +113 -0
  117. package/src/tool/furnitureFit/i18n/pl.ts +113 -0
  118. package/src/tool/furnitureFit/i18n/pt.ts +113 -0
  119. package/src/tool/furnitureFit/i18n/ru.ts +113 -0
  120. package/src/tool/furnitureFit/i18n/sv.ts +113 -0
  121. package/src/tool/furnitureFit/i18n/tr.ts +113 -0
  122. package/src/tool/furnitureFit/i18n/zh.ts +113 -0
  123. package/src/tool/furnitureFit/index.ts +17 -5
  124. package/src/tool/mortarCalculator/i18n/de.ts +129 -0
  125. package/src/tool/mortarCalculator/i18n/id.ts +129 -0
  126. package/src/tool/mortarCalculator/i18n/it.ts +129 -0
  127. package/src/tool/mortarCalculator/i18n/ja.ts +129 -0
  128. package/src/tool/mortarCalculator/i18n/ko.ts +129 -0
  129. package/src/tool/mortarCalculator/i18n/nl.ts +129 -0
  130. package/src/tool/mortarCalculator/i18n/pl.ts +129 -0
  131. package/src/tool/mortarCalculator/i18n/pt.ts +129 -0
  132. package/src/tool/mortarCalculator/i18n/ru.ts +129 -0
  133. package/src/tool/mortarCalculator/i18n/sv.ts +129 -0
  134. package/src/tool/mortarCalculator/i18n/tr.ts +129 -0
  135. package/src/tool/mortarCalculator/i18n/zh.ts +129 -0
  136. package/src/tool/mortarCalculator/index.ts +17 -5
  137. package/src/tool/passepartoutCalculator/i18n/de.ts +108 -0
  138. package/src/tool/passepartoutCalculator/i18n/id.ts +108 -0
  139. package/src/tool/passepartoutCalculator/i18n/it.ts +108 -0
  140. package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -0
  141. package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -0
  142. package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -0
  143. package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -0
  144. package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -0
  145. package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -0
  146. package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -0
  147. package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -0
  148. package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -0
  149. package/src/tool/passepartoutCalculator/index.ts +17 -5
  150. package/src/tool/stairCalculator/i18n/de.ts +144 -0
  151. package/src/tool/stairCalculator/i18n/id.ts +144 -0
  152. package/src/tool/stairCalculator/i18n/it.ts +144 -0
  153. package/src/tool/stairCalculator/i18n/ja.ts +144 -0
  154. package/src/tool/stairCalculator/i18n/ko.ts +144 -0
  155. package/src/tool/stairCalculator/i18n/nl.ts +144 -0
  156. package/src/tool/stairCalculator/i18n/pl.ts +144 -0
  157. package/src/tool/stairCalculator/i18n/pt.ts +144 -0
  158. package/src/tool/stairCalculator/i18n/ru.ts +144 -0
  159. package/src/tool/stairCalculator/i18n/sv.ts +144 -0
  160. package/src/tool/stairCalculator/i18n/tr.ts +144 -0
  161. package/src/tool/stairCalculator/i18n/zh.ts +144 -0
  162. package/src/tool/stairCalculator/index.ts +17 -5
  163. package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -0
  164. package/src/tool/thermalExpansionCalculator/i18n/id.ts +130 -0
  165. package/src/tool/thermalExpansionCalculator/i18n/it.ts +130 -0
  166. package/src/tool/thermalExpansionCalculator/i18n/ja.ts +130 -0
  167. package/src/tool/thermalExpansionCalculator/i18n/ko.ts +130 -0
  168. package/src/tool/thermalExpansionCalculator/i18n/nl.ts +130 -0
  169. package/src/tool/thermalExpansionCalculator/i18n/pl.ts +130 -0
  170. package/src/tool/thermalExpansionCalculator/i18n/pt.ts +130 -0
  171. package/src/tool/thermalExpansionCalculator/i18n/ru.ts +130 -0
  172. package/src/tool/thermalExpansionCalculator/i18n/sv.ts +130 -0
  173. package/src/tool/thermalExpansionCalculator/i18n/tr.ts +130 -0
  174. package/src/tool/thermalExpansionCalculator/i18n/zh.ts +130 -0
  175. package/src/tool/thermalExpansionCalculator/index.ts +17 -5
  176. package/src/tool/voltageDropCalculator/i18n/de.ts +112 -0
  177. package/src/tool/voltageDropCalculator/i18n/id.ts +110 -0
  178. package/src/tool/voltageDropCalculator/i18n/it.ts +110 -0
  179. package/src/tool/voltageDropCalculator/i18n/ja.ts +110 -0
  180. package/src/tool/voltageDropCalculator/i18n/ko.ts +110 -0
  181. package/src/tool/voltageDropCalculator/i18n/nl.ts +110 -0
  182. package/src/tool/voltageDropCalculator/i18n/pl.ts +110 -0
  183. package/src/tool/voltageDropCalculator/i18n/pt.ts +110 -0
  184. package/src/tool/voltageDropCalculator/i18n/ru.ts +110 -0
  185. package/src/tool/voltageDropCalculator/i18n/sv.ts +110 -0
  186. package/src/tool/voltageDropCalculator/i18n/tr.ts +110 -0
  187. package/src/tool/voltageDropCalculator/i18n/zh.ts +110 -0
  188. package/src/tool/voltageDropCalculator/index.ts +17 -5
  189. package/src/types.ts +1 -1
@@ -0,0 +1,183 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ClayCalculatorUI } from '../ui';
4
+
5
+ const slug = 'calcolatrice-argilla';
6
+ const title = 'Calcolatrice Restringimento Argilla: Dimensioni Esatte per Ceramica';
7
+ const description =
8
+ 'Calcola il restringimento dell\'argilla in essiccazione e cottura. Progetta pezzi in ceramica con le dimensioni finali esatte.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Perché l\'argilla si restringe?',
13
+ answer:
14
+ 'L\'argilla si restringe principalmente a causa della perdita d\'acqua. Prima avviene l\'essiccazione (evaporazione dell\'acqua tra le particelle) e poi la cottura (eliminazione dell\'acqua chimicamente combinata e sinterizzazione delle particelle).',
15
+ },
16
+ {
17
+ question: 'Qual è la percentuale di restringimento normale?',
18
+ answer:
19
+ 'Dipende dall\'impasto ceramico. La terracotta solitamente si restringe tra il 5-10%, mentre il gres e la porcellana possono arrivare al 12-15% a causa della loro maggiore vetrificazione.',
20
+ },
21
+ {
22
+ question: 'Come misuro il restringimento della mia argilla?',
23
+ answer:
24
+ 'Crea una piastra di prova di esattamente 10 cm. Lasciala asciugare e misurala (restringimento da essiccazione). Cuocila alla temperatura finale e misurala di nuovo (restringimento totale). La differenza ti darà la percentuale esatta.',
25
+ },
26
+ {
27
+ question: 'Cosa succede se il mio pezzo si crepa durante l\'essiccazione?',
28
+ answer:
29
+ 'Solitamente indica un\'essiccazione troppo rapida o non uniforme. Le zone sottili perdono acqua prima di quelle spesse, generando tensioni. Copri i pezzi con della plastica per rallentare il processo.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Misurare il pezzo umido',
36
+ text: 'Prendi le dimensioni esatte del tuo pezzo subito dopo la tornitura o la modellazione, quando ha ancora tutta la sua umidità.',
37
+ },
38
+ {
39
+ name: 'Inserire il coefficiente di restringimento',
40
+ text: 'Cerca sulla confezione della tua argilla la percentuale di restringimento totale (essiccazione + cottura) fornita dal produttore.',
41
+ },
42
+ {
43
+ name: 'Ottenere le dimensioni finali previste',
44
+ text: 'Usa la calcolatrice per sapere quanto misurerà il tuo pezzo dopo il passaggio in forno e pianifica i tuoi incastri o coperchi di conseguenza.',
45
+ },
46
+ {
47
+ name: 'Calcolo inverso per obiettivi',
48
+ text: 'Se hai bisogno che il tuo pezzo misuri esattamente X cm alla fine, usa il calcolo inverso per sapere che dimensioni deve avere sul tornio.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'it',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ClayCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Domande Frequenti',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Riferimenti',
93
+ bibliography: [
94
+ {
95
+ name: 'The Potter\'s Dictionary - Clay Shrinkage',
96
+ url: 'https://digitalfire.com/glossary/firing+shrinkage',
97
+ },
98
+ {
99
+ name: 'Ceramic Arts Network - Understanding Shrinkage',
100
+ url: 'https://ceramicartsnetwork.org/daily/article/How-to-Determine-Clay-Shrinkage-and-Make-a-Shrink-Rule',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: 'La Fisica dell\'Argilla: Restringimento ed Espansione',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'L\'argilla è un materiale vivo che cambia dimensioni durante tutto il processo ceramico. Dal momento in cui modelli un pezzo umido fino a quando esce dal forno, può perdere tra l\'8% e il 15% della sua dimensione originale. Calcolare questo restringimento è fondamentale per creare pezzi con le dimensioni esatte di cui hai bisogno.',
114
+ },
115
+ {
116
+ type: 'grid',
117
+ columns: [
118
+ {
119
+ type: 'card',
120
+ title: 'Fasi di Restringimento',
121
+ html: '<p><strong>1. Essiccazione (Umido → Secco):</strong> Perdendo acqua, le particelle d\'argilla si avvicinano. Questo è il restringimento maggiore (4-8%). I pezzi spessi possono creparsi se si asciugano troppo velocemente.</p><p><strong>2. Cottura (Secco → Biscotto):</strong> Tra 900-1000°C, l\'argilla subisce cambiamenti chimici irreversibili. Restringimento addizionale del 2-4%. Il pezzo diventa poroso ma resistente.</p><p><strong>3. Vetrificazione (Alta Temperatura):</strong> A 1200-1300°C, l\'argilla vetrifica. Restringimento finale dell\'1-3%. Il gres e la porcellana raggiungono la loro massima densità.</p>',
122
+ },
123
+ {
124
+ type: 'card',
125
+ title: 'Variabili che Influenzano',
126
+ html: '<ul><li><strong>Tipo di argilla:</strong> Le argille rosse si restringono meno (8-10%) rispetto alle porcellane (12-15%).</li><li><strong>Spessore della parete:</strong> Le pareti sottili si restringono più uniformemente di quelle spesse.</li><li><strong>Temperatura di cottura:</strong> Maggiore è la temperatura, maggiore sarà il restringimento e la vetrificazione.</li><li><strong>Contenuto di chamotte:</strong> L\'aggiunta di chamotte (argilla già cotta e macinata) riduce il restringimento.</li></ul>',
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Applicazioni Pratiche',
133
+ level: 2,
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: 'Progettazione di Stampi',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: 'Se hai bisogno di una tazza con un diametro finale di 8 cm e la tua argilla si restringe del 12%, devi realizzare lo stampo di <strong>9,1 cm</strong>. Questo calcolo inverso è critico nella produzione in serie.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Coperchi e Assemblaggi',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'Quando crei pezzi che devono incastrarsi (teiera + coperchio, barattolo + coperchio), entrambi devono essere realizzati con la stessa argilla e cotti insieme per garantire che si restringano allo stesso modo. Una differenza dell\'1% può rovinare l\'incastro.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Scultura Monumentale',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'In pezzi di grandi dimensioni, il restringimento differenziale tra zone spesse e sottili può causare crepe. I ceramisti esperti compensano lasciando pareti più spesse nelle zone che sanno che si restringono di più.',
161
+ },
162
+ ],
163
+ ui: {
164
+ labelInitialSize: 'Dimensione Iniziale (mm)',
165
+ labelShrinkage: 'Percentuale di Restringimento (%)',
166
+ labelLow: 'Bassa (Terracotta)',
167
+ labelMedium: 'Media (Gres)',
168
+ labelHigh: 'Alta (Porcellana)',
169
+ presetTerracota: 'Terracotta (8%)',
170
+ presetGres: 'Gres (12%)',
171
+ presetPorcelana: 'Porcellana (15%)',
172
+ labelResult: 'Risultato',
173
+ labelFinalSize: 'Dimensione Finale:',
174
+ labelLoss: 'Perdita Totale:',
175
+ tipText:
176
+ 'Per calcolare la dimensione iniziale necessaria per ottenere una dimensione finale specifica, dividi la dimensione desiderata per (1 - restringimento/100).',
177
+ labelInitialBadge: 'Iniziale:',
178
+ labelFinalBadge: 'mm finale',
179
+ labelLossBadge: 'Perdita:',
180
+ labelInitialArea: 'Area Iniziale',
181
+ labelFinalArea: 'Area Finale',
182
+ },
183
+ };
@@ -0,0 +1,182 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ClayCalculatorUI } from '../ui';
4
+
5
+ const slug = 'clay-shrinkage-calculator';
6
+ const title = '粘土収縮計算機:陶芸のための正確な寸法設計';
7
+ const description =
8
+ '乾燥および焼成時の粘土の収縮を計算します。最終的な寸法を正確に予測して陶器を設計できます。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'なぜ粘土は収縮するのですか?',
13
+ answer:
14
+ '粘土は主に水分を失うことで収縮します。まず乾燥(粒子間の水分の蒸発)が起こり、次に焼成(化学的に結合した水分の除去と粒子の焼結)が起こります。',
15
+ },
16
+ {
17
+ question: '通常の収縮率はどのくらいですか?',
18
+ answer:
19
+ '粘土の種類によって異なります。土器は通常5〜10%ですが、せっ器や磁器はガラス化が進むため、12〜15%に達することがあります。',
20
+ },
21
+ {
22
+ question: '自分の使っている粘土の収縮率を測るには?',
23
+ answer:
24
+ '正確に10cmのテストピースを作ります。それを乾燥させて測定し(乾燥収縮)、最終温度で焼成した後に再度測定します(全収縮)。その差から正確な比率を算出できます。',
25
+ },
26
+ {
27
+ question: '乾燥中に作品がひび割れてしまうのはなぜですか?',
28
+ answer:
29
+ '通常、乾燥が早すぎるか、不均一であることが原因です。薄い部分は厚い部分よりも早く水分を失い、歪みが生じます。作品をビニールで覆い、乾燥を遅らせるようにしてください。',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: '成形直後の寸法を測る',
36
+ text: 'ろくろや手びねりで作った直後の、まだ水分を十分に含んでいる状態の正確な寸法を記録します。',
37
+ },
38
+ {
39
+ name: '収縮率を入力する',
40
+ text: '粘土のパッケージを確認するか、メーカーが提供している全収縮率(乾燥+焼成)を入力します。',
41
+ },
42
+ {
43
+ name: '完成時の予想寸法を確認する',
44
+ text: '計算機を使用して、窯から出た後の作品のサイズを把握し、嵌め合わせや蓋の設計に役立てます。',
45
+ },
46
+ {
47
+ name: '目標サイズからの逆算',
48
+ text: '最終的に特定のサイズ(例:X cm)に仕上げたい場合は、逆算機能を使用して成形時に必要なサイズを確認します。',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'ja',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ClayCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'よくある質問',
91
+ faq: faqData,
92
+ bibliographyTitle: 'リファレンス',
93
+ bibliography: [
94
+ {
95
+ name: 'The Potter\'s Dictionary - Clay Shrinkage',
96
+ url: 'https://digitalfire.com/glossary/firing+shrinkage',
97
+ },
98
+ {
99
+ name: 'Ceramic Arts Network - Understanding Shrinkage',
100
+ url: 'https://ceramicartsnetwork.org/daily/article/How-to-Determine-Clay-Shrinkage-and-Make-a-Shrink-Rule',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: '粘土の物理学:収縮と膨張',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: '粘土は陶芸のプロセス全体を通じてサイズが変化する「生きた」素材です。湿った状態で成形してから窯から出るまでの間に、元のサイズの8%から15%を失うことがあります。この収縮を計算することは、必要な正確な寸法の作品を作るために不可欠です。',
114
+ },
115
+ {
116
+ type: 'grid',
117
+ columns: [
118
+ {
119
+ type: 'card',
120
+ title: '収縮の段階',
121
+ html: '<p><strong>1. 乾燥(湿潤 → 乾燥):</strong> 水分を失うことで、粘土の粒子が近づきます。これが最大の収縮段階(4-8%)です。乾燥が早すぎると、厚手の商品はひび割れることがあります。</p><p><strong>2. 焼成(乾燥 → 素焼き):</strong> 900〜1000℃の間で、粘土は不可逆的な化学変化を起こします。さらに2-4%収縮します。作品は多孔質ですが丈夫になります。</p><p><strong>3. ガラス化(高温焼成):</strong> 1200〜1300℃で、粘土はガラス化します。最終的な1-3%の収縮が起こります。せっ器や磁器はこの段階で最大の密度に達します。</p>',
122
+ },
123
+ {
124
+ type: 'card',
125
+ title: '影響を与える要因',
126
+ html: '<ul><li><strong>粘土の種類:</strong> 赤土は磁器(12-15%)よりも収縮が少ない(8-10%)傾向があります。</li><li><strong>肉厚:</strong> 壁面が薄い方が、厚いものよりも均一に収縮します。</li><li><strong>焼成温度:</strong> 温度が高いほど、収縮とガラス化が進みます。</li><li><strong>シャモット含有量:</strong> シャモット(一度焼いて粉砕した粘土)を加えると収縮を抑えられます。</li></ul>',
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: '実践的な応用',
133
+ level: 2,
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: '金型・型の設計',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: '最終的に直径8cmのカップが必要で、粘土の収縮率が12%の場合、型は<strong>9.1cm</strong>で作る必要があります。この逆算は量産において非常に重要です。',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: '蓋と嵌め合わせ',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: '嵌め合わせが必要な作品(急須と蓋、保存容器と蓋など)を作る場合、両方を同じ粘土で作る必要があります。1%の収縮率の差でも、製品としての嵌まり具合を台無しにすることがあります。',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: '大型彫刻',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: '大きな作品では、厚い部分と薄い部分の収縮の差がひび割れの原因となります。経験豊富な陶芸家は、収縮が大きいとわかっている部分の壁を厚めに残すことで調整します。',
161
+ },
162
+ ],
163
+ ui: {
164
+ labelInitialSize: '初期サイズ (mm)',
165
+ labelShrinkage: '収縮率 (%)',
166
+ labelLow: '低 (テラコッタ)',
167
+ labelMedium: '中 (せっ器)',
168
+ labelHigh: '高 (磁器)',
169
+ presetTerracota: 'テラコッタ (8%)',
170
+ presetGres: 'せっ器 (12%)',
171
+ presetPorcelana: '磁器 (15%)',
172
+ labelResult: '結果',
173
+ labelFinalSize: '完成サイズ:',
174
+ labelLoss: '合計収縮量:',
175
+ tipText: '特定の完成サイズから必要な初期サイズを計算するには、目標サイズを (1 - 収縮率/100) で割ってください。',
176
+ labelInitialBadge: '初期:',
177
+ labelFinalBadge: 'mm 完成',
178
+ labelLossBadge: '収縮量:',
179
+ labelInitialArea: '初期面積',
180
+ labelFinalArea: '完成面積',
181
+ },
182
+ };
@@ -0,0 +1,183 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ClayCalculatorUI } from '../ui';
4
+
5
+ const slug = 'clay-shrinkage-calculator';
6
+ const title = '점토 수축 계산기: 도예를 위한 정확한 치수 설계';
7
+ const description =
8
+ '건조 및 소성 시 점토의 수축을 계산합니다. 최종 치수를 정확하게 예측하여 도자기 작품을 설계하세요.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '점토는 왜 수축하나요?',
13
+ answer:
14
+ '점토는 주로 수분 손실로 인해 수축합니다. 먼저 건조(입자 사이의 수분 증발)가 일어나고, 그 다음 소성(화학적으로 결합된 수분 제거 및 입자의 소결)이 일어납니다.',
15
+ },
16
+ {
17
+ question: '일반적인 수축률은 어느 정도인가요?',
18
+ answer:
19
+ '점토의 종류에 따라 다릅니다. 도기는 보통 5-10% 수축하는 반면, 석기나 자기는 유리화 정도가 높기 때문에 12-15%까지 수축할 수 있습니다.',
20
+ },
21
+ {
22
+ question: '내가 사용하는 점토의 수축률을 어떻게 측정하나요?',
23
+ answer:
24
+ '정확히 10cm 길이의 테스트 시편을 만듭니다. 그것을 건조시킨 후 측정하고(건조 수축), 최종 온도에서 소성한 후 다시 측정합니다(전체 수축). 그 차이를 통해 정확한 퍼센트를 구할 수 있습니다.',
25
+ },
26
+ {
27
+ question: '건조 중에 작품이 갈라지는 이유는 무엇인가요?',
28
+ answer:
29
+ '보통 건조가 너무 빠르거나 불균일할 때 발생합니다. 얇은 부분은 두꺼운 부분보다 수분을 더 빨리 잃어 응력이 발생합니다. 건조 과정을 늦추기 위해 비닐 등으로 작품을 덮어주세요.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: '성형 직후 치수 측정',
36
+ text: '물레 작업이나 성형 직후, 점토가 아직 수분을 머금고 있을 때 작품의 정확한 치수를 측정합니다.',
37
+ },
38
+ {
39
+ name: '수축 계수 입력',
40
+ text: '사용한 점토 패키지에 표시된 제조업체의 전체 수축률(건조+소성)을 확인하여 입력합니다.',
41
+ },
42
+ {
43
+ name: '예상 최종 치수 확인',
44
+ text: '계산기를 사용하여 소성 후 작품의 크기를 파악하고, 이에 맞춰 뚜껑이나 맞물리는 부분을 계획합니다.',
45
+ },
46
+ {
47
+ name: '목표 치수를 위한 역계산',
48
+ text: '최종적으로 원하는 크기가 있다면, 역계산을 통해 성형 시 어느 정도 크기로 만들어야 하는지 확인합니다.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'ko',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ClayCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: '자주 묻는 질문',
91
+ faq: faqData,
92
+ bibliographyTitle: '참고 자료',
93
+ bibliography: [
94
+ {
95
+ name: 'The Potter\'s Dictionary - Clay Shrinkage',
96
+ url: 'https://digitalfire.com/glossary/firing+shrinkage',
97
+ },
98
+ {
99
+ name: 'Ceramic Arts Network - Understanding Shrinkage',
100
+ url: 'https://ceramicartsnetwork.org/daily/article/How-to-Determine-Clay-Shrinkage-and-Make-a-Shrink-Rule',
101
+ },
102
+ ],
103
+ howTo: howToData,
104
+ schemas: [faqSchema, howToSchema, appSchema],
105
+ seo: [
106
+ {
107
+ type: 'title',
108
+ text: '점토의 물리학: 수축과 팽창',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: '점토는 모든 제작 과정 중에 크기가 변하는 살아있는 재료입니다. 젖은 상태에서 성형한 순간부터 가마에서 나올 때까지 원래 크기의 8%에서 15%를 잃을 수 있습니다. 필요한 정확한 치수의 작품을 만들기 위해서는 이러한 수축을 계산하는 것이 필수적입니다.',
114
+ },
115
+ {
116
+ type: 'grid',
117
+ columns: [
118
+ {
119
+ type: 'card',
120
+ title: '수축 단계',
121
+ html: '<p><strong>1. 건조 (젖은 점토 → 건조 점토):</strong> 수분을 잃으면서 점토 입자들이 서로 가까워집니다. 이것이 가장 큰 수축(4-8%) 단계입니다. 두꺼운 작품은 너무 빨리 건조되면 갈라질 수 있습니다.</p><p><strong>2. 소성 (건조 점토 → 초벌구이):</strong> 900-1000°C 사이에서 점토는 되돌릴 수 없는 화학적 변화를 겪습니다. 2-4%의 추가 수축이 발생하며, 작품은 다공성이지만 튼튼해집니다.</p><p><strong>3. 유리화 (고온 소성):</strong> 1200-1300°C에서 점토가 유리화됩니다. 최종적으로 1-3% 수축하며, 석기와 자기는 이 단계에서 최대 밀도에 도달합니다.</p>',
122
+ },
123
+ {
124
+ type: 'card',
125
+ title: '영향을 미치는 변수들',
126
+ html: '<ul><li><strong>점토 유형:</strong> 적토는 자기(12-15%)보다 수축이 적은 편(8-10%)입니다.</li><li><strong>벽 두께:</strong> 얇은 벽이 두꺼운 벽보다 더 균일하게 수축합니다.</li><li><strong>소성 온도:</strong> 온도가 높을수록 수축과 유리화 정도가 커집니다.</li><li><strong>그로그 함량:</strong> 그로그(이미 구운 점토 가루)를 추가하면 수축이 줄어듭니다.</li></ul>',
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: '실제 활용',
133
+ level: 2,
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: '몰드 설계',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: '최종 지름이 8cm인 컵이 필요하고 점토 수축률이 12%라면, 몰드는 <strong>9.1cm</strong>로 제작해야 합니다. 이러한 역계산은 대량 생산에서 매우 중요합니다.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: '뚜껑 및 조립',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: '맞물려야 하는 작품(주전자+뚜껑, 단지+뚜껑 등)을 만들 때는 동일하게 수축하도록 같은 점토로 만들고 함께 구워야 합니다. 1%의 차이만으로도 조립이 불가능해질 수 있습니다.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: '대형 조각품',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: '큰 작품에서는 두꺼운 부분과 얇은 부분 사이의 수축 차이가 균열을 유발할 수 있습니다. 숙련된 도예가는 수축이 더 많이 일어날 것을 예상되는 부분의 벽을 더 두껍게 남겨 보정합니다.',
161
+ },
162
+ ],
163
+ ui: {
164
+ labelInitialSize: '초기 크기 (mm)',
165
+ labelShrinkage: '수축률 (%)',
166
+ labelLow: '낮음 (테라코타)',
167
+ labelMedium: '중간 (석기)',
168
+ labelHigh: '높음 (자기)',
169
+ presetTerracota: '테라코타 (8%)',
170
+ presetGres: '석기 (12%)',
171
+ presetPorcelana: '자기 (15%)',
172
+ labelResult: '결과',
173
+ labelFinalSize: '최종 크기:',
174
+ labelLoss: '전체 수축량:',
175
+ tipText:
176
+ '특정 최종 크기를 얻기 위해 필요한 초기 크기를 계산하려면, 원하는 크기를 (1 - 수축률/100)으로 나누십시오.',
177
+ labelInitialBadge: '초기:',
178
+ labelFinalBadge: 'mm 최종',
179
+ labelLossBadge: '수축량:',
180
+ labelInitialArea: '초기 면적',
181
+ labelFinalArea: '최종 면적',
182
+ },
183
+ };