@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: '산소, 메탄, 오존 조절바를 조작하여, 관측된 흡수 표시가 시뮬레이션된 스펙트럼의 기준 대역(band)과 일치하도록 조정하세요.',
16
- },
17
- {
18
- name: '잡음 및 대기 조건 설정하기',
19
- text: '장비 잡음 수준을 높여 데이터 신뢰도가 어떻게 변화하는지 확인하세요. 수증기와 이산화탄소 농도를 조절하여 습도, 대기 밀도, 광화학적 특이 환경을 재현해 보세요.',
20
- },
21
- {
22
- name: '거주 가능성 지수 확인하기',
23
- text: '생물학적, 기술적, 위양성, 거주 가능성 수치를 비교하세요. 강력한 분석 결과는 단일 기체의 발견이 아니라, 여러 기체가 비평형 상태를 유지할 때 도출됩니다.',
24
- },
25
- ];
26
-
27
- const faq = [
28
- {
29
- question: '외계행성 분광학에서 생명체 지표(biosignature)란 무엇인가요?',
30
- answer: '생명체 지표는 생명 활동에 의해 발생했을 가능성이 있는 원격 탐지 가능한 특징을 의미합니다. 대기 스펙트럼에서 산소, 오존, 메탄, 수증기는 주요 후보입니다. 특히 화학적으로 반응하여 소멸해야 함에도 불구하고, 지속적으로 보충되고 있는 기체들의 조합은 강력한 생명체 지표가 됩니다.',
31
- },
32
- {
33
- question: '산소와 메탄의 동시 검출이 왜 중요한가요?',
34
- answer: '산소와 메탄은 서로 화학적으로 반응하기 때문에, 두 기체가 의미 있는 수준으로 공존한다면 대기가 화학적 비평형 상태임을 의미합니다. 이는 단일 기체 검출보다 훨씬 중요한 생명 존재의 신호이므로, 이 시뮬레이터에서는 이 조합에 더 높은 가중치를 부여합니다.',
35
- },
36
- {
37
- question: '산소 검출이 위양성일 수도 있나요?',
38
- answer: '네, 가능합니다. 산소는 수분 손실, 광분해, 화산 활동 또는 강한 항성 자외선 환경을 통해 생명 활동 없이도 축적될 수 있습니다. 따라서 이 도구는 산소 검출을 생명의 절대적 증거로 간주하지 않고, 위양성 위험을 함께 평가합니다.',
39
- },
40
- {
41
- question: '오존을 산소와 별도로 취급하는 이유는 무엇인가요?',
42
- answer: '오존은 산소의 광화학 반응으로 생성되며 독특한 스펙트럼 특징을 가집니다. 직접적인 산소 대역을 관측하기 어려울 때 간접적인 산소 지표로 유용하지만, 정확한 해석을 위해서는 대기 상황에 대한 종합적인 이해가 필요합니다.',
43
- },
44
- {
45
- question: '기술 지수(technological index)란 무엇인가요?',
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: 'CO2 맥락',
70
- habitabilityIndex: '거주 가능성 지수',
71
- biologicalIndex: '생물학적',
72
- technologicalIndex: '기술적',
73
- falsePositiveRisk: '위양성 위험',
74
- oxygen: 'O2',
75
- methane: 'CH4',
76
- ozone: 'O3',
77
- oxygenShort: 'O2',
78
- methaneShort: 'CH4',
79
- ozoneShort: 'O3',
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: '산소, 메탄, 오존 조절바를 조작하여, 관측된 흡수 표시가 시뮬레이션된 스펙트럼의 기준 대역(band)과 일치하도록 조정하세요.',
16
+ },
17
+ {
18
+ name: '잡음 및 대기 조건 설정하기',
19
+ text: '장비 잡음 수준을 높여 데이터 신뢰도가 어떻게 변화하는지 확인하세요. 수증기와 이산화탄소 농도를 조절하여 습도, 대기 밀도, 광화학적 특이 환경을 재현해 보세요.',
20
+ },
21
+ {
22
+ name: '거주 가능성 지수 확인하기',
23
+ text: '생물학적, 기술적, 위양성, 거주 가능성 수치를 비교하세요. 강력한 분석 결과는 단일 기체의 발견이 아니라, 여러 기체가 비평형 상태를 유지할 때 도출됩니다.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ question: '외계행성 분광학에서 생명체 지표(biosignature)란 무엇인가요?',
30
+ answer: '생명체 지표는 생명 활동에 의해 발생했을 가능성이 있는 원격 탐지 가능한 특징을 의미합니다. 대기 스펙트럼에서 산소, 오존, 메탄, 수증기는 주요 후보입니다. 특히 화학적으로 반응하여 소멸해야 함에도 불구하고, 지속적으로 보충되고 있는 기체들의 조합은 강력한 생명체 지표가 됩니다.',
31
+ },
32
+ {
33
+ question: '산소와 메탄의 동시 검출이 왜 중요한가요?',
34
+ answer: '산소와 메탄은 서로 화학적으로 반응하기 때문에, 두 기체가 의미 있는 수준으로 공존한다면 대기가 화학적 비평형 상태임을 의미합니다. 이는 단일 기체 검출보다 훨씬 중요한 생명 존재의 신호이므로, 이 시뮬레이터에서는 이 조합에 더 높은 가중치를 부여합니다.',
35
+ },
36
+ {
37
+ question: '산소 검출이 위양성일 수도 있나요?',
38
+ answer: '네, 가능합니다. 산소는 수분 손실, 광분해, 화산 활동 또는 강한 항성 자외선 환경을 통해 생명 활동 없이도 축적될 수 있습니다. 따라서 이 도구는 산소 검출을 생명의 절대적 증거로 간주하지 않고, 위양성 위험을 함께 평가합니다.',
39
+ },
40
+ {
41
+ question: '오존을 산소와 별도로 취급하는 이유는 무엇인가요?',
42
+ answer: '오존은 산소의 광화학 반응으로 생성되며 독특한 스펙트럼 특징을 가집니다. 직접적인 산소 대역을 관측하기 어려울 때 간접적인 산소 지표로 유용하지만, 정확한 해석을 위해서는 대기 상황에 대한 종합적인 이해가 필요합니다.',
43
+ },
44
+ {
45
+ question: '기술 지수(technological index)란 무엇인가요?',
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: 'CO2 맥락',
70
+ habitabilityIndex: '거주 가능성 지수',
71
+ biologicalIndex: '생물학적',
72
+ technologicalIndex: '기술적',
73
+ falsePositiveRisk: '위양성 위험',
74
+ oxygen: 'O2',
75
+ methane: 'CH4',
76
+ ozone: 'O3',
77
+ oxygenShort: 'O2',
78
+ methaneShort: 'CH4',
79
+ ozoneShort: 'O3',
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: '외계행성 생명체 탐지기는 머나먼 행성의 대기를 통과한 빛 속에서 생명체 관련 기체가 어떻게 나타나는지 학습할 수 있는 인터랙티브 분광학 시뮬레이터입니다. 특정 분자를 단순히 예/아니오로 판별하는 것이 아니라, 산소, 메탄, 오존의 흡수 특징을 정렬하고 잡음, 수증기, CO2, 모항성 환경을 종합적으로 고려하여 평가를 수행합니다.',
100
- },
101
- {
102
- type: 'paragraph',
103
- html: '생명체 지표 과학의 핵심 난제는 단일 기체의 검출만으로는 생명 활동을 증명할 수 없다는 점입니다. 가장 설득력 있는 증거는 여러 기체의 조합, 물리적 환경의 맥락, 그리고 비생물학적 생성 가능성에 대한 철저한 배제 과정을 거쳐 도출됩니다. 이 시뮬레이터는 복잡한 분석 과정을 간결한 실험실 인터페이스로 구현하였습니다.',
104
- },
105
- {
106
- type: 'title',
107
- text: '투과 분광학을 통한 대기 기체 분석 원리',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: '행성이 모항성 앞을 지나갈 때, 별빛의 일부가 행성 대기를 통과합니다. 이때 특정 분자들은 자신의 고유 파장을 흡수하여 스펙트럼상에 흡수선(Dip)을 남깁니다. 천문학자들은 이 신호를 실험실에서 측정한 데이터와 비교하여 대기 성분을 추론합니다. 단, 구름, 연무, 온도, 항성 흑점, 장비 잡음 등이 분석의 정확도에 영향을 미치는 변수가 됩니다.',
113
- },
114
- {
115
- type: 'title',
116
- text: '산소, 메탄, 오존: 결합된 바이오시그니처의 의미',
117
- level: 3,
118
- },
119
- {
120
- type: 'list',
121
- items: [
122
- '<strong>산소 (O2):</strong> 지구에서는 광합성으로 산소가 풍부하게 유지되지만, 행성 진화 과정에 따라 비생물학적으로 산소가 축적될 수도 있습니다.',
123
- '<strong>메탄 (CH4):</strong> 생물, 지질 활동, 또는 운석 충돌로 발생하며, 산화성 기체와 공존할 때 생명 존재의 강력한 신호가 됩니다.',
124
- '<strong>오존 (O3):</strong> 산소의 광화학 생성물로, 특정 대역에서 산소 존재의 간접적이고 강력한 증거 역할을 합니다.',
125
- '<strong>물과 CO2의 역할:</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
- ['O2 단독', '산소 풍부 대기 가능성', '수분 손실이나 특이 광화학에 의한 비생물적 산소일 수 있음'],
142
- ['CH4 단독', '환원성 대기 또는 활발한 지질 활동', '단독으로는 생명 활동의 강력한 증거가 아님'],
143
- ['O2 + CH4', '추가 정밀 분석이 필요한 화학적 비평형', '데이터 검증 및 오염 확인 필수'],
144
- ['O2 + O3 + 물', '지구와 유사한 대기 환경', '구름과 모항성 활동에 의한 간섭 주의'],
145
- ],
146
- },
147
- {
148
- type: 'title',
149
- text: '생물학적 및 기술적 거주 가능성 지수',
150
- level: 3,
151
- },
152
- {
153
- type: 'paragraph',
154
- html: '생물학적 지수는 화학적 비평형 상태(특히 산소와 메탄의 공존)와 오존, 수증기 환경을 결합하여 평가합니다. 기술 지수는 매우 추정적이며, 대기가 자연 현상으로 설명하기 어려운 비정상적 에너지를 발산할 경우, 인공 오염이나 인위적 대기 개조 가능성을 염두에 두도록 설계되었습니다.',
155
- },
156
- {
157
- type: 'paragraph',
158
- html: '이 도구는 과학적 결론을 내리는 도구가 아니라, 논리적 추론 과정을 학습하는 보조 자료입니다. 실제 외계 생명체 탐사 연구에서는 다중 대기 모델 비교, 모항성 스펙트럼 보정, 망원경 시스템 효과 정밀 분석 등이 수반되어야 합니다. 본 시뮬레이터를 통해 증거 정렬, 맥락 파악, 그리고 위양성 검증이라는 과학적 탐구의 핵심 훈련을 경험해 보세요.',
159
- },
160
- ],
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
- ],
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: '외계행성 생명체 탐지기는 머나먼 행성의 대기를 통과한 빛 속에서 생명체 관련 기체가 어떻게 나타나는지 학습할 수 있는 인터랙티브 분광학 시뮬레이터입니다. 특정 분자를 단순히 예/아니오로 판별하는 것이 아니라, 산소, 메탄, 오존의 흡수 특징을 정렬하고 잡음, 수증기, CO2, 모항성 환경을 종합적으로 고려하여 평가를 수행합니다.',
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: '생명체 지표 과학의 핵심 난제는 단일 기체의 검출만으로는 생명 활동을 증명할 수 없다는 점입니다. 가장 설득력 있는 증거는 여러 기체의 조합, 물리적 환경의 맥락, 그리고 비생물학적 생성 가능성에 대한 철저한 배제 과정을 거쳐 도출됩니다. 이 시뮬레이터는 복잡한 분석 과정을 간결한 실험실 인터페이스로 구현하였습니다.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: '투과 분광학을 통한 대기 기체 분석 원리',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: '행성이 모항성 앞을 지나갈 때, 별빛의 일부가 행성 대기를 통과합니다. 이때 특정 분자들은 자신의 고유 파장을 흡수하여 스펙트럼상에 흡수선(Dip)을 남깁니다. 천문학자들은 이 신호를 실험실에서 측정한 데이터와 비교하여 대기 성분을 추론합니다. 단, 구름, 연무, 온도, 항성 흑점, 장비 잡음 등이 분석의 정확도에 영향을 미치는 변수가 됩니다.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: '산소, 메탄, 오존: 결합된 바이오시그니처의 의미',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'list',
121
+ items: [
122
+ '<strong>산소 (O2):</strong> 지구에서는 광합성으로 산소가 풍부하게 유지되지만, 행성 진화 과정에 따라 비생물학적으로 산소가 축적될 수도 있습니다.',
123
+ '<strong>메탄 (CH4):</strong> 생물, 지질 활동, 또는 운석 충돌로 발생하며, 산화성 기체와 공존할 때 생명 존재의 강력한 신호가 됩니다.',
124
+ '<strong>오존 (O3):</strong> 산소의 광화학 생성물로, 특정 대역에서 산소 존재의 간접적이고 강력한 증거 역할을 합니다.',
125
+ '<strong>물과 CO2의 역할:</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
+ ['O2 단독', '산소 풍부 대기 가능성', '수분 손실이나 특이 광화학에 의한 비생물적 산소일 수 있음'],
142
+ ['CH4 단독', '환원성 대기 또는 활발한 지질 활동', '단독으로는 생명 활동의 강력한 증거가 아님'],
143
+ ['O2 + CH4', '추가 정밀 분석이 필요한 화학적 비평형', '데이터 검증 및 오염 확인 필수'],
144
+ ['O2 + O3 + 물', '지구와 유사한 대기 환경', '구름과 모항성 활동에 의한 간섭 주의'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: '생물학적 및 기술적 거주 가능성 지수',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'paragraph',
154
+ html: '생물학적 지수는 화학적 비평형 상태(특히 산소와 메탄의 공존)와 오존, 수증기 환경을 결합하여 평가합니다. 기술 지수는 매우 추정적이며, 대기가 자연 현상으로 설명하기 어려운 비정상적 에너지를 발산할 경우, 인공 오염이나 인위적 대기 개조 가능성을 염두에 두도록 설계되었습니다.',
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: '이 도구는 과학적 결론을 내리는 도구가 아니라, 논리적 추론 과정을 학습하는 보조 자료입니다. 실제 외계 생명체 탐사 연구에서는 다중 대기 모델 비교, 모항성 스펙트럼 보정, 망원경 시스템 효과 정밀 분석 등이 수반되어야 합니다. 본 시뮬레이터를 통해 증거 정렬, 맥락 파악, 그리고 위양성 검증이라는 과학적 탐구의 핵심 훈련을 경험해 보세요.',
159
+ },
160
+ ],
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
196
  };