@jjlmoya/utils-diy 1.28.0 → 1.30.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 (304) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +12 -12
  3. package/src/category/i18n/en.ts +110 -110
  4. package/src/category/i18n/es.ts +110 -110
  5. package/src/category/i18n/fr.ts +101 -101
  6. package/src/category/i18n/id.ts +12 -12
  7. package/src/category/i18n/it.ts +12 -12
  8. package/src/category/i18n/ja.ts +12 -12
  9. package/src/category/i18n/ko.ts +12 -12
  10. package/src/category/i18n/nl.ts +12 -12
  11. package/src/category/i18n/pl.ts +12 -12
  12. package/src/category/i18n/pt.ts +12 -12
  13. package/src/category/i18n/ru.ts +12 -12
  14. package/src/category/i18n/sv.ts +12 -12
  15. package/src/category/i18n/tr.ts +12 -12
  16. package/src/category/i18n/zh.ts +12 -12
  17. package/src/category/index.ts +36 -36
  18. package/src/category/seo.astro +1 -1
  19. package/src/components/PreviewNavSidebar.astro +1 -1
  20. package/src/components/PreviewToolbar.astro +1 -1
  21. package/src/data.ts +1 -1
  22. package/src/entries.ts +37 -37
  23. package/src/env.d.ts +1 -1
  24. package/src/index.ts +50 -50
  25. package/src/layouts/PreviewLayout.astro +1 -1
  26. package/src/pages/index.astro +1 -1
  27. package/src/tests/category_seo_quality.test.ts +74 -0
  28. package/src/tests/faq_count.test.ts +1 -1
  29. package/src/tests/mocks/astro_mock.js +1 -1
  30. package/src/tests/no_h1_in_components.test.ts +1 -1
  31. package/src/tests/seo_length.test.ts +1 -1
  32. package/src/tests/seo_parity.test.ts +2 -2
  33. package/src/tests/seo_translation_completeness.test.ts +18 -12
  34. package/src/tests/tool_validation.test.ts +15 -15
  35. package/src/tool/balusterCalculator/bibliography.ts +16 -16
  36. package/src/tool/balusterCalculator/i18n/de.ts +251 -251
  37. package/src/tool/balusterCalculator/i18n/en.ts +251 -251
  38. package/src/tool/balusterCalculator/i18n/es.ts +251 -251
  39. package/src/tool/balusterCalculator/i18n/fr.ts +251 -251
  40. package/src/tool/balusterCalculator/i18n/id.ts +251 -251
  41. package/src/tool/balusterCalculator/i18n/it.ts +251 -251
  42. package/src/tool/balusterCalculator/i18n/ja.ts +251 -251
  43. package/src/tool/balusterCalculator/i18n/ko.ts +251 -251
  44. package/src/tool/balusterCalculator/i18n/nl.ts +251 -251
  45. package/src/tool/balusterCalculator/i18n/pl.ts +251 -251
  46. package/src/tool/balusterCalculator/i18n/pt.ts +251 -251
  47. package/src/tool/balusterCalculator/i18n/ru.ts +251 -251
  48. package/src/tool/balusterCalculator/i18n/sv.ts +251 -251
  49. package/src/tool/balusterCalculator/i18n/tr.ts +251 -251
  50. package/src/tool/balusterCalculator/i18n/zh.ts +251 -251
  51. package/src/tool/balusterCalculator/seo.astro +15 -15
  52. package/src/tool/clayCalculator/bibliography.ts +12 -12
  53. package/src/tool/clayCalculator/i18n/de.ts +174 -174
  54. package/src/tool/clayCalculator/i18n/en.ts +174 -174
  55. package/src/tool/clayCalculator/i18n/es.ts +174 -174
  56. package/src/tool/clayCalculator/i18n/fr.ts +174 -174
  57. package/src/tool/clayCalculator/i18n/id.ts +174 -174
  58. package/src/tool/clayCalculator/i18n/it.ts +174 -174
  59. package/src/tool/clayCalculator/i18n/ja.ts +173 -173
  60. package/src/tool/clayCalculator/i18n/ko.ts +174 -174
  61. package/src/tool/clayCalculator/i18n/nl.ts +174 -174
  62. package/src/tool/clayCalculator/i18n/pl.ts +174 -174
  63. package/src/tool/clayCalculator/i18n/pt.ts +174 -174
  64. package/src/tool/clayCalculator/i18n/ru.ts +174 -174
  65. package/src/tool/clayCalculator/i18n/sv.ts +174 -174
  66. package/src/tool/clayCalculator/i18n/tr.ts +174 -174
  67. package/src/tool/clayCalculator/i18n/zh.ts +174 -174
  68. package/src/tool/clayCalculator/seo.astro +15 -15
  69. package/src/tool/concreteCalculator/bibliography.ts +7 -7
  70. package/src/tool/concreteCalculator/i18n/de.ts +188 -188
  71. package/src/tool/concreteCalculator/i18n/en.ts +188 -188
  72. package/src/tool/concreteCalculator/i18n/es.ts +188 -188
  73. package/src/tool/concreteCalculator/i18n/fr.ts +188 -188
  74. package/src/tool/concreteCalculator/i18n/id.ts +188 -188
  75. package/src/tool/concreteCalculator/i18n/it.ts +188 -188
  76. package/src/tool/concreteCalculator/i18n/ja.ts +188 -188
  77. package/src/tool/concreteCalculator/i18n/ko.ts +188 -188
  78. package/src/tool/concreteCalculator/i18n/nl.ts +188 -188
  79. package/src/tool/concreteCalculator/i18n/pl.ts +188 -188
  80. package/src/tool/concreteCalculator/i18n/pt.ts +188 -188
  81. package/src/tool/concreteCalculator/i18n/ru.ts +188 -188
  82. package/src/tool/concreteCalculator/i18n/sv.ts +188 -188
  83. package/src/tool/concreteCalculator/i18n/tr.ts +188 -188
  84. package/src/tool/concreteCalculator/i18n/zh.ts +188 -188
  85. package/src/tool/concreteCalculator/seo.astro +15 -15
  86. package/src/tool/cutOptimizer/bibliography.ts +12 -12
  87. package/src/tool/cutOptimizer/i18n/de.ts +169 -169
  88. package/src/tool/cutOptimizer/i18n/en.ts +169 -169
  89. package/src/tool/cutOptimizer/i18n/es.ts +169 -169
  90. package/src/tool/cutOptimizer/i18n/fr.ts +169 -169
  91. package/src/tool/cutOptimizer/i18n/id.ts +169 -169
  92. package/src/tool/cutOptimizer/i18n/it.ts +169 -169
  93. package/src/tool/cutOptimizer/i18n/ja.ts +169 -169
  94. package/src/tool/cutOptimizer/i18n/ko.ts +169 -169
  95. package/src/tool/cutOptimizer/i18n/nl.ts +169 -169
  96. package/src/tool/cutOptimizer/i18n/pl.ts +169 -169
  97. package/src/tool/cutOptimizer/i18n/pt.ts +169 -169
  98. package/src/tool/cutOptimizer/i18n/ru.ts +169 -169
  99. package/src/tool/cutOptimizer/i18n/sv.ts +169 -169
  100. package/src/tool/cutOptimizer/i18n/tr.ts +169 -169
  101. package/src/tool/cutOptimizer/i18n/zh.ts +169 -169
  102. package/src/tool/cutOptimizer/seo.astro +15 -15
  103. package/src/tool/drillCalculator/bibliography.ts +12 -12
  104. package/src/tool/drillCalculator/i18n/de.ts +134 -134
  105. package/src/tool/drillCalculator/i18n/en.ts +134 -134
  106. package/src/tool/drillCalculator/i18n/es.ts +134 -134
  107. package/src/tool/drillCalculator/i18n/fr.ts +134 -134
  108. package/src/tool/drillCalculator/i18n/id.ts +134 -134
  109. package/src/tool/drillCalculator/i18n/it.ts +134 -134
  110. package/src/tool/drillCalculator/i18n/ja.ts +134 -134
  111. package/src/tool/drillCalculator/i18n/ko.ts +134 -134
  112. package/src/tool/drillCalculator/i18n/nl.ts +134 -134
  113. package/src/tool/drillCalculator/i18n/pl.ts +134 -134
  114. package/src/tool/drillCalculator/i18n/pt.ts +134 -134
  115. package/src/tool/drillCalculator/i18n/ru.ts +134 -134
  116. package/src/tool/drillCalculator/i18n/sv.ts +134 -134
  117. package/src/tool/drillCalculator/i18n/tr.ts +134 -134
  118. package/src/tool/drillCalculator/i18n/zh.ts +134 -134
  119. package/src/tool/drillCalculator/seo.astro +15 -15
  120. package/src/tool/drillSharpener/bibliography.ts +16 -16
  121. package/src/tool/drillSharpener/i18n/de.ts +117 -117
  122. package/src/tool/drillSharpener/i18n/en.ts +117 -117
  123. package/src/tool/drillSharpener/i18n/es.ts +117 -117
  124. package/src/tool/drillSharpener/i18n/fr.ts +117 -117
  125. package/src/tool/drillSharpener/i18n/id.ts +117 -117
  126. package/src/tool/drillSharpener/i18n/it.ts +117 -117
  127. package/src/tool/drillSharpener/i18n/ja.ts +117 -117
  128. package/src/tool/drillSharpener/i18n/ko.ts +117 -117
  129. package/src/tool/drillSharpener/i18n/nl.ts +117 -117
  130. package/src/tool/drillSharpener/i18n/pl.ts +117 -117
  131. package/src/tool/drillSharpener/i18n/pt.ts +117 -117
  132. package/src/tool/drillSharpener/i18n/ru.ts +117 -117
  133. package/src/tool/drillSharpener/i18n/sv.ts +117 -117
  134. package/src/tool/drillSharpener/i18n/tr.ts +117 -117
  135. package/src/tool/drillSharpener/i18n/zh.ts +117 -117
  136. package/src/tool/drillSharpener/seo.astro +15 -15
  137. package/src/tool/epoxyCalculator/bibliography.ts +20 -20
  138. package/src/tool/epoxyCalculator/i18n/de.ts +116 -116
  139. package/src/tool/epoxyCalculator/i18n/en.ts +178 -178
  140. package/src/tool/epoxyCalculator/i18n/es.ts +178 -178
  141. package/src/tool/epoxyCalculator/i18n/fr.ts +178 -178
  142. package/src/tool/epoxyCalculator/i18n/id.ts +116 -116
  143. package/src/tool/epoxyCalculator/i18n/it.ts +116 -116
  144. package/src/tool/epoxyCalculator/i18n/ja.ts +116 -116
  145. package/src/tool/epoxyCalculator/i18n/ko.ts +116 -116
  146. package/src/tool/epoxyCalculator/i18n/nl.ts +116 -116
  147. package/src/tool/epoxyCalculator/i18n/pl.ts +116 -116
  148. package/src/tool/epoxyCalculator/i18n/pt.ts +116 -116
  149. package/src/tool/epoxyCalculator/i18n/ru.ts +116 -116
  150. package/src/tool/epoxyCalculator/i18n/sv.ts +116 -116
  151. package/src/tool/epoxyCalculator/i18n/tr.ts +116 -116
  152. package/src/tool/epoxyCalculator/i18n/zh.ts +116 -116
  153. package/src/tool/epoxyCalculator/seo.astro +15 -15
  154. package/src/tool/furnitureFit/bibliography.ts +12 -12
  155. package/src/tool/furnitureFit/i18n/de.ts +111 -111
  156. package/src/tool/furnitureFit/i18n/en.ts +149 -149
  157. package/src/tool/furnitureFit/i18n/es.ts +149 -149
  158. package/src/tool/furnitureFit/i18n/fr.ts +149 -149
  159. package/src/tool/furnitureFit/i18n/id.ts +111 -111
  160. package/src/tool/furnitureFit/i18n/it.ts +111 -111
  161. package/src/tool/furnitureFit/i18n/ja.ts +111 -111
  162. package/src/tool/furnitureFit/i18n/ko.ts +111 -111
  163. package/src/tool/furnitureFit/i18n/nl.ts +111 -111
  164. package/src/tool/furnitureFit/i18n/pl.ts +111 -111
  165. package/src/tool/furnitureFit/i18n/pt.ts +111 -111
  166. package/src/tool/furnitureFit/i18n/ru.ts +111 -111
  167. package/src/tool/furnitureFit/i18n/sv.ts +111 -111
  168. package/src/tool/furnitureFit/i18n/tr.ts +111 -111
  169. package/src/tool/furnitureFit/i18n/zh.ts +111 -111
  170. package/src/tool/furnitureFit/seo.astro +15 -15
  171. package/src/tool/mortarCalculator/bibliography.ts +20 -20
  172. package/src/tool/mortarCalculator/i18n/de.ts +130 -130
  173. package/src/tool/mortarCalculator/i18n/en.ts +202 -202
  174. package/src/tool/mortarCalculator/i18n/es.ts +179 -179
  175. package/src/tool/mortarCalculator/i18n/fr.ts +203 -203
  176. package/src/tool/mortarCalculator/i18n/id.ts +130 -130
  177. package/src/tool/mortarCalculator/i18n/it.ts +130 -130
  178. package/src/tool/mortarCalculator/i18n/ja.ts +130 -130
  179. package/src/tool/mortarCalculator/i18n/ko.ts +130 -130
  180. package/src/tool/mortarCalculator/i18n/nl.ts +130 -130
  181. package/src/tool/mortarCalculator/i18n/pl.ts +130 -130
  182. package/src/tool/mortarCalculator/i18n/pt.ts +130 -130
  183. package/src/tool/mortarCalculator/i18n/ru.ts +130 -130
  184. package/src/tool/mortarCalculator/i18n/sv.ts +130 -130
  185. package/src/tool/mortarCalculator/i18n/tr.ts +130 -130
  186. package/src/tool/mortarCalculator/i18n/zh.ts +130 -130
  187. package/src/tool/mortarCalculator/seo.astro +15 -15
  188. package/src/tool/passepartoutCalculator/bibliography.ts +16 -16
  189. package/src/tool/passepartoutCalculator/i18n/de.ts +108 -108
  190. package/src/tool/passepartoutCalculator/i18n/en.ts +165 -165
  191. package/src/tool/passepartoutCalculator/i18n/es.ts +165 -165
  192. package/src/tool/passepartoutCalculator/i18n/fr.ts +165 -165
  193. package/src/tool/passepartoutCalculator/i18n/id.ts +108 -108
  194. package/src/tool/passepartoutCalculator/i18n/it.ts +108 -108
  195. package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -108
  196. package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -108
  197. package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -108
  198. package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -108
  199. package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -108
  200. package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -108
  201. package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -108
  202. package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -108
  203. package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -108
  204. package/src/tool/passepartoutCalculator/seo.astro +15 -15
  205. package/src/tool/pythagoreanRightAngleCalculator/bibliography.ts +12 -12
  206. package/src/tool/pythagoreanRightAngleCalculator/i18n/de.ts +129 -129
  207. package/src/tool/pythagoreanRightAngleCalculator/i18n/en.ts +129 -129
  208. package/src/tool/pythagoreanRightAngleCalculator/i18n/es.ts +129 -129
  209. package/src/tool/pythagoreanRightAngleCalculator/i18n/fr.ts +129 -129
  210. package/src/tool/pythagoreanRightAngleCalculator/i18n/id.ts +129 -129
  211. package/src/tool/pythagoreanRightAngleCalculator/i18n/it.ts +129 -129
  212. package/src/tool/pythagoreanRightAngleCalculator/i18n/ja.ts +129 -129
  213. package/src/tool/pythagoreanRightAngleCalculator/i18n/ko.ts +129 -129
  214. package/src/tool/pythagoreanRightAngleCalculator/i18n/nl.ts +129 -129
  215. package/src/tool/pythagoreanRightAngleCalculator/i18n/pl.ts +129 -129
  216. package/src/tool/pythagoreanRightAngleCalculator/i18n/pt.ts +129 -129
  217. package/src/tool/pythagoreanRightAngleCalculator/i18n/ru.ts +129 -129
  218. package/src/tool/pythagoreanRightAngleCalculator/i18n/sv.ts +129 -129
  219. package/src/tool/pythagoreanRightAngleCalculator/i18n/tr.ts +129 -129
  220. package/src/tool/pythagoreanRightAngleCalculator/i18n/zh.ts +129 -129
  221. package/src/tool/stairCalculator/bibliography.ts +16 -16
  222. package/src/tool/stairCalculator/i18n/de.ts +143 -143
  223. package/src/tool/stairCalculator/i18n/en.ts +145 -145
  224. package/src/tool/stairCalculator/i18n/es.ts +145 -145
  225. package/src/tool/stairCalculator/i18n/fr.ts +145 -145
  226. package/src/tool/stairCalculator/i18n/id.ts +143 -143
  227. package/src/tool/stairCalculator/i18n/it.ts +143 -143
  228. package/src/tool/stairCalculator/i18n/ja.ts +143 -143
  229. package/src/tool/stairCalculator/i18n/ko.ts +143 -143
  230. package/src/tool/stairCalculator/i18n/nl.ts +143 -143
  231. package/src/tool/stairCalculator/i18n/pl.ts +143 -143
  232. package/src/tool/stairCalculator/i18n/pt.ts +143 -143
  233. package/src/tool/stairCalculator/i18n/ru.ts +143 -143
  234. package/src/tool/stairCalculator/i18n/sv.ts +143 -143
  235. package/src/tool/stairCalculator/i18n/tr.ts +143 -143
  236. package/src/tool/stairCalculator/i18n/zh.ts +143 -143
  237. package/src/tool/stairCalculator/seo.astro +15 -15
  238. package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -16
  239. package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -132
  240. package/src/tool/thermalExpansionCalculator/i18n/en.ts +170 -170
  241. package/src/tool/thermalExpansionCalculator/i18n/es.ts +170 -170
  242. package/src/tool/thermalExpansionCalculator/i18n/fr.ts +170 -170
  243. package/src/tool/thermalExpansionCalculator/i18n/id.ts +132 -132
  244. package/src/tool/thermalExpansionCalculator/i18n/it.ts +132 -132
  245. package/src/tool/thermalExpansionCalculator/i18n/ja.ts +132 -132
  246. package/src/tool/thermalExpansionCalculator/i18n/ko.ts +132 -132
  247. package/src/tool/thermalExpansionCalculator/i18n/nl.ts +132 -132
  248. package/src/tool/thermalExpansionCalculator/i18n/pl.ts +132 -132
  249. package/src/tool/thermalExpansionCalculator/i18n/pt.ts +132 -132
  250. package/src/tool/thermalExpansionCalculator/i18n/ru.ts +132 -132
  251. package/src/tool/thermalExpansionCalculator/i18n/sv.ts +132 -132
  252. package/src/tool/thermalExpansionCalculator/i18n/tr.ts +132 -132
  253. package/src/tool/thermalExpansionCalculator/i18n/zh.ts +132 -132
  254. package/src/tool/thermalExpansionCalculator/seo.astro +15 -15
  255. package/src/tool/twoStrokeMixtureCalculator/bibliography.ts +12 -12
  256. package/src/tool/twoStrokeMixtureCalculator/i18n/de.ts +194 -194
  257. package/src/tool/twoStrokeMixtureCalculator/i18n/en.ts +194 -194
  258. package/src/tool/twoStrokeMixtureCalculator/i18n/es.ts +194 -194
  259. package/src/tool/twoStrokeMixtureCalculator/i18n/fr.ts +194 -194
  260. package/src/tool/twoStrokeMixtureCalculator/i18n/id.ts +194 -194
  261. package/src/tool/twoStrokeMixtureCalculator/i18n/it.ts +194 -194
  262. package/src/tool/twoStrokeMixtureCalculator/i18n/ja.ts +194 -194
  263. package/src/tool/twoStrokeMixtureCalculator/i18n/ko.ts +194 -194
  264. package/src/tool/twoStrokeMixtureCalculator/i18n/nl.ts +194 -194
  265. package/src/tool/twoStrokeMixtureCalculator/i18n/pl.ts +194 -194
  266. package/src/tool/twoStrokeMixtureCalculator/i18n/pt.ts +194 -194
  267. package/src/tool/twoStrokeMixtureCalculator/i18n/ru.ts +194 -194
  268. package/src/tool/twoStrokeMixtureCalculator/i18n/sv.ts +194 -194
  269. package/src/tool/twoStrokeMixtureCalculator/i18n/tr.ts +194 -194
  270. package/src/tool/twoStrokeMixtureCalculator/i18n/zh.ts +194 -194
  271. package/src/tool/voltageDropCalculator/bibliography.ts +16 -16
  272. package/src/tool/voltageDropCalculator/i18n/de.ts +113 -113
  273. package/src/tool/voltageDropCalculator/i18n/en.ts +151 -151
  274. package/src/tool/voltageDropCalculator/i18n/es.ts +151 -151
  275. package/src/tool/voltageDropCalculator/i18n/fr.ts +145 -145
  276. package/src/tool/voltageDropCalculator/i18n/id.ts +113 -113
  277. package/src/tool/voltageDropCalculator/i18n/it.ts +113 -113
  278. package/src/tool/voltageDropCalculator/i18n/ja.ts +113 -113
  279. package/src/tool/voltageDropCalculator/i18n/ko.ts +113 -113
  280. package/src/tool/voltageDropCalculator/i18n/nl.ts +113 -113
  281. package/src/tool/voltageDropCalculator/i18n/pl.ts +113 -113
  282. package/src/tool/voltageDropCalculator/i18n/pt.ts +113 -113
  283. package/src/tool/voltageDropCalculator/i18n/ru.ts +113 -113
  284. package/src/tool/voltageDropCalculator/i18n/sv.ts +113 -113
  285. package/src/tool/voltageDropCalculator/i18n/tr.ts +113 -113
  286. package/src/tool/voltageDropCalculator/i18n/zh.ts +113 -113
  287. package/src/tool/voltageDropCalculator/seo.astro +15 -15
  288. package/src/tool/workshopFractionConverter/bibliography.ts +12 -12
  289. package/src/tool/workshopFractionConverter/i18n/de.ts +147 -147
  290. package/src/tool/workshopFractionConverter/i18n/en.ts +147 -147
  291. package/src/tool/workshopFractionConverter/i18n/es.ts +147 -147
  292. package/src/tool/workshopFractionConverter/i18n/fr.ts +147 -147
  293. package/src/tool/workshopFractionConverter/i18n/id.ts +147 -147
  294. package/src/tool/workshopFractionConverter/i18n/it.ts +147 -147
  295. package/src/tool/workshopFractionConverter/i18n/ja.ts +147 -147
  296. package/src/tool/workshopFractionConverter/i18n/ko.ts +147 -147
  297. package/src/tool/workshopFractionConverter/i18n/nl.ts +147 -147
  298. package/src/tool/workshopFractionConverter/i18n/pl.ts +147 -147
  299. package/src/tool/workshopFractionConverter/i18n/pt.ts +147 -147
  300. package/src/tool/workshopFractionConverter/i18n/ru.ts +147 -147
  301. package/src/tool/workshopFractionConverter/i18n/sv.ts +147 -147
  302. package/src/tool/workshopFractionConverter/i18n/tr.ts +147 -147
  303. package/src/tool/workshopFractionConverter/i18n/zh.ts +147 -147
  304. package/src/tools.ts +20 -20
@@ -1,132 +1,132 @@
1
- import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import type { ThermalExpansionCalculatorUI } from '../ui';
4
- import { bibliography } from '../bibliography';
5
-
6
- const slug = 'calcolatore-dilatazione-termica';
7
- const title = 'Calcolatore di Dilatazione Termica di Travi e Strutture';
8
- const description = 'Calcola quanto cresce una trave o una struttura per variazioni di temperatura. Strumento tecnico per ingegneri e DIY. Include i coefficienti di espansione per materiale.';
9
-
10
- const faqData = [
11
- {
12
- question: 'Cos\'è il coefficiente di dilatazione lineare?',
13
- answer: 'È una proprietà fisica dei materiali che indica quanto si espande per ogni grado Celsius di aumento della temperatura. Si misura in 1/°C o °C⁻¹.',
14
- },
15
- {
16
- question: 'Perché è importante calcolare la dilatazione nelle travi?',
17
- answer: 'Se una trave non ha spazio per espandersi (giunti di dilatazione), genererà tensioni interne massicce che possono deformare la struttura, incrinare il calcestruzzo o persino causarne il crollo.',
18
- },
19
- {
20
- question: 'Il legno si dilata allo stesso modo in tutte le direzioni?',
21
- answer: 'No. Il legno è un materiale anisotropo. Si dilata pochissimo lungo la fibra ma significativamente in senso trasversale (larghezza e spessore).',
22
- },
23
- {
24
- question: 'Quale temperatura devo usare come Iniziale?',
25
- answer: 'Devi usare la temperatura al momento dell\'installazione o della costruzione. La Finale deve essere la temperatura massima prevista durante la sua vita utile.',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- { name: 'Misura la lunghezza originale', text: 'Inserisci la lunghezza della trave o del materiale in metri.' },
31
- { name: 'Seleziona il materiale', text: 'Scegli tra metalli, materiali da costruzione o legni per applicare il coefficiente specifico.' },
32
- { name: 'Definisci l\'intervallo termico', text: 'Specifica la temperatura iniziale e la massima prevista per calcolare il differenziale termico.' },
33
- { name: 'Analizza la crescita', text: 'Osserva l\'allungamento totale in millimetri e la lunghezza finale risultante per prevedere giunti adeguati.' },
34
- ];
35
-
36
- const faqSchema: WithContext<FAQPage> = {
37
- '@context': 'https://schema.org',
38
- '@type': 'FAQPage',
39
- mainEntity: faqData.map((item) => ({
40
- '@type': 'Question',
41
- name: item.question,
42
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
43
- })),
44
- };
45
-
46
- const howToSchema: WithContext<HowToThing> = {
47
- '@context': 'https://schema.org',
48
- '@type': 'HowTo',
49
- name: title,
50
- description,
51
- step: howToData.map((step, i) => ({
52
- '@type': 'HowToStep',
53
- position: i + 1,
54
- name: step.name,
55
- text: step.text,
56
- })),
57
- };
58
-
59
- const appSchema: WithContext<SoftwareApplication> = {
60
- '@context': 'https://schema.org',
61
- '@type': 'SoftwareApplication',
62
- name: title,
63
- description,
64
- applicationCategory: 'UtilityApplication',
65
- operatingSystem: 'All',
66
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
67
- inLanguage: 'it',
68
- };
69
-
70
- export const content: ToolLocaleContent<ThermalExpansionCalculatorUI> = {
71
- slug,
72
- title,
73
- description,
74
- faqTitle: 'Domande Frequenti',
75
- faq: faqData,
76
- bibliography,
77
- howTo: howToData,
78
- schemas: [faqSchema, howToSchema, appSchema],
79
- seo: [
80
- { type: 'title', text: 'Cos\'è la Dilatazione Termica e perché influisce sulle Strutture', level: 2 },
81
- { type: 'paragraph', html: 'La <strong>dilatazione termica</strong> è il processo fisico per cui un materiale aumenta la propria lunghezza come risposta a un incremento della temperatura. A livello microscopico, le particelle vibrano con più energia e necessitano di maggiore spazio medio tra di esse. In edilizia, questo fenomeno è una forza che può rompere il calcestruzzo, deformare travi d\'acciaio e torcere i binari del treno.' },
82
- { type: 'title', text: 'La Formula della Dilatazione Lineare', level: 3 },
83
- { type: 'card', icon: 'mdi:math-log', title: 'Formula della Dilatazione Lineare', html: '<p>L\'espansione di un elemento strutturale si calcola con: <code>ΔL = L₀ · α · ΔT</code>. Dove <strong>ΔL</strong> è la crescita totale, <strong>L₀</strong> è la lunghezza originale, <strong>α</strong> è il coefficiente di espansione del materiale (in °C⁻¹) e <strong>ΔT</strong> è la differenza di temperatura.</p>' },
84
-
85
- { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
86
- { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
87
- { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },
88
- { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
89
- { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
90
- { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },],
91
- ui: {
92
- configTitle: 'Configurazione',
93
- labelMaterial: 'Materiale',
94
- groupMetals: 'Metalli',
95
- groupConstruction: 'Costruzione',
96
- groupWood: 'Legni e Polimeri',
97
- matSteel: 'Acciaio (12 ppm/°C)',
98
- matAluminum: 'Alluminio (23 ppm/°C)',
99
- matCopper: 'Rame (17 ppm/°C)',
100
- matIron: 'Ferro (11 ppm/°C)',
101
- matConcrete: 'Calcestruzzo (12 ppm/°C)',
102
- matBrick: 'Mattone (9 ppm/°C)',
103
- matGlass: 'Vetro (9 ppm/°C)',
104
- matWoodFiber: 'Legno Fibra (5 ppm/°C)',
105
- matWoodTransversal: 'Legno Trasversale (40 ppm/°C)',
106
- matPvc: 'PVC (30 ppm/°C)',
107
- catMetals: 'Metallurgia',
108
- catConstruction: 'Costruzione',
109
- catWood: 'Legni e Polimeri',
110
- labelLength: 'Lunghezza Iniziale (m)',
111
- labelTempStart: 'T. Iniziale (°C)',
112
- labelTempEnd: 'T. Massima (°C)',
113
- deltaLabel: 'Differenziale Termico (ΔT)',
114
- vizTitle: 'Simulazione di Espansione',
115
- resultGrowthLabel: 'Crescita Totale (ΔL)',
116
- resultFinalLabel: 'Lunghezza Finale',
117
- unitMm: 'MM',
118
- unitM: 'M',
119
- riskTitle: 'Rischio Deformazione',
120
- jointTitle: 'Giunto Minimo',
121
- riskLow: 'Basso',
122
- riskModerate: 'Moderato',
123
- riskCritical: 'Critico',
124
- tipDefault: 'Consulta il manuale del fabbricante per i coefficienti esatti di leghe speciali.',
125
- tipSteel: 'L\'acciaio e il calcestruzzo hanno coefficienti quasi identici, permettendo al cemento armato di funzionare senza crepe interne.',
126
- tipAluminum: 'L\'alluminio si dilata quasi il doppio dell\'acciaio. Nei serramenti metallici, questo obbliga all\'uso di sigillanti elastici.',
127
- tipGlass: 'Il vetro e l\'acciaio si dilatano quasi allo stesso modo, il che è fondamentale per il design di grandi facciate vetrate.',
128
- tipConcrete: 'Il coefficiente del calcestruzzo è molto simile a quello dell\'acciaio, motivo per cui le strutture miste sono così stabili.',
129
- tipWood: 'Il legno si dilata poco per calore, ma molto per umidità. In strutture lunghe, la fibra longitudinale è molto stabile.',
130
- tipPvc: 'Il PVC ha un\'espansione altissima. Richiede giunti speciali per assorbire il movimento senza rompersi.',
131
- },
132
- };
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ThermalExpansionCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'calcolatore-dilatazione-termica';
7
+ const title = 'Calcolatore di Dilatazione Termica di Travi e Strutture';
8
+ const description = 'Calcola quanto cresce una trave o una struttura per variazioni di temperatura. Strumento tecnico per ingegneri e DIY. Include i coefficienti di espansione per materiale.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Cos\'è il coefficiente di dilatazione lineare?',
13
+ answer: 'È una proprietà fisica dei materiali che indica quanto si espande per ogni grado Celsius di aumento della temperatura. Si misura in 1/°C o °C⁻¹.',
14
+ },
15
+ {
16
+ question: 'Perché è importante calcolare la dilatazione nelle travi?',
17
+ answer: 'Se una trave non ha spazio per espandersi (giunti di dilatazione), genererà tensioni interne massicce che possono deformare la struttura, incrinare il calcestruzzo o persino causarne il crollo.',
18
+ },
19
+ {
20
+ question: 'Il legno si dilata allo stesso modo in tutte le direzioni?',
21
+ answer: 'No. Il legno è un materiale anisotropo. Si dilata pochissimo lungo la fibra ma significativamente in senso trasversale (larghezza e spessore).',
22
+ },
23
+ {
24
+ question: 'Quale temperatura devo usare come Iniziale?',
25
+ answer: 'Devi usare la temperatura al momento dell\'installazione o della costruzione. La Finale deve essere la temperatura massima prevista durante la sua vita utile.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ { name: 'Misura la lunghezza originale', text: 'Inserisci la lunghezza della trave o del materiale in metri.' },
31
+ { name: 'Seleziona il materiale', text: 'Scegli tra metalli, materiali da costruzione o legni per applicare il coefficiente specifico.' },
32
+ { name: 'Definisci l\'intervallo termico', text: 'Specifica la temperatura iniziale e la massima prevista per calcolare il differenziale termico.' },
33
+ { name: 'Analizza la crescita', text: 'Osserva l\'allungamento totale in millimetri e la lunghezza finale risultante per prevedere giunti adeguati.' },
34
+ ];
35
+
36
+ const faqSchema: WithContext<FAQPage> = {
37
+ '@context': 'https://schema.org',
38
+ '@type': 'FAQPage',
39
+ mainEntity: faqData.map((item) => ({
40
+ '@type': 'Question',
41
+ name: item.question,
42
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
43
+ })),
44
+ };
45
+
46
+ const howToSchema: WithContext<HowToThing> = {
47
+ '@context': 'https://schema.org',
48
+ '@type': 'HowTo',
49
+ name: title,
50
+ description,
51
+ step: howToData.map((step, i) => ({
52
+ '@type': 'HowToStep',
53
+ position: i + 1,
54
+ name: step.name,
55
+ text: step.text,
56
+ })),
57
+ };
58
+
59
+ const appSchema: WithContext<SoftwareApplication> = {
60
+ '@context': 'https://schema.org',
61
+ '@type': 'SoftwareApplication',
62
+ name: title,
63
+ description,
64
+ applicationCategory: 'UtilityApplication',
65
+ operatingSystem: 'All',
66
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
67
+ inLanguage: 'it',
68
+ };
69
+
70
+ export const content: ToolLocaleContent<ThermalExpansionCalculatorUI> = {
71
+ slug,
72
+ title,
73
+ description,
74
+ faqTitle: 'Domande Frequenti',
75
+ faq: faqData,
76
+ bibliography,
77
+ howTo: howToData,
78
+ schemas: [faqSchema, howToSchema, appSchema],
79
+ seo: [
80
+ { type: 'title', text: 'Cos\'è la Dilatazione Termica e perché influisce sulle Strutture', level: 2 },
81
+ { type: 'paragraph', html: 'La <strong>dilatazione termica</strong> è il processo fisico per cui un materiale aumenta la propria lunghezza come risposta a un incremento della temperatura. A livello microscopico, le particelle vibrano con più energia e necessitano di maggiore spazio medio tra di esse. In edilizia, questo fenomeno è una forza che può rompere il calcestruzzo, deformare travi d\'acciaio e torcere i binari del treno.' },
82
+ { type: 'title', text: 'La Formula della Dilatazione Lineare', level: 3 },
83
+ { type: 'card', icon: 'mdi:math-log', title: 'Formula della Dilatazione Lineare', html: '<p>L\'espansione di un elemento strutturale si calcola con: <code>ΔL = L₀ · α · ΔT</code>. Dove <strong>ΔL</strong> è la crescita totale, <strong>L₀</strong> è la lunghezza originale, <strong>α</strong> è il coefficiente di espansione del materiale (in °C⁻¹) e <strong>ΔT</strong> è la differenza di temperatura.</p>' },
84
+
85
+ { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
86
+ { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
87
+ { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },
88
+ { type: 'paragraph', html: "Controlla dati, unità, arrotondamento, data e giurisdizione, perché ciascun elemento può cambiare la stima." },
89
+ { type: 'paragraph', html: "Usa il risultato per pianificare e confrontare scenari; non sostituisce un calcolo ufficiale o una consulenza professionale." },
90
+ { type: 'paragraph', html: "Interpreta il risultato insieme alle ipotesi mostrate dal calcolatore prima di utilizzarlo." },],
91
+ ui: {
92
+ configTitle: 'Configurazione',
93
+ labelMaterial: 'Materiale',
94
+ groupMetals: 'Metalli',
95
+ groupConstruction: 'Costruzione',
96
+ groupWood: 'Legni e Polimeri',
97
+ matSteel: 'Acciaio (12 ppm/°C)',
98
+ matAluminum: 'Alluminio (23 ppm/°C)',
99
+ matCopper: 'Rame (17 ppm/°C)',
100
+ matIron: 'Ferro (11 ppm/°C)',
101
+ matConcrete: 'Calcestruzzo (12 ppm/°C)',
102
+ matBrick: 'Mattone (9 ppm/°C)',
103
+ matGlass: 'Vetro (9 ppm/°C)',
104
+ matWoodFiber: 'Legno Fibra (5 ppm/°C)',
105
+ matWoodTransversal: 'Legno Trasversale (40 ppm/°C)',
106
+ matPvc: 'PVC (30 ppm/°C)',
107
+ catMetals: 'Metallurgia',
108
+ catConstruction: 'Costruzione',
109
+ catWood: 'Legni e Polimeri',
110
+ labelLength: 'Lunghezza Iniziale (m)',
111
+ labelTempStart: 'T. Iniziale (°C)',
112
+ labelTempEnd: 'T. Massima (°C)',
113
+ deltaLabel: 'Differenziale Termico (ΔT)',
114
+ vizTitle: 'Simulazione di Espansione',
115
+ resultGrowthLabel: 'Crescita Totale (ΔL)',
116
+ resultFinalLabel: 'Lunghezza Finale',
117
+ unitMm: 'MM',
118
+ unitM: 'M',
119
+ riskTitle: 'Rischio Deformazione',
120
+ jointTitle: 'Giunto Minimo',
121
+ riskLow: 'Basso',
122
+ riskModerate: 'Moderato',
123
+ riskCritical: 'Critico',
124
+ tipDefault: 'Consulta il manuale del fabbricante per i coefficienti esatti di leghe speciali.',
125
+ tipSteel: 'L\'acciaio e il calcestruzzo hanno coefficienti quasi identici, permettendo al cemento armato di funzionare senza crepe interne.',
126
+ tipAluminum: 'L\'alluminio si dilata quasi il doppio dell\'acciaio. Nei serramenti metallici, questo obbliga all\'uso di sigillanti elastici.',
127
+ tipGlass: 'Il vetro e l\'acciaio si dilatano quasi allo stesso modo, il che è fondamentale per il design di grandi facciate vetrate.',
128
+ tipConcrete: 'Il coefficiente del calcestruzzo è molto simile a quello dell\'acciaio, motivo per cui le strutture miste sono così stabili.',
129
+ tipWood: 'Il legno si dilata poco per calore, ma molto per umidità. In strutture lunghe, la fibra longitudinale è molto stabile.',
130
+ tipPvc: 'Il PVC ha un\'espansione altissima. Richiede giunti speciali per assorbire il movimento senza rompersi.',
131
+ },
132
+ };
@@ -1,132 +1,132 @@
1
- import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import type { ThermalExpansionCalculatorUI } from '../ui';
4
- import { bibliography } from '../bibliography';
5
-
6
- const slug = 'thermal-expansion-calculator';
7
- const title = '梁と構造物の熱膨張計算機';
8
- const description = '温度変化によって梁や構造物がどれくらい膨張するかを計算します。エンジニアやDIY向けのテクニカルツール。材料別の熱膨張係数を収録。';
9
-
10
- const faqData = [
11
- {
12
- question: '線膨張係数とは何ですか?',
13
- answer: '材料の物理的特性の1つで、温度が1℃上昇するごとにどれくらい膨張するかを示します。単位は 1/℃ または ℃⁻¹ です。',
14
- },
15
- {
16
- question: 'なぜ梁の膨張を計算することが重要なのですか?',
17
- answer: '梁に膨張するためのスペース(伸縮継手)がない場合、巨大な内部応力が発生し、構造物の変形やコンクリートのひび割れ、最悪の場合は崩壊を招く可能性があるためです。',
18
- },
19
- {
20
- question: '木材はすべての方向に同じように膨張しますか?',
21
- answer: 'いいえ。木材は異方性材料です。繊維方向にはほとんど膨張しませんが、繊維と直交する方向(幅や厚み)には大きく膨張します。',
22
- },
23
- {
24
- question: '初期温度には何を使用すべきですか?',
25
- answer: '設置または施工時の温度を使用してください。最終温度は、その構造物の耐用年数中に予想される最高温度を使用する必要があります。',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- { name: '元の長さを測る', text: '梁や材料の長さをメートル単位で入力します。' },
31
- { name: '材料を選択する', text: '金属、建築材料、または木材から選択して、固有の係数を適用します。' },
32
- { name: '温度範囲を定義する', text: '初期温度と予想される最高温度を指定して、温度差を算出します。' },
33
- { name: '膨張を分析する', text: '総膨張量(ミリメートル)と最終的な長さを確認し、適切な継手を計画します。' },
34
- ];
35
-
36
- const faqSchema: WithContext<FAQPage> = {
37
- '@context': 'https://schema.org',
38
- '@type': 'FAQPage',
39
- mainEntity: faqData.map((item) => ({
40
- '@type': 'Question',
41
- name: item.question,
42
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
43
- })),
44
- };
45
-
46
- const howToSchema: WithContext<HowToThing> = {
47
- '@context': 'https://schema.org',
48
- '@type': 'HowTo',
49
- name: title,
50
- description,
51
- step: howToData.map((step, i) => ({
52
- '@type': 'HowToStep',
53
- position: i + 1,
54
- name: step.name,
55
- text: step.text,
56
- })),
57
- };
58
-
59
- const appSchema: WithContext<SoftwareApplication> = {
60
- '@context': 'https://schema.org',
61
- '@type': 'SoftwareApplication',
62
- name: title,
63
- description,
64
- applicationCategory: 'UtilityApplication',
65
- operatingSystem: 'All',
66
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
67
- inLanguage: 'ja',
68
- };
69
-
70
- export const content: ToolLocaleContent<ThermalExpansionCalculatorUI> = {
71
- slug,
72
- title,
73
- description,
74
- faqTitle: 'よくある質問',
75
- faq: faqData,
76
- bibliography,
77
- howTo: howToData,
78
- schemas: [faqSchema, howToSchema, appSchema],
79
- seo: [
80
- { type: 'title', text: '熱膨張とは何か、なぜ構造物に影響を与えるのか', level: 2 },
81
- { type: 'paragraph', html: '<strong>熱膨張</strong>とは、温度の上昇に伴って材料の長さが増加する物理的なプロセスです。微視的なレベルでは、粒子がより大きなエネルギーで振動し、粒子間の平均的なスペースがより多く必要になります。建設において、この現象はコンクリートを破壊し、鋼梁を変形させ、鉄道のレールを歪ませる力となります。' },
82
- { type: 'title', text: '線膨張の公式', level: 3 },
83
- { type: 'card', icon: 'mdi:math-log', title: '線膨張の計算式', html: '<p>構造部材の膨張は次のように計算されます:<code>ΔL = L₀ · α · ΔT</code>。ここで、<strong>ΔL</strong>は総増加量、<strong>L₀</strong>は元の長さ、<strong>α</strong>は材料の膨張係数(単位:℃⁻¹)、<strong>ΔT</strong>は温度差です。この公式は、橋や屋根、外壁の伸縮継手設計の基本となります。</p>' },
84
-
85
- { type: 'paragraph', html: "入力値、単位、丸め、日付、地域を確認してください。どれも推定結果を変える可能性があります。" },
86
- { type: 'paragraph', html: "結果は計画や条件比較に使えますが、公式計算や専門家の助言の代わりにはなりません。" },
87
- { type: 'paragraph', html: "利用する前に、計算機が示す前提条件と結果を一緒に確認してください。" },
88
- { type: 'paragraph', html: "入力値、単位、丸め、日付、地域を確認してください。どれも推定結果を変える可能性があります。" },
89
- { type: 'paragraph', html: "結果は計画や条件比較に使えますが、公式計算や専門家の助言の代わりにはなりません。" },
90
- { type: 'paragraph', html: "利用する前に、計算機が示す前提条件と結果を一緒に確認してください。" },],
91
- ui: {
92
- configTitle: '設定',
93
- labelMaterial: '材料',
94
- groupMetals: '金属',
95
- groupConstruction: '建築材料',
96
- groupWood: '木材・ポリマー',
97
- matSteel: '鋼鉄 (12 ppm/°C)',
98
- matAluminum: 'アルミニウム (23 ppm/°C)',
99
- matCopper: '銅 (17 ppm/°C)',
100
- matIron: '鉄 (11 ppm/°C)',
101
- matConcrete: 'コンクリート (12 ppm/°C)',
102
- matBrick: 'レンガ (9 ppm/°C)',
103
- matGlass: 'ガラス (9 ppm/°C)',
104
- matWoodFiber: '木材繊維方向 (5 ppm/°C)',
105
- matWoodTransversal: '木材直交方向 (40 ppm/°C)',
106
- matPvc: 'PVC (30 ppm/°C)',
107
- catMetals: '冶金',
108
- catConstruction: '施工',
109
- catWood: '木材・ポリマー',
110
- labelLength: '初期の長さ (m)',
111
- labelTempStart: '初期温度 (°C)',
112
- labelTempEnd: '最高温度 (°C)',
113
- deltaLabel: '温度差 (ΔT)',
114
- vizTitle: '膨張シミュレーション',
115
- resultGrowthLabel: '総膨張量 (ΔL)',
116
- resultFinalLabel: '最終的な長さ',
117
- unitMm: 'MM',
118
- unitM: 'M',
119
- riskTitle: '座屈リスク',
120
- jointTitle: '最小継手幅',
121
- riskLow: '低',
122
- riskModerate: '中',
123
- riskCritical: '高',
124
- tipDefault: '特殊な合金については、メーカーの仕様書で正確な係数を確認してください。',
125
- tipSteel: '鋼鉄とコンクリートはほぼ同じ膨張係数を持つため、鉄筋コンクリートは内部崩壊なしに機能します。',
126
- tipAluminum: 'アルミニウムは鋼鉄の約2倍膨張します。金属製のサッシなどでは弾性シーリング材の使用が必須です。',
127
- tipGlass: 'ガラスと鋼鉄はほぼ同じ膨張率であり、これは大型ガラスファサードの設計において鍵となります。',
128
- tipConcrete: 'コンクリートの係数は鋼鉄と非常に近く、混合構造が安定している理由です。',
129
- tipWood: '木材は熱による膨張は少ないですが、湿度による膨張が大きいです。長尺構造では繊維方向は非常に安定しています。',
130
- tipPvc: 'PVCは非常に膨張率が高いです。破損を防ぐために、動きを吸収する継手や工夫が必要です。',
131
- },
132
- };
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ThermalExpansionCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'thermal-expansion-calculator';
7
+ const title = '梁と構造物の熱膨張計算機';
8
+ const description = '温度変化によって梁や構造物がどれくらい膨張するかを計算します。エンジニアやDIY向けのテクニカルツール。材料別の熱膨張係数を収録。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '線膨張係数とは何ですか?',
13
+ answer: '材料の物理的特性の1つで、温度が1℃上昇するごとにどれくらい膨張するかを示します。単位は 1/℃ または ℃⁻¹ です。',
14
+ },
15
+ {
16
+ question: 'なぜ梁の膨張を計算することが重要なのですか?',
17
+ answer: '梁に膨張するためのスペース(伸縮継手)がない場合、巨大な内部応力が発生し、構造物の変形やコンクリートのひび割れ、最悪の場合は崩壊を招く可能性があるためです。',
18
+ },
19
+ {
20
+ question: '木材はすべての方向に同じように膨張しますか?',
21
+ answer: 'いいえ。木材は異方性材料です。繊維方向にはほとんど膨張しませんが、繊維と直交する方向(幅や厚み)には大きく膨張します。',
22
+ },
23
+ {
24
+ question: '初期温度には何を使用すべきですか?',
25
+ answer: '設置または施工時の温度を使用してください。最終温度は、その構造物の耐用年数中に予想される最高温度を使用する必要があります。',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ { name: '元の長さを測る', text: '梁や材料の長さをメートル単位で入力します。' },
31
+ { name: '材料を選択する', text: '金属、建築材料、または木材から選択して、固有の係数を適用します。' },
32
+ { name: '温度範囲を定義する', text: '初期温度と予想される最高温度を指定して、温度差を算出します。' },
33
+ { name: '膨張を分析する', text: '総膨張量(ミリメートル)と最終的な長さを確認し、適切な継手を計画します。' },
34
+ ];
35
+
36
+ const faqSchema: WithContext<FAQPage> = {
37
+ '@context': 'https://schema.org',
38
+ '@type': 'FAQPage',
39
+ mainEntity: faqData.map((item) => ({
40
+ '@type': 'Question',
41
+ name: item.question,
42
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
43
+ })),
44
+ };
45
+
46
+ const howToSchema: WithContext<HowToThing> = {
47
+ '@context': 'https://schema.org',
48
+ '@type': 'HowTo',
49
+ name: title,
50
+ description,
51
+ step: howToData.map((step, i) => ({
52
+ '@type': 'HowToStep',
53
+ position: i + 1,
54
+ name: step.name,
55
+ text: step.text,
56
+ })),
57
+ };
58
+
59
+ const appSchema: WithContext<SoftwareApplication> = {
60
+ '@context': 'https://schema.org',
61
+ '@type': 'SoftwareApplication',
62
+ name: title,
63
+ description,
64
+ applicationCategory: 'UtilityApplication',
65
+ operatingSystem: 'All',
66
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
67
+ inLanguage: 'ja',
68
+ };
69
+
70
+ export const content: ToolLocaleContent<ThermalExpansionCalculatorUI> = {
71
+ slug,
72
+ title,
73
+ description,
74
+ faqTitle: 'よくある質問',
75
+ faq: faqData,
76
+ bibliography,
77
+ howTo: howToData,
78
+ schemas: [faqSchema, howToSchema, appSchema],
79
+ seo: [
80
+ { type: 'title', text: '熱膨張とは何か、なぜ構造物に影響を与えるのか', level: 2 },
81
+ { type: 'paragraph', html: '<strong>熱膨張</strong>とは、温度の上昇に伴って材料の長さが増加する物理的なプロセスです。微視的なレベルでは、粒子がより大きなエネルギーで振動し、粒子間の平均的なスペースがより多く必要になります。建設において、この現象はコンクリートを破壊し、鋼梁を変形させ、鉄道のレールを歪ませる力となります。' },
82
+ { type: 'title', text: '線膨張の公式', level: 3 },
83
+ { type: 'card', icon: 'mdi:math-log', title: '線膨張の計算式', html: '<p>構造部材の膨張は次のように計算されます:<code>ΔL = L₀ · α · ΔT</code>。ここで、<strong>ΔL</strong>は総増加量、<strong>L₀</strong>は元の長さ、<strong>α</strong>は材料の膨張係数(単位:℃⁻¹)、<strong>ΔT</strong>は温度差です。この公式は、橋や屋根、外壁の伸縮継手設計の基本となります。</p>' },
84
+
85
+ { type: 'paragraph', html: "入力値、単位、丸め、日付、地域を確認してください。どれも推定結果を変える可能性があります。" },
86
+ { type: 'paragraph', html: "結果は計画や条件比較に使えますが、公式計算や専門家の助言の代わりにはなりません。" },
87
+ { type: 'paragraph', html: "利用する前に、計算機が示す前提条件と結果を一緒に確認してください。" },
88
+ { type: 'paragraph', html: "入力値、単位、丸め、日付、地域を確認してください。どれも推定結果を変える可能性があります。" },
89
+ { type: 'paragraph', html: "結果は計画や条件比較に使えますが、公式計算や専門家の助言の代わりにはなりません。" },
90
+ { type: 'paragraph', html: "利用する前に、計算機が示す前提条件と結果を一緒に確認してください。" },],
91
+ ui: {
92
+ configTitle: '設定',
93
+ labelMaterial: '材料',
94
+ groupMetals: '金属',
95
+ groupConstruction: '建築材料',
96
+ groupWood: '木材・ポリマー',
97
+ matSteel: '鋼鉄 (12 ppm/°C)',
98
+ matAluminum: 'アルミニウム (23 ppm/°C)',
99
+ matCopper: '銅 (17 ppm/°C)',
100
+ matIron: '鉄 (11 ppm/°C)',
101
+ matConcrete: 'コンクリート (12 ppm/°C)',
102
+ matBrick: 'レンガ (9 ppm/°C)',
103
+ matGlass: 'ガラス (9 ppm/°C)',
104
+ matWoodFiber: '木材繊維方向 (5 ppm/°C)',
105
+ matWoodTransversal: '木材直交方向 (40 ppm/°C)',
106
+ matPvc: 'PVC (30 ppm/°C)',
107
+ catMetals: '冶金',
108
+ catConstruction: '施工',
109
+ catWood: '木材・ポリマー',
110
+ labelLength: '初期の長さ (m)',
111
+ labelTempStart: '初期温度 (°C)',
112
+ labelTempEnd: '最高温度 (°C)',
113
+ deltaLabel: '温度差 (ΔT)',
114
+ vizTitle: '膨張シミュレーション',
115
+ resultGrowthLabel: '総膨張量 (ΔL)',
116
+ resultFinalLabel: '最終的な長さ',
117
+ unitMm: 'MM',
118
+ unitM: 'M',
119
+ riskTitle: '座屈リスク',
120
+ jointTitle: '最小継手幅',
121
+ riskLow: '低',
122
+ riskModerate: '中',
123
+ riskCritical: '高',
124
+ tipDefault: '特殊な合金については、メーカーの仕様書で正確な係数を確認してください。',
125
+ tipSteel: '鋼鉄とコンクリートはほぼ同じ膨張係数を持つため、鉄筋コンクリートは内部崩壊なしに機能します。',
126
+ tipAluminum: 'アルミニウムは鋼鉄の約2倍膨張します。金属製のサッシなどでは弾性シーリング材の使用が必須です。',
127
+ tipGlass: 'ガラスと鋼鉄はほぼ同じ膨張率であり、これは大型ガラスファサードの設計において鍵となります。',
128
+ tipConcrete: 'コンクリートの係数は鋼鉄と非常に近く、混合構造が安定している理由です。',
129
+ tipWood: '木材は熱による膨張は少ないですが、湿度による膨張が大きいです。長尺構造では繊維方向は非常に安定しています。',
130
+ tipPvc: 'PVCは非常に膨張率が高いです。破損を防ぐために、動きを吸収する継手や工夫が必要です。',
131
+ },
132
+ };