@jjlmoya/utils-science 1.51.0 → 1.53.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 (339) hide show
  1. package/package.json +2 -2
  2. package/scripts/crystal-lattice-catalog-translations.mjs +1 -0
  3. package/src/category/i18n/es.ts +3 -4
  4. package/src/category/i18n/fr.ts +2 -2
  5. package/src/category/i18n/it.ts +2 -2
  6. package/src/category/i18n/pt.ts +2 -2
  7. package/src/category/index.ts +25 -25
  8. package/src/components/PreviewNavSidebar.astro +1 -1
  9. package/src/components/PreviewToolbar.astro +1 -1
  10. package/src/data.ts +1 -1
  11. package/src/env.d.ts +1 -1
  12. package/src/layouts/PreviewLayout.astro +1 -1
  13. package/src/pages/index.astro +1 -1
  14. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  15. package/src/tests/category_seo_quality.test.ts +76 -0
  16. package/src/tests/faq_count.test.ts +19 -19
  17. package/src/tests/i18n_coverage.test.ts +36 -36
  18. package/src/tests/mocks/astro_mock.js +1 -1
  19. package/src/tests/no_h1_in_components.test.ts +1 -1
  20. package/src/tests/script_density.test.ts +94 -94
  21. package/src/tests/seo_length.test.ts +24 -24
  22. package/src/tests/seo_parity.test.ts +5 -5
  23. package/src/tests/seo_translation_completeness.test.ts +76 -0
  24. package/src/tests/seo_wellformed_export.test.ts +65 -0
  25. package/src/tests/spanish_leakage.test.ts +175 -175
  26. package/src/tool/asteroid-impact/component.astro +251 -251
  27. package/src/tool/asteroid-impact/helpers.ts +17 -17
  28. package/src/tool/asteroid-impact/i18n/de.ts +2 -2
  29. package/src/tool/asteroid-impact/i18n/en.ts +2 -2
  30. package/src/tool/asteroid-impact/i18n/es.ts +2 -2
  31. package/src/tool/asteroid-impact/i18n/fr.ts +2 -2
  32. package/src/tool/asteroid-impact/i18n/id.ts +2 -2
  33. package/src/tool/asteroid-impact/i18n/it.ts +2 -2
  34. package/src/tool/asteroid-impact/i18n/ja.ts +2 -2
  35. package/src/tool/asteroid-impact/i18n/ko.ts +2 -2
  36. package/src/tool/asteroid-impact/i18n/nl.ts +2 -2
  37. package/src/tool/asteroid-impact/i18n/pl.ts +2 -2
  38. package/src/tool/asteroid-impact/i18n/pt.ts +2 -2
  39. package/src/tool/asteroid-impact/i18n/ru.ts +2 -2
  40. package/src/tool/asteroid-impact/i18n/sv.ts +2 -2
  41. package/src/tool/asteroid-impact/i18n/tr.ts +2 -2
  42. package/src/tool/asteroid-impact/i18n/zh.ts +2 -2
  43. package/src/tool/asteroid-impact/script.ts +262 -262
  44. package/src/tool/asteroid-impact/seo.astro +15 -15
  45. package/src/tool/asteroid-impact/ui.ts +69 -69
  46. package/src/tool/black-hole-event-horizon-simulator/i18n/de.ts +249 -241
  47. package/src/tool/black-hole-event-horizon-simulator/i18n/fr.ts +252 -247
  48. package/src/tool/black-hole-event-horizon-simulator/i18n/id.ts +259 -259
  49. package/src/tool/black-hole-event-horizon-simulator/i18n/it.ts +255 -252
  50. package/src/tool/black-hole-event-horizon-simulator/i18n/ja.ts +254 -252
  51. package/src/tool/black-hole-event-horizon-simulator/i18n/ko.ts +258 -258
  52. package/src/tool/black-hole-event-horizon-simulator/i18n/nl.ts +256 -252
  53. package/src/tool/black-hole-event-horizon-simulator/i18n/pl.ts +258 -258
  54. package/src/tool/black-hole-event-horizon-simulator/i18n/pt.ts +256 -252
  55. package/src/tool/black-hole-event-horizon-simulator/i18n/ru.ts +258 -258
  56. package/src/tool/black-hole-event-horizon-simulator/i18n/sv.ts +257 -252
  57. package/src/tool/black-hole-event-horizon-simulator/i18n/tr.ts +256 -251
  58. package/src/tool/black-hole-event-horizon-simulator/i18n/zh.ts +261 -252
  59. package/src/tool/cellular-renewal/component.astro +126 -126
  60. package/src/tool/cellular-renewal/i18n/de.ts +1 -1
  61. package/src/tool/cellular-renewal/i18n/en.ts +1 -1
  62. package/src/tool/cellular-renewal/i18n/es.ts +1 -1
  63. package/src/tool/cellular-renewal/i18n/fr.ts +1 -1
  64. package/src/tool/cellular-renewal/i18n/id.ts +1 -1
  65. package/src/tool/cellular-renewal/i18n/it.ts +1 -1
  66. package/src/tool/cellular-renewal/i18n/ja.ts +1 -1
  67. package/src/tool/cellular-renewal/i18n/ko.ts +1 -1
  68. package/src/tool/cellular-renewal/i18n/nl.ts +1 -1
  69. package/src/tool/cellular-renewal/i18n/pl.ts +1 -1
  70. package/src/tool/cellular-renewal/i18n/pt.ts +1 -1
  71. package/src/tool/cellular-renewal/i18n/ru.ts +1 -1
  72. package/src/tool/cellular-renewal/i18n/sv.ts +1 -1
  73. package/src/tool/cellular-renewal/i18n/tr.ts +1 -1
  74. package/src/tool/cellular-renewal/i18n/zh.ts +1 -1
  75. package/src/tool/cellular-renewal/seo.astro +15 -15
  76. package/src/tool/colony-counter/i18n/de.ts +1 -1
  77. package/src/tool/colony-counter/i18n/en.ts +1 -1
  78. package/src/tool/colony-counter/i18n/es.ts +1 -1
  79. package/src/tool/colony-counter/i18n/fr.ts +1 -1
  80. package/src/tool/colony-counter/i18n/id.ts +1 -1
  81. package/src/tool/colony-counter/i18n/it.ts +1 -1
  82. package/src/tool/colony-counter/i18n/ja.ts +1 -1
  83. package/src/tool/colony-counter/i18n/ko.ts +1 -1
  84. package/src/tool/colony-counter/i18n/nl.ts +1 -1
  85. package/src/tool/colony-counter/i18n/pl.ts +1 -1
  86. package/src/tool/colony-counter/i18n/pt.ts +1 -1
  87. package/src/tool/colony-counter/i18n/ru.ts +1 -1
  88. package/src/tool/colony-counter/i18n/sv.ts +1 -1
  89. package/src/tool/colony-counter/i18n/tr.ts +1 -1
  90. package/src/tool/colony-counter/i18n/zh.ts +1 -1
  91. package/src/tool/colony-counter/seo.astro +15 -15
  92. package/src/tool/conway-life-rule-lab/component.astro +1 -1
  93. package/src/tool/conway-life-rule-lab/i18n/de.ts +145 -141
  94. package/src/tool/conway-life-rule-lab/i18n/es.ts +146 -142
  95. package/src/tool/conway-life-rule-lab/i18n/fr.ts +146 -142
  96. package/src/tool/conway-life-rule-lab/i18n/id.ts +146 -145
  97. package/src/tool/conway-life-rule-lab/i18n/it.ts +146 -145
  98. package/src/tool/conway-life-rule-lab/i18n/ja.ts +146 -145
  99. package/src/tool/conway-life-rule-lab/i18n/ko.ts +146 -145
  100. package/src/tool/conway-life-rule-lab/i18n/nl.ts +147 -145
  101. package/src/tool/conway-life-rule-lab/i18n/pl.ts +147 -145
  102. package/src/tool/conway-life-rule-lab/i18n/pt.ts +147 -145
  103. package/src/tool/conway-life-rule-lab/i18n/ru.ts +147 -145
  104. package/src/tool/conway-life-rule-lab/i18n/sv.ts +147 -145
  105. package/src/tool/conway-life-rule-lab/i18n/tr.ts +147 -145
  106. package/src/tool/conway-life-rule-lab/i18n/zh.ts +147 -145
  107. package/src/tool/conway-life-rule-lab/logic/LifeLabRuntime.ts +2 -2
  108. package/src/tool/cosmic-inflation/i18n/ru.ts +105 -105
  109. package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +217 -217
  110. package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +1 -1
  111. package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +217 -217
  112. package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +217 -217
  113. package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +217 -217
  114. package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +217 -217
  115. package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +217 -217
  116. package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +217 -217
  117. package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +217 -217
  118. package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +217 -217
  119. package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +217 -217
  120. package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +217 -217
  121. package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +217 -217
  122. package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +217 -217
  123. package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +217 -217
  124. package/src/tool/double-slit-decoherence/i18n/de.ts +181 -181
  125. package/src/tool/double-slit-decoherence/i18n/fr.ts +180 -180
  126. package/src/tool/double-slit-decoherence/i18n/id.ts +181 -181
  127. package/src/tool/double-slit-decoherence/i18n/it.ts +180 -180
  128. package/src/tool/double-slit-decoherence/i18n/ja.ts +181 -181
  129. package/src/tool/double-slit-decoherence/i18n/ko.ts +181 -181
  130. package/src/tool/double-slit-decoherence/i18n/nl.ts +181 -181
  131. package/src/tool/double-slit-decoherence/i18n/pl.ts +181 -181
  132. package/src/tool/double-slit-decoherence/i18n/pt.ts +178 -174
  133. package/src/tool/double-slit-decoherence/i18n/ru.ts +180 -180
  134. package/src/tool/double-slit-decoherence/i18n/sv.ts +176 -172
  135. package/src/tool/double-slit-decoherence/i18n/tr.ts +180 -180
  136. package/src/tool/double-slit-decoherence/i18n/zh.ts +181 -181
  137. package/src/tool/dyson-sphere-energy-capture/component.astro +253 -253
  138. package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +194 -194
  139. package/src/tool/dyson-sphere-energy-capture/i18n/en.ts +6 -6
  140. package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
  141. package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +194 -194
  142. package/src/tool/dyson-sphere-energy-capture/i18n/id.ts +195 -195
  143. package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +194 -194
  144. package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +194 -190
  145. package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +194 -193
  146. package/src/tool/dyson-sphere-energy-capture/i18n/nl.ts +197 -197
  147. package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +168 -166
  148. package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +194 -193
  149. package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +195 -193
  150. package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +195 -193
  151. package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +168 -166
  152. package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +194 -193
  153. package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -347
  154. package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -347
  155. package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -347
  156. package/src/tool/epidemic-sir-simulator/i18n/it.ts +346 -346
  157. package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -347
  158. package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -347
  159. package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -347
  160. package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -347
  161. package/src/tool/exoplanet-biosignature-detector/i18n/de.ts +186 -186
  162. package/src/tool/exoplanet-biosignature-detector/i18n/en.ts +195 -195
  163. package/src/tool/exoplanet-biosignature-detector/i18n/es.ts +194 -194
  164. package/src/tool/exoplanet-biosignature-detector/i18n/fr.ts +183 -183
  165. package/src/tool/exoplanet-biosignature-detector/i18n/id.ts +193 -193
  166. package/src/tool/exoplanet-biosignature-detector/i18n/it.ts +194 -194
  167. package/src/tool/exoplanet-biosignature-detector/i18n/ja.ts +194 -194
  168. package/src/tool/exoplanet-biosignature-detector/i18n/ko.ts +194 -194
  169. package/src/tool/exoplanet-biosignature-detector/i18n/nl.ts +194 -194
  170. package/src/tool/exoplanet-biosignature-detector/i18n/pl.ts +144 -144
  171. package/src/tool/exoplanet-biosignature-detector/i18n/pt.ts +146 -146
  172. package/src/tool/exoplanet-biosignature-detector/i18n/ru.ts +143 -143
  173. package/src/tool/exoplanet-biosignature-detector/i18n/sv.ts +144 -144
  174. package/src/tool/exoplanet-biosignature-detector/i18n/tr.ts +145 -145
  175. package/src/tool/exoplanet-biosignature-detector/i18n/zh.ts +194 -194
  176. package/src/tool/global-albedo-snowball-simulator/component.astro +1 -1
  177. package/src/tool/global-albedo-snowball-simulator/i18n/de.ts +169 -169
  178. package/src/tool/global-albedo-snowball-simulator/i18n/fr.ts +169 -169
  179. package/src/tool/global-albedo-snowball-simulator/i18n/id.ts +169 -169
  180. package/src/tool/global-albedo-snowball-simulator/i18n/it.ts +87 -87
  181. package/src/tool/global-albedo-snowball-simulator/i18n/ja.ts +87 -87
  182. package/src/tool/global-albedo-snowball-simulator/i18n/ko.ts +169 -169
  183. package/src/tool/global-albedo-snowball-simulator/i18n/nl.ts +169 -169
  184. package/src/tool/global-albedo-snowball-simulator/i18n/pl.ts +169 -169
  185. package/src/tool/global-albedo-snowball-simulator/i18n/pt.ts +169 -169
  186. package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +165 -161
  187. package/src/tool/global-albedo-snowball-simulator/i18n/sv.ts +169 -169
  188. package/src/tool/global-albedo-snowball-simulator/i18n/tr.ts +169 -169
  189. package/src/tool/global-albedo-snowball-simulator/i18n/zh.ts +169 -169
  190. package/src/tool/lorenz-attractor/i18n/de.ts +144 -143
  191. package/src/tool/lorenz-attractor/i18n/fr.ts +144 -144
  192. package/src/tool/lorenz-attractor/i18n/id.ts +149 -149
  193. package/src/tool/lorenz-attractor/i18n/it.ts +149 -149
  194. package/src/tool/lorenz-attractor/i18n/ja.ts +149 -149
  195. package/src/tool/lorenz-attractor/i18n/ko.ts +149 -149
  196. package/src/tool/lorenz-attractor/i18n/nl.ts +149 -149
  197. package/src/tool/lorenz-attractor/i18n/pl.ts +149 -149
  198. package/src/tool/lorenz-attractor/i18n/pt.ts +142 -141
  199. package/src/tool/lorenz-attractor/i18n/ru.ts +149 -149
  200. package/src/tool/lorenz-attractor/i18n/sv.ts +149 -149
  201. package/src/tool/lorenz-attractor/i18n/tr.ts +149 -149
  202. package/src/tool/lorenz-attractor/i18n/zh.ts +149 -149
  203. package/src/tool/mandelbrot-fractal/i18n/de.ts +158 -158
  204. package/src/tool/mandelbrot-fractal/i18n/fr.ts +158 -158
  205. package/src/tool/mandelbrot-fractal/i18n/id.ts +159 -159
  206. package/src/tool/mandelbrot-fractal/i18n/it.ts +155 -151
  207. package/src/tool/mandelbrot-fractal/i18n/ja.ts +159 -159
  208. package/src/tool/mandelbrot-fractal/i18n/ko.ts +159 -159
  209. package/src/tool/mandelbrot-fractal/i18n/nl.ts +159 -159
  210. package/src/tool/mandelbrot-fractal/i18n/pl.ts +157 -153
  211. package/src/tool/mandelbrot-fractal/i18n/pt.ts +158 -158
  212. package/src/tool/mandelbrot-fractal/i18n/ru.ts +159 -159
  213. package/src/tool/mandelbrot-fractal/i18n/sv.ts +159 -150
  214. package/src/tool/mandelbrot-fractal/i18n/tr.ts +159 -159
  215. package/src/tool/mandelbrot-fractal/i18n/zh.ts +159 -159
  216. package/src/tool/microwave-detector/component.astro +238 -238
  217. package/src/tool/microwave-detector/i18n/de.ts +1 -1
  218. package/src/tool/microwave-detector/i18n/en.ts +1 -1
  219. package/src/tool/microwave-detector/i18n/es.ts +1 -1
  220. package/src/tool/microwave-detector/i18n/fr.ts +1 -1
  221. package/src/tool/microwave-detector/i18n/id.ts +1 -1
  222. package/src/tool/microwave-detector/i18n/it.ts +1 -1
  223. package/src/tool/microwave-detector/i18n/ja.ts +1 -1
  224. package/src/tool/microwave-detector/i18n/ko.ts +1 -1
  225. package/src/tool/microwave-detector/i18n/nl.ts +1 -1
  226. package/src/tool/microwave-detector/i18n/pl.ts +1 -1
  227. package/src/tool/microwave-detector/i18n/pt.ts +1 -1
  228. package/src/tool/microwave-detector/i18n/ru.ts +1 -1
  229. package/src/tool/microwave-detector/i18n/sv.ts +1 -1
  230. package/src/tool/microwave-detector/i18n/tr.ts +1 -1
  231. package/src/tool/microwave-detector/i18n/zh.ts +1 -1
  232. package/src/tool/microwave-detector/seo.astro +15 -15
  233. package/src/tool/natural-selection-drift/component.astro +135 -135
  234. package/src/tool/natural-selection-drift/i18n/de.ts +164 -160
  235. package/src/tool/natural-selection-drift/i18n/fr.ts +204 -204
  236. package/src/tool/natural-selection-drift/i18n/id.ts +156 -154
  237. package/src/tool/natural-selection-drift/i18n/it.ts +197 -193
  238. package/src/tool/natural-selection-drift/i18n/ja.ts +155 -154
  239. package/src/tool/natural-selection-drift/i18n/ko.ts +155 -154
  240. package/src/tool/natural-selection-drift/i18n/nl.ts +164 -163
  241. package/src/tool/natural-selection-drift/i18n/pl.ts +168 -166
  242. package/src/tool/natural-selection-drift/i18n/pt.ts +200 -195
  243. package/src/tool/natural-selection-drift/i18n/ru.ts +186 -184
  244. package/src/tool/natural-selection-drift/i18n/sv.ts +157 -154
  245. package/src/tool/natural-selection-drift/i18n/tr.ts +186 -184
  246. package/src/tool/natural-selection-drift/i18n/zh.ts +160 -154
  247. package/src/tool/natural-selection-drift/natural-selection-drift.css +563 -563
  248. package/src/tool/phase-diagram-critical-points/i18n/de.ts +178 -178
  249. package/src/tool/phase-diagram-critical-points/i18n/fr.ts +178 -178
  250. package/src/tool/phase-diagram-critical-points/i18n/id.ts +179 -179
  251. package/src/tool/phase-diagram-critical-points/i18n/it.ts +179 -179
  252. package/src/tool/phase-diagram-critical-points/i18n/ja.ts +179 -179
  253. package/src/tool/phase-diagram-critical-points/i18n/ko.ts +179 -179
  254. package/src/tool/phase-diagram-critical-points/i18n/nl.ts +179 -179
  255. package/src/tool/phase-diagram-critical-points/i18n/pl.ts +179 -179
  256. package/src/tool/phase-diagram-critical-points/i18n/pt.ts +179 -179
  257. package/src/tool/phase-diagram-critical-points/i18n/ru.ts +179 -179
  258. package/src/tool/phase-diagram-critical-points/i18n/sv.ts +179 -179
  259. package/src/tool/phase-diagram-critical-points/i18n/tr.ts +179 -179
  260. package/src/tool/phase-diagram-critical-points/i18n/zh.ts +179 -179
  261. package/src/tool/planet-atmosphere-survival/i18n/de.ts +255 -255
  262. package/src/tool/planet-atmosphere-survival/i18n/fr.ts +255 -255
  263. package/src/tool/planet-atmosphere-survival/i18n/id.ts +255 -255
  264. package/src/tool/planet-atmosphere-survival/i18n/it.ts +255 -255
  265. package/src/tool/planet-atmosphere-survival/i18n/ja.ts +255 -255
  266. package/src/tool/planet-atmosphere-survival/i18n/ko.ts +255 -255
  267. package/src/tool/planet-atmosphere-survival/i18n/nl.ts +255 -255
  268. package/src/tool/planet-atmosphere-survival/i18n/pl.ts +255 -255
  269. package/src/tool/planet-atmosphere-survival/i18n/pt.ts +255 -255
  270. package/src/tool/planet-atmosphere-survival/i18n/ru.ts +227 -223
  271. package/src/tool/planet-atmosphere-survival/i18n/sv.ts +255 -255
  272. package/src/tool/planet-atmosphere-survival/i18n/tr.ts +255 -255
  273. package/src/tool/planet-atmosphere-survival/i18n/zh.ts +255 -255
  274. package/src/tool/radioactive-decay/i18n/de.ts +168 -164
  275. package/src/tool/radioactive-decay/i18n/fr.ts +76 -75
  276. package/src/tool/radioactive-decay/i18n/id.ts +169 -165
  277. package/src/tool/radioactive-decay/i18n/it.ts +76 -74
  278. package/src/tool/radioactive-decay/i18n/ja.ts +168 -167
  279. package/src/tool/radioactive-decay/i18n/ko.ts +168 -167
  280. package/src/tool/radioactive-decay/i18n/nl.ts +170 -168
  281. package/src/tool/radioactive-decay/i18n/pl.ts +170 -168
  282. package/src/tool/radioactive-decay/i18n/pt.ts +169 -167
  283. package/src/tool/radioactive-decay/i18n/ru.ts +170 -168
  284. package/src/tool/radioactive-decay/i18n/sv.ts +170 -168
  285. package/src/tool/radioactive-decay/i18n/tr.ts +171 -168
  286. package/src/tool/radioactive-decay/i18n/zh.ts +171 -167
  287. package/src/tool/roche-limit-satellite-disruption/i18n/de.ts +241 -241
  288. package/src/tool/roche-limit-satellite-disruption/i18n/fr.ts +241 -241
  289. package/src/tool/roche-limit-satellite-disruption/i18n/id.ts +241 -241
  290. package/src/tool/roche-limit-satellite-disruption/i18n/it.ts +241 -241
  291. package/src/tool/roche-limit-satellite-disruption/i18n/ja.ts +241 -241
  292. package/src/tool/roche-limit-satellite-disruption/i18n/ko.ts +241 -241
  293. package/src/tool/roche-limit-satellite-disruption/i18n/nl.ts +241 -241
  294. package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +237 -229
  295. package/src/tool/roche-limit-satellite-disruption/i18n/pt.ts +241 -241
  296. package/src/tool/roche-limit-satellite-disruption/i18n/ru.ts +241 -241
  297. package/src/tool/roche-limit-satellite-disruption/i18n/sv.ts +241 -241
  298. package/src/tool/roche-limit-satellite-disruption/i18n/tr.ts +241 -241
  299. package/src/tool/roche-limit-satellite-disruption/i18n/zh.ts +241 -241
  300. package/src/tool/simulation-probability/component.astro +138 -138
  301. package/src/tool/simulation-probability/i18n/de.ts +1 -1
  302. package/src/tool/simulation-probability/i18n/en.ts +1 -1
  303. package/src/tool/simulation-probability/i18n/es.ts +1 -1
  304. package/src/tool/simulation-probability/i18n/fr.ts +1 -1
  305. package/src/tool/simulation-probability/i18n/id.ts +1 -1
  306. package/src/tool/simulation-probability/i18n/it.ts +1 -1
  307. package/src/tool/simulation-probability/i18n/ja.ts +1 -1
  308. package/src/tool/simulation-probability/i18n/ko.ts +1 -1
  309. package/src/tool/simulation-probability/i18n/nl.ts +1 -1
  310. package/src/tool/simulation-probability/i18n/pl.ts +1 -1
  311. package/src/tool/simulation-probability/i18n/pt.ts +1 -1
  312. package/src/tool/simulation-probability/i18n/ru.ts +1 -1
  313. package/src/tool/simulation-probability/i18n/sv.ts +1 -1
  314. package/src/tool/simulation-probability/i18n/tr.ts +1 -1
  315. package/src/tool/simulation-probability/i18n/zh.ts +1 -1
  316. package/src/tool/simulation-probability/seo.astro +15 -15
  317. package/src/tool/stellar-habitability-zone/i18n/ru.ts +189 -189
  318. package/src/tool/temperature-timeline/i18n/de.ts +2 -1
  319. package/src/tool/temperature-timeline/i18n/fr.ts +177 -177
  320. package/src/tool/temperature-timeline/i18n/it.ts +142 -141
  321. package/src/tool/temperature-timeline/i18n/pt.ts +3 -1
  322. package/src/tool/temperature-timeline/i18n/ru.ts +116 -114
  323. package/src/tool/three-body-problem/app.ts +4 -4
  324. package/src/tool/three-body-problem/component.astro +6 -6
  325. package/src/tool/twin-paradox-visualizer/i18n/de.ts +168 -168
  326. package/src/tool/twin-paradox-visualizer/i18n/es.ts +165 -165
  327. package/src/tool/twin-paradox-visualizer/i18n/fr.ts +168 -168
  328. package/src/tool/twin-paradox-visualizer/i18n/id.ts +168 -168
  329. package/src/tool/twin-paradox-visualizer/i18n/it.ts +168 -168
  330. package/src/tool/twin-paradox-visualizer/i18n/ja.ts +168 -168
  331. package/src/tool/twin-paradox-visualizer/i18n/ko.ts +168 -168
  332. package/src/tool/twin-paradox-visualizer/i18n/nl.ts +168 -168
  333. package/src/tool/twin-paradox-visualizer/i18n/pl.ts +168 -168
  334. package/src/tool/twin-paradox-visualizer/i18n/pt.ts +164 -160
  335. package/src/tool/twin-paradox-visualizer/i18n/ru.ts +168 -168
  336. package/src/tool/twin-paradox-visualizer/i18n/sv.ts +168 -168
  337. package/src/tool/twin-paradox-visualizer/i18n/tr.ts +168 -168
  338. package/src/tool/twin-paradox-visualizer/i18n/zh.ts +168 -168
  339. 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
+