@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,179 +1,179 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'diagramme-de-phases-point-critique-visualiseur';
|
|
5
|
-
const title = 'Diagramme de Phases et Visualiseur du Point Critique';
|
|
6
|
-
const description = 'Explorez les régions solide, liquide, gazeuse et supercritique sur un diagramme de phases pression-température interactif avec des marqueurs de point triple et de point critique.';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{
|
|
10
|
-
name: 'Choisir une substance',
|
|
11
|
-
text: 'Passez de l\'eau au dioxyde de carbone puis à l\'azote pour voir comment les points triples et critiques réels reconfigurent la carte des phases.',
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'Modifier la température et la pression',
|
|
15
|
-
text: 'Utilisez les curseurs pour placer l\'échantillon sur le plan pression-température. Le diagramme met à jour la région de phase active et le marqueur d\'échantillon en direct.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'Observer le halo critique',
|
|
19
|
-
text: 'Déplacez-vous vers l\'extrémité de la limite vapeur-liquide pour voir la chaleur latente s\'estomper et la distinction liquide-gaz se fondre en un fluide supercritique.',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: 'Lire le panneau pédagogique',
|
|
23
|
-
text: 'Utilisez l\'étiquette de phase, l\'indicateur de chaleur latente et les affichages de points pour relier le diagramme visuel au vocabulaire thermodynamique.',
|
|
24
|
-
},
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const faq = [
|
|
28
|
-
{
|
|
29
|
-
question: 'Qu\'est-ce qu\'un diagramme de phases ?',
|
|
30
|
-
answer: 'Un diagramme de phases indique quel état de la matière est stable pour différentes combinaisons de température et de pression. Les lignes de démarcation marquent les conditions où deux phases peuvent coexister en équilibre.',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: 'Que se passe-t-il au point critique ?',
|
|
34
|
-
answer: 'Au point critique, la limite vapeur-liquide prend fin. Au-dessus de la température et de la pression critiques, le matériau devient un fluide supercritique et il n\'y a plus de distinction nette entre liquide et gaz.',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
question: 'Pourquoi l\'eau a-t-elle une ligne de fusion différente ?',
|
|
38
|
-
answer: 'L\'eau est inhabituelle car la glace est moins dense que l\'eau liquide près du point de fusion. L\'augmentation de la pression favorise la phase liquide plus dense, donc la limite solide-liquide a une pente négative, contrairement à celle de nombreuses autres substances.',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
question: 'Les courbes tracées sont-elles exactes en laboratoire ?',
|
|
42
|
-
answer: 'Non. L\'outil utilise des courbes simplifiées ancrées sur des valeurs publiées de point triple et de point critique. Il est conçu pour l\'apprentissage conceptuel, pas pour le génie des procédés ou les calculs de sécurité.',
|
|
43
|
-
},
|
|
44
|
-
];
|
|
45
|
-
|
|
46
|
-
export const content: ToolLocaleContent = {
|
|
47
|
-
slug,
|
|
48
|
-
title,
|
|
49
|
-
description,
|
|
50
|
-
ui: {
|
|
51
|
-
controls: 'Commandes du diagramme de phases',
|
|
52
|
-
substance: 'Substance',
|
|
53
|
-
units: 'Unités',
|
|
54
|
-
scientificUnits: 'Scientifiques (K, MPa)',
|
|
55
|
-
metricUnits: 'Métriques (°C, kPa)',
|
|
56
|
-
imperialUnits: 'Impériales (°F, psi)',
|
|
57
|
-
temperature: 'Température',
|
|
58
|
-
pressure: 'Pression',
|
|
59
|
-
diagram: 'Diagramme de phases pression-température',
|
|
60
|
-
sample: 'État de l\'échantillon',
|
|
61
|
-
phase: 'Phase stable',
|
|
62
|
-
triplePoint: 'Point triple',
|
|
63
|
-
criticalPoint: 'Point critique',
|
|
64
|
-
vaporCurve: 'Limite vapeur-liquide',
|
|
65
|
-
meltingLine: 'Limite solide-liquide',
|
|
66
|
-
latentHeat: 'Contraste de chaleur latente',
|
|
67
|
-
criticalProximity: 'Proximité critique',
|
|
68
|
-
coordinates: 'Coordonnées',
|
|
69
|
-
solid: 'Solide',
|
|
70
|
-
liquid: 'Liquide',
|
|
71
|
-
gas: 'Gaz',
|
|
72
|
-
supercritical: 'Supercritique',
|
|
73
|
-
low: 'faible',
|
|
74
|
-
high: 'élevé',
|
|
75
|
-
reset: 'Réinitialiser',
|
|
76
|
-
interpretation: 'Interprétation',
|
|
77
|
-
note: 'Les lignes de démarcation marquent la coexistence ; les régions marquent la phase la plus stable pour les conditions sélectionnées.',
|
|
78
|
-
},
|
|
79
|
-
seo: [
|
|
80
|
-
{
|
|
81
|
-
type: 'title',
|
|
82
|
-
text: 'Visualiseur interactif de diagramme de phase pour points triples et points critiques',
|
|
83
|
-
level: 2,
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
type: 'paragraph',
|
|
87
|
-
html: 'Ce visualiseur de diagramme de phase transforme un graphique pression-température abstrait en une carte interactive. Choisissez une substance, faites varier la température et la pression, et observez si l\'échantillon adopte un état solide, liquide, gazeux ou fluide supercritique.',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
type: 'paragraph',
|
|
91
|
-
html: 'L\'outil est conçu pour les étudiants et enseignants recherchant une explication claire des diagrammes de phase. Il met l\'accent sur le point triple, la courbe d\'ébullition, la ligne de fusion et le point critique.',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
type: 'title',
|
|
95
|
-
text: 'Comment lire le diagramme pression-température',
|
|
96
|
-
level: 3,
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
type: 'paragraph',
|
|
100
|
-
html: 'Un diagramme de phase présente la température sur l\'axe horizontal et la pression sur l\'axe vertical. Chaque zone indique la phase stable sous ces conditions.',
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: 'table',
|
|
104
|
-
headers: ['Élément du diagramme', 'Signification', 'Ce qu\'il faut observer'],
|
|
105
|
-
rows: [
|
|
106
|
-
['Point triple', 'Coexistence des phases solide, liquide et gazeuse', 'Le point de jonction à basse température où les limites se rejoignent.'],
|
|
107
|
-
['Courbe liquide-vapeur', 'Équilibre d\'ébullition ou de condensation', 'La ligne courbe reliant le point triple au point critique.'],
|
|
108
|
-
['Ligne solide-liquide', 'Équilibre de fusion ou de congélation', 'La ligne verticale séparant les domaines solide et liquide.'],
|
|
109
|
-
['Point critique', 'Fin de la limite liquide-vapeur', 'Le point ultime où la chaleur latente s\'annule.'],
|
|
110
|
-
['Domaine supercritique', 'Absence de distinction nette entre liquide et gaz', 'La région à haute pression et haute température au-delà du point critique.'],
|
|
111
|
-
],
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
type: 'title',
|
|
115
|
-
text: 'Pourquoi le point critique est essentiel',
|
|
116
|
-
level: 3,
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
type: 'paragraph',
|
|
120
|
-
html: 'Sous le point critique, l\'ébullition est une transition de phase avec absorption de chaleur latente. Au-delà du point critique, la masse volumique varie continûment.',
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
type: 'paragraph',
|
|
124
|
-
html: 'Les fluides supercritiques sont largement utilisés dans l\'industrie, par exemple pour la décaféination du café par le CO2 supercritique.',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
type: 'title',
|
|
128
|
-
text: 'Simplifications du modèle',
|
|
129
|
-
level: 3,
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
type: 'paragraph',
|
|
133
|
-
html: 'Les vrais diagrammes de phase comportent souvent des polymorphes solides complexes. Ce modèle pédagogique utilise des courbes lissées pour faciliter la compréhension.',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: 'list',
|
|
137
|
-
items: [
|
|
138
|
-
'<strong>Utilisez-le pour l\'intuition :</strong> il explique pourquoi les autocuiseurs, la glace sèche et les fluides supercritiques se comportent ainsi.',
|
|
139
|
-
'<strong>Ne l\'utilisez pas pour l\'ingénierie :</strong> les calculs industriels exigent des équations d\'état expérimentales très précises.',
|
|
140
|
-
'<strong>Observez la tendance :</strong> à mesure qu\'on s\'approche du point critique, la différence entre liquide et gaz s\'estompe.',
|
|
141
|
-
],
|
|
142
|
-
},
|
|
143
|
-
],
|
|
144
|
-
faq,
|
|
145
|
-
bibliography,
|
|
146
|
-
howTo,
|
|
147
|
-
schemas: [
|
|
148
|
-
{
|
|
149
|
-
'@context': 'https://schema.org',
|
|
150
|
-
'@type': 'SoftwareApplication',
|
|
151
|
-
name: title,
|
|
152
|
-
description,
|
|
153
|
-
applicationCategory: 'ScientificApplication',
|
|
154
|
-
operatingSystem: 'Any',
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
'@context': 'https://schema.org',
|
|
158
|
-
'@type': 'FAQPage',
|
|
159
|
-
mainEntity: faq.map((item) => ({
|
|
160
|
-
'@type': 'Question',
|
|
161
|
-
name: item.question,
|
|
162
|
-
acceptedAnswer: {
|
|
163
|
-
'@type': 'Answer',
|
|
164
|
-
text: item.answer,
|
|
165
|
-
},
|
|
166
|
-
})),
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
'@context': 'https://schema.org',
|
|
170
|
-
'@type': 'HowTo',
|
|
171
|
-
name: title,
|
|
172
|
-
step: howTo.map((step) => ({
|
|
173
|
-
'@type': 'HowToStep',
|
|
174
|
-
name: step.name,
|
|
175
|
-
text: step.text,
|
|
176
|
-
})),
|
|
177
|
-
},
|
|
178
|
-
],
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'diagramme-de-phases-point-critique-visualiseur';
|
|
5
|
+
const title = 'Diagramme de Phases et Visualiseur du Point Critique';
|
|
6
|
+
const description = 'Explorez les régions solide, liquide, gazeuse et supercritique sur un diagramme de phases pression-température interactif avec des marqueurs de point triple et de point critique.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Choisir une substance',
|
|
11
|
+
text: 'Passez de l\'eau au dioxyde de carbone puis à l\'azote pour voir comment les points triples et critiques réels reconfigurent la carte des phases.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Modifier la température et la pression',
|
|
15
|
+
text: 'Utilisez les curseurs pour placer l\'échantillon sur le plan pression-température. Le diagramme met à jour la région de phase active et le marqueur d\'échantillon en direct.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Observer le halo critique',
|
|
19
|
+
text: 'Déplacez-vous vers l\'extrémité de la limite vapeur-liquide pour voir la chaleur latente s\'estomper et la distinction liquide-gaz se fondre en un fluide supercritique.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Lire le panneau pédagogique',
|
|
23
|
+
text: 'Utilisez l\'étiquette de phase, l\'indicateur de chaleur latente et les affichages de points pour relier le diagramme visuel au vocabulaire thermodynamique.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Qu\'est-ce qu\'un diagramme de phases ?',
|
|
30
|
+
answer: 'Un diagramme de phases indique quel état de la matière est stable pour différentes combinaisons de température et de pression. Les lignes de démarcation marquent les conditions où deux phases peuvent coexister en équilibre.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Que se passe-t-il au point critique ?',
|
|
34
|
+
answer: 'Au point critique, la limite vapeur-liquide prend fin. Au-dessus de la température et de la pression critiques, le matériau devient un fluide supercritique et il n\'y a plus de distinction nette entre liquide et gaz.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Pourquoi l\'eau a-t-elle une ligne de fusion différente ?',
|
|
38
|
+
answer: 'L\'eau est inhabituelle car la glace est moins dense que l\'eau liquide près du point de fusion. L\'augmentation de la pression favorise la phase liquide plus dense, donc la limite solide-liquide a une pente négative, contrairement à celle de nombreuses autres substances.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Les courbes tracées sont-elles exactes en laboratoire ?',
|
|
42
|
+
answer: 'Non. L\'outil utilise des courbes simplifiées ancrées sur des valeurs publiées de point triple et de point critique. Il est conçu pour l\'apprentissage conceptuel, pas pour le génie des procédés ou les calculs de sécurité.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
controls: 'Commandes du diagramme de phases',
|
|
52
|
+
substance: 'Substance',
|
|
53
|
+
units: 'Unités',
|
|
54
|
+
scientificUnits: 'Scientifiques (K, MPa)',
|
|
55
|
+
metricUnits: 'Métriques (°C, kPa)',
|
|
56
|
+
imperialUnits: 'Impériales (°F, psi)',
|
|
57
|
+
temperature: 'Température',
|
|
58
|
+
pressure: 'Pression',
|
|
59
|
+
diagram: 'Diagramme de phases pression-température',
|
|
60
|
+
sample: 'État de l\'échantillon',
|
|
61
|
+
phase: 'Phase stable',
|
|
62
|
+
triplePoint: 'Point triple',
|
|
63
|
+
criticalPoint: 'Point critique',
|
|
64
|
+
vaporCurve: 'Limite vapeur-liquide',
|
|
65
|
+
meltingLine: 'Limite solide-liquide',
|
|
66
|
+
latentHeat: 'Contraste de chaleur latente',
|
|
67
|
+
criticalProximity: 'Proximité critique',
|
|
68
|
+
coordinates: 'Coordonnées',
|
|
69
|
+
solid: 'Solide',
|
|
70
|
+
liquid: 'Liquide',
|
|
71
|
+
gas: 'Gaz',
|
|
72
|
+
supercritical: 'Supercritique',
|
|
73
|
+
low: 'faible',
|
|
74
|
+
high: 'élevé',
|
|
75
|
+
reset: 'Réinitialiser',
|
|
76
|
+
interpretation: 'Interprétation',
|
|
77
|
+
note: 'Les lignes de démarcation marquent la coexistence ; les régions marquent la phase la plus stable pour les conditions sélectionnées.',
|
|
78
|
+
},
|
|
79
|
+
seo: [
|
|
80
|
+
{
|
|
81
|
+
type: 'title',
|
|
82
|
+
text: 'Visualiseur interactif de diagramme de phase pour points triples et points critiques',
|
|
83
|
+
level: 2,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'paragraph',
|
|
87
|
+
html: 'Ce visualiseur de diagramme de phase transforme un graphique pression-température abstrait en une carte interactive. Choisissez une substance, faites varier la température et la pression, et observez si l\'échantillon adopte un état solide, liquide, gazeux ou fluide supercritique.',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'paragraph',
|
|
91
|
+
html: 'L\'outil est conçu pour les étudiants et enseignants recherchant une explication claire des diagrammes de phase. Il met l\'accent sur le point triple, la courbe d\'ébullition, la ligne de fusion et le point critique.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'title',
|
|
95
|
+
text: 'Comment lire le diagramme pression-température',
|
|
96
|
+
level: 3,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: 'Un diagramme de phase présente la température sur l\'axe horizontal et la pression sur l\'axe vertical. Chaque zone indique la phase stable sous ces conditions.',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'table',
|
|
104
|
+
headers: ['Élément du diagramme', 'Signification', 'Ce qu\'il faut observer'],
|
|
105
|
+
rows: [
|
|
106
|
+
['Point triple', 'Coexistence des phases solide, liquide et gazeuse', 'Le point de jonction à basse température où les limites se rejoignent.'],
|
|
107
|
+
['Courbe liquide-vapeur', 'Équilibre d\'ébullition ou de condensation', 'La ligne courbe reliant le point triple au point critique.'],
|
|
108
|
+
['Ligne solide-liquide', 'Équilibre de fusion ou de congélation', 'La ligne verticale séparant les domaines solide et liquide.'],
|
|
109
|
+
['Point critique', 'Fin de la limite liquide-vapeur', 'Le point ultime où la chaleur latente s\'annule.'],
|
|
110
|
+
['Domaine supercritique', 'Absence de distinction nette entre liquide et gaz', 'La région à haute pression et haute température au-delà du point critique.'],
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Pourquoi le point critique est essentiel',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Sous le point critique, l\'ébullition est une transition de phase avec absorption de chaleur latente. Au-delà du point critique, la masse volumique varie continûment.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Les fluides supercritiques sont largement utilisés dans l\'industrie, par exemple pour la décaféination du café par le CO2 supercritique.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Simplifications du modèle',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Les vrais diagrammes de phase comportent souvent des polymorphes solides complexes. Ce modèle pédagogique utilise des courbes lissées pour faciliter la compréhension.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Utilisez-le pour l\'intuition :</strong> il explique pourquoi les autocuiseurs, la glace sèche et les fluides supercritiques se comportent ainsi.',
|
|
139
|
+
'<strong>Ne l\'utilisez pas pour l\'ingénierie :</strong> les calculs industriels exigent des équations d\'état expérimentales très précises.',
|
|
140
|
+
'<strong>Observez la tendance :</strong> à mesure qu\'on s\'approche du point critique, la différence entre liquide et gaz s\'estompe.',
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
faq,
|
|
145
|
+
bibliography,
|
|
146
|
+
howTo,
|
|
147
|
+
schemas: [
|
|
148
|
+
{
|
|
149
|
+
'@context': 'https://schema.org',
|
|
150
|
+
'@type': 'SoftwareApplication',
|
|
151
|
+
name: title,
|
|
152
|
+
description,
|
|
153
|
+
applicationCategory: 'ScientificApplication',
|
|
154
|
+
operatingSystem: 'Any',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
'@context': 'https://schema.org',
|
|
158
|
+
'@type': 'FAQPage',
|
|
159
|
+
mainEntity: faq.map((item) => ({
|
|
160
|
+
'@type': 'Question',
|
|
161
|
+
name: item.question,
|
|
162
|
+
acceptedAnswer: {
|
|
163
|
+
'@type': 'Answer',
|
|
164
|
+
text: item.answer,
|
|
165
|
+
},
|
|
166
|
+
})),
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
'@context': 'https://schema.org',
|
|
170
|
+
'@type': 'HowTo',
|
|
171
|
+
name: title,
|
|
172
|
+
step: howTo.map((step) => ({
|
|
173
|
+
'@type': 'HowToStep',
|
|
174
|
+
name: step.name,
|
|
175
|
+
text: step.text,
|
|
176
|
+
})),
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
179
|
};
|