@jjlmoya/utils-science 1.50.0 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 -153
  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: '산소, 메탄, 오존 조절바를 조작하여, 관측된 흡수 표시가 시뮬레이션된 스펙트럼의 기준 대역(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
  };