@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.
- package/package.json +2 -2
- package/src/category/i18n/es.ts +3 -4
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/index.ts +25 -25
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/env.d.ts +1 -1
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +24 -24
- package/src/tests/seo_parity.test.ts +5 -5
- package/src/tests/seo_translation_completeness.test.ts +76 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/spanish_leakage.test.ts +175 -153
- package/src/tool/asteroid-impact/component.astro +251 -251
- package/src/tool/asteroid-impact/helpers.ts +17 -17
- package/src/tool/asteroid-impact/i18n/de.ts +2 -2
- package/src/tool/asteroid-impact/i18n/en.ts +2 -2
- package/src/tool/asteroid-impact/i18n/es.ts +2 -2
- package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/id.ts +2 -2
- package/src/tool/asteroid-impact/i18n/it.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
- package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
- package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
- package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
- package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
- package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
- package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
- package/src/tool/asteroid-impact/script.ts +262 -262
- package/src/tool/asteroid-impact/seo.astro +15 -15
- package/src/tool/asteroid-impact/ui.ts +69 -69
- package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
- package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
- package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
- package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
- package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
- package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
- package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
- package/src/tool/cellular-renewal/component.astro +126 -126
- package/src/tool/cellular-renewal/i18n/de.ts +1 -1
- package/src/tool/cellular-renewal/i18n/en.ts +1 -1
- package/src/tool/cellular-renewal/i18n/es.ts +1 -1
- package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/id.ts +1 -1
- package/src/tool/cellular-renewal/i18n/it.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
- package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
- package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
- package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
- package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
- package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
- package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
- package/src/tool/cellular-renewal/seo.astro +15 -15
- package/src/tool/colony-counter/i18n/de.ts +1 -1
- package/src/tool/colony-counter/i18n/en.ts +1 -1
- package/src/tool/colony-counter/i18n/es.ts +1 -1
- package/src/tool/colony-counter/i18n/fr.ts +1 -1
- package/src/tool/colony-counter/i18n/id.ts +1 -1
- package/src/tool/colony-counter/i18n/it.ts +1 -1
- package/src/tool/colony-counter/i18n/ja.ts +1 -1
- package/src/tool/colony-counter/i18n/ko.ts +1 -1
- package/src/tool/colony-counter/i18n/nl.ts +1 -1
- package/src/tool/colony-counter/i18n/pl.ts +1 -1
- package/src/tool/colony-counter/i18n/pt.ts +1 -1
- package/src/tool/colony-counter/i18n/ru.ts +1 -1
- package/src/tool/colony-counter/i18n/sv.ts +1 -1
- package/src/tool/colony-counter/i18n/tr.ts +1 -1
- package/src/tool/colony-counter/i18n/zh.ts +1 -1
- package/src/tool/colony-counter/seo.astro +15 -15
- package/src/tool/conway-life-rule-lab/component.astro +1 -1
- package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
- package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
- package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
- package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
- package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
- package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
- package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
- package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
- package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
- package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
- package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
- package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
- package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
- package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
- package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
- package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
- package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
- package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
- package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
- package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
- package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
- package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
- package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
- package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
- package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
- package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
- package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
- package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
- package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
- package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
- package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
- package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
- package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
- package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
- package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
- package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
- package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
- package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
- package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
- package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
- package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
- package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
- package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
- package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
- package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
- package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
- package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
- package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
- package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
- package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
- package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
- package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
- package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
- package/src/tool/microwave-detector/component.astro +238 -238
- package/src/tool/microwave-detector/i18n/de.ts +1 -1
- package/src/tool/microwave-detector/i18n/en.ts +1 -1
- package/src/tool/microwave-detector/i18n/es.ts +1 -1
- package/src/tool/microwave-detector/i18n/fr.ts +1 -1
- package/src/tool/microwave-detector/i18n/id.ts +1 -1
- package/src/tool/microwave-detector/i18n/it.ts +1 -1
- package/src/tool/microwave-detector/i18n/ja.ts +1 -1
- package/src/tool/microwave-detector/i18n/ko.ts +1 -1
- package/src/tool/microwave-detector/i18n/nl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pl.ts +1 -1
- package/src/tool/microwave-detector/i18n/pt.ts +1 -1
- package/src/tool/microwave-detector/i18n/ru.ts +1 -1
- package/src/tool/microwave-detector/i18n/sv.ts +1 -1
- package/src/tool/microwave-detector/i18n/tr.ts +1 -1
- package/src/tool/microwave-detector/i18n/zh.ts +1 -1
- package/src/tool/microwave-detector/seo.astro +15 -15
- package/src/tool/natural-selection-drift/component.astro +135 -135
- package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
- package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
- package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
- package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
- package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
- package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
- package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
- package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
- package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
- package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
- package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
- package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
- package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
- package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
- package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
- package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
- package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
- package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
- package/src/tool/radioactive-decay/i18n/de.ts +168 -164
- package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
- package/src/tool/radioactive-decay/i18n/id.ts +169 -165
- package/src/tool/radioactive-decay/i18n/it.ts +76 -74
- package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
- package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
- package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
- package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
- package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
- package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
- package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
- package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
- package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
- package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
- package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
- package/src/tool/simulation-probability/component.astro +138 -138
- package/src/tool/simulation-probability/i18n/de.ts +1 -1
- package/src/tool/simulation-probability/i18n/en.ts +1 -1
- package/src/tool/simulation-probability/i18n/es.ts +1 -1
- package/src/tool/simulation-probability/i18n/fr.ts +1 -1
- package/src/tool/simulation-probability/i18n/id.ts +1 -1
- package/src/tool/simulation-probability/i18n/it.ts +1 -1
- package/src/tool/simulation-probability/i18n/ja.ts +1 -1
- package/src/tool/simulation-probability/i18n/ko.ts +1 -1
- package/src/tool/simulation-probability/i18n/nl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pl.ts +1 -1
- package/src/tool/simulation-probability/i18n/pt.ts +1 -1
- package/src/tool/simulation-probability/i18n/ru.ts +1 -1
- package/src/tool/simulation-probability/i18n/sv.ts +1 -1
- package/src/tool/simulation-probability/i18n/tr.ts +1 -1
- package/src/tool/simulation-probability/i18n/zh.ts +1 -1
- package/src/tool/simulation-probability/seo.astro +15 -15
- package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
- package/src/tool/temperature-timeline/i18n/de.ts +2 -1
- package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
- package/src/tool/temperature-timeline/i18n/it.ts +142 -141
- package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
- package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
- package/src/tool/three-body-problem/app.ts +4 -4
- package/src/tool/three-body-problem/component.astro +6 -6
- package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
- package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
- package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
- package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
- package/src/types.ts +1 -1
|
@@ -1,198 +1,202 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { NaturalSelectionLocaleContent } from '../entry';
|
|
3
|
-
|
|
4
|
-
const slug = 'simulatore-selezione-naturale-deriva-genetica';
|
|
5
|
-
const title = 'Simulatore di selezione naturale e deriva genetica';
|
|
6
|
-
const description =
|
|
7
|
-
'Guarda in tempo reale come pressione selettiva, mutazione, deriva e riproduzione cambiano le frequenze alleliche.';
|
|
8
|
-
|
|
9
|
-
const howTo = [
|
|
10
|
-
{
|
|
11
|
-
name: 'Imposta la popolazione',
|
|
12
|
-
text: 'Scegli una popolazione piccola o grande per vedere come il campione influenza la stabilità evolutiva.',
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: 'Regola selezione e deriva',
|
|
16
|
-
text: 'Aumenta la pressione selettiva o la deriva per osservare traiettorie evolutive diverse.',
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
name: 'Segui le generazioni',
|
|
20
|
-
text: 'Avvia la simulazione e confronta il tratto dominante, la fitness e la diversità nel tempo.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: 'Interpreta i risultati',
|
|
24
|
-
text: 'Usa le metriche per capire quando vince l\'adattamento e quando domina il caso.',
|
|
25
|
-
},
|
|
26
|
-
];
|
|
27
|
-
|
|
28
|
-
const faq = [
|
|
29
|
-
{
|
|
30
|
-
question: 'Qual è la differenza tra selezione naturale e deriva genetica?',
|
|
31
|
-
answer:
|
|
32
|
-
'La selezione naturale non è casuale: i tratti vantaggiosi diventano più comuni perché aumentano la fitness. La deriva genetica è una variazione casuale delle frequenze alleliche, un fenomeno molto più marcato nelle popolazioni piccole.',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
question: 'Perché le popolazioni piccole cambiano più velocemente?',
|
|
36
|
-
answer:
|
|
37
|
-
'Con pochi individui, il campionamento casuale ha un impatto molto più grande sulla composizione genetica della generazione successiva.',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
question: 'La deriva può superare la selezione?',
|
|
41
|
-
answer:
|
|
42
|
-
'Sì. Un tratto vantaggioso può sparire per caso se la deriva genetica è sufficientemente forte, annullando il vantaggio selettivo.',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
question: 'Cosa significa "fitness" in questo simulatore?',
|
|
46
|
-
answer:
|
|
47
|
-
'La fitness è un punteggio semplificato che indica quanto bene la popolazione è adattata all\'ambiente scelto nel simulatore.',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
question: 'Perché la dimensione della popolazione è importante?',
|
|
51
|
-
answer:
|
|
52
|
-
'Determina quanto le fluttuazioni casuali influenzano le frequenze alleliche.',
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
question: 'Quando dovrei usare questo simulatore?',
|
|
56
|
-
answer:
|
|
57
|
-
'Quando vuoi capire l\'intuizione dietro l\'evoluzione, specialmente la differenza tra selezione e deriva.',
|
|
58
|
-
},
|
|
59
|
-
];
|
|
60
|
-
|
|
61
|
-
export const content: NaturalSelectionLocaleContent = {
|
|
62
|
-
slug,
|
|
63
|
-
title,
|
|
64
|
-
description,
|
|
65
|
-
ui: {
|
|
66
|
-
population: 'Dimensione della popolazione',
|
|
67
|
-
generations: 'Generazioni',
|
|
68
|
-
mutationRate: 'Tasso di mutazione',
|
|
69
|
-
selectionPressure: 'Pressione selettiva',
|
|
70
|
-
driftIntensity: 'Intensità della deriva',
|
|
71
|
-
alleleCount: 'Alleli iniziali',
|
|
72
|
-
innovationRate: 'Tasso di innovazione',
|
|
73
|
-
run: 'Avvia simulazione',
|
|
74
|
-
dominantTrait: 'Tratto dominante',
|
|
75
|
-
fitness: 'Fitness finale',
|
|
76
|
-
diversity: 'Diversità genetica',
|
|
77
|
-
evolutionConsole: 'Console evolutiva',
|
|
78
|
-
populationLabel: 'Popolazione',
|
|
79
|
-
aliveLabel: 'vivi',
|
|
80
|
-
alleleCountsLabel: 'Conteggio alleli',
|
|
81
|
-
alleleDefault: 'Allele 1',
|
|
82
|
-
populationValueLabel: 'Popolazione',
|
|
83
|
-
},
|
|
84
|
-
seo: [
|
|
85
|
-
{
|
|
86
|
-
type: 'title',
|
|
87
|
-
text: 'Selezione naturale vs deriva genetica: capire l\'evoluzione con una popolazione viva',
|
|
88
|
-
level: 2,
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
type: 'paragraph',
|
|
92
|
-
html: 'Se vuoi capire la differenza tra selezione naturale e deriva genetica, questo simulatore ti offre la prospettiva visiva che spesso manca nei libri di testo.',
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
type: 'title',
|
|
96
|
-
text: 'Cosa significano i controlli e perché sono importanti',
|
|
97
|
-
level: 3,
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
type: 'paragraph',
|
|
101
|
-
html: 'La selezione naturale aumenta la frequenza dei tratti vantaggiosi. La deriva genetica modifica le frequenze alleliche in modo puramente stocastico.',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
type: 'paragraph',
|
|
105
|
-
html: 'Le due forze agiscono costantemente insieme: nelle popolazioni ampie la selezione domina, mentre in quelle ridotte il caso può cancellare tratti anche molto utili.',
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
type: 'title',
|
|
109
|
-
text: 'Come leggere i risultati della simulazione',
|
|
110
|
-
level: 3,
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
type: 'paragraph',
|
|
114
|
-
html: 'Le metriche in tempo reale mostrano il tratto dominante, la diversità genetica, la fitness finale e lo stato della popolazione.',
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
type: 'title',
|
|
118
|
-
text: 'Perché la dimensione della popolazione cambia l\'evoluzione',
|
|
119
|
-
level: 3,
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
type: 'list',
|
|
123
|
-
items: [
|
|
124
|
-
'<strong>Pressione selettiva:</strong> Quanto l\'ambiente favorisce un tratto.',
|
|
125
|
-
'<strong>Intensità della deriva:</strong> Il rumore casuale del campionamento.',
|
|
126
|
-
'<strong>Tasso di mutazione:</strong> La frequenza di comparsa di nuove varianti.',
|
|
127
|
-
'<strong>Numero di alleli:</strong> La diversità iniziale nel sistema.',
|
|
128
|
-
'<strong>Diversità genetica:</strong> La materia prima per l\'adattamento.',
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
type: 'paragraph',
|
|
133
|
-
html: 'Un utile strumento pratico per comprendere selezione, deriva e mutazioni nei sistemi biologici.',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: 'title',
|
|
137
|
-
text: 'Esempi rapidi da provare',
|
|
138
|
-
level: 3,
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
type: 'table',
|
|
142
|
-
headers: ['Obiettivo', 'Modifica', 'Risultato atteso'],
|
|
143
|
-
rows: [
|
|
144
|
-
[
|
|
145
|
-
'Mostrare la selezione',
|
|
146
|
-
'Aumenta pressione selettiva e riduci deriva',
|
|
147
|
-
'Un allele domina gradualmente',
|
|
148
|
-
],
|
|
149
|
-
[
|
|
150
|
-
'Mostrare la deriva',
|
|
151
|
-
'Riduci popolazione e aumenta deriva',
|
|
152
|
-
'Fluttuazioni casuali degli alleli',
|
|
153
|
-
],
|
|
154
|
-
[
|
|
155
|
-
'Mostrare le mutazioni',
|
|
156
|
-
'Aumenta il tasso di mutazione',
|
|
157
|
-
'Nuovi alleli compaiono regolarmente',
|
|
158
|
-
],
|
|
159
|
-
],
|
|
160
|
-
},
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { NaturalSelectionLocaleContent } from '../entry';
|
|
3
|
+
|
|
4
|
+
const slug = 'simulatore-selezione-naturale-deriva-genetica';
|
|
5
|
+
const title = 'Simulatore di selezione naturale e deriva genetica';
|
|
6
|
+
const description =
|
|
7
|
+
'Guarda in tempo reale come pressione selettiva, mutazione, deriva e riproduzione cambiano le frequenze alleliche.';
|
|
8
|
+
|
|
9
|
+
const howTo = [
|
|
10
|
+
{
|
|
11
|
+
name: 'Imposta la popolazione',
|
|
12
|
+
text: 'Scegli una popolazione piccola o grande per vedere come il campione influenza la stabilità evolutiva.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'Regola selezione e deriva',
|
|
16
|
+
text: 'Aumenta la pressione selettiva o la deriva per osservare traiettorie evolutive diverse.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'Segui le generazioni',
|
|
20
|
+
text: 'Avvia la simulazione e confronta il tratto dominante, la fitness e la diversità nel tempo.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'Interpreta i risultati',
|
|
24
|
+
text: 'Usa le metriche per capire quando vince l\'adattamento e quando domina il caso.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const faq = [
|
|
29
|
+
{
|
|
30
|
+
question: 'Qual è la differenza tra selezione naturale e deriva genetica?',
|
|
31
|
+
answer:
|
|
32
|
+
'La selezione naturale non è casuale: i tratti vantaggiosi diventano più comuni perché aumentano la fitness. La deriva genetica è una variazione casuale delle frequenze alleliche, un fenomeno molto più marcato nelle popolazioni piccole.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Perché le popolazioni piccole cambiano più velocemente?',
|
|
36
|
+
answer:
|
|
37
|
+
'Con pochi individui, il campionamento casuale ha un impatto molto più grande sulla composizione genetica della generazione successiva.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
question: 'La deriva può superare la selezione?',
|
|
41
|
+
answer:
|
|
42
|
+
'Sì. Un tratto vantaggioso può sparire per caso se la deriva genetica è sufficientemente forte, annullando il vantaggio selettivo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'Cosa significa "fitness" in questo simulatore?',
|
|
46
|
+
answer:
|
|
47
|
+
'La fitness è un punteggio semplificato che indica quanto bene la popolazione è adattata all\'ambiente scelto nel simulatore.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
question: 'Perché la dimensione della popolazione è importante?',
|
|
51
|
+
answer:
|
|
52
|
+
'Determina quanto le fluttuazioni casuali influenzano le frequenze alleliche.',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
question: 'Quando dovrei usare questo simulatore?',
|
|
56
|
+
answer:
|
|
57
|
+
'Quando vuoi capire l\'intuizione dietro l\'evoluzione, specialmente la differenza tra selezione e deriva.',
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
export const content: NaturalSelectionLocaleContent = {
|
|
62
|
+
slug,
|
|
63
|
+
title,
|
|
64
|
+
description,
|
|
65
|
+
ui: {
|
|
66
|
+
population: 'Dimensione della popolazione',
|
|
67
|
+
generations: 'Generazioni',
|
|
68
|
+
mutationRate: 'Tasso di mutazione',
|
|
69
|
+
selectionPressure: 'Pressione selettiva',
|
|
70
|
+
driftIntensity: 'Intensità della deriva',
|
|
71
|
+
alleleCount: 'Alleli iniziali',
|
|
72
|
+
innovationRate: 'Tasso di innovazione',
|
|
73
|
+
run: 'Avvia simulazione',
|
|
74
|
+
dominantTrait: 'Tratto dominante',
|
|
75
|
+
fitness: 'Fitness finale',
|
|
76
|
+
diversity: 'Diversità genetica',
|
|
77
|
+
evolutionConsole: 'Console evolutiva',
|
|
78
|
+
populationLabel: 'Popolazione',
|
|
79
|
+
aliveLabel: 'vivi',
|
|
80
|
+
alleleCountsLabel: 'Conteggio alleli',
|
|
81
|
+
alleleDefault: 'Allele 1',
|
|
82
|
+
populationValueLabel: 'Popolazione',
|
|
83
|
+
},
|
|
84
|
+
seo: [
|
|
85
|
+
{
|
|
86
|
+
type: 'title',
|
|
87
|
+
text: 'Selezione naturale vs deriva genetica: capire l\'evoluzione con una popolazione viva',
|
|
88
|
+
level: 2,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'paragraph',
|
|
92
|
+
html: 'Se vuoi capire la differenza tra selezione naturale e deriva genetica, questo simulatore ti offre la prospettiva visiva che spesso manca nei libri di testo.',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: 'title',
|
|
96
|
+
text: 'Cosa significano i controlli e perché sono importanti',
|
|
97
|
+
level: 3,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: 'La selezione naturale aumenta la frequenza dei tratti vantaggiosi. La deriva genetica modifica le frequenze alleliche in modo puramente stocastico.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'paragraph',
|
|
105
|
+
html: 'Le due forze agiscono costantemente insieme: nelle popolazioni ampie la selezione domina, mentre in quelle ridotte il caso può cancellare tratti anche molto utili.',
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'title',
|
|
109
|
+
text: 'Come leggere i risultati della simulazione',
|
|
110
|
+
level: 3,
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Le metriche in tempo reale mostrano il tratto dominante, la diversità genetica, la fitness finale e lo stato della popolazione.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'title',
|
|
118
|
+
text: 'Perché la dimensione della popolazione cambia l\'evoluzione',
|
|
119
|
+
level: 3,
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'list',
|
|
123
|
+
items: [
|
|
124
|
+
'<strong>Pressione selettiva:</strong> Quanto l\'ambiente favorisce un tratto.',
|
|
125
|
+
'<strong>Intensità della deriva:</strong> Il rumore casuale del campionamento.',
|
|
126
|
+
'<strong>Tasso di mutazione:</strong> La frequenza di comparsa di nuove varianti.',
|
|
127
|
+
'<strong>Numero di alleli:</strong> La diversità iniziale nel sistema.',
|
|
128
|
+
'<strong>Diversità genetica:</strong> La materia prima per l\'adattamento.',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Un utile strumento pratico per comprendere selezione, deriva e mutazioni nei sistemi biologici.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
|
+
text: 'Esempi rapidi da provare',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'table',
|
|
142
|
+
headers: ['Obiettivo', 'Modifica', 'Risultato atteso'],
|
|
143
|
+
rows: [
|
|
144
|
+
[
|
|
145
|
+
'Mostrare la selezione',
|
|
146
|
+
'Aumenta pressione selettiva e riduci deriva',
|
|
147
|
+
'Un allele domina gradualmente',
|
|
148
|
+
],
|
|
149
|
+
[
|
|
150
|
+
'Mostrare la deriva',
|
|
151
|
+
'Riduci popolazione e aumenta deriva',
|
|
152
|
+
'Fluttuazioni casuali degli alleli',
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
'Mostrare le mutazioni',
|
|
156
|
+
'Aumenta il tasso di mutazione',
|
|
157
|
+
'Nuovi alleli compaiono regolarmente',
|
|
158
|
+
],
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
161
|
{
|
|
162
162
|
type: 'paragraph',
|
|
163
163
|
html: 'La combinazione di immagini in tempo reale e metriche semplifica la comprensione dei meccanismi evolutivi.',
|
|
164
164
|
},
|
|
165
|
-
],
|
|
166
|
-
faq,
|
|
167
|
-
bibliography,
|
|
168
|
-
howTo,
|
|
169
|
-
schemas: [
|
|
170
|
-
{
|
|
171
|
-
'@context': 'https://schema.org',
|
|
172
|
-
'@type': 'SoftwareApplication',
|
|
173
|
-
name: title,
|
|
174
|
-
description,
|
|
175
|
-
applicationCategory: 'EducationalApplication',
|
|
176
|
-
operatingSystem: 'Any',
|
|
177
|
-
},
|
|
178
165
|
{
|
|
179
|
-
|
|
180
|
-
'
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
{
|
|
188
|
-
'@context': 'https://schema.org',
|
|
189
|
-
'@type': '
|
|
190
|
-
name: title,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Modifica la dimensione della popolazione, il vantaggio di fitness e la distribuzione iniziale per osservare i due processi separatamente. La selezione dipende da diverse probabilità riproduttive, mentre la deriva nasce dal campionamento casuale ed è più visibile nelle popolazioni piccole. Ripeti le simulazioni con gli stessi parametri e confronta più esecuzioni: un singolo risultato non predice una popolazione reale. Il modello aiuta a distinguere un tratto favorito da un tratto conservato per caso, ma non include tutte le mutazioni, migrazioni, modalità di accoppiamento e pressioni ambientali. Osserva la frequenza degli alleli nel tempo e annota se la variazione deriva da un vantaggio riproduttivo o da una fluttuazione casuale. In questo modo la visualizzazione collega definizioni, probabilità e dinamica delle popolazioni senza trasformare un esempio in una conclusione biologica generale.',
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
faq,
|
|
171
|
+
bibliography,
|
|
172
|
+
howTo,
|
|
173
|
+
schemas: [
|
|
174
|
+
{
|
|
175
|
+
'@context': 'https://schema.org',
|
|
176
|
+
'@type': 'SoftwareApplication',
|
|
177
|
+
name: title,
|
|
178
|
+
description,
|
|
179
|
+
applicationCategory: 'EducationalApplication',
|
|
180
|
+
operatingSystem: 'Any',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
'@context': 'https://schema.org',
|
|
184
|
+
'@type': 'FAQPage',
|
|
185
|
+
mainEntity: faq.map((item) => ({
|
|
186
|
+
'@type': 'Question',
|
|
187
|
+
name: item.question,
|
|
188
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
189
|
+
})),
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
'@context': 'https://schema.org',
|
|
193
|
+
'@type': 'HowTo',
|
|
194
|
+
name: title,
|
|
195
|
+
step: howTo.map((step) => ({
|
|
196
|
+
'@type': 'HowToStep',
|
|
197
|
+
name: step.name,
|
|
198
|
+
text: step.text,
|
|
199
|
+
})),
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
};
|