@jjlmoya/utils-science 1.51.0 → 1.52.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 (338) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/es.ts +3 -4
  3. package/src/category/i18n/fr.ts +2 -2
  4. package/src/category/i18n/it.ts +2 -2
  5. package/src/category/i18n/pt.ts +2 -2
  6. package/src/category/index.ts +25 -25
  7. package/src/components/PreviewNavSidebar.astro +1 -1
  8. package/src/components/PreviewToolbar.astro +1 -1
  9. package/src/data.ts +1 -1
  10. package/src/env.d.ts +1 -1
  11. package/src/layouts/PreviewLayout.astro +1 -1
  12. package/src/pages/index.astro +1 -1
  13. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  14. package/src/tests/category_seo_quality.test.ts +76 -0
  15. package/src/tests/faq_count.test.ts +19 -19
  16. package/src/tests/i18n_coverage.test.ts +36 -36
  17. package/src/tests/mocks/astro_mock.js +1 -1
  18. package/src/tests/no_h1_in_components.test.ts +1 -1
  19. package/src/tests/script_density.test.ts +94 -94
  20. package/src/tests/seo_length.test.ts +24 -24
  21. package/src/tests/seo_parity.test.ts +5 -5
  22. package/src/tests/seo_translation_completeness.test.ts +76 -0
  23. package/src/tests/seo_wellformed_export.test.ts +65 -0
  24. package/src/tests/spanish_leakage.test.ts +175 -175
  25. package/src/tool/asteroid-impact/component.astro +251 -251
  26. package/src/tool/asteroid-impact/helpers.ts +17 -17
  27. package/src/tool/asteroid-impact/i18n/de.ts +2 -2
  28. package/src/tool/asteroid-impact/i18n/en.ts +2 -2
  29. package/src/tool/asteroid-impact/i18n/es.ts +2 -2
  30. package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
  31. package/src/tool/asteroid-impact/i18n/id.ts +2 -2
  32. package/src/tool/asteroid-impact/i18n/it.ts +2 -2
  33. package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
  34. package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
  35. package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
  36. package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
  37. package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
  38. package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
  39. package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
  40. package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
  41. package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
  42. package/src/tool/asteroid-impact/script.ts +262 -262
  43. package/src/tool/asteroid-impact/seo.astro +15 -15
  44. package/src/tool/asteroid-impact/ui.ts +69 -69
  45. package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
  46. package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
  47. package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
  48. package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
  49. package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
  50. package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
  51. package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
  52. package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
  53. package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
  54. package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
  55. package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
  56. package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
  57. package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
  58. package/src/tool/cellular-renewal/component.astro +126 -126
  59. package/src/tool/cellular-renewal/i18n/de.ts +1 -1
  60. package/src/tool/cellular-renewal/i18n/en.ts +1 -1
  61. package/src/tool/cellular-renewal/i18n/es.ts +1 -1
  62. package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
  63. package/src/tool/cellular-renewal/i18n/id.ts +1 -1
  64. package/src/tool/cellular-renewal/i18n/it.ts +1 -1
  65. package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
  66. package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
  67. package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
  68. package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
  69. package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
  70. package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
  71. package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
  72. package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
  73. package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
  74. package/src/tool/cellular-renewal/seo.astro +15 -15
  75. package/src/tool/colony-counter/i18n/de.ts +1 -1
  76. package/src/tool/colony-counter/i18n/en.ts +1 -1
  77. package/src/tool/colony-counter/i18n/es.ts +1 -1
  78. package/src/tool/colony-counter/i18n/fr.ts +1 -1
  79. package/src/tool/colony-counter/i18n/id.ts +1 -1
  80. package/src/tool/colony-counter/i18n/it.ts +1 -1
  81. package/src/tool/colony-counter/i18n/ja.ts +1 -1
  82. package/src/tool/colony-counter/i18n/ko.ts +1 -1
  83. package/src/tool/colony-counter/i18n/nl.ts +1 -1
  84. package/src/tool/colony-counter/i18n/pl.ts +1 -1
  85. package/src/tool/colony-counter/i18n/pt.ts +1 -1
  86. package/src/tool/colony-counter/i18n/ru.ts +1 -1
  87. package/src/tool/colony-counter/i18n/sv.ts +1 -1
  88. package/src/tool/colony-counter/i18n/tr.ts +1 -1
  89. package/src/tool/colony-counter/i18n/zh.ts +1 -1
  90. package/src/tool/colony-counter/seo.astro +15 -15
  91. package/src/tool/conway-life-rule-lab/component.astro +1 -1
  92. package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
  93. package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
  94. package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
  95. package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
  96. package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
  97. package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
  98. package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
  99. package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
  100. package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
  101. package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
  102. package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
  103. package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
  104. package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
  105. package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
  106. package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
  107. package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
  108. package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
  109. package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
  110. package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
  111. package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
  112. package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
  113. package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
  114. package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
  115. package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
  116. package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
  117. package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
  118. package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
  119. package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
  120. package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
  121. package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
  122. package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
  123. package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
  124. package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
  125. package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
  126. package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
  127. package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
  128. package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
  129. package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
  130. package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
  131. package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
  132. package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
  133. package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
  134. package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
  135. package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
  136. package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
  137. package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
  138. package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
  139. package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
  140. package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
  141. package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
  142. package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
  143. package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
  144. package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
  145. package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
  146. package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
  147. package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
  148. package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
  149. package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
  150. package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
  151. package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
  152. package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
  153. package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
  154. package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
  155. package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
  156. package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
  157. package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
  158. package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
  159. package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
  160. package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
  161. package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
  162. package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
  163. package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
  164. package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
  165. package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
  166. package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
  167. package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
  168. package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
  169. package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
  170. package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
  171. package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
  172. package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
  173. package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
  174. package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
  175. package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
  176. package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
  177. package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
  178. package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
  179. package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
  180. package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
  181. package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
  182. package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
  183. package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
  184. package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
  185. package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
  186. package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
  187. package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
  188. package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
  189. package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
  190. package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
  191. package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
  192. package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
  193. package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
  194. package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
  195. package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
  196. package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
  197. package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
  198. package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
  199. package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
  200. package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
  201. package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
  202. package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
  203. package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
  204. package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
  205. package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
  206. package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
  207. package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
  208. package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
  209. package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
  210. package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
  211. package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
  212. package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
  213. package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
  214. package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
  215. package/src/tool/microwave-detector/component.astro +238 -238
  216. package/src/tool/microwave-detector/i18n/de.ts +1 -1
  217. package/src/tool/microwave-detector/i18n/en.ts +1 -1
  218. package/src/tool/microwave-detector/i18n/es.ts +1 -1
  219. package/src/tool/microwave-detector/i18n/fr.ts +1 -1
  220. package/src/tool/microwave-detector/i18n/id.ts +1 -1
  221. package/src/tool/microwave-detector/i18n/it.ts +1 -1
  222. package/src/tool/microwave-detector/i18n/ja.ts +1 -1
  223. package/src/tool/microwave-detector/i18n/ko.ts +1 -1
  224. package/src/tool/microwave-detector/i18n/nl.ts +1 -1
  225. package/src/tool/microwave-detector/i18n/pl.ts +1 -1
  226. package/src/tool/microwave-detector/i18n/pt.ts +1 -1
  227. package/src/tool/microwave-detector/i18n/ru.ts +1 -1
  228. package/src/tool/microwave-detector/i18n/sv.ts +1 -1
  229. package/src/tool/microwave-detector/i18n/tr.ts +1 -1
  230. package/src/tool/microwave-detector/i18n/zh.ts +1 -1
  231. package/src/tool/microwave-detector/seo.astro +15 -15
  232. package/src/tool/natural-selection-drift/component.astro +135 -135
  233. package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
  234. package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
  235. package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
  236. package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
  237. package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
  238. package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
  239. package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
  240. package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
  241. package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
  242. package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
  243. package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
  244. package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
  245. package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
  246. package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
  247. package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
  248. package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
  249. package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
  250. package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
  251. package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
  252. package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
  253. package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
  254. package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
  255. package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
  256. package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
  257. package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
  258. package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
  259. package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
  260. package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
  261. package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
  262. package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
  263. package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
  264. package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
  265. package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
  266. package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
  267. package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
  268. package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
  269. package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
  270. package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
  271. package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
  272. package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
  273. package/src/tool/radioactive-decay/i18n/de.ts +168 -164
  274. package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
  275. package/src/tool/radioactive-decay/i18n/id.ts +169 -165
  276. package/src/tool/radioactive-decay/i18n/it.ts +76 -74
  277. package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
  278. package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
  279. package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
  280. package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
  281. package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
  282. package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
  283. package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
  284. package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
  285. package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
  286. package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
  287. package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
  288. package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
  289. package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
  290. package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
  291. package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
  292. package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
  293. package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
  294. package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
  295. package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
  296. package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
  297. package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
  298. package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
  299. package/src/tool/simulation-probability/component.astro +138 -138
  300. package/src/tool/simulation-probability/i18n/de.ts +1 -1
  301. package/src/tool/simulation-probability/i18n/en.ts +1 -1
  302. package/src/tool/simulation-probability/i18n/es.ts +1 -1
  303. package/src/tool/simulation-probability/i18n/fr.ts +1 -1
  304. package/src/tool/simulation-probability/i18n/id.ts +1 -1
  305. package/src/tool/simulation-probability/i18n/it.ts +1 -1
  306. package/src/tool/simulation-probability/i18n/ja.ts +1 -1
  307. package/src/tool/simulation-probability/i18n/ko.ts +1 -1
  308. package/src/tool/simulation-probability/i18n/nl.ts +1 -1
  309. package/src/tool/simulation-probability/i18n/pl.ts +1 -1
  310. package/src/tool/simulation-probability/i18n/pt.ts +1 -1
  311. package/src/tool/simulation-probability/i18n/ru.ts +1 -1
  312. package/src/tool/simulation-probability/i18n/sv.ts +1 -1
  313. package/src/tool/simulation-probability/i18n/tr.ts +1 -1
  314. package/src/tool/simulation-probability/i18n/zh.ts +1 -1
  315. package/src/tool/simulation-probability/seo.astro +15 -15
  316. package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
  317. package/src/tool/temperature-timeline/i18n/de.ts +2 -1
  318. package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
  319. package/src/tool/temperature-timeline/i18n/it.ts +142 -141
  320. package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
  321. package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
  322. package/src/tool/three-body-problem/app.ts +4 -4
  323. package/src/tool/three-body-problem/component.astro +6 -6
  324. package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
  325. package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
  326. package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
  327. package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
  328. package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
  329. package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
  330. package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
  331. package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
  332. package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
  333. package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
  334. package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
  335. package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
  336. package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
  337. package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
  338. package/src/types.ts +1 -1
@@ -1,347 +1,347 @@
1
- import { bibliography } from '../bibliography';
2
- import type { ToolLocaleContent } from '../../../types';
3
-
4
- const slug = 'simulatore-sir-epidemia';
5
- const title = 'Simulatore SIR di epidemie';
6
- const description = 'Esplora la propagazione di agenti patogeni con un modello SIR interattivo che regola R0, letalità, vaccinazione, periodo infettivo, carico di picco e curve di trasmissione in tempo reale.';
7
-
8
- const howTo = [
9
- {
10
- name: 'Imposta il numero di riproduzione di base',
11
- text: 'Sposta il cursore di R0 per rappresentare quante infezioni secondarie causerebbe una persona infetta in una popolazione completamente suscettibile.',
12
- },
13
- {
14
- name: 'Aggiungi vaccinazione ed efficacia vaccinale',
15
- text: 'Aumenta la copertura vaccinale o l\'efficacia per rimuovere le persone protette dal pool dei suscettibili e abbassare il numero di riproduzione effettivo.',
16
- },
17
- {
18
- name: 'Regola letalità e durata infettiva',
19
- text: 'Modifica la percentuale di letalità e il numero di giorni infettivi per osservare come rispondono gli esiti gravi e la tempistica delle curve.',
20
- },
21
- {
22
- name: 'Leggi le curve SIR',
23
- text: 'Usa il grafico e l\'ispezione giornaliera per confrontare le curve di suscettibili, infetti, recuperati e decessi stimati durante l\'epidemia simulata.',
24
- },
25
- ];
26
-
27
- const faq = [
28
- {
29
- question: 'Cosa mostra un modello SIR?',
30
- answer: 'Un modello SIR divide una popolazione in gruppi di suscettibili, infetti e recuperati. Stima come le persone si spostano tra questi gruppi nel tempo man mano che avvengono trasmissione e guarigione.',
31
- },
32
- {
33
- question: 'Come cambia la curva la vaccinazione?',
34
- answer: 'La vaccinazione riduce la popolazione suscettibile quando previene l\'infezione. In questo simulatore, una vaccinazione efficace abbassa il numero di riproduzione effettivo e può ridurre o ritardare il picco di infezione.',
35
- },
36
- {
37
- question: 'R0 e Re sono la stessa cosa?',
38
- answer: 'No. R0 descrive la propagazione in una popolazione completamente suscettibile. Re e il numero di riproduzione effettivo dopo che immunità, vaccinazione o cambiamenti comportamentali hanno ridotto il numero di persone che possono essere infettate.',
39
- },
40
- {
41
- question: 'Perche la curva degli infetti raggiunge un picco e poi scende?',
42
- answer: 'La curva degli infetti scende quando ogni persona infetta genera meno nuovi infetti rispetto al numero di persone che escono dal gruppo degli infetti per guarigione o decesso. L\'esaurimento dei suscettibili e il motore principale in un modello SIR di base.',
43
- },
44
- {
45
- question: 'Puo questo strumento prevedere un\'epidemia reale?',
46
- answer: 'E uno strumento didattico e di scenario, non una previsione. Le epidemie reali necessitano di struttura per età, reti di contatto, geografia, ritardi di notifica, cambiamenti comportamentali, varianti, immunità calante e dati calibrati.',
47
- },
48
- {
49
- question: 'Qual e la differenza tra tasso di attacco e picco di infetti?',
50
- answer: 'Il tasso di attacco misura la proporzione totale della popolazione mai infettata entro la fine dell\'epidemia. Il picco di infetti misura il numero massimo di persone contemporaneamente infette in un dato momento. Un picco basso non garantisce un tasso di attacco basso e viceversa.',
51
- },
52
- {
53
- question: 'Cosa significa visivamente Re inferiore a 1?',
54
- answer: 'Quando Re scende sotto 1, ogni persona infetta genera in media meno di una nuova infezione. Nel grafico, la curva degli infetti non sale mai bruscamente e può declinare immediatamente dal seme iniziale, il che significa che l\'epidemia non può sostenersi.',
55
- },
56
- {
57
- question: 'Come influisce il periodo infettivo sull\'epidemia?',
58
- answer: 'Un periodo infettivo più lungo prolunga il tempo durante il quale ogni persona infetta può trasmettere l\'agente patogeno. Questo allunga la timeline dell\'epidemia, ritarda il picco e, a parità di R0, può produrre una curva più ampia con un picco più basso.',
59
- },
60
- {
61
- question: 'Perche la letalità non modifica la curva degli infetti?',
62
- answer: 'In questo modello SIR, la letalità influisce solo sul conteggio dei decessi che si dirama dal gruppo dei recuperati. Non retroagisce sulla trasmissione perché sia i decessi che le guarigioni rimuovono persone dal pool infettivo alla stessa velocità.',
63
- },
64
- {
65
- question: 'Cos\'e la soglia di immunità di gregge?',
66
- answer: 'La soglia di immunità di gregge e la frazione della popolazione che deve essere immune affinché Re scenda sotto 1. Si approssima come 1 - 1/R0. Per il morbillo con R0 intorno a 12, la soglia supera il 91%. Per l\'influenza stagionale con R0 intorno a 1,3, la soglia e vicina al 23%.',
67
- },
68
- ];
69
-
70
- export const content: ToolLocaleContent = {
71
- slug,
72
- title,
73
- description,
74
- ui: {
75
- liveScenario: 'Scenario epidemico in tempo reale',
76
- curveChart: 'Curve di trasmissione SIR',
77
- inspectDay: 'Ispeziona il giorno della simulazione',
78
- legend: 'Legenda delle curve',
79
- susceptible: 'Suscettibili',
80
- infected: 'Infetti',
81
- recovered: 'Recuperati o immuni',
82
- deaths: 'Decessi',
83
- controls: 'Controlli epidemici',
84
- modelName: 'Modello a compartimenti',
85
- peakInfected: 'Picco infetti',
86
- peakDay: 'Giorno del picco',
87
- attackRate: 'Tasso di attacco',
88
- estimatedDeaths: 'Decessi stimati',
89
- r0: 'Numero di riproduzione di base R0',
90
- lethality: 'Letalità',
91
- vaccination: 'Copertura vaccinale',
92
- vaccineEffectiveness: 'Efficacia del vaccino',
93
- infectiousDays: 'Periodo infettivo',
94
- initialInfected: 'Infetti iniziali',
95
- dayLabel: 'Giorno',
96
- daysUnit: 'giorni',
97
- infectiousLabel: 'infetti',
98
- reLabel: 'Re',
99
- },
100
- seo: [
101
- {
102
- type: 'title',
103
- text: 'Simulatore SIR di epidemie per R0, vaccinazione, letalità e curve di trasmissione',
104
- level: 2,
105
- },
106
- {
107
- type: 'paragraph',
108
- html: 'Questo simulatore SIR di epidemie ti permette di esplorare come un agente patogeno si propaga in una popolazione quando le persone suscettibili si infettano e poi lasciano il gruppo infettivo attraverso la guarigione o il decesso. E progettato per studenti, comunicatori scientifici, studenti di salute pubblica e chiunque voglia una spiegazione visiva rapida del perché piccoli cambiamenti nella trasmissione o nell\'immunità possono rimodellare un\'epidemia.',
109
- },
110
- {
111
- type: 'paragraph',
112
- html: 'I controlli interattivi si concentrano sulle variabili che le persone più spesso vogliono testare: <strong>R0</strong>, letalità, copertura vaccinale, efficacia del vaccino, durata infettiva e quota iniziale di infetti. Il grafico si aggiorna immediatamente in modo che le curve di suscettibili, infetti, recuperati, immuni e decessi possano essere confrontate come un unico sistema epidemico connesso.',
113
- },
114
- {
115
- type: 'title',
116
- text: 'Come funziona il modello SIR',
117
- level: 3,
118
- },
119
- {
120
- type: 'paragraph',
121
- html: 'Un modello SIR di base divide la popolazione in tre compartimenti principali. <strong>S</strong> sono le persone suscettibili che possono ancora essere infettate. <strong>I</strong> sono le persone attualmente infette che possono trasmettere l\'agente patogeno. <strong>R</strong> sono le persone che non sono più infettive perché guarite, immuni o comunque uscite dalla catena di trasmissione. Questo simulatore traccia anche i decessi stimati come un ramo di esito grave dal gruppo che esce dall\'infezione.',
122
- },
123
- {
124
- type: 'paragraph',
125
- html: 'Il tasso di trasmissione e legato a R0 e al periodo infettivo. Se R0 e alto o le persone rimangono infettive più a lungo, vengono generate più nuove infezioni prima che il gruppo infettivo si riduca. Se la vaccinazione rimuove abbastanza persone dal pool dei suscettibili, il numero di riproduzione effettivo diminuisce e il picco epidemico può diventare molto più piccolo.',
126
- },
127
- {
128
- type: 'table',
129
- headers: ['Controllo', 'Cosa modifica', 'Effetto tipico sulla curva'],
130
- rows: [
131
- ['R0', 'Potenziale di trasmissione prima di considerare l\'immunità', 'R0 più alto fa salire più velocemente la curva degli infetti e raggiungere un picco più alto.'],
132
- ['Copertura vaccinale', 'Quota di persone rimosse dal pool dei suscettibili quando protette', 'Una copertura più alta riduce Re e può appiattire l\'epidemia.'],
133
- ['Efficacia del vaccino', 'Quanto la vaccinazione previene l\'infezione in questo modello semplificato', 'Un\'efficacia più alta rende la stessa copertura più protettiva.'],
134
- ['Periodo infettivo', 'Tempo medio in cui le persone rimangono infettive', 'Un periodo infettivo più lungo modifica la tempistica e può prolungare l\'epidemia.'],
135
- ['Letalità', 'Quota di persone che escono dall\'infezione conteggiate come decessi', 'Una letalità più alta alza la curva dei decessi senza aumentare direttamente la trasmissione.'],
136
- ],
137
- },
138
- {
139
- type: 'title',
140
- text: 'Intuizione su R0, Re e immunità di gregge',
141
- level: 3,
142
- },
143
- {
144
- type: 'paragraph',
145
- html: 'R0 e il numero medio di casi secondari causati da una persona infetta in una popolazione completamente suscettibile. Re, il numero di riproduzione effettivo, e più basso quando alcune persone sono già immuni, vaccinate, isolate o comunque non disponibili per l\'infezione. In questo simulatore, la vaccinazione efficace riduce direttamente la suscettibilità, quindi il Re visualizzato diminuisce all\'aumentare della copertura protetta.',
146
- },
147
- {
148
- type: 'paragraph',
149
- html: 'Un\'approssimazione comune dell\'immunità di gregge e <strong>1 - 1 / R0</strong>. Per un R0 di 3, la soglia e circa il 66,7% di immunità efficace. Il simulatore aiuta a rendere tangibile questa soglia: quando la vaccinazione efficace e al di sotto della soglia, le epidemie possono ancora crescere; quando e al di sopra, la trasmissione fa fatica a mantenersi.',
150
- },
151
- {
152
- type: 'title',
153
- text: 'Cosa significa il numero di picco di infetti',
154
- level: 3,
155
- },
156
- {
157
- type: 'paragraph',
158
- html: 'Il picco di infetti e il numero massimo di persone contemporaneamente infette nella popolazione simulata. E spesso operativamente più importante del totale delle infezioni perché ospedali, laboratori, programmi di isolamento e squadre di contact tracing subiscono la pressione dei casi attivi simultanei. Abbassare il picco può essere importante anche quando il tasso di attacco finale non e ridotto a zero.',
159
- },
160
- {
161
- type: 'paragraph',
162
- html: 'Il tasso di attacco stima la quota dell\'intera popolazione infettata entro la fine della simulazione. Un tasso di attacco alto significa che l\'agente patogeno ha raggiunto molte persone prima che la suscettibilità si esaurisse o fosse controllata. Un tasso basso significa che immunità, vaccinazione o una trasmissione debole hanno impedito una diffusione estesa.',
163
- },
164
- {
165
- type: 'title',
166
- text: 'Valori reali di R0 e cosa implicano per l\'immunità di gregge',
167
- level: 3,
168
- },
169
- {
170
- type: 'paragraph',
171
- html: 'Il numero di riproduzione di base R0 non e una costante biologica fissa per un agente patogeno. Dipende da modelli di contatto, densità di popolazione, abitudini culturali e fattori ambientali. Lo stesso virus può avere valori di R0 diversi in una città densa rispetto a un\'area rurale, o in una stagione con maggior affollamento al chiuso. I valori seguenti sono intervalli di riferimento indicativi tratti da studi pubblicati.',
172
- },
173
- {
174
- type: 'table',
175
- headers: ['Agente patogeno', 'Intervallo R0 tipico', 'Soglia immunità di gregge (1 - 1/R0)', 'Caratteristica principale di trasmissione'],
176
- rows: [
177
- ['Influenza stagionale', '1,2 - 1,4', '17% - 29%', 'Breve periodo infettivo, variazione stagionale'],
178
- ['SARS-CoV-2 (originale)', '2,0 - 3,0', '50% - 67%', 'Trasmissione presintomatica, vie aeree'],
179
- ['SARS-CoV-2 (Delta)', '5,0 - 8,0', '80% - 87%', 'Carica virale aumentata, diffusione più rapida'],
180
- ['SARS-CoV-2 (Omicron)', '8,0 - 12,0', '87% - 92%', 'Immunoevasione, tropismo vie respiratorie superiori'],
181
- ['Polio', '5,0 - 7,0', '80% - 86%', 'Via fecale-orale, lungo shedding asintomatico'],
182
- ['Vaiolo', '5,0 - 7,0', '80% - 86%', 'Eradicato tramite campagna vaccinale globale'],
183
- ['Morbillo', '12,0 - 18,0', '92% - 94%', 'Estremamente contagioso, airborne, lungo periodo infettivo'],
184
- ['Pertosse', '12,0 - 17,0', '92% - 94%', 'Immunita calante permette infezioni ricorrenti'],
185
- ],
186
- },
187
- {
188
- type: 'paragraph',
189
- html: 'Una soglia di immunità di gregge alta non significa automaticamente che la vaccinazione sia inutile quando la copertura e al di sotto della soglia. Anche un\'immunità parziale rallenta la trasmissione, abbassa il picco, riduce gli esiti gravi e fa guadagnare tempo ai sistemi sanitari. Il simulatore dimostra questo effetto quando sposti il cursore della vaccinazione attraverso valori intermedi.',
190
- },
191
- {
192
- type: 'title',
193
- text: 'Come cambia il numero di riproduzione effettivo Re durante un\'epidemia',
194
- level: 3,
195
- },
196
- {
197
- type: 'paragraph',
198
- html: 'Re e il numero di riproduzione effettivo in un dato punto dell\'epidemia. A differenza di R0, che assume una popolazione completamente suscettibile, Re tiene conto di immunità, vaccinazione e qualsiasi altro fattore che riduce la suscettibilità. In questo simulatore, Re viene calcolato come <strong>R0 x (1 - frazione protetta)</strong>, dove la frazione protetta e la quota della popolazione effettivamente immune attraverso la vaccinazione.',
199
- },
200
- {
201
- type: 'paragraph',
202
- html: 'Il valore di Re visualizzato nell\'intestazione del simulatore si aggiorna mentre muovi i controlli. Quando Re rimane sopra 1, l\'epidemia cresce. Quando scende sotto 1, ogni persona infetta genera in media meno di una nuova infezione e l\'epidemia non può sostenersi. Questa e l\'intuizione centrale del controllo epidemico: portare e mantenere Re sotto 1 attraverso immunità, comportamento o interventi.',
203
- },
204
- {
205
- type: 'title',
206
- text: 'Tasso di attacco, carico di picco e cosa rivelano sulla gravità dell\'epidemia',
207
- level: 3,
208
- },
209
- {
210
- type: 'paragraph',
211
- html: 'Il tasso di attacco e la frazione della popolazione totale infettata durante l\'intera epidemia simulata. E la metrica riassuntiva più citata dopo un\'ondata epidemica. Un tasso di attacco alto significa che l\'agente patogeno ha infettato la maggior parte dei suscettibili prima che l\'esaurimento o il controllo fermassero la trasmissione. Un tasso basso significa che immunità, vaccinazione o una trasmissione intrinsecamente debole hanno impedito un\'infezione diffusa.',
212
- },
213
- {
214
- type: 'paragraph',
215
- html: 'Il picco di infetti - il numero massimo di persone contemporaneamente infette - e più rilevante per la pressione sanitaria a breve termine. Un\'ondata con un tasso di attacco moderato ma un picco molto alto e acuto può sopraffare gli ospedali anche se i casi totali non sono estremi. Al contrario, una curva lenta e appiattita può avere un tasso di attacco simile distribuito su molte settimane, dando al sistema sanitario il tempo di gestire i casi. Ecco perché i funzionari della salute pubblica sottolineano l\'importanza di <strong>appiattire la curva</strong> come obiettivo operativo distinto dal prevenire tutte le infezioni.',
216
- },
217
- {
218
- type: 'title',
219
- text: 'Appiattire la curva e la capacità sanitaria nel modello SIR',
220
- level: 3,
221
- },
222
- {
223
- type: 'paragraph',
224
- html: 'La curva degli infetti in un modello SIR può essere interpretata come il numero di persone che necessitano di cure simultaneamente. In un\'epidemia reale, ogni persona che ha bisogno di un letto d\'ospedale, supporto di ossigeno o terapia intensiva attinge a un pool finito di risorse. Quando la curva degli infetti supera la capacità disponibile, la mortalita per tutte le cause aumenta perché il sistema non può fornire cure adeguate.',
225
- },
226
- {
227
- type: 'paragraph',
228
- html: 'La vaccinazione, in questo modello, appiattisce la curva rimuovendo le persone dal pool dei suscettibili prima che possano infettarsi. Ridurre R0 attraverso altre misure - mascherine, ventilazione, distanziamento, test, isolamento - abbasserebbe anche il picco in un modello più completo. La simulazione rende visibile il meccanismo: all\'aumentare della copertura vaccinale efficace, il picco si riduce, si sposta più avanti o scompare del tutto.',
229
- },
230
- {
231
- type: 'title',
232
- text: 'La matematica alla base del modello SIR visualizzata',
233
- level: 3,
234
- },
235
- {
236
- type: 'paragraph',
237
- html: 'Nel modello SIR, il tasso di nuove infezioni per passo temporale dipende da tre quantità: il tasso di trasmissione <strong>beta</strong>, il numero corrente di persone infette <strong>I</strong> e la frazione della popolazione effettiva che e ancora suscettibile <strong>S / N</strong>. Il prodotto <strong>beta x I x S / N</strong> e chiamato forza dell\'infezione. Ogni giorno, questa forza determina quante persone suscettibili entrano nel compartimento degli infetti.',
238
- },
239
- {
240
- type: 'paragraph',
241
- html: 'Le persone lasciano il compartimento infetto al tasso di recupero <strong>gamma = 1 / periodo infettivo</strong>. Il bilancio tra la forza dell\'infezione e il tasso di recupero determina se l\'epidemia cresce o si riduce. Quando beta x S / N supera gamma, le nuove infezioni superano i recuperi e l\'epidemia si espande. Quando la frazione suscettibile S / N e sufficientemente diminuita, gamma domina e l\'epidemia si contrae.',
242
- },
243
- {
244
- type: 'paragraph',
245
- html: 'Il parametro <strong>beta</strong> non e direttamente visibile nell\'interfaccia. Viene invece derivato da R0 e dal periodo infettivo attraverso la relazione <strong>beta = R0 x gamma</strong>. Questo e il motivo per cui modificare R0 o il periodo infettivo produce forme di curva simili ma non identiche. Entrambi i parametri influenzano la forza dell\'infezione, ma il periodo infettivo allunga anche l\'asse temporale dell\'epidemia.',
246
- },
247
- {
248
- type: 'title',
249
- text: 'Come usare questo simulatore per apprendere e insegnare',
250
- level: 3,
251
- },
252
- {
253
- type: 'list',
254
- items: [
255
- '<strong>Confronta scenari con R0 alto e basso:</strong> imposta R0 a 1,5 (intervallo dell\'influenza stagionale) e poi a 6,0 (intervallo pre-vaccinazione della polio). Nota come cambiano l\'altezza del picco, la tempistica del picco e il tasso di attacco anche quando tutti gli altri controlli sono identici.',
256
- '<strong>Esplora la soglia di immunità di gregge:</strong> inizia con R0 a 3,0 e nessuna vaccinazione. Osserva il tasso di attacco. Poi aggiungi copertura vaccinale finche Re non scende sotto 1. Confronta il picco e il tasso di attacco con copertura appena sotto e appena sopra la soglia.',
257
- '<strong>Testa l\'effetto di una risposta lenta vs. rapida:</strong> imposta la copertura vaccinale a diversi livelli e osserva quando si verifica il picco. Una copertura più alta non solo riduce l\'altezza del picco ma di solito lo ritarda, facendo guadagnare tempo per la preparazione sanitaria.',
258
- '<strong>Separa letalità e trasmissione:</strong> imposta la letalità allo 0% e osserva la curva degli infetti. Poi imposta la letalità al 10% senza cambiare le altre impostazioni. La curva degli infetti non cambia, ma il numero di decessi aumenta. Questo dimostra perché il tasso di letalità e la velocità di trasmissione sono dimensioni epidemiologiche distinte.',
259
- '<strong>Esamina l\'effetto del periodo infettivo:</strong> confronta un periodo infettivo di 4 giorni con uno di 18 giorni a parità di R0. Il periodo più lungo allunga la curva, ritarda il picco e produce un\'ondata più lunga ma più bassa.',
260
- '<strong>Esercizio in classe - trova la soglia:</strong> chiedi agli studenti di trovare la copertura vaccinale minima che porta Re sotto 1 per un dato R0, poi confronta il risultato con la formula 1 - 1/R0.',
261
- ],
262
- },
263
- {
264
- type: 'title',
265
- text: 'Quando e perché usare questo simulatore',
266
- level: 3,
267
- },
268
- {
269
- type: 'list',
270
- items: [
271
- '<strong>Studenti di epidemiologia:</strong> connetti il framework matematico SIR a forme di curva interattive prima di lavorare con equazioni differenziali o programmare i propri modelli.',
272
- '<strong>Comunicatori scientifici e giornalisti:</strong> genera grafici, screenshot o spiegazioni dal vivo che mostrano perché R0, vaccinazione e periodo infettivo sono importanti per le traiettorie epidemiche.',
273
- '<strong>Studenti di salute pubblica:</strong> testa come diverse combinazioni di interventi spostano il picco epidemico e il tasso di attacco per sviluppare intuizione sui compromessi nella risposta alle epidemie.',
274
- '<strong>Chiunque sia curioso sulla matematica delle epidemie:</strong> esplora il modello SIR senza bisogno di scrivere codice o installare software. Ogni controllo aggiorna il grafico in tempo reale.',
275
- ],
276
- },
277
- {
278
- type: 'title',
279
- text: 'Estensioni del modello: SEIR, SIRS e oltre',
280
- level: 3,
281
- },
282
- {
283
- type: 'paragraph',
284
- html: 'Questo simulatore usa una struttura SIR di base. Diverse estensioni comuni aggiungono realismo. Un modello <strong>SEIR</strong> aggiunge un compartimento esposto (E) per le persone che sono infette ma non ancora infettive, rappresentando il periodo di incubazione. Il gruppo esposto sposta il picco epidemico più avanti rispetto al modello SIR perché le infezioni passano del tempo nella fase latente prima di contribuire alla trasmissione.',
285
- },
286
- {
287
- type: 'paragraph',
288
- html: 'Un modello <strong>SIRS</strong> permette agli individui recuperati di perdere l\'immunità nel tempo e rientrare nel compartimento suscettibile. Questo modella agenti patogeni come la pertosse o SARS-CoV-2 con immunità calante e produce ondate epidemiche sostenute o ricorrenti. Un <strong>modello strutturato per età</strong> suddivide la popolazione in gruppi di età con diverse matrici di contatto e profili di gravità, essenziale per malattie dove bambini e anziani hanno esiti molto diversi.',
289
- },
290
- {
291
- type: 'paragraph',
292
- html: 'Altre estensioni aggiungono diffusione geografica (modelli metapopolazionali), cambiamenti comportamentali (tassi di contatto adattivi), rumore stocastico (per popolazioni piccole dove l\'estinzione casuale e importante) e tempistica degli interventi (chiusure scolastiche, lockdown, restrizioni di viaggio che si attivano e disattivano). Ogni estensione aggiunge complessità essenziale per le previsioni ma può oscurare le dinamiche di trasmissione fondamentali che il modello SIR di base illustra in modo chiaro.',
293
- },
294
- {
295
- type: 'title',
296
- text: 'Limitazioni di questo simulatore epidemico',
297
- level: 3,
298
- },
299
- {
300
- type: 'paragraph',
301
- html: 'Questo e un modello SIR deterministico compatto. Non include gruppi di età, struttura familiare, scuole, viaggi, superdiffusione, periodi di incubazione, trasmissione asintomatica, stagionalità, varianti, immunità calante, cambiamenti comportamentali, ritardi di test o interventi di salute pubblica che si attivano e disattivano nel tempo. Questi dettagli sono essenziali per le previsioni reali.',
302
- },
303
- {
304
- type: 'paragraph',
305
- html: 'Il modello assume una popolazione ben mescolata dove ogni persona suscettibile ha la stessa probabilità di contatto con ogni persona infetta. Le popolazioni reali hanno reti di contatto con forte clustering, assortativita per età, struttura geografica e variazione individuale nell\'infettività. Queste caratteristiche possono creare crescita iniziale più lenta, eventi di superdiffusione e modelli epidemici eterogenei che un modello omogeneo non cattura.',
306
- },
307
- {
308
- type: 'paragraph',
309
- html: 'Usa il simulatore per comprendere i meccanismi e confrontare scenari, non per prendere decisioni mediche, politiche o di emergenza. La valutazione epidemica nel mondo reale richiede dati di sorveglianza, contesto locale, analisi dell\'incertezza e modellistica epidemiologica specializzata.',
310
- },
311
- ],
312
- faq,
313
- bibliography,
314
- howTo,
315
- schemas: [
316
- {
317
- '@context': 'https://schema.org',
318
- '@type': 'SoftwareApplication',
319
- name: title,
320
- description,
321
- applicationCategory: 'ScientificApplication',
322
- operatingSystem: 'Any',
323
- },
324
- {
325
- '@context': 'https://schema.org',
326
- '@type': 'FAQPage',
327
- mainEntity: faq.map((item) => ({
328
- '@type': 'Question',
329
- name: item.question,
330
- acceptedAnswer: {
331
- '@type': 'Answer',
332
- text: item.answer,
333
- },
334
- })),
335
- },
336
- {
337
- '@context': 'https://schema.org',
338
- '@type': 'HowTo',
339
- name: title,
340
- step: howTo.map((step) => ({
341
- '@type': 'HowToStep',
342
- name: step.name,
343
- text: step.text,
344
- })),
345
- },
346
- ],
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'simulatore-sir-epidemia';
5
+ const title = 'Simulatore SIR di epidemie';
6
+ const description = 'Esplora la propagazione di agenti patogeni con un modello SIR interattivo che regola R0, letalità, vaccinazione, periodo infettivo, carico di picco e curve di trasmissione in tempo reale.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Imposta il numero di riproduzione di base',
11
+ text: 'Sposta il cursore di R0 per rappresentare quante infezioni secondarie causerebbe una persona infetta in una popolazione completamente suscettibile.',
12
+ },
13
+ {
14
+ name: 'Aggiungi vaccinazione ed efficacia vaccinale',
15
+ text: 'Aumenta la copertura vaccinale o l\'efficacia per rimuovere le persone protette dal pool dei suscettibili e abbassare il numero di riproduzione effettivo.',
16
+ },
17
+ {
18
+ name: 'Regola letalità e durata infettiva',
19
+ text: 'Modifica la percentuale di letalità e il numero di giorni infettivi per osservare come rispondono gli esiti gravi e la tempistica delle curve.',
20
+ },
21
+ {
22
+ name: 'Leggi le curve SIR',
23
+ text: 'Usa il grafico e l\'ispezione giornaliera per confrontare le curve di suscettibili, infetti, recuperati e decessi stimati durante l\'epidemia simulata.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ question: 'Cosa mostra un modello SIR?',
30
+ answer: 'Un modello SIR divide una popolazione in gruppi di suscettibili, infetti e recuperati. Stima come le persone si spostano tra questi gruppi nel tempo man mano che avvengono trasmissione e guarigione.',
31
+ },
32
+ {
33
+ question: 'Come cambia la curva la vaccinazione?',
34
+ answer: 'La vaccinazione riduce la popolazione suscettibile quando previene l\'infezione. In questo simulatore, una vaccinazione efficace abbassa il numero di riproduzione effettivo e può ridurre o ritardare il picco di infezione.',
35
+ },
36
+ {
37
+ question: 'R0 e Re sono la stessa cosa?',
38
+ answer: 'No. R0 descrive la propagazione in una popolazione completamente suscettibile. Re e il numero di riproduzione effettivo dopo che immunità, vaccinazione o cambiamenti comportamentali hanno ridotto il numero di persone che possono essere infettate.',
39
+ },
40
+ {
41
+ question: 'Perche la curva degli infetti raggiunge un picco e poi scende?',
42
+ answer: 'La curva degli infetti scende quando ogni persona infetta genera meno nuovi infetti rispetto al numero di persone che escono dal gruppo degli infetti per guarigione o decesso. L\'esaurimento dei suscettibili e il motore principale in un modello SIR di base.',
43
+ },
44
+ {
45
+ question: 'Puo questo strumento prevedere un\'epidemia reale?',
46
+ answer: 'E uno strumento didattico e di scenario, non una previsione. Le epidemie reali necessitano di struttura per età, reti di contatto, geografia, ritardi di notifica, cambiamenti comportamentali, varianti, immunità calante e dati calibrati.',
47
+ },
48
+ {
49
+ question: 'Qual e la differenza tra tasso di attacco e picco di infetti?',
50
+ answer: 'Il tasso di attacco misura la proporzione totale della popolazione mai infettata entro la fine dell\'epidemia. Il picco di infetti misura il numero massimo di persone contemporaneamente infette in un dato momento. Un picco basso non garantisce un tasso di attacco basso e viceversa.',
51
+ },
52
+ {
53
+ question: 'Cosa significa visivamente Re inferiore a 1?',
54
+ answer: 'Quando Re scende sotto 1, ogni persona infetta genera in media meno di una nuova infezione. Nel grafico, la curva degli infetti non sale mai bruscamente e può declinare immediatamente dal seme iniziale, il che significa che l\'epidemia non può sostenersi.',
55
+ },
56
+ {
57
+ question: 'Come influisce il periodo infettivo sull\'epidemia?',
58
+ answer: 'Un periodo infettivo più lungo prolunga il tempo durante il quale ogni persona infetta può trasmettere l\'agente patogeno. Questo allunga la timeline dell\'epidemia, ritarda il picco e, a parità di R0, può produrre una curva più ampia con un picco più basso.',
59
+ },
60
+ {
61
+ question: 'Perche la letalità non modifica la curva degli infetti?',
62
+ answer: 'In questo modello SIR, la letalità influisce solo sul conteggio dei decessi che si dirama dal gruppo dei recuperati. Non retroagisce sulla trasmissione perché sia i decessi che le guarigioni rimuovono persone dal pool infettivo alla stessa velocità.',
63
+ },
64
+ {
65
+ question: 'Cos\'e la soglia di immunità di gregge?',
66
+ answer: 'La soglia di immunità di gregge e la frazione della popolazione che deve essere immune affinché Re scenda sotto 1. Si approssima come 1 - 1/R0. Per il morbillo con R0 intorno a 12, la soglia supera il 91%. Per l\'influenza stagionale con R0 intorno a 1,3, la soglia e vicina al 23%.',
67
+ },
68
+ ];
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug,
72
+ title,
73
+ description,
74
+ ui: {
75
+ liveScenario: 'Scenario epidemico in tempo reale',
76
+ curveChart: 'Curve di trasmissione SIR',
77
+ inspectDay: 'Ispeziona il giorno della simulazione',
78
+ legend: 'Legenda delle curve',
79
+ susceptible: 'Suscettibili',
80
+ infected: 'Infetti',
81
+ recovered: 'Recuperati o immuni',
82
+ deaths: 'Decessi',
83
+ controls: 'Controlli epidemici',
84
+ modelName: 'Modello a compartimenti',
85
+ peakInfected: 'Picco infetti',
86
+ peakDay: 'Giorno del picco',
87
+ attackRate: 'Tasso di attacco',
88
+ estimatedDeaths: 'Decessi stimati',
89
+ r0: 'Numero di riproduzione di base R0',
90
+ lethality: 'Letalità',
91
+ vaccination: 'Copertura vaccinale',
92
+ vaccineEffectiveness: 'Efficacia del vaccino',
93
+ infectiousDays: 'Periodo infettivo',
94
+ initialInfected: 'Infetti iniziali',
95
+ dayLabel: 'Giorno',
96
+ daysUnit: 'giorni',
97
+ infectiousLabel: 'infetti',
98
+ reLabel: 'Re',
99
+ },
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Simulatore SIR di epidemie per R0, vaccinazione, letalità e curve di trasmissione',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Questo simulatore SIR di epidemie ti permette di esplorare come un agente patogeno si propaga in una popolazione quando le persone suscettibili si infettano e poi lasciano il gruppo infettivo attraverso la guarigione o il decesso. E progettato per studenti, comunicatori scientifici, studenti di salute pubblica e chiunque voglia una spiegazione visiva rapida del perché piccoli cambiamenti nella trasmissione o nell\'immunità possono rimodellare un\'epidemia.',
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'I controlli interattivi si concentrano sulle variabili che le persone più spesso vogliono testare: <strong>R0</strong>, letalità, copertura vaccinale, efficacia del vaccino, durata infettiva e quota iniziale di infetti. Il grafico si aggiorna immediatamente in modo che le curve di suscettibili, infetti, recuperati, immuni e decessi possano essere confrontate come un unico sistema epidemico connesso.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Come funziona il modello SIR',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'Un modello SIR di base divide la popolazione in tre compartimenti principali. <strong>S</strong> sono le persone suscettibili che possono ancora essere infettate. <strong>I</strong> sono le persone attualmente infette che possono trasmettere l\'agente patogeno. <strong>R</strong> sono le persone che non sono più infettive perché guarite, immuni o comunque uscite dalla catena di trasmissione. Questo simulatore traccia anche i decessi stimati come un ramo di esito grave dal gruppo che esce dall\'infezione.',
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'Il tasso di trasmissione e legato a R0 e al periodo infettivo. Se R0 e alto o le persone rimangono infettive più a lungo, vengono generate più nuove infezioni prima che il gruppo infettivo si riduca. Se la vaccinazione rimuove abbastanza persone dal pool dei suscettibili, il numero di riproduzione effettivo diminuisce e il picco epidemico può diventare molto più piccolo.',
126
+ },
127
+ {
128
+ type: 'table',
129
+ headers: ['Controllo', 'Cosa modifica', 'Effetto tipico sulla curva'],
130
+ rows: [
131
+ ['R0', 'Potenziale di trasmissione prima di considerare l\'immunità', 'R0 più alto fa salire più velocemente la curva degli infetti e raggiungere un picco più alto.'],
132
+ ['Copertura vaccinale', 'Quota di persone rimosse dal pool dei suscettibili quando protette', 'Una copertura più alta riduce Re e può appiattire l\'epidemia.'],
133
+ ['Efficacia del vaccino', 'Quanto la vaccinazione previene l\'infezione in questo modello semplificato', 'Un\'efficacia più alta rende la stessa copertura più protettiva.'],
134
+ ['Periodo infettivo', 'Tempo medio in cui le persone rimangono infettive', 'Un periodo infettivo più lungo modifica la tempistica e può prolungare l\'epidemia.'],
135
+ ['Letalità', 'Quota di persone che escono dall\'infezione conteggiate come decessi', 'Una letalità più alta alza la curva dei decessi senza aumentare direttamente la trasmissione.'],
136
+ ],
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Intuizione su R0, Re e immunità di gregge',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'R0 e il numero medio di casi secondari causati da una persona infetta in una popolazione completamente suscettibile. Re, il numero di riproduzione effettivo, e più basso quando alcune persone sono già immuni, vaccinate, isolate o comunque non disponibili per l\'infezione. In questo simulatore, la vaccinazione efficace riduce direttamente la suscettibilità, quindi il Re visualizzato diminuisce all\'aumentare della copertura protetta.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Un\'approssimazione comune dell\'immunità di gregge e <strong>1 - 1 / R0</strong>. Per un R0 di 3, la soglia e circa il 66,7% di immunità efficace. Il simulatore aiuta a rendere tangibile questa soglia: quando la vaccinazione efficace e al di sotto della soglia, le epidemie possono ancora crescere; quando e al di sopra, la trasmissione fa fatica a mantenersi.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Cosa significa il numero di picco di infetti',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'Il picco di infetti e il numero massimo di persone contemporaneamente infette nella popolazione simulata. E spesso operativamente più importante del totale delle infezioni perché ospedali, laboratori, programmi di isolamento e squadre di contact tracing subiscono la pressione dei casi attivi simultanei. Abbassare il picco può essere importante anche quando il tasso di attacco finale non e ridotto a zero.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Il tasso di attacco stima la quota dell\'intera popolazione infettata entro la fine della simulazione. Un tasso di attacco alto significa che l\'agente patogeno ha raggiunto molte persone prima che la suscettibilità si esaurisse o fosse controllata. Un tasso basso significa che immunità, vaccinazione o una trasmissione debole hanno impedito una diffusione estesa.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Valori reali di R0 e cosa implicano per l\'immunità di gregge',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Il numero di riproduzione di base R0 non e una costante biologica fissa per un agente patogeno. Dipende da modelli di contatto, densità di popolazione, abitudini culturali e fattori ambientali. Lo stesso virus può avere valori di R0 diversi in una città densa rispetto a un\'area rurale, o in una stagione con maggior affollamento al chiuso. I valori seguenti sono intervalli di riferimento indicativi tratti da studi pubblicati.',
172
+ },
173
+ {
174
+ type: 'table',
175
+ headers: ['Agente patogeno', 'Intervallo R0 tipico', 'Soglia immunità di gregge (1 - 1/R0)', 'Caratteristica principale di trasmissione'],
176
+ rows: [
177
+ ['Influenza stagionale', '1,2 - 1,4', '17% - 29%', 'Breve periodo infettivo, variazione stagionale'],
178
+ ['SARS-CoV-2 (originale)', '2,0 - 3,0', '50% - 67%', 'Trasmissione presintomatica, vie aeree'],
179
+ ['SARS-CoV-2 (Delta)', '5,0 - 8,0', '80% - 87%', 'Carica virale aumentata, diffusione più rapida'],
180
+ ['SARS-CoV-2 (Omicron)', '8,0 - 12,0', '87% - 92%', 'Immunoevasione, tropismo vie respiratorie superiori'],
181
+ ['Polio', '5,0 - 7,0', '80% - 86%', 'Via fecale-orale, lungo shedding asintomatico'],
182
+ ['Vaiolo', '5,0 - 7,0', '80% - 86%', 'Eradicato tramite campagna vaccinale globale'],
183
+ ['Morbillo', '12,0 - 18,0', '92% - 94%', 'Estremamente contagioso, airborne, lungo periodo infettivo'],
184
+ ['Pertosse', '12,0 - 17,0', '92% - 94%', 'Immunita calante permette infezioni ricorrenti'],
185
+ ],
186
+ },
187
+ {
188
+ type: 'paragraph',
189
+ html: 'Una soglia di immunità di gregge alta non significa automaticamente che la vaccinazione sia inutile quando la copertura e al di sotto della soglia. Anche un\'immunità parziale rallenta la trasmissione, abbassa il picco, riduce gli esiti gravi e fa guadagnare tempo ai sistemi sanitari. Il simulatore dimostra questo effetto quando sposti il cursore della vaccinazione attraverso valori intermedi.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Come cambia il numero di riproduzione effettivo Re durante un\'epidemia',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Re e il numero di riproduzione effettivo in un dato punto dell\'epidemia. A differenza di R0, che assume una popolazione completamente suscettibile, Re tiene conto di immunità, vaccinazione e qualsiasi altro fattore che riduce la suscettibilità. In questo simulatore, Re viene calcolato come <strong>R0 x (1 - frazione protetta)</strong>, dove la frazione protetta e la quota della popolazione effettivamente immune attraverso la vaccinazione.',
199
+ },
200
+ {
201
+ type: 'paragraph',
202
+ html: 'Il valore di Re visualizzato nell\'intestazione del simulatore si aggiorna mentre muovi i controlli. Quando Re rimane sopra 1, l\'epidemia cresce. Quando scende sotto 1, ogni persona infetta genera in media meno di una nuova infezione e l\'epidemia non può sostenersi. Questa e l\'intuizione centrale del controllo epidemico: portare e mantenere Re sotto 1 attraverso immunità, comportamento o interventi.',
203
+ },
204
+ {
205
+ type: 'title',
206
+ text: 'Tasso di attacco, carico di picco e cosa rivelano sulla gravità dell\'epidemia',
207
+ level: 3,
208
+ },
209
+ {
210
+ type: 'paragraph',
211
+ html: 'Il tasso di attacco e la frazione della popolazione totale infettata durante l\'intera epidemia simulata. E la metrica riassuntiva più citata dopo un\'ondata epidemica. Un tasso di attacco alto significa che l\'agente patogeno ha infettato la maggior parte dei suscettibili prima che l\'esaurimento o il controllo fermassero la trasmissione. Un tasso basso significa che immunità, vaccinazione o una trasmissione intrinsecamente debole hanno impedito un\'infezione diffusa.',
212
+ },
213
+ {
214
+ type: 'paragraph',
215
+ html: 'Il picco di infetti - il numero massimo di persone contemporaneamente infette - e più rilevante per la pressione sanitaria a breve termine. Un\'ondata con un tasso di attacco moderato ma un picco molto alto e acuto può sopraffare gli ospedali anche se i casi totali non sono estremi. Al contrario, una curva lenta e appiattita può avere un tasso di attacco simile distribuito su molte settimane, dando al sistema sanitario il tempo di gestire i casi. Ecco perché i funzionari della salute pubblica sottolineano l\'importanza di <strong>appiattire la curva</strong> come obiettivo operativo distinto dal prevenire tutte le infezioni.',
216
+ },
217
+ {
218
+ type: 'title',
219
+ text: 'Appiattire la curva e la capacità sanitaria nel modello SIR',
220
+ level: 3,
221
+ },
222
+ {
223
+ type: 'paragraph',
224
+ html: 'La curva degli infetti in un modello SIR può essere interpretata come il numero di persone che necessitano di cure simultaneamente. In un\'epidemia reale, ogni persona che ha bisogno di un letto d\'ospedale, supporto di ossigeno o terapia intensiva attinge a un pool finito di risorse. Quando la curva degli infetti supera la capacità disponibile, la mortalita per tutte le cause aumenta perché il sistema non può fornire cure adeguate.',
225
+ },
226
+ {
227
+ type: 'paragraph',
228
+ html: 'La vaccinazione, in questo modello, appiattisce la curva rimuovendo le persone dal pool dei suscettibili prima che possano infettarsi. Ridurre R0 attraverso altre misure - mascherine, ventilazione, distanziamento, test, isolamento - abbasserebbe anche il picco in un modello più completo. La simulazione rende visibile il meccanismo: all\'aumentare della copertura vaccinale efficace, il picco si riduce, si sposta più avanti o scompare del tutto.',
229
+ },
230
+ {
231
+ type: 'title',
232
+ text: 'La matematica alla base del modello SIR visualizzata',
233
+ level: 3,
234
+ },
235
+ {
236
+ type: 'paragraph',
237
+ html: 'Nel modello SIR, il tasso di nuove infezioni per passo temporale dipende da tre quantità: il tasso di trasmissione <strong>beta</strong>, il numero corrente di persone infette <strong>I</strong> e la frazione della popolazione effettiva che e ancora suscettibile <strong>S / N</strong>. Il prodotto <strong>beta x I x S / N</strong> e chiamato forza dell\'infezione. Ogni giorno, questa forza determina quante persone suscettibili entrano nel compartimento degli infetti.',
238
+ },
239
+ {
240
+ type: 'paragraph',
241
+ html: 'Le persone lasciano il compartimento infetto al tasso di recupero <strong>gamma = 1 / periodo infettivo</strong>. Il bilancio tra la forza dell\'infezione e il tasso di recupero determina se l\'epidemia cresce o si riduce. Quando beta x S / N supera gamma, le nuove infezioni superano i recuperi e l\'epidemia si espande. Quando la frazione suscettibile S / N e sufficientemente diminuita, gamma domina e l\'epidemia si contrae.',
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Il parametro <strong>beta</strong> non e direttamente visibile nell\'interfaccia. Viene invece derivato da R0 e dal periodo infettivo attraverso la relazione <strong>beta = R0 x gamma</strong>. Questo e il motivo per cui modificare R0 o il periodo infettivo produce forme di curva simili ma non identiche. Entrambi i parametri influenzano la forza dell\'infezione, ma il periodo infettivo allunga anche l\'asse temporale dell\'epidemia.',
246
+ },
247
+ {
248
+ type: 'title',
249
+ text: 'Come usare questo simulatore per apprendere e insegnare',
250
+ level: 3,
251
+ },
252
+ {
253
+ type: 'list',
254
+ items: [
255
+ '<strong>Confronta scenari con R0 alto e basso:</strong> imposta R0 a 1,5 (intervallo dell\'influenza stagionale) e poi a 6,0 (intervallo pre-vaccinazione della polio). Nota come cambiano l\'altezza del picco, la tempistica del picco e il tasso di attacco anche quando tutti gli altri controlli sono identici.',
256
+ '<strong>Esplora la soglia di immunità di gregge:</strong> inizia con R0 a 3,0 e nessuna vaccinazione. Osserva il tasso di attacco. Poi aggiungi copertura vaccinale finche Re non scende sotto 1. Confronta il picco e il tasso di attacco con copertura appena sotto e appena sopra la soglia.',
257
+ '<strong>Testa l\'effetto di una risposta lenta vs. rapida:</strong> imposta la copertura vaccinale a diversi livelli e osserva quando si verifica il picco. Una copertura più alta non solo riduce l\'altezza del picco ma di solito lo ritarda, facendo guadagnare tempo per la preparazione sanitaria.',
258
+ '<strong>Separa letalità e trasmissione:</strong> imposta la letalità allo 0% e osserva la curva degli infetti. Poi imposta la letalità al 10% senza cambiare le altre impostazioni. La curva degli infetti non cambia, ma il numero di decessi aumenta. Questo dimostra perché il tasso di letalità e la velocità di trasmissione sono dimensioni epidemiologiche distinte.',
259
+ '<strong>Esamina l\'effetto del periodo infettivo:</strong> confronta un periodo infettivo di 4 giorni con uno di 18 giorni a parità di R0. Il periodo più lungo allunga la curva, ritarda il picco e produce un\'ondata più lunga ma più bassa.',
260
+ '<strong>Esercizio in classe - trova la soglia:</strong> chiedi agli studenti di trovare la copertura vaccinale minima che porta Re sotto 1 per un dato R0, poi confronta il risultato con la formula 1 - 1/R0.',
261
+ ],
262
+ },
263
+ {
264
+ type: 'title',
265
+ text: 'Quando e perché usare questo simulatore',
266
+ level: 3,
267
+ },
268
+ {
269
+ type: 'list',
270
+ items: [
271
+ '<strong>Studenti di epidemiologia:</strong> connetti il framework matematico SIR a forme di curva interattive prima di lavorare con equazioni differenziali o programmare i propri modelli.',
272
+ '<strong>Comunicatori scientifici e giornalisti:</strong> genera grafici, screenshot o spiegazioni dal vivo che mostrano perché R0, vaccinazione e periodo infettivo sono importanti per le traiettorie epidemiche.',
273
+ '<strong>Studenti di salute pubblica:</strong> testa come diverse combinazioni di interventi spostano il picco epidemico e il tasso di attacco per sviluppare intuizione sui compromessi nella risposta alle epidemie.',
274
+ '<strong>Chiunque sia curioso sulla matematica delle epidemie:</strong> esplora il modello SIR senza bisogno di scrivere codice o installare software. Ogni controllo aggiorna il grafico in tempo reale.',
275
+ ],
276
+ },
277
+ {
278
+ type: 'title',
279
+ text: 'Estensioni del modello: SEIR, SIRS e oltre',
280
+ level: 3,
281
+ },
282
+ {
283
+ type: 'paragraph',
284
+ html: 'Questo simulatore usa una struttura SIR di base. Diverse estensioni comuni aggiungono realismo. Un modello <strong>SEIR</strong> aggiunge un compartimento esposto (E) per le persone che sono infette ma non ancora infettive, rappresentando il periodo di incubazione. Il gruppo esposto sposta il picco epidemico più avanti rispetto al modello SIR perché le infezioni passano del tempo nella fase latente prima di contribuire alla trasmissione.',
285
+ },
286
+ {
287
+ type: 'paragraph',
288
+ html: 'Un modello <strong>SIRS</strong> permette agli individui recuperati di perdere l\'immunità nel tempo e rientrare nel compartimento suscettibile. Questo modella agenti patogeni come la pertosse o SARS-CoV-2 con immunità calante e produce ondate epidemiche sostenute o ricorrenti. Un <strong>modello strutturato per età</strong> suddivide la popolazione in gruppi di età con diverse matrici di contatto e profili di gravità, essenziale per malattie dove bambini e anziani hanno esiti molto diversi.',
289
+ },
290
+ {
291
+ type: 'paragraph',
292
+ html: 'Altre estensioni aggiungono diffusione geografica (modelli metapopolazionali), cambiamenti comportamentali (tassi di contatto adattivi), rumore stocastico (per popolazioni piccole dove l\'estinzione casuale e importante) e tempistica degli interventi (chiusure scolastiche, lockdown, restrizioni di viaggio che si attivano e disattivano). Ogni estensione aggiunge complessità essenziale per le previsioni ma può oscurare le dinamiche di trasmissione fondamentali che il modello SIR di base illustra in modo chiaro.',
293
+ },
294
+ {
295
+ type: 'title',
296
+ text: 'Limitazioni di questo simulatore epidemico',
297
+ level: 3,
298
+ },
299
+ {
300
+ type: 'paragraph',
301
+ html: 'Questo e un modello SIR deterministico compatto. Non include gruppi di età, struttura familiare, scuole, viaggi, superdiffusione, periodi di incubazione, trasmissione asintomatica, stagionalità, varianti, immunità calante, cambiamenti comportamentali, ritardi di test o interventi di salute pubblica che si attivano e disattivano nel tempo. Questi dettagli sono essenziali per le previsioni reali.',
302
+ },
303
+ {
304
+ type: 'paragraph',
305
+ html: 'Il modello assume una popolazione ben mescolata dove ogni persona suscettibile ha la stessa probabilità di contatto con ogni persona infetta. Le popolazioni reali hanno reti di contatto con forte clustering, assortativita per età, struttura geografica e variazione individuale nell\'infettività. Queste caratteristiche possono creare crescita iniziale più lenta, eventi di superdiffusione e modelli epidemici eterogenei che un modello omogeneo non cattura.',
306
+ },
307
+ {
308
+ type: 'paragraph',
309
+ html: 'Usa il simulatore per comprendere i meccanismi e confrontare scenari, non per prendere decisioni mediche, politiche o di emergenza. La valutazione epidemica nel mondo reale richiede dati di sorveglianza, contesto locale, analisi dell\'incertezza e modellistica epidemiologica specializzata.',
310
+ },
311
+ ],
312
+ faq,
313
+ bibliography,
314
+ howTo,
315
+ schemas: [
316
+ {
317
+ '@context': 'https://schema.org',
318
+ '@type': 'SoftwareApplication',
319
+ name: title,
320
+ description,
321
+ applicationCategory: 'ScientificApplication',
322
+ operatingSystem: 'Any',
323
+ },
324
+ {
325
+ '@context': 'https://schema.org',
326
+ '@type': 'FAQPage',
327
+ mainEntity: faq.map((item) => ({
328
+ '@type': 'Question',
329
+ name: item.question,
330
+ acceptedAnswer: {
331
+ '@type': 'Answer',
332
+ text: item.answer,
333
+ },
334
+ })),
335
+ },
336
+ {
337
+ '@context': 'https://schema.org',
338
+ '@type': 'HowTo',
339
+ name: title,
340
+ step: howTo.map((step) => ({
341
+ '@type': 'HowToStep',
342
+ name: step.name,
343
+ text: step.text,
344
+ })),
345
+ },
346
+ ],
347
347
  };