@jjlmoya/utils-science 1.50.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 -153
  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 = 'seuchenausbreitung-sir-simulator';
5
- const title = 'Epidemie SIR Simulator';
6
- const description = 'Erkunde die Ausbreitung von Krankheitserregern mit einem interaktiven SIR-Modell, das R0, Letalitat, Impfung, Infektionsdauer, Spitzenbelastung und Ubertragungskurven in Echtzeit anpasst.';
7
-
8
- const howTo = [
9
- {
10
- name: 'Reproduktionszahl einstellen',
11
- text: 'Bewege den R0-Regler, um einzustellen, wie viele Sekundarinfektionen eine infektiose Person in einer vollstandig empfanglichen Bevolkerung verursachen wurde.',
12
- },
13
- {
14
- name: 'Impfung und Impfstoffwirksamkeit hinzufugen',
15
- text: 'Erhohe die Impfabdeckung oder Impfstoffwirksamkeit, um geschutzte Personen aus dem empfanglichen Pool zu entfernen und die effektive Reproduktionszahl zu senken.',
16
- },
17
- {
18
- name: 'Letalitat und Infektionsdauer anpassen',
19
- text: 'Andere die Sterblichkeitsrate und die Anzahl der infektiosen Tage, um zu sehen, wie sich schwerwiegende Folgen und der Kurvenverlauf verandern.',
20
- },
21
- {
22
- name: 'SIR-Kurven ablesen',
23
- text: 'Nutze das Diagramm und den Tagesinspektor, um Kurven fur Empfangliche, Infizierte, Genesene und geschatzte Todesfalle wahrend des simulierten Ausbruchs zu vergleichen.',
24
- },
25
- ];
26
-
27
- const faq = [
28
- {
29
- question: 'Was zeigt ein SIR-Modell?',
30
- answer: 'Ein SIR-Modell teilt eine Bevolkerung in empfangliche, infizierte und genesene Gruppen ein. Es schatzt, wie Menschen im Laufe der Zeit zwischen diesen Gruppen wechseln, wahrend Ubertragung und Genesung stattfinden.',
31
- },
32
- {
33
- question: 'Wie verandert die Impfung die Kurve?',
34
- answer: 'Die Impfung reduziert die empfangliche Bevolkerung, wenn sie eine Infektion verhindert. In diesem Simulator senkt eine wirksame Impfung die effektive Reproduktionszahl und kann die Infektionsspitze verkleinern oder verzogern.',
35
- },
36
- {
37
- question: 'Ist R0 dasselbe wie Re?',
38
- answer: 'Nein. R0 beschreibt die Ausbreitung in einer vollstandig empfanglichen Bevolkerung. Re ist die effektive Reproduktionszahl, nachdem Immunitat, Impfung oder Verhaltensanderungen die Anzahl der Personen reduziert haben, die infiziert werden konnen.',
39
- },
40
- {
41
- question: 'Warum steigt die Infiziertenkurve an und fallt dann ab?',
42
- answer: 'Die Infiziertenkurve fallt, wenn jede infektiose Person weniger Neuinfektionen erzeugt als Personen die infizierte Gruppe durch Genesung oder Tod verlassen. Die abnehmende Empfanglichkeit ist der Haupttreiber in einem einfachen SIR-Modell.',
43
- },
44
- {
45
- question: 'Kann dieser Simulator eine echte Epidemie vorhersagen?',
46
- answer: 'Es ist ein Lehr- und Szenarienwerkzeug, keine Vorhersage. Echte Ausbruche benotigen Altersstrukturen, Kontaktnetzwerke, Geografie, Meldeverzogerungen, sich anderndes Verhalten, Varianten, nachlassende Immunitat und kalibrierte Daten.',
47
- },
48
- {
49
- question: 'Was ist der Unterschied zwischen Attack Rate und Spitzeninfizierten?',
50
- answer: 'Die Attack Rate misst den gesamten Anteil der Bevolkerung, der bis zum Ende des Ausbruchs jemals infiziert wurde. Die Spitzeninfizierten messen die maximale Anzahl gleichzeitig infektioser Personen zu einem Zeitpunkt. Eine niedrige Spitze garantiert keine niedrige Attack Rate und umgekehrt.',
51
- },
52
- {
53
- question: 'Was bedeutet Re unter 1 visuell?',
54
- answer: 'Wenn Re unter 1 fallt, erzeugt jede infektiose Person im Durchschnitt weniger als eine Neuinfektion. Im Diagramm steigt die Infiziertenkurve nie steil an und kann vom Startkeim sofort abfallen, was bedeutet, dass sich der Ausbruch nicht aufrechterhalten kann.',
55
- },
56
- {
57
- question: 'Wie wirkt sich die Infektionsdauer auf den Ausbruch aus?',
58
- answer: 'Eine langere Infektionsdauer verlangert die Zeitspanne, in der jede infizierte Person den Erreger ubertragen kann. Dies streckt den Ausbruchszeitverlauf, verzogert den Hohepunkt und kann bei gleichem R0 eine breitere Kurve mit niedrigerer Spitze erzeugen.',
59
- },
60
- {
61
- question: 'Warum verandert die Letalitat die Infiziertenkurve nicht?',
62
- answer: 'In diesem SIR-Modell beeinflusst die Letalitat nur die Todesfallzahl, die von der Gruppe der Genesenen abzweigt. Sie wirkt sich nicht auf die Ubertragung aus, da Todesfalle und Genesungen Personen mit der gleichen Rate aus dem infektiosen Pool entfernen.',
63
- },
64
- {
65
- question: 'Was ist die Herdenimmunitatsschwelle?',
66
- answer: 'Die Herdenimmunitatsschwelle ist der Anteil der Bevolkerung, der immun sein muss, damit Re unter 1 fallt. Sie wird naherungsweise als 1 - 1/R0 berechnet. Bei Masern mit R0 um 12 liegt die Schwelle uber 91%. Bei saisonaler Grippe mit R0 um 1,3 liegt die Schwelle bei etwa 23%.',
67
- },
68
- ];
69
-
70
- export const content: ToolLocaleContent = {
71
- slug,
72
- title,
73
- description,
74
- ui: {
75
- liveScenario: 'Live-Epidemieszenario',
76
- curveChart: 'SIR-Ubertragungskurven',
77
- inspectDay: 'Simulationstag untersuchen',
78
- legend: 'Kurvenlegende',
79
- susceptible: 'Empfangliche',
80
- infected: 'Infizierte',
81
- recovered: 'Genesene oder immune',
82
- deaths: 'Todesfalle',
83
- controls: 'Epidemieparameter',
84
- modelName: 'Kompartimentmodell',
85
- peakInfected: 'Spitzeninfizierte',
86
- peakDay: 'Spitzentag',
87
- attackRate: 'Attack Rate',
88
- estimatedDeaths: 'Geschatzte Todesfalle',
89
- r0: 'Basisreproduktionszahl R0',
90
- lethality: 'Letalitat',
91
- vaccination: 'Impfabdeckung',
92
- vaccineEffectiveness: 'Impfstoffwirksamkeit',
93
- infectiousDays: 'Infektionsdauer',
94
- initialInfected: 'Anfanglich Infizierte',
95
- dayLabel: 'Tag',
96
- daysUnit: 'Tage',
97
- infectiousLabel: 'infektios',
98
- reLabel: 'Re',
99
- },
100
- seo: [
101
- {
102
- type: 'title',
103
- text: 'Epidemie-SIR-Simulator fur R0, Impfung, Letalitat und Ubertragungskurven',
104
- level: 2,
105
- },
106
- {
107
- type: 'paragraph',
108
- html: 'Dieser Epidemie-SIR-Simulator lasst dich erkunden, wie sich ein Krankheitserreger in einer Bevolkerung ausbreitet, wenn empfangliche Menschen infiziert werden und die infektiose Gruppe anschlie?end durch Genesung oder Tod verlassen. Entwickelt fur Studierende, Wissenschaftskommunikatoren, Lernende im offentlichen Gesundheitswesen und alle, die eine schnelle visuelle Erklarung dafur suchen, warum kleine Veranderungen bei Ubertragung oder Immunitat einen Ausbruch umgestalten konnen.',
109
- },
110
- {
111
- type: 'paragraph',
112
- html: 'Die interaktiven Steuerelemente konzentrieren sich auf die Variablen, die Menschen am haufigsten testen mochten: <strong>R0</strong>, Letalitat, Impfabdeckung, Impfstoffwirksamkeit, Infektionsdauer und den anfanglichen Infiziertenanteil. Das Diagramm aktualisiert sich sofort, sodass die Kurven fur Empfangliche, Infizierte, Genesene, Immune und Todesfalle als ein verbundenes Epidemiesystem verglichen werden konnen.',
113
- },
114
- {
115
- type: 'title',
116
- text: 'Wie das SIR-Modell funktioniert',
117
- level: 3,
118
- },
119
- {
120
- type: 'paragraph',
121
- html: 'Ein einfaches SIR-Modell unterteilt die Bevolkerung in drei Hauptkompartimente. <strong>S</strong> sind empfangliche Personen, die noch infiziert werden konnen. <strong>I</strong> sind aktuell infektiose Personen, die den Erreger ubertragen konnen. <strong>R</strong> sind Personen, die nicht mehr infektios sind, weil sie genesen sind, Immunitat erlangt haben oder anderweitig aus der Ubertragungskette ausgeschieden sind. Dieser Simulator erfasst auch geschatzte Todesfalle als schwerwiegenden Ausgangszweig der Gruppe, die die Infektion verlasst.',
122
- },
123
- {
124
- type: 'paragraph',
125
- html: 'Die Ubertragungsrate ist mit R0 und der Infektionsdauer verknupft. Wenn R0 hoch ist oder Menschen langer infektios bleiben, entstehen mehr Neuinfektionen, bevor die infizierte Gruppe schrumpft. Wenn die Impfung genug Personen aus dem empfanglichen Pool entfernt, sinkt die effektive Reproduktionszahl und die Ausbruchsspitze kann viel kleiner werden.',
126
- },
127
- {
128
- type: 'table',
129
- headers: ['Parameter', 'Was sich andert', 'Typischer Kurveneffekt'],
130
- rows: [
131
- ['R0', 'Ubertragungspotenzial vor Berucksichtigung der Immunitat', 'Hoheres R0 lasst die Infiziertenkurve schneller ansteigen und hoher gipfeln.'],
132
- ['Impfabdeckung', 'Anteil der Personen, die bei Schutz aus dem empfanglichen Pool entfernt werden', 'Hohere Abdeckung senkt Re und kann den Ausbruch abflachen.'],
133
- ['Impfstoffwirksamkeit', 'Wie stark die Impfung in diesem vereinfachten Modell eine Infektion verhindert', 'Hohere Wirksamkeit macht die gleiche Abdeckung schutzender.'],
134
- ['Infektionsdauer', 'Durchschnittliche Zeit, die Personen infektios bleiben', 'Langere Infektion verandert den Zeitverlauf und kann den Ausbruch verlangern.'],
135
- ['Letalitat', 'Anteil der Personen, die die Infektion verlassen und als Todesfalle gezahlt werden', 'Hohere Letalitat erhoht die Todesfallkurve, ohne die Ubertragung direkt zu steigern.'],
136
- ],
137
- },
138
- {
139
- type: 'title',
140
- text: 'R0, Re und Herdenimmunitat - Intuition',
141
- level: 3,
142
- },
143
- {
144
- type: 'paragraph',
145
- html: 'R0 ist die durchschnittliche Anzahl von Sekundarfällen, die eine infektiose Person in einer vollstandig empfanglichen Bevolkerung verursacht. Re, die effektive Reproduktionszahl, ist niedriger, wenn einige Menschen bereits immun, geimpft, isoliert oder anderweitig nicht fur eine Infektion verfugbar sind. In diesem Simulator reduziert eine wirksame Impfung direkt die Empfanglichkeit, sodass das angezeigte Re mit steigender Schutzabdeckung fallt.',
146
- },
147
- {
148
- type: 'paragraph',
149
- html: 'Eine haufige Naherung fur die Herdenimmunitat ist <strong>1 - 1 / R0</strong>. Bei einem R0 von 3 liegt die Schwelle bei etwa 66,7% wirksamer Immunitat. Der Simulator macht diese Schwelle greifbar: Wenn die wirksame Impfung unter der Schwelle liegt, konnen Ausbruche weiter wachsen; liegt sie daruber, kann sich die Ubertragung kaum aufrechterhalten.',
150
- },
151
- {
152
- type: 'title',
153
- text: 'Was die Zahl der Spitzeninfizierten bedeutet',
154
- level: 3,
155
- },
156
- {
157
- type: 'paragraph',
158
- html: 'Die Spitzeninfizierten sind die maximale Anzahl gleichzeitig infektioser Personen in der simulierten Bevolkerung. Dies ist oft operativ wichtiger als die Gesamtzahl der Infektionen, da Krankenhauser, Labore, Isolationsprogramme und Kontaktverfolgungsteams den Druck durch gleichzeitige aktive Fälle spuren. Die Spitze zu senken kann wichtig sein, selbst wenn die endgultige Attack Rate nicht auf null reduziert wird.',
159
- },
160
- {
161
- type: 'paragraph',
162
- html: 'Die Attack Rate schatzt den Anteil der Gesamtbevolkerung, der bis zum Ende des Laufs infiziert wurde. Eine hohe Attack Rate bedeutet, dass der Erreger viele Menschen erreicht hat, bevor die Empfanglichkeit erschopft oder kontrolliert wurde. Eine niedrige Attack Rate bedeutet, dass Immunitat, Impfung oder schwache Ubertragung eine weitraumige Ausbreitung verhindert haben.',
163
- },
164
- {
165
- type: 'title',
166
- text: 'Reale R0-Werte und was sie fur die Herdenimmunitat bedeuten',
167
- level: 3,
168
- },
169
- {
170
- type: 'paragraph',
171
- html: 'Die Basisreproduktionszahl R0 ist keine feste biologische Konstante eines Erregers. Sie hangt von Kontaktmustern, Bevolkerungsdichte, kulturellen Gewohnheiten und Umweltfaktoren ab. Derselbe Virus kann in einer dichten Stadt andere R0-Werte haben als in einem landlichen Gebiet oder in einer Jahreszeit mit mehr Innenraumbesuch. Die folgenden Werte sind illustrative Referenzbereiche aus veroffentlichten Studien.',
172
- },
173
- {
174
- type: 'table',
175
- headers: ['Erreger', 'Typischer R0-Bereich', 'Herdenimmunitatsschwelle (1 - 1/R0)', 'Wichtigstes Ubertragungsmerkmal'],
176
- rows: [
177
- ['Saisonale Grippe', '1,2 - 1,4', '17% - 29%', 'Kurze Infektionsdauer, saisonale Schwankungen'],
178
- ['SARS-CoV-2 (Urtyp)', '2,0 - 3,0', '50% - 67%', 'Prasymptomatische Ubertragung, Aerosolwege'],
179
- ['SARS-CoV-2 (Delta)', '5,0 - 8,0', '80% - 87%', 'Erhohte Viruslast, schnellere Ausbreitung'],
180
- ['SARS-CoV-2 (Omikron)', '8,0 - 12,0', '87% - 92%', 'Immunflucht, oberer Atemwegstropismus'],
181
- ['Polio', '5,0 - 7,0', '80% - 86%', 'Fakal-oraler Weg, langes asymptomatisches Ausscheiden'],
182
- ['Pocken', '5,0 - 7,0', '80% - 86%', 'Durch weltweite Impfkampagne ausgerottet'],
183
- ['Masern', '12,0 - 18,0', '92% - 94%', 'Extrem ansteckend, luftubertragen, lange Infektionsdauer'],
184
- ['Keuchhusten', '12,0 - 17,0', '92% - 94%', 'Nachlassende Immunitat ermoglicht Wiederholungsinfektionen'],
185
- ],
186
- },
187
- {
188
- type: 'paragraph',
189
- html: 'Eine hohe Herdenimmunitatsschwelle bedeutet nicht automatisch, dass Impfung sinnlos ist, wenn die Abdeckung unter der Schwelle liegt. Selbst eine teilweise Immunitat verlangsamt die Ubertragung, senkt die Spitze, reduziert schwere Verlaufe und verschafft dem Gesundheitssystem Zeit. Der Simulator zeigt diesen Effekt, wenn du den Impfregler durch Zwischenwerte bewegst.',
190
- },
191
- {
192
- type: 'title',
193
- text: 'Wie sich die effektive Reproduktionszahl Re wahrend eines Ausbruchs verandert',
194
- level: 3,
195
- },
196
- {
197
- type: 'paragraph',
198
- html: 'Re ist die effektive Reproduktionszahl zu einem bestimmten Zeitpunkt des Ausbruchs. Im Gegensatz zu R0, das eine vollstandig empfangliche Bevolkerung annimmt, berucksichtigt Re Immunitat, Impfung und alle anderen Faktoren, die die Empfanglichkeit reduzieren. In diesem Simulator wird Re berechnet als <strong>R0 x (1 - geschutzter Anteil)</strong>, wobei der geschutzte Anteil der durch Impfung wirksam immune Bevolkerungsanteil ist.',
199
- },
200
- {
201
- type: 'paragraph',
202
- html: 'Der im Simulator-Kopf angezeigte Re-Wert aktualisiert sich, wenn du die Regler bewegst. Wenn Re uber 1 bleibt, wachst der Ausbruch. Wenn Re unter 1 fallt, erzeugt jede infizierte Person im Durchschnitt weniger als eine Neuinfektion, und die Epidemie kann sich nicht aufrechterhalten. Dies ist die Kernbotschaft der Epidemiekontrolle: Re durch Immunitat, Verhalten oder Ma?nahmen unter 1 zu bringen und zu halten.',
203
- },
204
- {
205
- type: 'title',
206
- text: 'Attack Rate, Spitzenbelastung und was sie uber die Schwere eines Ausbruchs verraten',
207
- level: 3,
208
- },
209
- {
210
- type: 'paragraph',
211
- html: 'Die Attack Rate ist der Anteil der Gesamtbevolkerung, der wahrend des gesamten simulierten Ausbruchs infiziert wurde. Sie ist die am haufigsten genannte zusammenfassende Kennzahl nach einer Epidemiewelle. Eine hohe Attack Rate bedeutet, dass der Erreger die meisten empfanglichen Personen infiziert hat, bevor Erschopfung oder Kontrolle die Ubertragung stoppten. Eine niedrige Attack Rate bedeutet, dass Immunitat, Impfung oder eine von Natur aus schwache Ubertragung eine weitverbreitete Infektion verhindert haben.',
212
- },
213
- {
214
- type: 'paragraph',
215
- html: 'Die Spitzeninfizierten - die maximale Anzahl gleichzeitig infektioser Personen - sind fur den kurzzeitigen Druck auf das Gesundheitssystem wichtiger. Eine Welle mit moderater Attack Rate, aber einer sehr hohen, spitzen Kurve kann Krankenhauser uberfordern, selbst wenn die Gesamtfallzahlen nicht extrem sind. Umgekehrt kann eine langsame, abgeflachte Kurve eine ahnliche Attack Rate uber viele Wochen verteilt haben, was dem Gesundheitssystem Zeit gibt, die Fälle zu bewaltigen. Deshalb betonen Public-Health-Experten das <strong>Abflachen der Kurve</strong> als operatives Ziel, das sich von der Verhinderung samtlicher Infektionen unterscheidet.',
216
- },
217
- {
218
- type: 'title',
219
- text: 'Kurvenabflachung und Gesundheitskapazitat im SIR-Modell',
220
- level: 3,
221
- },
222
- {
223
- type: 'paragraph',
224
- html: 'Die Infiziertenkurve in einem SIR-Modell kann als die Anzahl der Personen interpretiert werden, die gleichzeitig versorgt werden mussen. In einer echten Epidemie greift jede Person, die ein Krankenhausbett, Sauerstoffversorgung oder Intensivpflege benotigt, auf einen begrenzten Pool von Ressourcen zuruck. Wenn die Infiziertenkurve uber die verfugbare Kapazitat steigt, steigt die Sterblichkeit aus allen Grunden, weil das System keine adaquate Versorgung bieten kann.',
225
- },
226
- {
227
- type: 'paragraph',
228
- html: 'Die Impfung flacht in diesem Modell die Kurve ab, indem sie Personen aus dem empfanglichen Pool entfernt, bevor sie infiziert werden konnen. Die Reduzierung von R0 durch andere Ma?nahmen - Masken, Luftung, Abstand, Tests, Isolation - wurde in einem vollstandigeren Modell ebenfalls die Spitze senken. Die Simulation macht den Mechanismus sichtbar: Mit zunehmender wirksamer Impfabdeckung schrumpft die Spitze, verschiebt sich nach hinten oder verschwindet ganz.',
229
- },
230
- {
231
- type: 'title',
232
- text: 'Die Mathematik hinter dem SIR-Modell visualisiert',
233
- level: 3,
234
- },
235
- {
236
- type: 'paragraph',
237
- html: 'Im SIR-Modell hangt die Rate der Neuinfektionen pro Zeitschritt von drei Gro?en ab: der Ubertragungsrate <strong>beta</strong>, der aktuellen Anzahl infektioser Personen <strong>I</strong> und dem Anteil der effektiven Bevolkerung, der noch empfanglich ist <strong>S / N</strong>. Das Produkt <strong>beta x I x S / N</strong> wird als Infektionskraft bezeichnet. Jeden Tag bestimmt diese Kraft, wie viele empfangliche Personen in das Infiziertenkompartiment wechseln.',
238
- },
239
- {
240
- type: 'paragraph',
241
- html: 'Personen verlassen das Infiziertenkompartiment mit der Genesungsrate <strong>gamma = 1 / Infektionsdauer</strong>. Das Gleichgewicht zwischen Infektionskraft und Genesungsrate bestimmt, ob die Epidemie wachst oder schrumpft. Wenn beta x S / N gro?er als gamma ist, ubertreffen Neuinfektionen die Genesungen und der Ausbruch expandiert. Wenn der empfangliche Anteil S / N ausreichend gefallen ist, dominiert gamma und der Ausbruch zieht sich zuruck.',
242
- },
243
- {
244
- type: 'paragraph',
245
- html: 'Der Parameter <strong>beta</strong> ist in der Benutzeroberflache nicht direkt sichtbar. Stattdessen wird er aus R0 und der Infektionsdauer uber die Beziehung <strong>beta = R0 x gamma</strong> abgeleitet. Deshalb erzeugen Anderungen von R0 oder der Infektionsdauer ahnliche, aber nicht identische Kurvenformen. Beide Parameter beeinflussen die Infektionskraft, aber die Infektionsdauer streckt auch die Zeitachse des Ausbruchs.',
246
- },
247
- {
248
- type: 'title',
249
- text: 'Wie man diesen Simulator zum Lernen und Lehren nutzt',
250
- level: 3,
251
- },
252
- {
253
- type: 'list',
254
- items: [
255
- '<strong>Vergleiche hohe und niedrige R0-Szenarien:</strong> Setze R0 auf 1,5 (saisonale Grippe) und dann auf 6,0 (Polio vor Impfung). Beobachte, wie sich Spitzenhohe, Spitzenzeitpunkt und Attack Rate andern, selbst wenn alle anderen Parameter identisch sind.',
256
- '<strong>Erkunde die Herdenimmunitatsschwelle:</strong> Starte mit R0 bei 3,0 und ohne Impfung. Notiere die Attack Rate. Fuge dann Impfabdeckung hinzu, bis Re unter 1 fallt. Vergleiche Spitze und Attack Rate bei Abdeckung knapp unterhalb und knapp oberhalb der Schwelle.',
257
- '<strong>Teste den Effekt von langsamer vs. schneller Reaktion:</strong> Stelle die Impfabdeckung auf verschiedene Werte ein und beobachte, wann die Spitze auftritt. Eine hohere Abdeckung reduziert nicht nur die Spitzenhohe, sondern verzogert sie meist auch und verschafft Zeit fur die Vorbereitung des Gesundheitssystems.',
258
- '<strong>Trenne Letalitat von Ubertragung:</strong> Setze die Letalitat auf 0% und beobachte die Infiziertenkurve. Setze die Letalitat dann auf 10%, ohne andere Einstellungen zu andern. Die Infiziertenkurve andert sich nicht, aber die Todesrate steigt. Dies zeigt, warum Fallsterblichkeitsrate und Ubertragungsgeschwindigkeit unterschiedliche epidemiologische Dimensionen sind.',
259
- '<strong>Untersuche den Effekt der Infektionsdauer:</strong> Vergleiche eine 4-tagige Infektionsdauer mit einer 18-tagigen bei gleichem R0. Die langere Dauer streckt die Kurve, verzogert die Spitze und erzeugt eine langere, aber niedrigere Welle.',
260
- '<strong>Klassenraumubung - Finde die Schwelle:</strong> Bitte Schuler, die minimale Impfabdeckung zu finden, die Re bei einem gegebenen R0 unter 1 bringt, und vergleiche das Ergebnis mit der Formel 1 - 1/R0.',
261
- ],
262
- },
263
- {
264
- type: 'title',
265
- text: 'Wann und warum dieser Simulator eingesetzt wird',
266
- level: 3,
267
- },
268
- {
269
- type: 'list',
270
- items: [
271
- '<strong>Epidemiologiestudierende:</strong> Verbinde das mathematische SIR-Grundgerust mit interaktiven Kurvenformen, bevor du mit Differentialgleichungen arbeitest oder eigene Modelle programmierst.',
272
- '<strong>Wissenschaftskommunikatoren und Journalisten:</strong> Erstelle Diagramme, Screenshots oder Live-Erklarungen, die zeigen, warum R0, Impfung und Infektionsdauer fur den Verlauf von Ausbruchen wichtig sind.',
273
- '<strong>Lernende im offentlichen Gesundheitswesen:</strong> Teste, wie verschiedene Interventionskombinationen die Epidemiespitze und Attack Rate verschieben, um ein Gefuhl fur die Zielkonflikte bei der Ausbruchsbekampfung zu entwickeln.',
274
- '<strong>Alle, die neugierig auf Epidemiemathematik sind:</strong> Erkunde das SIR-Modell, ohne Code schreiben oder Software installieren zu mussen. Jeder Regler aktualisiert das Diagramm in Echtzeit.',
275
- ],
276
- },
277
- {
278
- type: 'title',
279
- text: 'Modellerweiterungen: SEIR, SIRS und daruber hinaus',
280
- level: 3,
281
- },
282
- {
283
- type: 'paragraph',
284
- html: 'Dieser Simulator verwendet eine einfache SIR-Struktur. Mehrere haufige Erweiterungen erhohen die Realitatsnahe. Ein <strong>SEIR-Modell</strong> fugt ein exponiertes (E)-Kompartiment fur Personen hinzu, die infiziert, aber noch nicht infektios sind - dies bildet die Inkubationszeit ab. Die exponierte Gruppe verschiebt die Epidemiespitze im Vergleich zum SIR-Modell nach au?en, da Infektionen Zeit in der Latenzphase verbringen, bevor sie zur Ubertragung beitragen.',
285
- },
286
- {
287
- type: 'paragraph',
288
- html: 'Ein <strong>SIRS-Modell</strong> ermoglicht es genesenen Personen, im Laufe der Zeit ihre Immunitat zu verlieren und wieder in das empfangliche Kompartiment einzutreten. Dies modelliert Erreger wie Keuchhusten oder SARS-CoV-2 mit nachlassender Immunitat und erzeugt anhaltende oder wiederkehrende Ausbruchswellen. Ein <strong>altersstrukturiertes Modell</strong> unterteilt die Bevolkerung in Altersgruppen mit unterschiedlichen Kontaktmatrizen und Schweregradprofilen, was fur Krankheiten wichtig ist, bei denen Kinder und altere Menschen sehr unterschiedliche Verlaufe haben.',
289
- },
290
- {
291
- type: 'paragraph',
292
- html: 'Weitere Erweiterungen fugen geografische Ausbreitung (Metapopulationsmodelle), Verhaltensanderungen (adaptive Kontaktraten), stochastisches Rauschen (fur kleine Bevolkerungen, bei denen zufalliges Aussterben eine Rolle spielt) und Interventionszeitpunkte (Schulschlie?ungen, Lockdowns, Reisebeschrankungen, die ein- und ausgeschaltet werden) hinzu. Jede Erweiterung fugt Komplexitat hinzu, die fur Vorhersagen unerlasslich ist, aber die zugrundeliegenden Ubertragungsdynamiken verdecken kann, die das einfache SIR-Modell klar veranschaulicht.',
293
- },
294
- {
295
- type: 'title',
296
- text: 'Grenzen dieses Epidemie-Simulators',
297
- level: 3,
298
- },
299
- {
300
- type: 'paragraph',
301
- html: 'Dies ist ein kompaktes deterministisches SIR-Modell. Es enthalt keine Altersgruppen, Haushaltsstruktur, Schulen, Reisen, Superspreading, Inkubationszeiten, asymptomatische Ubertragung, Saisonalitat, Varianten, nachlassende Immunitat, Verhaltensanderungen, Testverzogerungen oder Public-Health-Ma?nahmen, die im Laufe der Zeit ein- und ausgeschaltet werden. Diese Details sind fur echte Vorhersagen unerlasslich.',
302
- },
303
- {
304
- type: 'paragraph',
305
- html: 'Das Modell geht von einer gut durchmischten Bevolkerung aus, bei der jede empfangliche Person die gleiche Kontaktwahrscheinlichkeit mit jeder infektiosen Person hat. Reale Bevolkerungen haben Kontaktnetzwerke mit starker Clusterung, Altersassortativitat, geografischer Struktur und individueller Variabilitat der Infektiositat. Diese Merkmale konnen langsameres anfangliches Wachstum, Superspreading-Ereignisse und heterogene Ausbruchsmuster erzeugen, die ein homogenes Modell nicht erfasst.',
306
- },
307
- {
308
- type: 'paragraph',
309
- html: 'Nutze den Simulator, um Mechanismen zu verstehen und Szenarien zu vergleichen, nicht um medizinische, politische oder Notfallentscheidungen zu treffen. Die reale Epidemiebewertung erfordert Uberwachungsdaten, lokalen Kontext, Unsicherheitsanalyse und spezialisierte epidemiologische Modellierung.',
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
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'seuchenausbreitung-sir-simulator';
5
+ const title = 'Epidemie SIR Simulator';
6
+ const description = 'Erkunde die Ausbreitung von Krankheitserregern mit einem interaktiven SIR-Modell, das R0, Letalitat, Impfung, Infektionsdauer, Spitzenbelastung und Ubertragungskurven in Echtzeit anpasst.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Reproduktionszahl einstellen',
11
+ text: 'Bewege den R0-Regler, um einzustellen, wie viele Sekundarinfektionen eine infektiose Person in einer vollstandig empfanglichen Bevolkerung verursachen wurde.',
12
+ },
13
+ {
14
+ name: 'Impfung und Impfstoffwirksamkeit hinzufugen',
15
+ text: 'Erhohe die Impfabdeckung oder Impfstoffwirksamkeit, um geschutzte Personen aus dem empfanglichen Pool zu entfernen und die effektive Reproduktionszahl zu senken.',
16
+ },
17
+ {
18
+ name: 'Letalitat und Infektionsdauer anpassen',
19
+ text: 'Andere die Sterblichkeitsrate und die Anzahl der infektiosen Tage, um zu sehen, wie sich schwerwiegende Folgen und der Kurvenverlauf verandern.',
20
+ },
21
+ {
22
+ name: 'SIR-Kurven ablesen',
23
+ text: 'Nutze das Diagramm und den Tagesinspektor, um Kurven fur Empfangliche, Infizierte, Genesene und geschatzte Todesfalle wahrend des simulierten Ausbruchs zu vergleichen.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ question: 'Was zeigt ein SIR-Modell?',
30
+ answer: 'Ein SIR-Modell teilt eine Bevolkerung in empfangliche, infizierte und genesene Gruppen ein. Es schatzt, wie Menschen im Laufe der Zeit zwischen diesen Gruppen wechseln, wahrend Ubertragung und Genesung stattfinden.',
31
+ },
32
+ {
33
+ question: 'Wie verandert die Impfung die Kurve?',
34
+ answer: 'Die Impfung reduziert die empfangliche Bevolkerung, wenn sie eine Infektion verhindert. In diesem Simulator senkt eine wirksame Impfung die effektive Reproduktionszahl und kann die Infektionsspitze verkleinern oder verzogern.',
35
+ },
36
+ {
37
+ question: 'Ist R0 dasselbe wie Re?',
38
+ answer: 'Nein. R0 beschreibt die Ausbreitung in einer vollstandig empfanglichen Bevolkerung. Re ist die effektive Reproduktionszahl, nachdem Immunitat, Impfung oder Verhaltensanderungen die Anzahl der Personen reduziert haben, die infiziert werden konnen.',
39
+ },
40
+ {
41
+ question: 'Warum steigt die Infiziertenkurve an und fallt dann ab?',
42
+ answer: 'Die Infiziertenkurve fallt, wenn jede infektiose Person weniger Neuinfektionen erzeugt als Personen die infizierte Gruppe durch Genesung oder Tod verlassen. Die abnehmende Empfanglichkeit ist der Haupttreiber in einem einfachen SIR-Modell.',
43
+ },
44
+ {
45
+ question: 'Kann dieser Simulator eine echte Epidemie vorhersagen?',
46
+ answer: 'Es ist ein Lehr- und Szenarienwerkzeug, keine Vorhersage. Echte Ausbruche benotigen Altersstrukturen, Kontaktnetzwerke, Geografie, Meldeverzogerungen, sich anderndes Verhalten, Varianten, nachlassende Immunitat und kalibrierte Daten.',
47
+ },
48
+ {
49
+ question: 'Was ist der Unterschied zwischen Attack Rate und Spitzeninfizierten?',
50
+ answer: 'Die Attack Rate misst den gesamten Anteil der Bevolkerung, der bis zum Ende des Ausbruchs jemals infiziert wurde. Die Spitzeninfizierten messen die maximale Anzahl gleichzeitig infektioser Personen zu einem Zeitpunkt. Eine niedrige Spitze garantiert keine niedrige Attack Rate und umgekehrt.',
51
+ },
52
+ {
53
+ question: 'Was bedeutet Re unter 1 visuell?',
54
+ answer: 'Wenn Re unter 1 fallt, erzeugt jede infektiose Person im Durchschnitt weniger als eine Neuinfektion. Im Diagramm steigt die Infiziertenkurve nie steil an und kann vom Startkeim sofort abfallen, was bedeutet, dass sich der Ausbruch nicht aufrechterhalten kann.',
55
+ },
56
+ {
57
+ question: 'Wie wirkt sich die Infektionsdauer auf den Ausbruch aus?',
58
+ answer: 'Eine langere Infektionsdauer verlangert die Zeitspanne, in der jede infizierte Person den Erreger ubertragen kann. Dies streckt den Ausbruchszeitverlauf, verzogert den Hohepunkt und kann bei gleichem R0 eine breitere Kurve mit niedrigerer Spitze erzeugen.',
59
+ },
60
+ {
61
+ question: 'Warum verandert die Letalitat die Infiziertenkurve nicht?',
62
+ answer: 'In diesem SIR-Modell beeinflusst die Letalitat nur die Todesfallzahl, die von der Gruppe der Genesenen abzweigt. Sie wirkt sich nicht auf die Ubertragung aus, da Todesfalle und Genesungen Personen mit der gleichen Rate aus dem infektiosen Pool entfernen.',
63
+ },
64
+ {
65
+ question: 'Was ist die Herdenimmunitatsschwelle?',
66
+ answer: 'Die Herdenimmunitatsschwelle ist der Anteil der Bevolkerung, der immun sein muss, damit Re unter 1 fallt. Sie wird naherungsweise als 1 - 1/R0 berechnet. Bei Masern mit R0 um 12 liegt die Schwelle uber 91%. Bei saisonaler Grippe mit R0 um 1,3 liegt die Schwelle bei etwa 23%.',
67
+ },
68
+ ];
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug,
72
+ title,
73
+ description,
74
+ ui: {
75
+ liveScenario: 'Live-Epidemieszenario',
76
+ curveChart: 'SIR-Ubertragungskurven',
77
+ inspectDay: 'Simulationstag untersuchen',
78
+ legend: 'Kurvenlegende',
79
+ susceptible: 'Empfangliche',
80
+ infected: 'Infizierte',
81
+ recovered: 'Genesene oder immune',
82
+ deaths: 'Todesfalle',
83
+ controls: 'Epidemieparameter',
84
+ modelName: 'Kompartimentmodell',
85
+ peakInfected: 'Spitzeninfizierte',
86
+ peakDay: 'Spitzentag',
87
+ attackRate: 'Attack Rate',
88
+ estimatedDeaths: 'Geschatzte Todesfalle',
89
+ r0: 'Basisreproduktionszahl R0',
90
+ lethality: 'Letalitat',
91
+ vaccination: 'Impfabdeckung',
92
+ vaccineEffectiveness: 'Impfstoffwirksamkeit',
93
+ infectiousDays: 'Infektionsdauer',
94
+ initialInfected: 'Anfanglich Infizierte',
95
+ dayLabel: 'Tag',
96
+ daysUnit: 'Tage',
97
+ infectiousLabel: 'infektios',
98
+ reLabel: 'Re',
99
+ },
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Epidemie-SIR-Simulator fur R0, Impfung, Letalitat und Ubertragungskurven',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'paragraph',
108
+ html: 'Dieser Epidemie-SIR-Simulator lasst dich erkunden, wie sich ein Krankheitserreger in einer Bevolkerung ausbreitet, wenn empfangliche Menschen infiziert werden und die infektiose Gruppe anschlie?end durch Genesung oder Tod verlassen. Entwickelt fur Studierende, Wissenschaftskommunikatoren, Lernende im offentlichen Gesundheitswesen und alle, die eine schnelle visuelle Erklarung dafur suchen, warum kleine Veranderungen bei Ubertragung oder Immunitat einen Ausbruch umgestalten konnen.',
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'Die interaktiven Steuerelemente konzentrieren sich auf die Variablen, die Menschen am haufigsten testen mochten: <strong>R0</strong>, Letalitat, Impfabdeckung, Impfstoffwirksamkeit, Infektionsdauer und den anfanglichen Infiziertenanteil. Das Diagramm aktualisiert sich sofort, sodass die Kurven fur Empfangliche, Infizierte, Genesene, Immune und Todesfalle als ein verbundenes Epidemiesystem verglichen werden konnen.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Wie das SIR-Modell funktioniert',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'Ein einfaches SIR-Modell unterteilt die Bevolkerung in drei Hauptkompartimente. <strong>S</strong> sind empfangliche Personen, die noch infiziert werden konnen. <strong>I</strong> sind aktuell infektiose Personen, die den Erreger ubertragen konnen. <strong>R</strong> sind Personen, die nicht mehr infektios sind, weil sie genesen sind, Immunitat erlangt haben oder anderweitig aus der Ubertragungskette ausgeschieden sind. Dieser Simulator erfasst auch geschatzte Todesfalle als schwerwiegenden Ausgangszweig der Gruppe, die die Infektion verlasst.',
122
+ },
123
+ {
124
+ type: 'paragraph',
125
+ html: 'Die Ubertragungsrate ist mit R0 und der Infektionsdauer verknupft. Wenn R0 hoch ist oder Menschen langer infektios bleiben, entstehen mehr Neuinfektionen, bevor die infizierte Gruppe schrumpft. Wenn die Impfung genug Personen aus dem empfanglichen Pool entfernt, sinkt die effektive Reproduktionszahl und die Ausbruchsspitze kann viel kleiner werden.',
126
+ },
127
+ {
128
+ type: 'table',
129
+ headers: ['Parameter', 'Was sich andert', 'Typischer Kurveneffekt'],
130
+ rows: [
131
+ ['R0', 'Ubertragungspotenzial vor Berucksichtigung der Immunitat', 'Hoheres R0 lasst die Infiziertenkurve schneller ansteigen und hoher gipfeln.'],
132
+ ['Impfabdeckung', 'Anteil der Personen, die bei Schutz aus dem empfanglichen Pool entfernt werden', 'Hohere Abdeckung senkt Re und kann den Ausbruch abflachen.'],
133
+ ['Impfstoffwirksamkeit', 'Wie stark die Impfung in diesem vereinfachten Modell eine Infektion verhindert', 'Hohere Wirksamkeit macht die gleiche Abdeckung schutzender.'],
134
+ ['Infektionsdauer', 'Durchschnittliche Zeit, die Personen infektios bleiben', 'Langere Infektion verandert den Zeitverlauf und kann den Ausbruch verlangern.'],
135
+ ['Letalitat', 'Anteil der Personen, die die Infektion verlassen und als Todesfalle gezahlt werden', 'Hohere Letalitat erhoht die Todesfallkurve, ohne die Ubertragung direkt zu steigern.'],
136
+ ],
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'R0, Re und Herdenimmunitat - Intuition',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'R0 ist die durchschnittliche Anzahl von Sekundarfällen, die eine infektiose Person in einer vollstandig empfanglichen Bevolkerung verursacht. Re, die effektive Reproduktionszahl, ist niedriger, wenn einige Menschen bereits immun, geimpft, isoliert oder anderweitig nicht fur eine Infektion verfugbar sind. In diesem Simulator reduziert eine wirksame Impfung direkt die Empfanglichkeit, sodass das angezeigte Re mit steigender Schutzabdeckung fallt.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Eine haufige Naherung fur die Herdenimmunitat ist <strong>1 - 1 / R0</strong>. Bei einem R0 von 3 liegt die Schwelle bei etwa 66,7% wirksamer Immunitat. Der Simulator macht diese Schwelle greifbar: Wenn die wirksame Impfung unter der Schwelle liegt, konnen Ausbruche weiter wachsen; liegt sie daruber, kann sich die Ubertragung kaum aufrechterhalten.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Was die Zahl der Spitzeninfizierten bedeutet',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'Die Spitzeninfizierten sind die maximale Anzahl gleichzeitig infektioser Personen in der simulierten Bevolkerung. Dies ist oft operativ wichtiger als die Gesamtzahl der Infektionen, da Krankenhauser, Labore, Isolationsprogramme und Kontaktverfolgungsteams den Druck durch gleichzeitige aktive Fälle spuren. Die Spitze zu senken kann wichtig sein, selbst wenn die endgultige Attack Rate nicht auf null reduziert wird.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Die Attack Rate schatzt den Anteil der Gesamtbevolkerung, der bis zum Ende des Laufs infiziert wurde. Eine hohe Attack Rate bedeutet, dass der Erreger viele Menschen erreicht hat, bevor die Empfanglichkeit erschopft oder kontrolliert wurde. Eine niedrige Attack Rate bedeutet, dass Immunitat, Impfung oder schwache Ubertragung eine weitraumige Ausbreitung verhindert haben.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Reale R0-Werte und was sie fur die Herdenimmunitat bedeuten',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Die Basisreproduktionszahl R0 ist keine feste biologische Konstante eines Erregers. Sie hangt von Kontaktmustern, Bevolkerungsdichte, kulturellen Gewohnheiten und Umweltfaktoren ab. Derselbe Virus kann in einer dichten Stadt andere R0-Werte haben als in einem landlichen Gebiet oder in einer Jahreszeit mit mehr Innenraumbesuch. Die folgenden Werte sind illustrative Referenzbereiche aus veroffentlichten Studien.',
172
+ },
173
+ {
174
+ type: 'table',
175
+ headers: ['Erreger', 'Typischer R0-Bereich', 'Herdenimmunitatsschwelle (1 - 1/R0)', 'Wichtigstes Ubertragungsmerkmal'],
176
+ rows: [
177
+ ['Saisonale Grippe', '1,2 - 1,4', '17% - 29%', 'Kurze Infektionsdauer, saisonale Schwankungen'],
178
+ ['SARS-CoV-2 (Urtyp)', '2,0 - 3,0', '50% - 67%', 'Prasymptomatische Ubertragung, Aerosolwege'],
179
+ ['SARS-CoV-2 (Delta)', '5,0 - 8,0', '80% - 87%', 'Erhohte Viruslast, schnellere Ausbreitung'],
180
+ ['SARS-CoV-2 (Omikron)', '8,0 - 12,0', '87% - 92%', 'Immunflucht, oberer Atemwegstropismus'],
181
+ ['Polio', '5,0 - 7,0', '80% - 86%', 'Fakal-oraler Weg, langes asymptomatisches Ausscheiden'],
182
+ ['Pocken', '5,0 - 7,0', '80% - 86%', 'Durch weltweite Impfkampagne ausgerottet'],
183
+ ['Masern', '12,0 - 18,0', '92% - 94%', 'Extrem ansteckend, luftubertragen, lange Infektionsdauer'],
184
+ ['Keuchhusten', '12,0 - 17,0', '92% - 94%', 'Nachlassende Immunitat ermoglicht Wiederholungsinfektionen'],
185
+ ],
186
+ },
187
+ {
188
+ type: 'paragraph',
189
+ html: 'Eine hohe Herdenimmunitatsschwelle bedeutet nicht automatisch, dass Impfung sinnlos ist, wenn die Abdeckung unter der Schwelle liegt. Selbst eine teilweise Immunitat verlangsamt die Ubertragung, senkt die Spitze, reduziert schwere Verlaufe und verschafft dem Gesundheitssystem Zeit. Der Simulator zeigt diesen Effekt, wenn du den Impfregler durch Zwischenwerte bewegst.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Wie sich die effektive Reproduktionszahl Re wahrend eines Ausbruchs verandert',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Re ist die effektive Reproduktionszahl zu einem bestimmten Zeitpunkt des Ausbruchs. Im Gegensatz zu R0, das eine vollstandig empfangliche Bevolkerung annimmt, berucksichtigt Re Immunitat, Impfung und alle anderen Faktoren, die die Empfanglichkeit reduzieren. In diesem Simulator wird Re berechnet als <strong>R0 x (1 - geschutzter Anteil)</strong>, wobei der geschutzte Anteil der durch Impfung wirksam immune Bevolkerungsanteil ist.',
199
+ },
200
+ {
201
+ type: 'paragraph',
202
+ html: 'Der im Simulator-Kopf angezeigte Re-Wert aktualisiert sich, wenn du die Regler bewegst. Wenn Re uber 1 bleibt, wachst der Ausbruch. Wenn Re unter 1 fallt, erzeugt jede infizierte Person im Durchschnitt weniger als eine Neuinfektion, und die Epidemie kann sich nicht aufrechterhalten. Dies ist die Kernbotschaft der Epidemiekontrolle: Re durch Immunitat, Verhalten oder Ma?nahmen unter 1 zu bringen und zu halten.',
203
+ },
204
+ {
205
+ type: 'title',
206
+ text: 'Attack Rate, Spitzenbelastung und was sie uber die Schwere eines Ausbruchs verraten',
207
+ level: 3,
208
+ },
209
+ {
210
+ type: 'paragraph',
211
+ html: 'Die Attack Rate ist der Anteil der Gesamtbevolkerung, der wahrend des gesamten simulierten Ausbruchs infiziert wurde. Sie ist die am haufigsten genannte zusammenfassende Kennzahl nach einer Epidemiewelle. Eine hohe Attack Rate bedeutet, dass der Erreger die meisten empfanglichen Personen infiziert hat, bevor Erschopfung oder Kontrolle die Ubertragung stoppten. Eine niedrige Attack Rate bedeutet, dass Immunitat, Impfung oder eine von Natur aus schwache Ubertragung eine weitverbreitete Infektion verhindert haben.',
212
+ },
213
+ {
214
+ type: 'paragraph',
215
+ html: 'Die Spitzeninfizierten - die maximale Anzahl gleichzeitig infektioser Personen - sind fur den kurzzeitigen Druck auf das Gesundheitssystem wichtiger. Eine Welle mit moderater Attack Rate, aber einer sehr hohen, spitzen Kurve kann Krankenhauser uberfordern, selbst wenn die Gesamtfallzahlen nicht extrem sind. Umgekehrt kann eine langsame, abgeflachte Kurve eine ahnliche Attack Rate uber viele Wochen verteilt haben, was dem Gesundheitssystem Zeit gibt, die Fälle zu bewaltigen. Deshalb betonen Public-Health-Experten das <strong>Abflachen der Kurve</strong> als operatives Ziel, das sich von der Verhinderung samtlicher Infektionen unterscheidet.',
216
+ },
217
+ {
218
+ type: 'title',
219
+ text: 'Kurvenabflachung und Gesundheitskapazitat im SIR-Modell',
220
+ level: 3,
221
+ },
222
+ {
223
+ type: 'paragraph',
224
+ html: 'Die Infiziertenkurve in einem SIR-Modell kann als die Anzahl der Personen interpretiert werden, die gleichzeitig versorgt werden mussen. In einer echten Epidemie greift jede Person, die ein Krankenhausbett, Sauerstoffversorgung oder Intensivpflege benotigt, auf einen begrenzten Pool von Ressourcen zuruck. Wenn die Infiziertenkurve uber die verfugbare Kapazitat steigt, steigt die Sterblichkeit aus allen Grunden, weil das System keine adaquate Versorgung bieten kann.',
225
+ },
226
+ {
227
+ type: 'paragraph',
228
+ html: 'Die Impfung flacht in diesem Modell die Kurve ab, indem sie Personen aus dem empfanglichen Pool entfernt, bevor sie infiziert werden konnen. Die Reduzierung von R0 durch andere Ma?nahmen - Masken, Luftung, Abstand, Tests, Isolation - wurde in einem vollstandigeren Modell ebenfalls die Spitze senken. Die Simulation macht den Mechanismus sichtbar: Mit zunehmender wirksamer Impfabdeckung schrumpft die Spitze, verschiebt sich nach hinten oder verschwindet ganz.',
229
+ },
230
+ {
231
+ type: 'title',
232
+ text: 'Die Mathematik hinter dem SIR-Modell visualisiert',
233
+ level: 3,
234
+ },
235
+ {
236
+ type: 'paragraph',
237
+ html: 'Im SIR-Modell hangt die Rate der Neuinfektionen pro Zeitschritt von drei Gro?en ab: der Ubertragungsrate <strong>beta</strong>, der aktuellen Anzahl infektioser Personen <strong>I</strong> und dem Anteil der effektiven Bevolkerung, der noch empfanglich ist <strong>S / N</strong>. Das Produkt <strong>beta x I x S / N</strong> wird als Infektionskraft bezeichnet. Jeden Tag bestimmt diese Kraft, wie viele empfangliche Personen in das Infiziertenkompartiment wechseln.',
238
+ },
239
+ {
240
+ type: 'paragraph',
241
+ html: 'Personen verlassen das Infiziertenkompartiment mit der Genesungsrate <strong>gamma = 1 / Infektionsdauer</strong>. Das Gleichgewicht zwischen Infektionskraft und Genesungsrate bestimmt, ob die Epidemie wachst oder schrumpft. Wenn beta x S / N gro?er als gamma ist, ubertreffen Neuinfektionen die Genesungen und der Ausbruch expandiert. Wenn der empfangliche Anteil S / N ausreichend gefallen ist, dominiert gamma und der Ausbruch zieht sich zuruck.',
242
+ },
243
+ {
244
+ type: 'paragraph',
245
+ html: 'Der Parameter <strong>beta</strong> ist in der Benutzeroberflache nicht direkt sichtbar. Stattdessen wird er aus R0 und der Infektionsdauer uber die Beziehung <strong>beta = R0 x gamma</strong> abgeleitet. Deshalb erzeugen Anderungen von R0 oder der Infektionsdauer ahnliche, aber nicht identische Kurvenformen. Beide Parameter beeinflussen die Infektionskraft, aber die Infektionsdauer streckt auch die Zeitachse des Ausbruchs.',
246
+ },
247
+ {
248
+ type: 'title',
249
+ text: 'Wie man diesen Simulator zum Lernen und Lehren nutzt',
250
+ level: 3,
251
+ },
252
+ {
253
+ type: 'list',
254
+ items: [
255
+ '<strong>Vergleiche hohe und niedrige R0-Szenarien:</strong> Setze R0 auf 1,5 (saisonale Grippe) und dann auf 6,0 (Polio vor Impfung). Beobachte, wie sich Spitzenhohe, Spitzenzeitpunkt und Attack Rate andern, selbst wenn alle anderen Parameter identisch sind.',
256
+ '<strong>Erkunde die Herdenimmunitatsschwelle:</strong> Starte mit R0 bei 3,0 und ohne Impfung. Notiere die Attack Rate. Fuge dann Impfabdeckung hinzu, bis Re unter 1 fallt. Vergleiche Spitze und Attack Rate bei Abdeckung knapp unterhalb und knapp oberhalb der Schwelle.',
257
+ '<strong>Teste den Effekt von langsamer vs. schneller Reaktion:</strong> Stelle die Impfabdeckung auf verschiedene Werte ein und beobachte, wann die Spitze auftritt. Eine hohere Abdeckung reduziert nicht nur die Spitzenhohe, sondern verzogert sie meist auch und verschafft Zeit fur die Vorbereitung des Gesundheitssystems.',
258
+ '<strong>Trenne Letalitat von Ubertragung:</strong> Setze die Letalitat auf 0% und beobachte die Infiziertenkurve. Setze die Letalitat dann auf 10%, ohne andere Einstellungen zu andern. Die Infiziertenkurve andert sich nicht, aber die Todesrate steigt. Dies zeigt, warum Fallsterblichkeitsrate und Ubertragungsgeschwindigkeit unterschiedliche epidemiologische Dimensionen sind.',
259
+ '<strong>Untersuche den Effekt der Infektionsdauer:</strong> Vergleiche eine 4-tagige Infektionsdauer mit einer 18-tagigen bei gleichem R0. Die langere Dauer streckt die Kurve, verzogert die Spitze und erzeugt eine langere, aber niedrigere Welle.',
260
+ '<strong>Klassenraumubung - Finde die Schwelle:</strong> Bitte Schuler, die minimale Impfabdeckung zu finden, die Re bei einem gegebenen R0 unter 1 bringt, und vergleiche das Ergebnis mit der Formel 1 - 1/R0.',
261
+ ],
262
+ },
263
+ {
264
+ type: 'title',
265
+ text: 'Wann und warum dieser Simulator eingesetzt wird',
266
+ level: 3,
267
+ },
268
+ {
269
+ type: 'list',
270
+ items: [
271
+ '<strong>Epidemiologiestudierende:</strong> Verbinde das mathematische SIR-Grundgerust mit interaktiven Kurvenformen, bevor du mit Differentialgleichungen arbeitest oder eigene Modelle programmierst.',
272
+ '<strong>Wissenschaftskommunikatoren und Journalisten:</strong> Erstelle Diagramme, Screenshots oder Live-Erklarungen, die zeigen, warum R0, Impfung und Infektionsdauer fur den Verlauf von Ausbruchen wichtig sind.',
273
+ '<strong>Lernende im offentlichen Gesundheitswesen:</strong> Teste, wie verschiedene Interventionskombinationen die Epidemiespitze und Attack Rate verschieben, um ein Gefuhl fur die Zielkonflikte bei der Ausbruchsbekampfung zu entwickeln.',
274
+ '<strong>Alle, die neugierig auf Epidemiemathematik sind:</strong> Erkunde das SIR-Modell, ohne Code schreiben oder Software installieren zu mussen. Jeder Regler aktualisiert das Diagramm in Echtzeit.',
275
+ ],
276
+ },
277
+ {
278
+ type: 'title',
279
+ text: 'Modellerweiterungen: SEIR, SIRS und daruber hinaus',
280
+ level: 3,
281
+ },
282
+ {
283
+ type: 'paragraph',
284
+ html: 'Dieser Simulator verwendet eine einfache SIR-Struktur. Mehrere haufige Erweiterungen erhohen die Realitatsnahe. Ein <strong>SEIR-Modell</strong> fugt ein exponiertes (E)-Kompartiment fur Personen hinzu, die infiziert, aber noch nicht infektios sind - dies bildet die Inkubationszeit ab. Die exponierte Gruppe verschiebt die Epidemiespitze im Vergleich zum SIR-Modell nach au?en, da Infektionen Zeit in der Latenzphase verbringen, bevor sie zur Ubertragung beitragen.',
285
+ },
286
+ {
287
+ type: 'paragraph',
288
+ html: 'Ein <strong>SIRS-Modell</strong> ermoglicht es genesenen Personen, im Laufe der Zeit ihre Immunitat zu verlieren und wieder in das empfangliche Kompartiment einzutreten. Dies modelliert Erreger wie Keuchhusten oder SARS-CoV-2 mit nachlassender Immunitat und erzeugt anhaltende oder wiederkehrende Ausbruchswellen. Ein <strong>altersstrukturiertes Modell</strong> unterteilt die Bevolkerung in Altersgruppen mit unterschiedlichen Kontaktmatrizen und Schweregradprofilen, was fur Krankheiten wichtig ist, bei denen Kinder und altere Menschen sehr unterschiedliche Verlaufe haben.',
289
+ },
290
+ {
291
+ type: 'paragraph',
292
+ html: 'Weitere Erweiterungen fugen geografische Ausbreitung (Metapopulationsmodelle), Verhaltensanderungen (adaptive Kontaktraten), stochastisches Rauschen (fur kleine Bevolkerungen, bei denen zufalliges Aussterben eine Rolle spielt) und Interventionszeitpunkte (Schulschlie?ungen, Lockdowns, Reisebeschrankungen, die ein- und ausgeschaltet werden) hinzu. Jede Erweiterung fugt Komplexitat hinzu, die fur Vorhersagen unerlasslich ist, aber die zugrundeliegenden Ubertragungsdynamiken verdecken kann, die das einfache SIR-Modell klar veranschaulicht.',
293
+ },
294
+ {
295
+ type: 'title',
296
+ text: 'Grenzen dieses Epidemie-Simulators',
297
+ level: 3,
298
+ },
299
+ {
300
+ type: 'paragraph',
301
+ html: 'Dies ist ein kompaktes deterministisches SIR-Modell. Es enthalt keine Altersgruppen, Haushaltsstruktur, Schulen, Reisen, Superspreading, Inkubationszeiten, asymptomatische Ubertragung, Saisonalitat, Varianten, nachlassende Immunitat, Verhaltensanderungen, Testverzogerungen oder Public-Health-Ma?nahmen, die im Laufe der Zeit ein- und ausgeschaltet werden. Diese Details sind fur echte Vorhersagen unerlasslich.',
302
+ },
303
+ {
304
+ type: 'paragraph',
305
+ html: 'Das Modell geht von einer gut durchmischten Bevolkerung aus, bei der jede empfangliche Person die gleiche Kontaktwahrscheinlichkeit mit jeder infektiosen Person hat. Reale Bevolkerungen haben Kontaktnetzwerke mit starker Clusterung, Altersassortativitat, geografischer Struktur und individueller Variabilitat der Infektiositat. Diese Merkmale konnen langsameres anfangliches Wachstum, Superspreading-Ereignisse und heterogene Ausbruchsmuster erzeugen, die ein homogenes Modell nicht erfasst.',
306
+ },
307
+ {
308
+ type: 'paragraph',
309
+ html: 'Nutze den Simulator, um Mechanismen zu verstehen und Szenarien zu vergleichen, nicht um medizinische, politische oder Notfallentscheidungen zu treffen. Die reale Epidemiebewertung erfordert Uberwachungsdaten, lokalen Kontext, Unsicherheitsanalyse und spezialisierte epidemiologische Modellierung.',
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
+ };