@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,169 +1,170 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'radioactive-decay-half-life-calculator';
|
|
5
|
-
const title = '半減期と放射性崩壊の計算機';
|
|
6
|
-
const description = '実在の同位体、半減期の式、確率的な原子フィールド、残存量、相対放射能を使って放射性崩壊をシミュレーションします。';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{ name: '同位体を選ぶ', text: '炭素14、ヨウ素131、ウラン238、テクネチウム99m、ラドン222から始められます。各プリセットには現実的な半減期と代表的な用途が設定されています。' },
|
|
10
|
-
{ name: '試料と時間を設定する', text: '表示する原子数を調整し、時間を進めると、残存割合が半減期の指数法則に従う様子を確認できます。' },
|
|
11
|
-
{ name: '計算値と原子ごとの偶然性を比べる', text: '決定論的な値を期待値として使い、原子フィールドで小さな試料が理論曲線の周囲で揺らぐ理由を確認します。' },
|
|
12
|
-
{ name: '放射能を読む', text: '放射能は未崩壊の原子核数と同じ割合で低下するため、初期の放射線率に対してどれだけ残っているかが分かります。' },
|
|
13
|
-
];
|
|
14
|
-
|
|
15
|
-
const faq = [
|
|
16
|
-
{ question: '半減期とは何ですか?', answer: '半減期とは、不安定な原子核の半分が平均的に崩壊するまでの時間です。1半減期後に50%、2半減期後に25%、3半減期後に12.5%が残ります。' },
|
|
17
|
-
{ question: '原子フィールドが正確な割合と一致しないのはなぜですか?', answer: '放射性崩壊は確率的です。式は大きな試料の期待値を示し、原子フィールドは個々の原子にランダムなしきい値を与えてシミュレーションします。' },
|
|
18
|
-
{ question: '放射能メーターは残った原子数と同じですか?', answer: '単一の同位体では、放射能は未崩壊の原子核数に比例します。原子が30%残るなら、瞬間的な放射能もおよそ30%です。' },
|
|
19
|
-
{ question: '放射性炭素年代測定に使えますか?', answer: '概念理解には使えます。実際の年代測定では校正曲線、汚染、試料処理も補正します。' },
|
|
20
|
-
{ question: 'すべての同位体は1つの安定生成物に崩壊しますか?', answer: 'そうとは限りません。複数の娘生成物を含む崩壊系列をたどる同位体もあります。このツールは親同位体の半減期をモデル化します。' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
export const content: ToolLocaleContent = {
|
|
24
|
-
slug,
|
|
25
|
-
title,
|
|
26
|
-
description,
|
|
27
|
-
ui: {
|
|
28
|
-
isotope: '同位体',
|
|
29
|
-
sampleAtoms: '試料の原子数',
|
|
30
|
-
elapsedTime: '経過時間',
|
|
31
|
-
halfLife: '半減期',
|
|
32
|
-
remaining: '残存',
|
|
33
|
-
decayed: '崩壊済み',
|
|
34
|
-
activity: '相対放射能',
|
|
35
|
-
timeUnit: '時間単位',
|
|
36
|
-
expectedCurve: '期待曲線',
|
|
37
|
-
atomField: '原子フィールド',
|
|
38
|
-
presetUse: '主な用途',
|
|
39
|
-
oneHalfLife: '1半減期',
|
|
40
|
-
twoHalfLives: '2半減期',
|
|
41
|
-
fourHalfLives: '4半減期',
|
|
42
|
-
custom: 'カスタム',
|
|
43
|
-
liveAtoms: '未崩壊の原子',
|
|
44
|
-
decayedAtoms: '崩壊した原子',
|
|
45
|
-
resetSeed: '新しい原子パターン',
|
|
46
|
-
},
|
|
47
|
-
seo: [
|
|
48
|
-
{
|
|
49
|
-
type: 'title',
|
|
50
|
-
text: '放射性半減期計算機: 残存原子、放射能、同位体の例',
|
|
51
|
-
level: 2,
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
type: 'paragraph',
|
|
55
|
-
html: 'この放射性崩壊計算機では、不安定な同位体が一定時間後にどれだけ残るかを推定できます。半減期の式、実在の同位体への適用、残存する親核種、崩壊済み原子核、放射能の低下を調べる検索意図に対応します。',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
type: 'paragraph',
|
|
59
|
-
html: 'このツールは2つのモデルを組み合わせています。数値計算には標準的な指数崩壊方程式を用い、原子フィールドは個別原子核の確率的崩壊をシミュレートします。',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
type: 'title',
|
|
63
|
-
text: '使用する放射性崩壊の計算式',
|
|
64
|
-
level: 3,
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
type: 'paragraph',
|
|
68
|
-
html: '使用する式は <strong>N(t) = N0 x (1/2)^(t / T1/2)</strong> です。<strong>N0</strong> は初期の親原子核数、<strong>N(t)</strong> は時間 <strong>t</strong> 後の期待残存数、<strong>T1/2</strong> は半減期です。',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: 'paragraph',
|
|
72
|
-
html: '例えば1,000個の親原子核で始まり2半減期が経過した場合、期待される残存数は 1,000 x (1/2)^2 = 250個となります。崩壊した数量は750個です。',
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: 'table',
|
|
76
|
-
headers: ['経過時間', '係数', '残存する親核種', '相対放射能'],
|
|
77
|
-
rows: [
|
|
78
|
-
['0半減期', '(1/2)^0', '100%', '100%'],
|
|
79
|
-
['1半減期', '(1/2)^1', '50%', '50%'],
|
|
80
|
-
['2半減期', '(1/2)^2', '25%', '25%'],
|
|
81
|
-
['3半減期', '(1/2)^3', '12.5%', '12.5%'],
|
|
82
|
-
['5半減期', '(1/2)^5', '3.125%', '3.125%'],
|
|
83
|
-
['10半減期', '(1/2)^10', '0.098%', '0.098%'],
|
|
84
|
-
],
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
type: 'title',
|
|
88
|
-
text: '半減期後の残存放射能の計算方法',
|
|
89
|
-
level: 3,
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
type: 'paragraph',
|
|
93
|
-
html: '単一の親同位体では、放射能は未崩壊の原子核数に比例します。親同位体が25%残っている場合、放射能も初期値の約25%になります。',
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
type: 'paragraph',
|
|
97
|
-
html: 'この関係は核医学や放射線防護において重要です。',
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
type: 'title',
|
|
101
|
-
text: '例: 炭素14、ヨウ素131、テクネチウム99m、ウラン238、ラドン222',
|
|
102
|
-
level: 3,
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
type: 'table',
|
|
106
|
-
headers: ['同位体', 'およその半減期', '主な用途', '結果が示すこと'],
|
|
107
|
-
rows: [
|
|
108
|
-
['炭素14', '5,730年', '放射性炭素年代測定', '有機物に残る炭素14の放射能。'],
|
|
109
|
-
['ヨウ素131', '8.02日', '医療治療', '治療後数日で放射能が下がる速度。'],
|
|
110
|
-
['テクネチウム99m', '6.01時間', '診断画像', '診療日の中で有用な放射能が減衰する理由。'],
|
|
111
|
-
['ウラン238', '44.7億年', '地質年代測定', '長寿命同位体が地球史スケールで測定できる理由。'],
|
|
112
|
-
['ラドン222', '3.82日', '屋内被ばく', '気体被ばく源の変化。'],
|
|
113
|
-
],
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
type: 'paragraph',
|
|
117
|
-
html: 'これらの例は様々な時間スケールと用途を網羅しています。',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
type: 'title',
|
|
121
|
-
text: '確率的原子シミュレーションの読み方',
|
|
122
|
-
level: 3,
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
type: 'paragraph',
|
|
126
|
-
html: '原子フィールドは確率的にモデル化されています。小試料では統計的揺らぎが生じます。',
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
type: 'paragraph',
|
|
130
|
-
html: '滑らかな曲線は多数の独立した確率的イベントを集計したときに現れます。',
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
type: 'title',
|
|
134
|
-
text: '半減期計算機の活用事例',
|
|
135
|
-
level: 3,
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
type: 'list',
|
|
139
|
-
items: [
|
|
140
|
-
'<strong>物理教育:</strong> 残存核種の計算と視覚モデルの連結。',
|
|
141
|
-
'<strong>核化学:</strong> 同位体の安定性と崩壊速度の比較。',
|
|
142
|
-
'<strong>年代測定の直感:</strong> 有機試料の崩壊原理の理解。',
|
|
143
|
-
'<strong>医療同位体計画:</strong> 短半減期同位体の画像診断での活用。',
|
|
144
|
-
'<strong>放射線防護:</strong> 時間経過に伴う減衰の推定。',
|
|
145
|
-
],
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
type: 'title',
|
|
149
|
-
text: '重要な制限事項',
|
|
150
|
-
level: 3,
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
type: 'paragraph',
|
|
154
|
-
html: 'この計算機は親同位体を単一の半減期でモデル化します。',
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
type: 'paragraph',
|
|
158
|
-
html: '結果は教育的モデルおよび科学的見積もりとしてご利用ください。',
|
|
159
|
-
},
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'radioactive-decay-half-life-calculator';
|
|
5
|
+
const title = '半減期と放射性崩壊の計算機';
|
|
6
|
+
const description = '実在の同位体、半減期の式、確率的な原子フィールド、残存量、相対放射能を使って放射性崩壊をシミュレーションします。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: '同位体を選ぶ', text: '炭素14、ヨウ素131、ウラン238、テクネチウム99m、ラドン222から始められます。各プリセットには現実的な半減期と代表的な用途が設定されています。' },
|
|
10
|
+
{ name: '試料と時間を設定する', text: '表示する原子数を調整し、時間を進めると、残存割合が半減期の指数法則に従う様子を確認できます。' },
|
|
11
|
+
{ name: '計算値と原子ごとの偶然性を比べる', text: '決定論的な値を期待値として使い、原子フィールドで小さな試料が理論曲線の周囲で揺らぐ理由を確認します。' },
|
|
12
|
+
{ name: '放射能を読む', text: '放射能は未崩壊の原子核数と同じ割合で低下するため、初期の放射線率に対してどれだけ残っているかが分かります。' },
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const faq = [
|
|
16
|
+
{ question: '半減期とは何ですか?', answer: '半減期とは、不安定な原子核の半分が平均的に崩壊するまでの時間です。1半減期後に50%、2半減期後に25%、3半減期後に12.5%が残ります。' },
|
|
17
|
+
{ question: '原子フィールドが正確な割合と一致しないのはなぜですか?', answer: '放射性崩壊は確率的です。式は大きな試料の期待値を示し、原子フィールドは個々の原子にランダムなしきい値を与えてシミュレーションします。' },
|
|
18
|
+
{ question: '放射能メーターは残った原子数と同じですか?', answer: '単一の同位体では、放射能は未崩壊の原子核数に比例します。原子が30%残るなら、瞬間的な放射能もおよそ30%です。' },
|
|
19
|
+
{ question: '放射性炭素年代測定に使えますか?', answer: '概念理解には使えます。実際の年代測定では校正曲線、汚染、試料処理も補正します。' },
|
|
20
|
+
{ question: 'すべての同位体は1つの安定生成物に崩壊しますか?', answer: 'そうとは限りません。複数の娘生成物を含む崩壊系列をたどる同位体もあります。このツールは親同位体の半減期をモデル化します。' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
isotope: '同位体',
|
|
29
|
+
sampleAtoms: '試料の原子数',
|
|
30
|
+
elapsedTime: '経過時間',
|
|
31
|
+
halfLife: '半減期',
|
|
32
|
+
remaining: '残存',
|
|
33
|
+
decayed: '崩壊済み',
|
|
34
|
+
activity: '相対放射能',
|
|
35
|
+
timeUnit: '時間単位',
|
|
36
|
+
expectedCurve: '期待曲線',
|
|
37
|
+
atomField: '原子フィールド',
|
|
38
|
+
presetUse: '主な用途',
|
|
39
|
+
oneHalfLife: '1半減期',
|
|
40
|
+
twoHalfLives: '2半減期',
|
|
41
|
+
fourHalfLives: '4半減期',
|
|
42
|
+
custom: 'カスタム',
|
|
43
|
+
liveAtoms: '未崩壊の原子',
|
|
44
|
+
decayedAtoms: '崩壊した原子',
|
|
45
|
+
resetSeed: '新しい原子パターン',
|
|
46
|
+
},
|
|
47
|
+
seo: [
|
|
48
|
+
{
|
|
49
|
+
type: 'title',
|
|
50
|
+
text: '放射性半減期計算機: 残存原子、放射能、同位体の例',
|
|
51
|
+
level: 2,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: 'paragraph',
|
|
55
|
+
html: 'この放射性崩壊計算機では、不安定な同位体が一定時間後にどれだけ残るかを推定できます。半減期の式、実在の同位体への適用、残存する親核種、崩壊済み原子核、放射能の低下を調べる検索意図に対応します。',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: 'paragraph',
|
|
59
|
+
html: 'このツールは2つのモデルを組み合わせています。数値計算には標準的な指数崩壊方程式を用い、原子フィールドは個別原子核の確率的崩壊をシミュレートします。',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: 'title',
|
|
63
|
+
text: '使用する放射性崩壊の計算式',
|
|
64
|
+
level: 3,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'paragraph',
|
|
68
|
+
html: '使用する式は <strong>N(t) = N0 x (1/2)^(t / T1/2)</strong> です。<strong>N0</strong> は初期の親原子核数、<strong>N(t)</strong> は時間 <strong>t</strong> 後の期待残存数、<strong>T1/2</strong> は半減期です。',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html: '例えば1,000個の親原子核で始まり2半減期が経過した場合、期待される残存数は 1,000 x (1/2)^2 = 250個となります。崩壊した数量は750個です。',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'table',
|
|
76
|
+
headers: ['経過時間', '係数', '残存する親核種', '相対放射能'],
|
|
77
|
+
rows: [
|
|
78
|
+
['0半減期', '(1/2)^0', '100%', '100%'],
|
|
79
|
+
['1半減期', '(1/2)^1', '50%', '50%'],
|
|
80
|
+
['2半減期', '(1/2)^2', '25%', '25%'],
|
|
81
|
+
['3半減期', '(1/2)^3', '12.5%', '12.5%'],
|
|
82
|
+
['5半減期', '(1/2)^5', '3.125%', '3.125%'],
|
|
83
|
+
['10半減期', '(1/2)^10', '0.098%', '0.098%'],
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'title',
|
|
88
|
+
text: '半減期後の残存放射能の計算方法',
|
|
89
|
+
level: 3,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
type: 'paragraph',
|
|
93
|
+
html: '単一の親同位体では、放射能は未崩壊の原子核数に比例します。親同位体が25%残っている場合、放射能も初期値の約25%になります。',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html: 'この関係は核医学や放射線防護において重要です。',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: '例: 炭素14、ヨウ素131、テクネチウム99m、ウラン238、ラドン222',
|
|
102
|
+
level: 3,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'table',
|
|
106
|
+
headers: ['同位体', 'およその半減期', '主な用途', '結果が示すこと'],
|
|
107
|
+
rows: [
|
|
108
|
+
['炭素14', '5,730年', '放射性炭素年代測定', '有機物に残る炭素14の放射能。'],
|
|
109
|
+
['ヨウ素131', '8.02日', '医療治療', '治療後数日で放射能が下がる速度。'],
|
|
110
|
+
['テクネチウム99m', '6.01時間', '診断画像', '診療日の中で有用な放射能が減衰する理由。'],
|
|
111
|
+
['ウラン238', '44.7億年', '地質年代測定', '長寿命同位体が地球史スケールで測定できる理由。'],
|
|
112
|
+
['ラドン222', '3.82日', '屋内被ばく', '気体被ばく源の変化。'],
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'paragraph',
|
|
117
|
+
html: 'これらの例は様々な時間スケールと用途を網羅しています。',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'title',
|
|
121
|
+
text: '確率的原子シミュレーションの読み方',
|
|
122
|
+
level: 3,
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'paragraph',
|
|
126
|
+
html: '原子フィールドは確率的にモデル化されています。小試料では統計的揺らぎが生じます。',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'paragraph',
|
|
130
|
+
html: '滑らかな曲線は多数の独立した確率的イベントを集計したときに現れます。',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'title',
|
|
134
|
+
text: '半減期計算機の活用事例',
|
|
135
|
+
level: 3,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'list',
|
|
139
|
+
items: [
|
|
140
|
+
'<strong>物理教育:</strong> 残存核種の計算と視覚モデルの連結。',
|
|
141
|
+
'<strong>核化学:</strong> 同位体の安定性と崩壊速度の比較。',
|
|
142
|
+
'<strong>年代測定の直感:</strong> 有機試料の崩壊原理の理解。',
|
|
143
|
+
'<strong>医療同位体計画:</strong> 短半減期同位体の画像診断での活用。',
|
|
144
|
+
'<strong>放射線防護:</strong> 時間経過に伴う減衰の推定。',
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: '重要な制限事項',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'この計算機は親同位体を単一の半減期でモデル化します。',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: '結果は教育的モデルおよび科学的見積もりとしてご利用ください。',
|
|
159
|
+
},
|
|
160
|
+
{ type: 'paragraph', html: 'この説明ではモデルの前提と、入力値が結果を変える仕組みを整理します。変数を一つずつ変更して複数回比較すると、差の原因を確認しやすくなります。表示は学習用の近似であり、実際の系には追加の変数、測定誤差、境界条件があります。数値は規模や傾向を理解するために使い、実務や研究では一次データ、単位、専門資料も確認してください。設定を記録すると計算を再現し、モデルの限界も検討できます。' },
|
|
160
161
|
],
|
|
161
162
|
faq,
|
|
162
|
-
bibliography,
|
|
163
|
-
howTo,
|
|
164
|
-
schemas: [
|
|
165
|
-
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ScientificApplication', operatingSystem: 'Any' },
|
|
166
|
-
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
167
|
-
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
168
|
-
],
|
|
169
|
-
};
|
|
163
|
+
bibliography,
|
|
164
|
+
howTo,
|
|
165
|
+
schemas: [
|
|
166
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ScientificApplication', operatingSystem: 'Any' },
|
|
167
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
168
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
169
|
+
],
|
|
170
|
+
};
|