@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 = 'kalkulyator-usadki-gliny';
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
+ 'Создайте тестовую пластину длиной ровно 10 см. Дайте ей высохнуть и измерьте (воздушная усадка). Обожгите ее при конечной температуре и снова измерьте (полная усадка). Разница даст вам точный процент.',
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 см, используйте обратный расчет, чтобы узнать рабочий размер на гончарном круге.',
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: 'ru',
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> Красные глины дают меньшую усадку (8-10%), чем фарфор (12-15%).</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: 'Если вам нужна чашка с конечным диаметром 8 см, а ваша глина дает усадку 12%, вы должны изготовить форму размером <strong>9,1 см</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: 'Начальный размер (мм)',
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: 'мм в итоге',
179
+ labelLossBadge: 'Потеря:',
180
+ labelInitialArea: 'Начальная площадь',
181
+ labelFinalArea: 'Конечная площадь',
182
+ },
183
+ };
@@ -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 = 'lerkrympskalkylator';
6
+ const title = 'Lerkrympskalkylator: Exakta dimensioner för keramik';
7
+ const description =
8
+ 'Beräkna lerkrympning under torkning och bränning. Designa keramikföremål med exakta slutdimensioner.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Varför krymper lera?',
13
+ answer:
14
+ 'Lera krymper främst på grund av vattenförlust. Först sker torkning (avdunstning av vatten mellan partiklar) och sedan bränning (avlägsnande av kemiskt bundet vatten och sintring av partiklar).',
15
+ },
16
+ {
17
+ question: 'Vad är en normal krympprocent?',
18
+ answer:
19
+ 'Det beror på lermassan. Lergods krymper vanligtvis mellan 5-10 %, medan stengods och porslin kan nå 12-15 % på grund av sin högre grad av vitrifiering (förglasning).',
20
+ },
21
+ {
22
+ question: 'Hur mäter jag krympningen på min egen lera?',
23
+ answer:
24
+ 'Skapa en testplatta på exakt 10 cm. Låt den torka och mät den (torkkrympning). Bränn den till sluttemperaturen och mät igen (totalkrympning). Skillnaden ger dig den exakta procentsatsen.',
25
+ },
26
+ {
27
+ question: 'Vad händer om mitt föremål spricker vid torkning?',
28
+ answer:
29
+ 'Det tyder oftast på en för snabb eller ojämn torkprocess. Tunna delar förlorar vatten snabbare än tjocka, vilket skapar spänningar. Täck föremålen med plast för att sakta ner processen.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Mät föremålet när det är vått',
36
+ text: 'Registrera de exakta måtten på ditt föremål direkt efter drejning eller modellering, när det fortfarande har all sin fukt.',
37
+ },
38
+ {
39
+ name: 'Ange krympkoefficient',
40
+ text: 'Leta på lerans förpackning efter den totala krympprocenten (torkning + bränning) som tillhandahålls av tillverkaren.',
41
+ },
42
+ {
43
+ name: 'Få förväntade slutdimensioner',
44
+ text: 'Använd kalkylatorn för att veta hur stort ditt föremål kommer att vara efter ugnen och planera passningar eller lock därefter.',
45
+ },
46
+ {
47
+ name: 'Omvänd beräkning för mål',
48
+ text: 'Om du behöver att ditt föremål ska mäta exakt X cm i slutet, använd den omvända beräkningen för att veta vilken storlek det ska ha på drejskivan.',
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: 'sv',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ClayCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Vanliga frågor',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referenser',
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: 'Lerans fysik: Krympning och expansion',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Lera är ett levande material som ändrar storlek under hela keramikprocessen. Från det ögonblick du formar ett vått föremål tills det kommer ut ur ugnen kan det förlora mellan 8 % och 15 % av sin ursprungliga storlek. Att beräkna denna krympning är grundläggande för att skapa föremål med de exakta dimensioner du behöver.',
114
+ },
115
+ {
116
+ type: 'grid',
117
+ columns: [
118
+ {
119
+ type: 'card',
120
+ title: 'Krympfaser',
121
+ html: '<p><strong>1. Torkning (Vått → Torrt):</strong> Genom att förlora vatten kommer lerpartiklarna närmare varandra. Detta är den största krympningen (4-8 %). Tjockväggiga föremål kan spricka om de torkar för snabbt.</p><p><strong>2. Bränning (Torrt → Skröj):</strong> Mellan 900-1000 °C genomgår leran oåterkalleliga kemiska förändringar. Ytterligare krympning på 2-4 %. Föremålet blir poröst men hållbart.</p><p><strong>3. Vitrifiering (Hög temperatur):</strong> Vid 1200-1300 °C förglasas leran. Slutlig krympning på 1-3 %. Stengods och porslin når sin maximala densitet.</p>',
122
+ },
123
+ {
124
+ type: 'card',
125
+ title: 'Variabler som påverkar',
126
+ html: '<ul><li><strong>Lertyp:</strong> Rödlerkrympning är mindre (8-10 %) än porslin (12-15 %).</li><li><strong>Väggtjocklek:</strong> Tunna väggar krymper mer enhetligt än tjocka.</li><li><strong>Bränntemperatur:</strong> Ju högre temperatur, desto större blir krympningen och vitrifieringen.</li><li><strong>Chamottinnehåll:</strong> Att tillsätta chamotte (krossad, redan bränd lera) minskar krympningen.</li></ul>',
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Praktiska tillämpningar',
133
+ level: 2,
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: 'Design av formar',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: 'Om du behöver en kopp med en slutdiameter på 8 cm, och din lera krymper 12 %, måste du göra formen <strong>9,1 cm</strong>. Denna omvända beräkning är kritisk vid serieproduktion.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Lock och montering',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'När du skapar delar som ska passa ihop (tekanna + lock, burk + lock), måste båda göras av samma lera och brännas tillsammans för att garantera att de krymper lika mycket. En skillnad på bara 1 % kan förstöra passformen.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Monumental skulptur',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'I stora föremål kan skillnaden i krympning mellan tjocka och tunna sektioner orsaka sprickor. Erfarna keramiker kompenserar genom att lämna väggarna tjockare i zoner som de vet kommer att krympa mer.',
161
+ },
162
+ ],
163
+ ui: {
164
+ labelInitialSize: 'Ursprunglig storlek (mm)',
165
+ labelShrinkage: 'Krympprocent (%)',
166
+ labelLow: 'Låg (Terrakotta)',
167
+ labelMedium: 'Mellan (Stengods)',
168
+ labelHigh: 'Hög (Porslin)',
169
+ presetTerracota: 'Terrakotta (8%)',
170
+ presetGres: 'Stengods (12%)',
171
+ presetPorcelana: 'Porslin (15%)',
172
+ labelResult: 'Resultat',
173
+ labelFinalSize: 'Slutlig storlek:',
174
+ labelLoss: 'Total förlust:',
175
+ tipText:
176
+ 'För att beräkna den ursprungliga storleken som behövs för att få en specifik slutstorlek, dela den önskade storleken med (1 - krympning/100).',
177
+ labelInitialBadge: 'Ursprunglig:',
178
+ labelFinalBadge: 'mm slutlig',
179
+ labelLossBadge: 'Förlust:',
180
+ labelInitialArea: 'Ursprungligt område',
181
+ labelFinalArea: 'Slutområde',
182
+ },
183
+ };
@@ -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 = 'kil-cekme-hesaplama';
6
+ const title = 'Kil Çekme Hesaplayıcı: Seramik İçin Tam Boyutlar';
7
+ const description =
8
+ 'Kurutma ve pişirme sırasında kilin çekmesini hesaplayın. Seramik parçaları tam nihai boyutlarla tasarlayın.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Kil neden çeker?',
13
+ answer:
14
+ 'Kil esas olarak su kaybı nedeniyle çeker. Önce kuruma (parçacıklar arasındaki suyun buharlaşması) ve ardından pişirme (kimyasal olarak bağlı suyun uzaklaştırılması ve parçacıkların sinterlenmesi) gerçekleşir.',
15
+ },
16
+ {
17
+ question: 'Normal çekme yüzdesi nedir?',
18
+ answer:
19
+ 'Seramik hamuruna bağlıdır. Çömlekçi kili (terrakotta) genellikle %5-10 arasında çekerken, taş çini (stoneware) ve porselen daha yüksek vitrifikasyon (camlaşma) nedeniyle %12-15\'e ulaşabilir.',
20
+ },
21
+ {
22
+ question: 'Kendi kilimin çekmesini nasıl ölçerim?',
23
+ answer:
24
+ 'Tam olarak 10 cm olan bir test plakası oluşturun. Kurumaya bırakın ve ölçün (kuruma çekmesi). Nihai sıcaklıkta pişirin ve tekrar ölçün (toplam çekme). Aradaki fark size tam yüzdeyi verecektir.',
25
+ },
26
+ {
27
+ question: 'Kuruma sırasında parçam çatlarsa ne olur?',
28
+ answer:
29
+ 'Genellikle çok hızlı veya dengesiz kurumayı gösterir. İnce bölgeler kalın bölgelerden daha önce su kaybederek gerilim oluşturur. Süreci yavaşlatmak için parçaları plastik bir örtüyle kapatın.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Parçayı ıslakken ölçün',
36
+ text: 'Tornadan çıktıktan veya modellendikten hemen sonra, henüz tüm nemine sahipken parçanızın tam boyutlarını alın.',
37
+ },
38
+ {
39
+ name: 'Çekme katsayısını girin',
40
+ text: 'Kilinizin paketinde üretici tarafından sağlanan toplam çekme yüzdesini (kuruma + pişirme) arayın.',
41
+ },
42
+ {
43
+ name: 'Beklenen nihai boyutları alın',
44
+ text: 'Fırından çıktıktan sonra parçanızın ne kadar ölçüleceğini bilmek için hesaplayıcıyı kullanın ve geçmelerinizi veya kapaklarınızı buna göre planlayın.',
45
+ },
46
+ {
47
+ name: 'Hedefler için ters hesaplama',
48
+ text: 'Eğer parçanızın sonunda tam olarak X cm olmasını istiyorsanız, tornada hangi boyutta olması gerektiğini bilmek için ters hesaplamayı kullanın.',
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: 'tr',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<ClayCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Sıkça Sorulan Sorular',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Referanslar',
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: 'Kil Fiziği: Çekme ve Genleşme',
109
+ level: 2,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Kil, tüm seramik süreci boyunca boyutu değişen canlı bir malzemedir. Islak bir parçayı şekillendirdiğiniz andan fırından çıkana kadar orijinal boyutunun %8 ile %15\'ini kaybedebilir. Bu çekmeyi hesaplamak, ihtiyacınız olan tam boyutlarda parçalar oluşturmak için temeldir.',
114
+ },
115
+ {
116
+ type: 'grid',
117
+ columns: [
118
+ {
119
+ type: 'card',
120
+ title: 'Çekme Aşamaları',
121
+ html: '<p><strong>1. Kuruma (Islak → Kuru):</strong> Su kaybettikçe kil parçacıkları birbirine yaklaşır. Bu en büyük çekmedir (%4-8). Kalın parçalar çok hızlı kururlarsa çatlayabilirler.</p><p><strong>2. Pişirme (Kuru → Bisküvi):</strong> 900-1000°C arasında kil geri dönüşü olmayan kimyasal değişimlere uğrar. %2-4 ek çekme olur. Parça gözenekli hale gelir ancak dayanıklıdır.</p><p><strong>3. Vitrifikasyon (Yüksek Sıcaklık):</strong> 1200-1300°C\'de kil camlaşır. %1-3 son çekme olur. Taş çini ve porselen maksimum yoğunluğuna ulaşır.</p>',
122
+ },
123
+ {
124
+ type: 'card',
125
+ title: 'Etkileyen Değişkenler',
126
+ html: '<ul><li><strong>Kil türü:</strong> Kırmızı killer, porselenlere (%12-15) göre daha az çeker (%8-10).</li><li><strong>Duvar kalınlığı:</strong> İnce duvarlar kalın olanlara göre daha homojen çeker.</li><li><strong>Pişirme sıcaklığı:</strong> Sıcaklık ne kadar yüksekse çekme ve camlaşma o kadar artar.</li><li><strong>Şamot içeriği:</strong> Şamot (ezilmiş, önceden pişirilmiş kil) eklemek çekmeyi azaltır.</li></ul>',
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Pratik Uygulamalar',
133
+ level: 2,
134
+ },
135
+ {
136
+ type: 'title',
137
+ text: 'Kalıp Tasarımı',
138
+ level: 3,
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: 'Nihai çapı 8 cm olan bir fincana ihtiyacınız varsa ve kiliniz %12 çekiyorsa, kalıbı <strong>9.1 cm</strong> yapmalısınız. Bu ters hesaplama seri üretimde kritiktir.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Kapaklar ve Montajlar',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'Birbirine geçmesi gereken parçalar (çaydanlık + kapak, kavanoz + kapak) oluştururken, her ikisi de aynı kilden yapılmalı ve aynı oranda çektiklerinden emin olmak için birlikte pişirilmelidir. %1\'lik bir fark bile geçmeyi bozabilir.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Anıtsal Heykel',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'Büyük parçalarda, kalın ve ince bölümler arasındaki fark çekmesi çatlaklara neden olabilir. Deneyimli seramik sanatçıları, daha fazla çekeceğini bildikleri bölgelerde duvarları daha kalın bırakarak bunu telafi ederler.',
161
+ },
162
+ ],
163
+ ui: {
164
+ labelInitialSize: 'Başlangıç Boyutu (mm)',
165
+ labelShrinkage: 'Çekme Yüzdesi (%)',
166
+ labelLow: 'Düşük (Terrakotta)',
167
+ labelMedium: 'Orta (Stoneware)',
168
+ labelHigh: 'Yüksek (Porselen)',
169
+ presetTerracota: 'Terrakotta (%8)',
170
+ presetGres: 'Stoneware (%12)',
171
+ presetPorcelana: 'Porselen (%15)',
172
+ labelResult: 'Sonuç',
173
+ labelFinalSize: 'Nihai Boyut:',
174
+ labelLoss: 'Toplam Kayıp:',
175
+ tipText:
176
+ 'Belirli bir nihai boyutu elde etmek için gereken başlangıç boyutunu hesaplamak için istenen boyutu (1 - çekme/100) değerine bölün.',
177
+ labelInitialBadge: 'Başlangıç:',
178
+ labelFinalBadge: 'mm nihai',
179
+ labelLossBadge: 'Kayıp:',
180
+ labelInitialArea: 'Başlangıç Alanı',
181
+ labelFinalArea: 'Nihai Alan',
182
+ },
183
+ };