@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.
Files changed (338) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/es.ts +3 -4
  3. package/src/category/i18n/fr.ts +2 -2
  4. package/src/category/i18n/it.ts +2 -2
  5. package/src/category/i18n/pt.ts +2 -2
  6. package/src/category/index.ts +25 -25
  7. package/src/components/PreviewNavSidebar.astro +1 -1
  8. package/src/components/PreviewToolbar.astro +1 -1
  9. package/src/data.ts +1 -1
  10. package/src/env.d.ts +1 -1
  11. package/src/layouts/PreviewLayout.astro +1 -1
  12. package/src/pages/index.astro +1 -1
  13. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  14. package/src/tests/category_seo_quality.test.ts +76 -0
  15. package/src/tests/faq_count.test.ts +19 -19
  16. package/src/tests/i18n_coverage.test.ts +36 -36
  17. package/src/tests/mocks/astro_mock.js +1 -1
  18. package/src/tests/no_h1_in_components.test.ts +1 -1
  19. package/src/tests/script_density.test.ts +94 -94
  20. package/src/tests/seo_length.test.ts +24 -24
  21. package/src/tests/seo_parity.test.ts +5 -5
  22. package/src/tests/seo_translation_completeness.test.ts +76 -0
  23. package/src/tests/seo_wellformed_export.test.ts +65 -0
  24. package/src/tests/spanish_leakage.test.ts +175 -175
  25. package/src/tool/asteroid-impact/component.astro +251 -251
  26. package/src/tool/asteroid-impact/helpers.ts +17 -17
  27. package/src/tool/asteroid-impact/i18n/de.ts +2 -2
  28. package/src/tool/asteroid-impact/i18n/en.ts +2 -2
  29. package/src/tool/asteroid-impact/i18n/es.ts +2 -2
  30. package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
  31. package/src/tool/asteroid-impact/i18n/id.ts +2 -2
  32. package/src/tool/asteroid-impact/i18n/it.ts +2 -2
  33. package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
  34. package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
  35. package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
  36. package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
  37. package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
  38. package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
  39. package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
  40. package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
  41. package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
  42. package/src/tool/asteroid-impact/script.ts +262 -262
  43. package/src/tool/asteroid-impact/seo.astro +15 -15
  44. package/src/tool/asteroid-impact/ui.ts +69 -69
  45. package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
  46. package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
  47. package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
  48. package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
  49. package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
  50. package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
  51. package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
  52. package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
  53. package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
  54. package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
  55. package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
  56. package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
  57. package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
  58. package/src/tool/cellular-renewal/component.astro +126 -126
  59. package/src/tool/cellular-renewal/i18n/de.ts +1 -1
  60. package/src/tool/cellular-renewal/i18n/en.ts +1 -1
  61. package/src/tool/cellular-renewal/i18n/es.ts +1 -1
  62. package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
  63. package/src/tool/cellular-renewal/i18n/id.ts +1 -1
  64. package/src/tool/cellular-renewal/i18n/it.ts +1 -1
  65. package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
  66. package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
  67. package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
  68. package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
  69. package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
  70. package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
  71. package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
  72. package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
  73. package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
  74. package/src/tool/cellular-renewal/seo.astro +15 -15
  75. package/src/tool/colony-counter/i18n/de.ts +1 -1
  76. package/src/tool/colony-counter/i18n/en.ts +1 -1
  77. package/src/tool/colony-counter/i18n/es.ts +1 -1
  78. package/src/tool/colony-counter/i18n/fr.ts +1 -1
  79. package/src/tool/colony-counter/i18n/id.ts +1 -1
  80. package/src/tool/colony-counter/i18n/it.ts +1 -1
  81. package/src/tool/colony-counter/i18n/ja.ts +1 -1
  82. package/src/tool/colony-counter/i18n/ko.ts +1 -1
  83. package/src/tool/colony-counter/i18n/nl.ts +1 -1
  84. package/src/tool/colony-counter/i18n/pl.ts +1 -1
  85. package/src/tool/colony-counter/i18n/pt.ts +1 -1
  86. package/src/tool/colony-counter/i18n/ru.ts +1 -1
  87. package/src/tool/colony-counter/i18n/sv.ts +1 -1
  88. package/src/tool/colony-counter/i18n/tr.ts +1 -1
  89. package/src/tool/colony-counter/i18n/zh.ts +1 -1
  90. package/src/tool/colony-counter/seo.astro +15 -15
  91. package/src/tool/conway-life-rule-lab/component.astro +1 -1
  92. package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
  93. package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
  94. package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
  95. package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
  96. package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
  97. package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
  98. package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
  99. package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
  100. package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
  101. package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
  102. package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
  103. package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
  104. package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
  105. package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
  106. package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
  107. package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
  108. package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
  109. package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
  110. package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
  111. package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
  112. package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
  113. package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
  114. package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
  115. package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
  116. package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
  117. package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
  118. package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
  119. package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
  120. package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
  121. package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
  122. package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
  123. package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
  124. package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
  125. package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
  126. package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
  127. package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
  128. package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
  129. package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
  130. package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
  131. package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
  132. package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
  133. package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
  134. package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
  135. package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
  136. package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
  137. package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
  138. package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
  139. package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
  140. package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
  141. package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
  142. package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
  143. package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
  144. package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
  145. package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
  146. package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
  147. package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
  148. package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
  149. package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
  150. package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
  151. package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
  152. package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
  153. package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
  154. package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
  155. package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
  156. package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
  157. package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
  158. package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
  159. package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
  160. package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
  161. package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
  162. package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
  163. package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
  164. package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
  165. package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
  166. package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
  167. package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
  168. package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
  169. package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
  170. package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
  171. package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
  172. package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
  173. package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
  174. package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
  175. package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
  176. package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
  177. package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
  178. package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
  179. package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
  180. package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
  181. package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
  182. package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
  183. package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
  184. package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
  185. package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
  186. package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
  187. package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
  188. package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
  189. package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
  190. package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
  191. package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
  192. package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
  193. package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
  194. package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
  195. package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
  196. package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
  197. package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
  198. package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
  199. package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
  200. package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
  201. package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
  202. package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
  203. package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
  204. package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
  205. package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
  206. package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
  207. package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
  208. package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
  209. package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
  210. package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
  211. package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
  212. package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
  213. package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
  214. package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
  215. package/src/tool/microwave-detector/component.astro +238 -238
  216. package/src/tool/microwave-detector/i18n/de.ts +1 -1
  217. package/src/tool/microwave-detector/i18n/en.ts +1 -1
  218. package/src/tool/microwave-detector/i18n/es.ts +1 -1
  219. package/src/tool/microwave-detector/i18n/fr.ts +1 -1
  220. package/src/tool/microwave-detector/i18n/id.ts +1 -1
  221. package/src/tool/microwave-detector/i18n/it.ts +1 -1
  222. package/src/tool/microwave-detector/i18n/ja.ts +1 -1
  223. package/src/tool/microwave-detector/i18n/ko.ts +1 -1
  224. package/src/tool/microwave-detector/i18n/nl.ts +1 -1
  225. package/src/tool/microwave-detector/i18n/pl.ts +1 -1
  226. package/src/tool/microwave-detector/i18n/pt.ts +1 -1
  227. package/src/tool/microwave-detector/i18n/ru.ts +1 -1
  228. package/src/tool/microwave-detector/i18n/sv.ts +1 -1
  229. package/src/tool/microwave-detector/i18n/tr.ts +1 -1
  230. package/src/tool/microwave-detector/i18n/zh.ts +1 -1
  231. package/src/tool/microwave-detector/seo.astro +15 -15
  232. package/src/tool/natural-selection-drift/component.astro +135 -135
  233. package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
  234. package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
  235. package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
  236. package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
  237. package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
  238. package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
  239. package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
  240. package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
  241. package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
  242. package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
  243. package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
  244. package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
  245. package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
  246. package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
  247. package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
  248. package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
  249. package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
  250. package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
  251. package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
  252. package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
  253. package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
  254. package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
  255. package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
  256. package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
  257. package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
  258. package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
  259. package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
  260. package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
  261. package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
  262. package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
  263. package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
  264. package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
  265. package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
  266. package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
  267. package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
  268. package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
  269. package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
  270. package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
  271. package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
  272. package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
  273. package/src/tool/radioactive-decay/i18n/de.ts +168 -164
  274. package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
  275. package/src/tool/radioactive-decay/i18n/id.ts +169 -165
  276. package/src/tool/radioactive-decay/i18n/it.ts +76 -74
  277. package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
  278. package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
  279. package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
  280. package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
  281. package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
  282. package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
  283. package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
  284. package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
  285. package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
  286. package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
  287. package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
  288. package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
  289. package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
  290. package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
  291. package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
  292. package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
  293. package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
  294. package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
  295. package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
  296. package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
  297. package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
  298. package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
  299. package/src/tool/simulation-probability/component.astro +138 -138
  300. package/src/tool/simulation-probability/i18n/de.ts +1 -1
  301. package/src/tool/simulation-probability/i18n/en.ts +1 -1
  302. package/src/tool/simulation-probability/i18n/es.ts +1 -1
  303. package/src/tool/simulation-probability/i18n/fr.ts +1 -1
  304. package/src/tool/simulation-probability/i18n/id.ts +1 -1
  305. package/src/tool/simulation-probability/i18n/it.ts +1 -1
  306. package/src/tool/simulation-probability/i18n/ja.ts +1 -1
  307. package/src/tool/simulation-probability/i18n/ko.ts +1 -1
  308. package/src/tool/simulation-probability/i18n/nl.ts +1 -1
  309. package/src/tool/simulation-probability/i18n/pl.ts +1 -1
  310. package/src/tool/simulation-probability/i18n/pt.ts +1 -1
  311. package/src/tool/simulation-probability/i18n/ru.ts +1 -1
  312. package/src/tool/simulation-probability/i18n/sv.ts +1 -1
  313. package/src/tool/simulation-probability/i18n/tr.ts +1 -1
  314. package/src/tool/simulation-probability/i18n/zh.ts +1 -1
  315. package/src/tool/simulation-probability/seo.astro +15 -15
  316. package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
  317. package/src/tool/temperature-timeline/i18n/de.ts +2 -1
  318. package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
  319. package/src/tool/temperature-timeline/i18n/it.ts +142 -141
  320. package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
  321. package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
  322. package/src/tool/three-body-problem/app.ts +4 -4
  323. package/src/tool/three-body-problem/component.astro +6 -6
  324. package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
  325. package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
  326. package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
  327. package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
  328. package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
  329. package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
  330. package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
  331. package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
  332. package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
  333. package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
  334. package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
  335. package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
  336. package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
  337. package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
  338. package/src/types.ts +1 -1
@@ -1,196 +1,196 @@
1
- import { bibliography } from '../bibliography';
2
- import type { ToolLocaleContent } from '../../../types';
3
-
4
- const slug = 'exoplanet-biosignature-detector';
5
- const title = '系外行星生物信号探测器';
6
- const description = '在模拟的系外行星透射光谱中对齐氧气、甲烷和臭氧的吸收线。评估生物宜居性、可能的技术信号污染以及来自光谱证据的误报风险。';
7
-
8
- const howTo = [
9
- {
10
- name: '选择主恒星',
11
- text: '选择一颗K型矮星、类日恒星或M型矮星。恒星的类型会影响误报风险,因为紫外辐射、耀斑和大气光化学过程会改变对氧气和臭氧的判断。',
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: '会的。氧气可以在没有生命的情况下通过水逃逸、光解作用、微弱的火山汇或异常的恒星紫外环境积累。这就是为什么该工具会报告误报风险,而不是把氧气当作确凿证据。',
39
- },
40
- {
41
- question: '为什么要把臭氧和氧气分开考虑?',
42
- answer: '臭氧是氧气通过光化学作用产生的,具有显著的光谱特征。在直接观测氧气波段较困难时,臭氧可以作为氧气的间接指示物,但仍需结合大气环境综合判断。',
43
- },
44
- {
45
- question: '技术指数是什么意思?',
46
- answer: '技术指数是一种探索性的预警评分,用于标记那些大气光谱看起来过于活跃、嘈杂或化学特征异常,以至于不应排除人工源的情况。它并不构成探测声明。',
47
- },
48
- {
49
- question: '这是一个真正的系外行星反演模型吗?',
50
- answer: '不是。它是一个教学模拟器,将核心光谱学理念转化为交互式评分模型。真正的反演需要借助辐射传输、恒星污染校正、云模型、仪器系统误差和贝叶斯推断。',
51
- },
52
- ];
53
-
54
- export const content: ToolLocaleContent = {
55
- slug,
56
- title,
57
- description,
58
- ui: {
59
- visualization: '系外行星透射光谱可视化',
60
- starClass: '主恒星',
61
- starK: '安静K型矮星',
62
- starSun: '类日G型星',
63
- starM: '活跃M型矮星',
64
- noise: '仪器噪声',
65
- oxygenLine: '氧气标记',
66
- methaneLine: '甲烷标记',
67
- ozoneLine: '臭氧标记',
68
- waterVapor: '水蒸气环境',
69
- carbonDioxide: 'CO₂环境',
70
- habitabilityIndex: '宜居性指数',
71
- biologicalIndex: '生物指数',
72
- technologicalIndex: '技术指数',
73
- falsePositiveRisk: '误报风险',
74
- oxygen: 'O₂',
75
- methane: 'CH₄',
76
- ozone: 'O₃',
77
- oxygenShort: 'O₂',
78
- methaneShort: 'CH₄',
79
- ozoneShort: 'O₃',
80
- conclusion: '结论',
81
- dataLive: '数据实时合成',
82
- percentUnit: '{value}%',
83
- nanometerUnit: '{value} nm',
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'exoplanet-biosignature-detector';
5
+ const title = '系外行星生物信号探测器';
6
+ const description = '在模拟的系外行星透射光谱中对齐氧气、甲烷和臭氧的吸收线。评估生物宜居性、可能的技术信号污染以及来自光谱证据的误报风险。';
7
+
8
+ const howTo = [
9
+ {
10
+ name: '选择主恒星',
11
+ text: '选择一颗K型矮星、类日恒星或M型矮星。恒星的类型会影响误报风险,因为紫外辐射、耀斑和大气光化学过程会改变对氧气和臭氧的判断。',
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: '会的。氧气可以在没有生命的情况下通过水逃逸、光解作用、微弱的火山汇或异常的恒星紫外环境积累。这就是为什么该工具会报告误报风险,而不是把氧气当作确凿证据。',
39
+ },
40
+ {
41
+ question: '为什么要把臭氧和氧气分开考虑?',
42
+ answer: '臭氧是氧气通过光化学作用产生的,具有显著的光谱特征。在直接观测氧气波段较困难时,臭氧可以作为氧气的间接指示物,但仍需结合大气环境综合判断。',
43
+ },
44
+ {
45
+ question: '技术指数是什么意思?',
46
+ answer: '技术指数是一种探索性的预警评分,用于标记那些大气光谱看起来过于活跃、嘈杂或化学特征异常,以至于不应排除人工源的情况。它并不构成探测声明。',
47
+ },
48
+ {
49
+ question: '这是一个真正的系外行星反演模型吗?',
50
+ answer: '不是。它是一个教学模拟器,将核心光谱学理念转化为交互式评分模型。真正的反演需要借助辐射传输、恒星污染校正、云模型、仪器系统误差和贝叶斯推断。',
51
+ },
52
+ ];
53
+
54
+ export const content: ToolLocaleContent = {
55
+ slug,
56
+ title,
57
+ description,
58
+ ui: {
59
+ visualization: '系外行星透射光谱可视化',
60
+ starClass: '主恒星',
61
+ starK: '安静K型矮星',
62
+ starSun: '类日G型星',
63
+ starM: '活跃M型矮星',
64
+ noise: '仪器噪声',
65
+ oxygenLine: '氧气标记',
66
+ methaneLine: '甲烷标记',
67
+ ozoneLine: '臭氧标记',
68
+ waterVapor: '水蒸气环境',
69
+ carbonDioxide: 'CO₂环境',
70
+ habitabilityIndex: '宜居性指数',
71
+ biologicalIndex: '生物指数',
72
+ technologicalIndex: '技术指数',
73
+ falsePositiveRisk: '误报风险',
74
+ oxygen: 'O₂',
75
+ methane: 'CH₄',
76
+ ozone: 'O₃',
77
+ oxygenShort: 'O₂',
78
+ methaneShort: 'CH₄',
79
+ ozoneShort: 'O₃',
80
+ conclusion: '结论',
81
+ dataLive: '数据实时合成',
82
+ percentUnit: '{value}%',
83
+ nanometerUnit: '{value} nm',
84
84
  pendingValue: '...',
85
- statusReady: '调整光谱标记以评估大气证据。',
86
- verdictWeak: '光谱较弱:当前谱线尚不足以支持宜居解读。',
87
- verdictPromising: '光谱有希望:多个生物信号标记已部分对齐。',
88
- verdictStrong: '光谱很强:氧气、甲烷和臭氧形成了连贯的非平衡信号。',
89
- verdictAmbiguous: '信号有趣但存疑:恒星或大气的误报因素仍然偏高。',
90
- },
91
- seo: [
92
- {
93
- type: 'title',
94
- text: '系外行星生物信号探测器',
95
- level: 2,
96
- },
97
- {
98
- type: 'paragraph',
99
- html: '系外行星生物信号探测器是一个交互式光谱学模拟器,用于探索生命相关气体如何出现在透过遥远大气层的光线中。该工具不会把单一分子当作是非题来处理,而是引导你对齐氧气、甲烷和臭氧的吸收特征,然后综合噪声、水蒸气、二氧化碳以及主恒星行为给出评分。',
100
- },
101
- {
102
- type: 'paragraph',
103
- html: '这正是生物信号科学的核心难题:氧气可能令人兴奋,甲烷可能令人兴奋,臭氧也可能令人兴奋,但没有哪一种是单独成立的证据。最有说服力的案例需要多种气体结合、物理环境佐证,以及对非生物解释的仔细排查。该模拟器以紧凑的实验室风格界面,让这些权衡变得清晰可见。',
104
- },
105
- {
106
- type: 'title',
107
- text: '透射光谱如何揭示大气气体成分',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: '当一颗行星从其恒星前方经过时,极少量的星光会穿过行星大气层到达望远镜。不同分子会吸收特定波长的光,在测量光谱中留下或窄或宽的凹陷。通过对比观测到的凹陷与实验室标定的谱线位置,天文学家可以推断哪些气体可能存在,不过云层、雾霾、温度、恒星黑子和仪器噪声都会增加反演的复杂度。',
113
- },
114
- {
115
- type: 'title',
116
- text: '氧气、甲烷和臭氧的联合信号',
117
- level: 3,
118
- },
119
- {
120
- type: 'list',
121
- items: [
122
- '<strong>氧气 O₂:</strong>在地球上,丰富的氧气由光合作用维持,但在某些行星演化历史中,非生物过程也可能积累氧气。',
123
- '<strong>甲烷 CH₄:</strong>甲烷可能来自生物活动、地质作用或撞击事件。当它与氧化性气体一同被发现时,其暗示意义会更强。',
124
- '<strong>臭氧 O₃:</strong>臭氧是氧气的光化学产物,在某些光谱波段更容易被探测到,但它终究只是一个间接线索。',
125
- '<strong>水和CO₂的环境背景:</strong>水是宜居性的支撑,二氧化碳则有助于理解温室状态、光化学过程以及误报情景。',
126
- ],
127
- },
128
- {
129
- type: 'title',
130
- text: '为什么误报问题至关重要',
131
- level: 3,
132
- },
133
- {
134
- type: 'paragraph',
135
- html: '高氧气得分并不自动意味着生命活动的存在。水逃逸可能留下残余的氧气,恒星的紫外辐射可能分解分子,低水平的火山还原气体输出也可能让氧气逐渐积累。活跃的M型矮星尤其棘手,因为耀斑和光化学作用会重塑大气成分。当噪声、恒星类型或大气环境使得生物解释的可靠性降低时,误报读数就会上升。',
136
- },
137
- {
138
- type: 'table',
139
- headers: ['信号模式', '解读', '注意事项'],
140
- rows: [
141
- ['仅有 O₂', '可能存在富氧大气', '水逃逸或异常光化学作用可导致非生物成因'],
142
- ['仅有 CH₄', '可能为还原性大气或活跃地质活动', '仅凭甲烷不足以构成强有力的生命证据'],
143
- ['O₂ 加 CH₄', '化学非平衡,值得进一步研究', '需要稳健的反演与污染排查'],
144
- ['O₂ 加 O₃ 加水', '更具连贯性的类地环境', '云层和恒星活动仍需考虑'],
145
- ],
146
- },
147
- {
148
- type: 'title',
149
- text: '生物与技术宜居性指数',
150
- level: 3,
151
- },
152
- {
153
- type: 'paragraph',
85
+ statusReady: '调整光谱标记以评估大气证据。',
86
+ verdictWeak: '光谱较弱:当前谱线尚不足以支持宜居解读。',
87
+ verdictPromising: '光谱有希望:多个生物信号标记已部分对齐。',
88
+ verdictStrong: '光谱很强:氧气、甲烷和臭氧形成了连贯的非平衡信号。',
89
+ verdictAmbiguous: '信号有趣但存疑:恒星或大气的误报因素仍然偏高。',
90
+ },
91
+ seo: [
92
+ {
93
+ type: 'title',
94
+ text: '系外行星生物信号探测器',
95
+ level: 2,
96
+ },
97
+ {
98
+ type: 'paragraph',
99
+ html: '系外行星生物信号探测器是一个交互式光谱学模拟器,用于探索生命相关气体如何出现在透过遥远大气层的光线中。该工具不会把单一分子当作是非题来处理,而是引导你对齐氧气、甲烷和臭氧的吸收特征,然后综合噪声、水蒸气、二氧化碳以及主恒星行为给出评分。',
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: '这正是生物信号科学的核心难题:氧气可能令人兴奋,甲烷可能令人兴奋,臭氧也可能令人兴奋,但没有哪一种是单独成立的证据。最有说服力的案例需要多种气体结合、物理环境佐证,以及对非生物解释的仔细排查。该模拟器以紧凑的实验室风格界面,让这些权衡变得清晰可见。',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: '透射光谱如何揭示大气气体成分',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: '当一颗行星从其恒星前方经过时,极少量的星光会穿过行星大气层到达望远镜。不同分子会吸收特定波长的光,在测量光谱中留下或窄或宽的凹陷。通过对比观测到的凹陷与实验室标定的谱线位置,天文学家可以推断哪些气体可能存在,不过云层、雾霾、温度、恒星黑子和仪器噪声都会增加反演的复杂度。',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: '氧气、甲烷和臭氧的联合信号',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'list',
121
+ items: [
122
+ '<strong>氧气 O₂:</strong>在地球上,丰富的氧气由光合作用维持,但在某些行星演化历史中,非生物过程也可能积累氧气。',
123
+ '<strong>甲烷 CH₄:</strong>甲烷可能来自生物活动、地质作用或撞击事件。当它与氧化性气体一同被发现时,其暗示意义会更强。',
124
+ '<strong>臭氧 O₃:</strong>臭氧是氧气的光化学产物,在某些光谱波段更容易被探测到,但它终究只是一个间接线索。',
125
+ '<strong>水和CO₂的环境背景:</strong>水是宜居性的支撑,二氧化碳则有助于理解温室状态、光化学过程以及误报情景。',
126
+ ],
127
+ },
128
+ {
129
+ type: 'title',
130
+ text: '为什么误报问题至关重要',
131
+ level: 3,
132
+ },
133
+ {
134
+ type: 'paragraph',
135
+ html: '高氧气得分并不自动意味着生命活动的存在。水逃逸可能留下残余的氧气,恒星的紫外辐射可能分解分子,低水平的火山还原气体输出也可能让氧气逐渐积累。活跃的M型矮星尤其棘手,因为耀斑和光化学作用会重塑大气成分。当噪声、恒星类型或大气环境使得生物解释的可靠性降低时,误报读数就会上升。',
136
+ },
137
+ {
138
+ type: 'table',
139
+ headers: ['信号模式', '解读', '注意事项'],
140
+ rows: [
141
+ ['仅有 O₂', '可能存在富氧大气', '水逃逸或异常光化学作用可导致非生物成因'],
142
+ ['仅有 CH₄', '可能为还原性大气或活跃地质活动', '仅凭甲烷不足以构成强有力的生命证据'],
143
+ ['O₂ 加 CH₄', '化学非平衡,值得进一步研究', '需要稳健的反演与污染排查'],
144
+ ['O₂ 加 O₃ 加水', '更具连贯性的类地环境', '云层和恒星活动仍需考虑'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: '生物与技术宜居性指数',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
154
  html: '生物指数侧重化学非平衡性,尤其是氧气与甲烷的共存,然后叠加臭氧屏蔽和水环境因素。技术指数则有意保持探索性:它标记那些大气看起来过于活跃、嘈杂或化学特征异常的场景;在讲述简单的生命故事之前,应先考虑人为污染、有意为之的大气改造或观测假象。',
155
- },
156
- {
157
- type: 'paragraph',
158
- html: '请将本工具作为推理辅助手段而非结论生成器使用。真正的生物信号评估需要比较多种大气模型,纳入恒星光谱,校正望远镜系统误差,估计云层不透明度,并计算不确定性。本工具的教育价值在于它强制你遵循同样的严谨路径:对齐证据,检验环境背景,始终警惕误报。',
159
- },
160
- ],
161
- faq,
162
- bibliography,
163
- howTo,
164
- schemas: [
165
- {
166
- '@context': 'https://schema.org',
167
- '@type': 'SoftwareApplication',
168
- name: title,
169
- description,
170
- applicationCategory: 'ScientificApplication',
171
- operatingSystem: 'Any',
172
- },
173
- {
174
- '@context': 'https://schema.org',
175
- '@type': 'FAQPage',
176
- mainEntity: faq.map((item) => ({
177
- '@type': 'Question',
178
- name: item.question,
179
- acceptedAnswer: {
180
- '@type': 'Answer',
181
- text: item.answer,
182
- },
183
- })),
184
- },
185
- {
186
- '@context': 'https://schema.org',
187
- '@type': 'HowTo',
188
- name: title,
189
- step: howTo.map((step) => ({
190
- '@type': 'HowToStep',
191
- name: step.name,
192
- text: step.text,
193
- })),
194
- },
195
- ],
196
- };
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: '请将本工具作为推理辅助手段而非结论生成器使用。真正的生物信号评估需要比较多种大气模型,纳入恒星光谱,校正望远镜系统误差,估计云层不透明度,并计算不确定性。本工具的教育价值在于它强制你遵循同样的严谨路径:对齐证据,检验环境背景,始终警惕误报。',
159
+ },
160
+ ],
161
+ faq,
162
+ bibliography,
163
+ howTo,
164
+ schemas: [
165
+ {
166
+ '@context': 'https://schema.org',
167
+ '@type': 'SoftwareApplication',
168
+ name: title,
169
+ description,
170
+ applicationCategory: 'ScientificApplication',
171
+ operatingSystem: 'Any',
172
+ },
173
+ {
174
+ '@context': 'https://schema.org',
175
+ '@type': 'FAQPage',
176
+ mainEntity: faq.map((item) => ({
177
+ '@type': 'Question',
178
+ name: item.question,
179
+ acceptedAnswer: {
180
+ '@type': 'Answer',
181
+ text: item.answer,
182
+ },
183
+ })),
184
+ },
185
+ {
186
+ '@context': 'https://schema.org',
187
+ '@type': 'HowTo',
188
+ name: title,
189
+ step: howTo.map((step) => ({
190
+ '@type': 'HowToStep',
191
+ name: step.name,
192
+ text: step.text,
193
+ })),
194
+ },
195
+ ],
196
+ };
@@ -275,4 +275,4 @@ const { ui } = Astro.props;
275
275
  update();
276
276
  }
277
277
  </script>
278
-
278
+