@jjlmoya/utils-science 1.51.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -175
- 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,195 +1,199 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'dyson-sphere-energy-capture';
|
|
5
|
-
const title = 'ダイソン球エネルギー捕獲シミュレータ';
|
|
6
|
-
const description = 'ダイソン群、赤道リング、剛体シェル、ステイタイト鏡雲などの巨大大規模構造の設計を比較評価します。捕獲電力、熱軌道半径、必要資材質量、カルダシェフ目標達成率を算出します。';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{
|
|
10
|
-
name: '恒星タイプを選択',
|
|
11
|
-
text: 'M型矮星、太陽型G型星、A型星、赤色巨星、青色巨星から選択します。シミュレータは代表的な光度と質量を用いて軌道半径と周期を算出します。',
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'メガストラクチャ建築を選択',
|
|
15
|
-
text: 'ダイソン群、赤道リング、剛体シェル、ステイタイト鏡雲を比較します。それぞれ捕獲効率や必要資材密度が異なります。',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'カバー率と動作温度を設定',
|
|
19
|
-
text: 'カバー率を上げて捕獲電力を増やし、動作温度を調整してコレクターを恒星に近づけたり遠ざけたりします。',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'カルダシェフ目標を設定',
|
|
23
|
-
text: '目標スライダーを操作して、文明スケールのエネルギー目標達成に必要な恒星光度のカバー割合を確認します。',
|
|
24
|
-
},
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const faq = [
|
|
28
|
-
{
|
|
29
|
-
question: 'ダイソン球とダイソン群の違いは何ですか?',
|
|
30
|
-
answer: '剛体ダイソン球は恒星を完全に覆う一体系のシェルですが、ダイソン群は周回する独立した多数のコレクター集合体です。工学的には剛体シェルは構造的に不安定で莫大な資材を要するため、ダイソン群が選ばれます。',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: '最適軌道半径はどのように計算されますか?',
|
|
34
|
-
answer: '両面から放熱するコレクターが、指定された恒星光度の下で設定動作温度に達する距離を推定します。高温動作可能なコレクターほど内側の軌道をとることができます。',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
question: 'ここでのカルダシェフ評価とは何を意味しますか?',
|
|
38
|
-
answer: '捕獲ワット数から公式 K = (log10(P) - 6) / 10 を用いて対数スケールで算出した評価値です。K1付近は惑星規模、K2は恒星出力をほぼ全量利用する段階を示します。',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
question: '計算される資材質量は現実的ですか?',
|
|
42
|
-
answer: 'これは面積と面積密度に基づく一次の教育的試算です。実際の設計では軌道維持、送電システム、製造インフラ等の追加質量が必要になります。',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
question: 'なぜ高光度な恒星ほど巨大なコレクターが必要なのですか?',
|
|
46
|
-
answer: '光度が高い恒星は熱的に安全な半径が外側に押し出されます。距離の二乗に比例して必要な表面積が増大するため、資材需要が急増します。',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
question: '部分的なカバー率でカルダシェフII型に達することは可能ですか?',
|
|
50
|
-
answer: 'はい。主星が十分に明るく高効率なコレクターであれば、一部のカバー率だけでもII型のエネルギー目標に達することが可能です。',
|
|
51
|
-
},
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
export const content: ToolLocaleContent = {
|
|
55
|
-
slug,
|
|
56
|
-
title,
|
|
57
|
-
description,
|
|
58
|
-
ui: {
|
|
59
|
-
visualization: 'ダイソンコレクター可視化',
|
|
60
|
-
starType: '恒星の種類',
|
|
61
|
-
structureType: '構造',
|
|
62
|
-
coverage: 'コレクターカバレッジ',
|
|
63
|
-
operatingTemp: '動作温度',
|
|
64
|
-
kardashevTarget: 'カルダシェフ目標',
|
|
65
|
-
kardashevRating: '現在の評価',
|
|
66
|
-
capturedPower: '捕捉電力',
|
|
67
|
-
optimalRadius: '最適半径',
|
|
68
|
-
targetCoverage: '目標カバレッジ',
|
|
69
|
-
materialMass: '材料質量',
|
|
70
|
-
captureMeter: '目標捕捉進捗',
|
|
71
|
-
statusReady: 'システムを調整してコレクター需要を推定してください。',
|
|
72
|
-
statusUnderbuilt: 'カバレッジが選択した目標を下回っています。',
|
|
73
|
-
statusBalanced: 'カバレッジは選択した目標に近い状態です。',
|
|
74
|
-
statusExtreme: 'この構成は目標を大幅に上回っています。',
|
|
75
|
-
orbitalPeriod: '軌道周期',
|
|
76
|
-
collectorArea: 'コレクター面積',
|
|
77
|
-
mercuryMasses: '{value} 水星質量',
|
|
78
|
-
kilograms: '{value} kg',
|
|
79
|
-
daysUnit: '{value} 日',
|
|
80
|
-
starMDwarf: 'M型矮星',
|
|
81
|
-
starSun: '太陽型G型星',
|
|
82
|
-
starA: 'A型星',
|
|
83
|
-
starRedGiant: '赤色巨星',
|
|
84
|
-
starBlueGiant: '青色巨星',
|
|
85
|
-
structureSwarm: 'ダイソン群',
|
|
86
|
-
structureRing: '赤道リング',
|
|
87
|
-
structureShell: '剛体シェル',
|
|
88
|
-
structureStatite: 'ステイタイトミラー雲',
|
|
89
|
-
},
|
|
90
|
-
seo: [
|
|
91
|
-
{
|
|
92
|
-
type: 'title',
|
|
93
|
-
text: 'ダイソン球エネルギー捕獲シミュレータ',
|
|
94
|
-
level: 2,
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
type: 'paragraph',
|
|
98
|
-
html: 'ダイソン球は単なるSFの妄想ではありません。衛星群、赤道リング、ステイタイト鏡雲など、恒星光度を捉える様々なメガストラクチャ概念の総称です。',
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
type: 'paragraph',
|
|
102
|
-
html: '本ツールは捕獲電力、熱軌道半径、必要面積、軌道周期、資材質量、カルダシェフ目標数値を数値化して提示します。',
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
type: 'title',
|
|
106
|
-
text: 'ダイソン半径の推定方法',
|
|
107
|
-
level: 3,
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
type: 'paragraph',
|
|
111
|
-
html: '最適半径は恒星光度とコレクター動作温度から計算されます。恒星に近いほど強力な熱放射を受けるため放熱能力が求められます。',
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
type: 'title',
|
|
115
|
-
text: '各構造タイプの比較',
|
|
116
|
-
level: 3,
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
type: 'list',
|
|
120
|
-
items: [
|
|
121
|
-
'<strong>ダイソン群:</strong> 独立周回する多数のコレクター。段階的建造が可能な最も現実的なモデル。',
|
|
122
|
-
'<strong>赤道リング:</strong> 赤道上に配置する帯状構造。初期構築が容易。',
|
|
123
|
-
'<strong>剛体シェル:</strong> 全全方位を覆う球体。構造的応力と力学的安定性に課題が存在。',
|
|
124
|
-
'<strong>ステイタイト鏡雲:</strong> 輻射圧で静止維持する超軽量ミラー構造。',
|
|
125
|
-
],
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
type: 'title',
|
|
129
|
-
text: 'カルダシェフ・スケールとカバー率',
|
|
130
|
-
level: 3,
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
type: 'paragraph',
|
|
134
|
-
html: 'カルダシェフ指標は文明の利用エネルギーを対数表示したものです。太陽の数%を覆うだけでも人類の現消費量を何桁も上回ります。',
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
type: 'table',
|
|
138
|
-
headers: ['構造タイプ', '主な利点', '主なボトルネック'],
|
|
139
|
-
rows: [
|
|
140
|
-
['ダイソン群', '段階的構築が可能', '軌道管理と送電ビーム制御'],
|
|
141
|
-
['赤道リング', '初期面積が少ない', 'カバーエリアの限定'],
|
|
142
|
-
['剛体シェル', '理論上の最高捕獲効率', '構造的不安定性と膨大な必要質量'],
|
|
143
|
-
['ステイタイト鏡雲', '面密度が極めて低い', '精密な姿勢制御と熱限界'],
|
|
144
|
-
],
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
type: 'title',
|
|
148
|
-
text: '必要資材質量と資源採掘の試算',
|
|
149
|
-
level: 3,
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
type: 'paragraph',
|
|
153
|
-
html: '必要資材は水星質量単位で表示されます。多くの巨大大規模構造計画では水星等の小惑星を解体して資材化することが想定されます。',
|
|
154
|
-
},
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'dyson-sphere-energy-capture';
|
|
5
|
+
const title = 'ダイソン球エネルギー捕獲シミュレータ';
|
|
6
|
+
const description = 'ダイソン群、赤道リング、剛体シェル、ステイタイト鏡雲などの巨大大規模構造の設計を比較評価します。捕獲電力、熱軌道半径、必要資材質量、カルダシェフ目標達成率を算出します。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: '恒星タイプを選択',
|
|
11
|
+
text: 'M型矮星、太陽型G型星、A型星、赤色巨星、青色巨星から選択します。シミュレータは代表的な光度と質量を用いて軌道半径と周期を算出します。',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'メガストラクチャ建築を選択',
|
|
15
|
+
text: 'ダイソン群、赤道リング、剛体シェル、ステイタイト鏡雲を比較します。それぞれ捕獲効率や必要資材密度が異なります。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'カバー率と動作温度を設定',
|
|
19
|
+
text: 'カバー率を上げて捕獲電力を増やし、動作温度を調整してコレクターを恒星に近づけたり遠ざけたりします。',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'カルダシェフ目標を設定',
|
|
23
|
+
text: '目標スライダーを操作して、文明スケールのエネルギー目標達成に必要な恒星光度のカバー割合を確認します。',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'ダイソン球とダイソン群の違いは何ですか?',
|
|
30
|
+
answer: '剛体ダイソン球は恒星を完全に覆う一体系のシェルですが、ダイソン群は周回する独立した多数のコレクター集合体です。工学的には剛体シェルは構造的に不安定で莫大な資材を要するため、ダイソン群が選ばれます。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '最適軌道半径はどのように計算されますか?',
|
|
34
|
+
answer: '両面から放熱するコレクターが、指定された恒星光度の下で設定動作温度に達する距離を推定します。高温動作可能なコレクターほど内側の軌道をとることができます。',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'ここでのカルダシェフ評価とは何を意味しますか?',
|
|
38
|
+
answer: '捕獲ワット数から公式 K = (log10(P) - 6) / 10 を用いて対数スケールで算出した評価値です。K1付近は惑星規模、K2は恒星出力をほぼ全量利用する段階を示します。',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: '計算される資材質量は現実的ですか?',
|
|
42
|
+
answer: 'これは面積と面積密度に基づく一次の教育的試算です。実際の設計では軌道維持、送電システム、製造インフラ等の追加質量が必要になります。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'なぜ高光度な恒星ほど巨大なコレクターが必要なのですか?',
|
|
46
|
+
answer: '光度が高い恒星は熱的に安全な半径が外側に押し出されます。距離の二乗に比例して必要な表面積が増大するため、資材需要が急増します。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
question: '部分的なカバー率でカルダシェフII型に達することは可能ですか?',
|
|
50
|
+
answer: 'はい。主星が十分に明るく高効率なコレクターであれば、一部のカバー率だけでもII型のエネルギー目標に達することが可能です。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
export const content: ToolLocaleContent = {
|
|
55
|
+
slug,
|
|
56
|
+
title,
|
|
57
|
+
description,
|
|
58
|
+
ui: {
|
|
59
|
+
visualization: 'ダイソンコレクター可視化',
|
|
60
|
+
starType: '恒星の種類',
|
|
61
|
+
structureType: '構造',
|
|
62
|
+
coverage: 'コレクターカバレッジ',
|
|
63
|
+
operatingTemp: '動作温度',
|
|
64
|
+
kardashevTarget: 'カルダシェフ目標',
|
|
65
|
+
kardashevRating: '現在の評価',
|
|
66
|
+
capturedPower: '捕捉電力',
|
|
67
|
+
optimalRadius: '最適半径',
|
|
68
|
+
targetCoverage: '目標カバレッジ',
|
|
69
|
+
materialMass: '材料質量',
|
|
70
|
+
captureMeter: '目標捕捉進捗',
|
|
71
|
+
statusReady: 'システムを調整してコレクター需要を推定してください。',
|
|
72
|
+
statusUnderbuilt: 'カバレッジが選択した目標を下回っています。',
|
|
73
|
+
statusBalanced: 'カバレッジは選択した目標に近い状態です。',
|
|
74
|
+
statusExtreme: 'この構成は目標を大幅に上回っています。',
|
|
75
|
+
orbitalPeriod: '軌道周期',
|
|
76
|
+
collectorArea: 'コレクター面積',
|
|
77
|
+
mercuryMasses: '{value} 水星質量',
|
|
78
|
+
kilograms: '{value} kg',
|
|
79
|
+
daysUnit: '{value} 日',
|
|
80
|
+
starMDwarf: 'M型矮星',
|
|
81
|
+
starSun: '太陽型G型星',
|
|
82
|
+
starA: 'A型星',
|
|
83
|
+
starRedGiant: '赤色巨星',
|
|
84
|
+
starBlueGiant: '青色巨星',
|
|
85
|
+
structureSwarm: 'ダイソン群',
|
|
86
|
+
structureRing: '赤道リング',
|
|
87
|
+
structureShell: '剛体シェル',
|
|
88
|
+
structureStatite: 'ステイタイトミラー雲',
|
|
89
|
+
},
|
|
90
|
+
seo: [
|
|
91
|
+
{
|
|
92
|
+
type: 'title',
|
|
93
|
+
text: 'ダイソン球エネルギー捕獲シミュレータ',
|
|
94
|
+
level: 2,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'paragraph',
|
|
98
|
+
html: 'ダイソン球は単なるSFの妄想ではありません。衛星群、赤道リング、ステイタイト鏡雲など、恒星光度を捉える様々なメガストラクチャ概念の総称です。',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html: '本ツールは捕獲電力、熱軌道半径、必要面積、軌道周期、資材質量、カルダシェフ目標数値を数値化して提示します。',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'title',
|
|
106
|
+
text: 'ダイソン半径の推定方法',
|
|
107
|
+
level: 3,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: '最適半径は恒星光度とコレクター動作温度から計算されます。恒星に近いほど強力な熱放射を受けるため放熱能力が求められます。',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: '各構造タイプの比較',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'list',
|
|
120
|
+
items: [
|
|
121
|
+
'<strong>ダイソン群:</strong> 独立周回する多数のコレクター。段階的建造が可能な最も現実的なモデル。',
|
|
122
|
+
'<strong>赤道リング:</strong> 赤道上に配置する帯状構造。初期構築が容易。',
|
|
123
|
+
'<strong>剛体シェル:</strong> 全全方位を覆う球体。構造的応力と力学的安定性に課題が存在。',
|
|
124
|
+
'<strong>ステイタイト鏡雲:</strong> 輻射圧で静止維持する超軽量ミラー構造。',
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'カルダシェフ・スケールとカバー率',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'paragraph',
|
|
134
|
+
html: 'カルダシェフ指標は文明の利用エネルギーを対数表示したものです。太陽の数%を覆うだけでも人類の現消費量を何桁も上回ります。',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['構造タイプ', '主な利点', '主なボトルネック'],
|
|
139
|
+
rows: [
|
|
140
|
+
['ダイソン群', '段階的構築が可能', '軌道管理と送電ビーム制御'],
|
|
141
|
+
['赤道リング', '初期面積が少ない', 'カバーエリアの限定'],
|
|
142
|
+
['剛体シェル', '理論上の最高捕獲効率', '構造的不安定性と膨大な必要質量'],
|
|
143
|
+
['ステイタイト鏡雲', '面密度が極めて低い', '精密な姿勢制御と熱限界'],
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: '必要資材質量と資源採掘の試算',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: '必要資材は水星質量単位で表示されます。多くの巨大大規模構造計画では水星等の小惑星を解体して資材化することが想定されます。',
|
|
154
|
+
},
|
|
155
155
|
{
|
|
156
156
|
type: 'paragraph',
|
|
157
157
|
html: '物理的スケール感を捉える教育的シミュレーションとしてご活用ください。',
|
|
158
158
|
},
|
|
159
|
-
],
|
|
160
|
-
faq,
|
|
161
|
-
bibliography,
|
|
162
|
-
howTo,
|
|
163
|
-
schemas: [
|
|
164
|
-
{
|
|
165
|
-
'@context': 'https://schema.org',
|
|
166
|
-
'@type': 'SoftwareApplication',
|
|
167
|
-
name: title,
|
|
168
|
-
description,
|
|
169
|
-
applicationCategory: 'ScientificApplication',
|
|
170
|
-
operatingSystem: 'Any',
|
|
171
|
-
},
|
|
172
159
|
{
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
160
|
+
type: 'paragraph',
|
|
161
|
+
html: '恒星の光度、覆う割合、動作温度を順に変えて、捕獲電力と軌道半径の関係を比較できます。結果は理想化した熱平衡モデルによる試算であり、建設、材料、送電、軌道維持などの工学的課題を含む実現可能性の判定ではありません。複数の構造を同じ条件で比べると、効率と必要資材のトレードオフも確認できます。入力値を一つずつ変えると、どの条件が結果に影響するかを学びやすくなります。構造ごとの違いを同じ条件で確認し、数値の意味と限界を考察してください。',
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
faq,
|
|
165
|
+
bibliography,
|
|
166
|
+
howTo,
|
|
167
|
+
schemas: [
|
|
168
|
+
{
|
|
169
|
+
'@context': 'https://schema.org',
|
|
170
|
+
'@type': 'SoftwareApplication',
|
|
171
|
+
name: title,
|
|
172
|
+
description,
|
|
173
|
+
applicationCategory: 'ScientificApplication',
|
|
174
|
+
operatingSystem: 'Any',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
'@context': 'https://schema.org',
|
|
178
|
+
'@type': 'FAQPage',
|
|
179
|
+
mainEntity: faq.map((item) => ({
|
|
180
|
+
'@type': 'Question',
|
|
181
|
+
name: item.question,
|
|
182
|
+
acceptedAnswer: {
|
|
183
|
+
'@type': 'Answer',
|
|
184
|
+
text: item.answer,
|
|
185
|
+
},
|
|
186
|
+
})),
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'HowTo',
|
|
191
|
+
name: title,
|
|
192
|
+
step: howTo.map((step) => ({
|
|
193
|
+
'@type': 'HowToStep',
|
|
194
|
+
name: step.name,
|
|
195
|
+
text: step.text,
|
|
196
|
+
})),
|
|
197
|
+
},
|
|
198
|
+
],
|
|
199
|
+
};
|