@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,159 +1,159 @@
1
- import { bibliography } from '../bibliography';
2
- import type { ToolLocaleContent } from '../../../types';
3
-
4
- const slug = 'mandelbrot-fractal-calculator';
5
- const title = 'Mandelbrot Fractal Calculator & Self Similarity Explorer';
6
- const description = 'Mandelbrot 집합을 탐험하고, 자기유사 프랙탈 경계를 확대하며, 반복 깊이, 색상 대비, 복소평면 좌표를 비교해 보세요.';
7
-
8
- const howTo = [
9
- {
10
- name: 'Mandelbrot 집합의 영역 선택',
11
- text: '전체 집합에서 시작하거나, seahorse valley 또는 스파이럴 미니브로트와 같은 고해상도 영역으로 바로 이동하세요.',
12
- },
13
- {
14
- name: '이미지를 클릭하여 확대',
15
- text: '캔버스의 아무 지점이나 클릭하면 복소평면이 재중심화되고 해당 좌표를 중심으로 프랙탈이 확대됩니다.',
16
- },
17
- {
18
- name: '반복 깊이와 색상 대비 조정',
19
- text: '반복 예산을 늘리면 더 미세한 경계 구조가 드러납니다. 그런 다음 대비와 팔레트를 조정하여 탈출 시간 밴드를 더 읽기 쉽게 만드세요.',
20
- },
21
- ];
22
-
23
- const faq = [
24
- {
25
- question: 'Mandelbrot 집합 계산기는 무엇을 보여주나요?',
26
- answer: 'z = 0에서 시작할 때 점화식 z(n+1) = z(n)^2 + c를 유계로 유지하는 복소수 c를 보여줍니다. 선택한 반복 예산 내에서 절대 발산하지 않는 점은 집합의 구성원으로 색칠되고, 외부 점은 궤도가 발산하는 속도에 따라 색칠됩니다.',
27
- },
28
- {
29
- question: 'Mandelbrot 집합의 경계에는 왜 이렇게 많은 세부 정보가 포함되어 있나요?',
30
- answer: '경계는 안정 궤도와 발산 궤도를 분리하며, 그 경계 근처의 미세한 좌표 변화가 장기적인 행동을 완전히 바꿀 수 있습니다. 이러한 민감성은 중첩된 벌브, 나선, 필라멘트 및 여러 확대 수준에서 나타나는 미니어처 복사본을 생성합니다.',
31
- },
32
- {
33
- question: 'Mandelbrot 집합은 정말로 자기유사한가요?',
34
- answer: '시어핀스키 삼각형과 같은 엄격한 의미에서 완벽하게 자기유사하지는 않지만, 풍부한 준자기유사성을 가지고 있습니다. 전체 집합의 작은 복사본이 평면 전체에 나타나며, 종종 왜곡되고 정교한 분기 구조로 연결됩니다.',
35
- },
36
- {
37
- question: '반복 횟수는 무엇을 제어하나요?',
38
- answer: '반복 횟수는 계산기가 각 점을 테스트한 후 집합에 속할 것이라고 결정하기까지의 시간을 제어합니다. 더 높은 값은 더 깊은 필라멘트와 더 선명한 미니브로트를 드러내지만, 픽셀당 더 많은 계산이 필요합니다.',
39
- },
40
- {
41
- question: '검은 영역 밖에서 색상이 변하는 이유는 무엇인가요?',
42
- answer: '외부 색상은 탈출 시간에 기반합니다. 빨리 발산하는 점은 여러 반복 동안 집합 근처에 머무르는 점과 다른 색상을 받습니다. 부드러운 컬러링은 거친 밴드를 줄이고 근처 궤도의 기하학적 구조를 검사하기 쉽게 만듭니다.',
43
- },
44
- ];
45
-
46
- export const content: ToolLocaleContent = {
47
- slug,
48
- title,
49
- description,
50
- ui: {
51
- title: 'Mandelbrot Fractal Calculator',
52
- canvasLabel: '인터랙티브 Mandelbrot 집합 캔버스',
53
- presetsLabel: 'Mandelbrot 영역 프리셋',
54
- presetFull: '전체 집합',
55
- presetSeahorse: 'Seahorse Valley',
56
- presetSpiral: '스파이럴 미니브로트',
57
- centerPoint: '중심',
58
- magnification: '배율',
59
- visibleWindow: '가시 창',
60
- renderBudget: '반복 횟수',
61
- iterationsLabel: '반복 깊이',
62
- contrastLabel: '발산 대비',
63
- colorLabel: '색상 필드',
64
- paletteEmber: '엠버 밴드',
65
- paletteLagoon: '라군 플라즈마',
66
- paletteInk: '잉크 스펙트럼',
67
- },
68
- seo: [
69
- {
70
- type: 'title',
71
- text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
72
- level: 2,
73
- },
74
- {
75
- type: 'paragraph',
76
- html: '이 Mandelbrot 프랙탈 계산기는 반복 <strong>z(n+1) = z(n)^2 + c</strong>로 정의되는 고전적인 복소평면 집합을 렌더링합니다. 수동적인 시청보다는 탐험을 위해 설계되었습니다. 모든 클릭은 평면을 재중심화하고, 각 확대는 더 작은 수학적 이웃을 노출시키며, 반복 슬라이더는 점을 안정 또는 발산으로 색칠하기 전에 계산기가 경계를 얼마나 깊이 테스트할지 결정하게 합니다.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'How to Read the Mandelbrot Image',
81
- level: 3,
82
- },
83
- {
84
- type: 'paragraph',
85
- html: '어두운 중앙 모양은 현재 반복 예산 내에서 궤도가 유계로 유지되는 점을 나타냅니다. 색칠된 외부는 탈출 시간 맵입니다. 집합 가까이 색칠된 점은 크기가 탈출 반경을 초과하기 전에 수백 번의 반복을 견딜 수 있지만, 멀리 있는 점은 거의 즉시 발산합니다. 가장 과학적으로 흥미로운 기하학적 구조는 일반적으로 채워진 모양 내부가 아니라 유계와 비유계 행동이 얽혀 있는 경계를 따라 있습니다.',
86
- },
87
- {
88
- type: 'table',
89
- headers: ['제어', '변경 사항', '증가해야 할 때'],
90
- rows: [
91
- ['<strong>반복 깊이</strong>', '각 픽셀에 대해 테스트되는 점화 단계의 수입니다.', '얇은 필라멘트나 미니어처 복사본으로 확대한 후 더 높은 값을 사용하세요.'],
92
- ['<strong>발산 대비</strong>', '부드러운 발산 값이 가시 밴드로 분리되는 강도입니다.', '이미지가 평평해 보일 때 올리고, 색상이 너무 강할 때 내리세요.'],
93
- ['<strong>팔레트</strong>', '외부 점에 적용되는 색상 매핑입니다.', '팔레트를 전환하여 하나의 색상 필드로는 숨겨질 수 있는 구조를 드러내세요.'],
94
- ],
95
- },
96
- {
97
- type: 'title',
98
- text: 'Self-Similarity and Minibrots',
99
- level: 3,
100
- },
101
- {
102
- type: 'paragraph',
103
- html: 'Mandelbrot 집합이 그렇게 유명한 이유 중 하나는 준자기유사성 때문입니다. 안테나, 나선, 계곡으로 확대해 들어가면 미니브로트라고 불리는 작은 Mandelbrot 같은 섬들을 반복해서 만나게 됩니다. 이러한 복사본은 단순한 장식이 아닙니다. 그 배열은 주기적인 벌브, 분기 패턴, 그리고 궤도가 발산하기 전에 오랜 기간 동안 갇혀 있는 영역을 포함한 이차 사상의 동역학을 반영합니다.',
104
- },
105
- {
106
- type: 'title',
107
- text: 'Why Higher Iterations Matter at Deep Zoom',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: '전체 집합 보기에서는 적당한 반복 제한으로 인식 가능한 이미지를 얻을 수 있습니다. 그러나 더 깊은 배율에서는 많은 경계 점이 발산 여부를 드러내는 데 훨씬 더 오래 걸립니다. 반복 제한이 너무 낮으면 미세 구조가 잘못하여 단단하거나 흐릿하게 보일 수 있습니다. 반복 횟수를 늘리면 경계 분류가 개선되고 계산기가 가는 덩굴손, 나선 팔, 위성 벌브를 더 확실하게 해상할 수 있습니다.',
113
- },
114
- {
115
- type: 'title',
116
- text: 'Mathematical Meaning of the Complex Coordinates',
117
- level: 3,
118
- },
119
- {
120
- type: 'paragraph',
121
- html: '좌표 판독값은 뷰포트의 현재 중심을 복소수 c = a + bi로 표시합니다. 수평 축은 실수부이고 수직 축은 허수부입니다. 캔버스를 클릭하면 새 복소 좌표를 선택한 다음 그 주위의 가시 창을 확대합니다. 이는 프랙탈의 시각적 영역이 복소평면의 정확한 위치에 어떻게 대응하는지 학습하는 데 유용한 도구가 됩니다.',
122
- },
123
- ],
124
- faq,
125
- bibliography,
126
- howTo,
127
- schemas: [
128
- {
129
- '@context': 'https://schema.org',
130
- '@type': 'SoftwareApplication',
131
- name: title,
132
- description,
133
- applicationCategory: 'ScientificApplication',
134
- operatingSystem: 'Any',
135
- },
136
- {
137
- '@context': 'https://schema.org',
138
- '@type': 'FAQPage',
139
- mainEntity: faq.map((item) => ({
140
- '@type': 'Question',
141
- name: item.question,
142
- acceptedAnswer: {
143
- '@type': 'Answer',
144
- text: item.answer,
145
- },
146
- })),
147
- },
148
- {
149
- '@context': 'https://schema.org',
150
- '@type': 'HowTo',
151
- name: title,
152
- step: howTo.map((step) => ({
153
- '@type': 'HowToStep',
154
- name: step.name,
155
- text: step.text,
156
- })),
157
- },
158
- ],
159
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'mandelbrot-fractal-calculator';
5
+ const title = 'Mandelbrot Fractal Calculator & Self Similarity Explorer';
6
+ const description = 'Mandelbrot 집합을 탐험하고, 자기유사 프랙탈 경계를 확대하며, 반복 깊이, 색상 대비, 복소평면 좌표를 비교해 보세요.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Mandelbrot 집합의 영역 선택',
11
+ text: '전체 집합에서 시작하거나, seahorse valley 또는 스파이럴 미니브로트와 같은 고해상도 영역으로 바로 이동하세요.',
12
+ },
13
+ {
14
+ name: '이미지를 클릭하여 확대',
15
+ text: '캔버스의 아무 지점이나 클릭하면 복소평면이 재중심화되고 해당 좌표를 중심으로 프랙탈이 확대됩니다.',
16
+ },
17
+ {
18
+ name: '반복 깊이와 색상 대비 조정',
19
+ text: '반복 예산을 늘리면 더 미세한 경계 구조가 드러납니다. 그런 다음 대비와 팔레트를 조정하여 탈출 시간 밴드를 더 읽기 쉽게 만드세요.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Mandelbrot 집합 계산기는 무엇을 보여주나요?',
26
+ answer: 'z = 0에서 시작할 때 점화식 z(n+1) = z(n)^2 + c를 유계로 유지하는 복소수 c를 보여줍니다. 선택한 반복 예산 내에서 절대 발산하지 않는 점은 집합의 구성원으로 색칠되고, 외부 점은 궤도가 발산하는 속도에 따라 색칠됩니다.',
27
+ },
28
+ {
29
+ question: 'Mandelbrot 집합의 경계에는 왜 이렇게 많은 세부 정보가 포함되어 있나요?',
30
+ answer: '경계는 안정 궤도와 발산 궤도를 분리하며, 그 경계 근처의 미세한 좌표 변화가 장기적인 행동을 완전히 바꿀 수 있습니다. 이러한 민감성은 중첩된 벌브, 나선, 필라멘트 및 여러 확대 수준에서 나타나는 미니어처 복사본을 생성합니다.',
31
+ },
32
+ {
33
+ question: 'Mandelbrot 집합은 정말로 자기유사한가요?',
34
+ answer: '시어핀스키 삼각형과 같은 엄격한 의미에서 완벽하게 자기유사하지는 않지만, 풍부한 준자기유사성을 가지고 있습니다. 전체 집합의 작은 복사본이 평면 전체에 나타나며, 종종 왜곡되고 정교한 분기 구조로 연결됩니다.',
35
+ },
36
+ {
37
+ question: '반복 횟수는 무엇을 제어하나요?',
38
+ answer: '반복 횟수는 계산기가 각 점을 테스트한 후 집합에 속할 것이라고 결정하기까지의 시간을 제어합니다. 더 높은 값은 더 깊은 필라멘트와 더 선명한 미니브로트를 드러내지만, 픽셀당 더 많은 계산이 필요합니다.',
39
+ },
40
+ {
41
+ question: '검은 영역 밖에서 색상이 변하는 이유는 무엇인가요?',
42
+ answer: '외부 색상은 탈출 시간에 기반합니다. 빨리 발산하는 점은 여러 반복 동안 집합 근처에 머무르는 점과 다른 색상을 받습니다. 부드러운 컬러링은 거친 밴드를 줄이고 근처 궤도의 기하학적 구조를 검사하기 쉽게 만듭니다.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Mandelbrot Fractal Calculator',
52
+ canvasLabel: '인터랙티브 Mandelbrot 집합 캔버스',
53
+ presetsLabel: 'Mandelbrot 영역 프리셋',
54
+ presetFull: '전체 집합',
55
+ presetSeahorse: 'Seahorse Valley',
56
+ presetSpiral: '스파이럴 미니브로트',
57
+ centerPoint: '중심',
58
+ magnification: '배율',
59
+ visibleWindow: '가시 창',
60
+ renderBudget: '반복 횟수',
61
+ iterationsLabel: '반복 깊이',
62
+ contrastLabel: '발산 대비',
63
+ colorLabel: '색상 필드',
64
+ paletteEmber: '엠버 밴드',
65
+ paletteLagoon: '라군 플라즈마',
66
+ paletteInk: '잉크 스펙트럼',
67
+ },
68
+ seo: [
69
+ {
70
+ type: 'title',
71
+ text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
72
+ level: 2,
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: '이 Mandelbrot 프랙탈 계산기는 반복 <strong>z(n+1) = z(n)^2 + c</strong>로 정의되는 고전적인 복소평면 집합을 렌더링합니다. 수동적인 시청보다는 탐험을 위해 설계되었습니다. 모든 클릭은 평면을 재중심화하고, 각 확대는 더 작은 수학적 이웃을 노출시키며, 반복 슬라이더는 점을 안정 또는 발산으로 색칠하기 전에 계산기가 경계를 얼마나 깊이 테스트할지 결정하게 합니다.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'How to Read the Mandelbrot Image',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'paragraph',
85
+ html: '어두운 중앙 모양은 현재 반복 예산 내에서 궤도가 유계로 유지되는 점을 나타냅니다. 색칠된 외부는 탈출 시간 맵입니다. 집합 가까이 색칠된 점은 크기가 탈출 반경을 초과하기 전에 수백 번의 반복을 견딜 수 있지만, 멀리 있는 점은 거의 즉시 발산합니다. 가장 과학적으로 흥미로운 기하학적 구조는 일반적으로 채워진 모양 내부가 아니라 유계와 비유계 행동이 얽혀 있는 경계를 따라 있습니다.',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['제어', '변경 사항', '증가해야 할 때'],
90
+ rows: [
91
+ ['<strong>반복 깊이</strong>', '각 픽셀에 대해 테스트되는 점화 단계의 수입니다.', '얇은 필라멘트나 미니어처 복사본으로 확대한 후 더 높은 값을 사용하세요.'],
92
+ ['<strong>발산 대비</strong>', '부드러운 발산 값이 가시 밴드로 분리되는 강도입니다.', '이미지가 평평해 보일 때 올리고, 색상이 너무 강할 때 내리세요.'],
93
+ ['<strong>팔레트</strong>', '외부 점에 적용되는 색상 매핑입니다.', '팔레트를 전환하여 하나의 색상 필드로는 숨겨질 수 있는 구조를 드러내세요.'],
94
+ ],
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Self-Similarity and Minibrots',
99
+ level: 3,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Mandelbrot 집합이 그렇게 유명한 이유 중 하나는 준자기유사성 때문입니다. 안테나, 나선, 계곡으로 확대해 들어가면 미니브로트라고 불리는 작은 Mandelbrot 같은 섬들을 반복해서 만나게 됩니다. 이러한 복사본은 단순한 장식이 아닙니다. 그 배열은 주기적인 벌브, 분기 패턴, 그리고 궤도가 발산하기 전에 오랜 기간 동안 갇혀 있는 영역을 포함한 이차 사상의 동역학을 반영합니다.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Why Higher Iterations Matter at Deep Zoom',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: '전체 집합 보기에서는 적당한 반복 제한으로 인식 가능한 이미지를 얻을 수 있습니다. 그러나 더 깊은 배율에서는 많은 경계 점이 발산 여부를 드러내는 데 훨씬 더 오래 걸립니다. 반복 제한이 너무 낮으면 미세 구조가 잘못하여 단단하거나 흐릿하게 보일 수 있습니다. 반복 횟수를 늘리면 경계 분류가 개선되고 계산기가 가는 덩굴손, 나선 팔, 위성 벌브를 더 확실하게 해상할 수 있습니다.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Mathematical Meaning of the Complex Coordinates',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: '좌표 판독값은 뷰포트의 현재 중심을 복소수 c = a + bi로 표시합니다. 수평 축은 실수부이고 수직 축은 허수부입니다. 캔버스를 클릭하면 새 복소 좌표를 선택한 다음 그 주위의 가시 창을 확대합니다. 이는 프랙탈의 시각적 영역이 복소평면의 정확한 위치에 어떻게 대응하는지 학습하는 데 유용한 도구가 됩니다.',
122
+ },
123
+ ],
124
+ faq,
125
+ bibliography,
126
+ howTo,
127
+ schemas: [
128
+ {
129
+ '@context': 'https://schema.org',
130
+ '@type': 'SoftwareApplication',
131
+ name: title,
132
+ description,
133
+ applicationCategory: 'ScientificApplication',
134
+ operatingSystem: 'Any',
135
+ },
136
+ {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'FAQPage',
139
+ mainEntity: faq.map((item) => ({
140
+ '@type': 'Question',
141
+ name: item.question,
142
+ acceptedAnswer: {
143
+ '@type': 'Answer',
144
+ text: item.answer,
145
+ },
146
+ })),
147
+ },
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'HowTo',
151
+ name: title,
152
+ step: howTo.map((step) => ({
153
+ '@type': 'HowToStep',
154
+ name: step.name,
155
+ text: step.text,
156
+ })),
157
+ },
158
+ ],
159
+ };
@@ -1,159 +1,159 @@
1
- import { bibliography } from '../bibliography';
2
- import type { ToolLocaleContent } from '../../../types';
3
-
4
- const slug = 'mandelbrot-fractaal-calculator';
5
- const title = 'Mandelbrot Fractaal Calculator & Self Similarity Explorer';
6
- const description = 'Verken de Mandelbrotverzameling, zoom in op zelfgelijkende fractalranden en vergelijk iteratiediepte, kleurcontrast en complexe vlakcoordinaten.';
7
-
8
- const howTo = [
9
- {
10
- name: 'Kies een gebied van de Mandelbrotverzameling',
11
- text: 'Begin bij de volledige verzameling of spring direct naar een gedetailleerd gebied zoals de zeepaardvallei of een spiraalminibrot.',
12
- },
13
- {
14
- name: 'Zoom door op de afbeelding te klikken',
15
- text: 'Klik op een willekeurig punt op het canvas om het complexe vlak te hercentreren en de fractal rond dat coordinaat te vergroten.',
16
- },
17
- {
18
- name: 'Pas iteratiediepte en kleurcontrast aan',
19
- text: 'Verhoog het iteratiebudget om fijnere randstructuren te onthullen en pas vervolgens contrast en palet aan om ontsnappingstijdbanden beter leesbaar te maken.',
20
- },
21
- ];
22
-
23
- const faq = [
24
- {
25
- question: 'Wat laat de Mandelbrotverzameling-calculator zien?',
26
- answer: 'Het laat zien welke complexe getallen c de recurrente betrekking z(n+1) = z(n)^2 + c begrensd houden wanneer gestart wordt vanuit z = 0. Punten die binnen het geselecteerde iteratiebudget nooit ontsnappen, worden gekleurd als leden van de verzameling, terwijl buitenpunten worden gekleurd op basis van hoe snel hun baan ontsnapt.',
27
- },
28
- {
29
- question: 'Waarom bevat de Mandelbrotgrens zoveel detail?',
30
- answer: 'De grens scheidt stabiele en ontsnappende banen, en kleine coordinaatveranderingen nabij die grens kunnen het gedrag op lange termijn volledig veranderen. Deze gevoeligheid creert geneste bollen, spiralen, filamenten en miniatuurkopieen die op vele vergrotingsniveaus verschijnen.',
31
- },
32
- {
33
- question: 'Is de Mandelbrotverzameling werkelijk zelfgelijkend?',
34
- answer: 'Het is niet perfect zelfgelijkend op dezelfde strikte manier als een Sierpinski-driehoek, maar het is rijkelijk quasi-zelfgelijkend. Kleine kopieen van de hele verzameling verschijnen door het hele vlak, vaak vervormd en verbonden door uitgebreide vertakkingsstructuren.',
35
- },
36
- {
37
- question: 'Wat regelt het iteratieaantal?',
38
- answer: 'Het iteratieaantal bepaalt hoe lang de calculator elk punt test voordat het beslist dat het waarschijnlijk tot de verzameling behoort. Hogere waarden onthullen diepere filamenten en schonere minibrots, maar vereisen meer berekening per pixel.',
39
- },
40
- {
41
- question: 'Waarom veranderen de kleuren buiten het zwarte gebied?',
42
- answer: 'De kleuren buiten zijn gebaseerd op ontsnappingstijd: punten die snel ontsnappen krijgen andere kleuren dan punten die vele iteraties dicht bij de verzameling blijven. Gladde kleuring vermindert harde banden en maakt de geometrie van naburige banen gemakkelijker te inspecteren.',
43
- },
44
- ];
45
-
46
- export const content: ToolLocaleContent = {
47
- slug,
48
- title,
49
- description,
50
- ui: {
51
- title: 'Mandelbrot Fractaal Calculator',
52
- canvasLabel: 'Interactief Mandelbrotverzameling-canvas',
53
- presetsLabel: 'Mandelbrotgebied-voorinstellingen',
54
- presetFull: 'Volledige Verzameling',
55
- presetSeahorse: 'Zeepaardvallei',
56
- presetSpiral: 'Spiraalminibrot',
57
- centerPoint: 'Middelpunt',
58
- magnification: 'Vergroting',
59
- visibleWindow: 'Zichtbaar venster',
60
- renderBudget: 'Iteraties',
61
- iterationsLabel: 'Iteratiediepte',
62
- contrastLabel: 'Ontsnappingscontrast',
63
- colorLabel: 'Kleurveld',
64
- paletteEmber: 'Gloeiende banden',
65
- paletteLagoon: 'Laguneplasma',
66
- paletteInk: 'Inktspectrum',
67
- },
68
- seo: [
69
- {
70
- type: 'title',
71
- text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
72
- level: 2,
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'Deze Mandelbrotfractaal-calculator rendert de klassieke complexe-vlakverzameling gedefinieerd door de iteratie <strong>z(n+1) = z(n)^2 + c</strong>. Hij is ontworpen voor verkenning in plaats van passief bekijken: elke klik hercentreert het vlak, elke zoom stelt een kleinere wiskundige omgeving bloot en de iteratieschuifregelaar laat u bepalen hoe diep de calculator de grens moet testen voordat een punt als stabiel of ontsnappend wordt gekleurd.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'How to Read the Mandelbrot Image',
81
- level: 3,
82
- },
83
- {
84
- type: 'paragraph',
85
- html: 'De donkere centrale vorm markeert punten waarvan de banen binnen het huidige iteratiebudget begrensd blijven. De gekleurde buitenkant is een ontsnappingstijdkaart. Een punt dat dicht bij de verzameling is gekleurd, kan honderden iteraties overleven voordat de magnitude de ontsnappingsstraal overschrijdt, terwijl een punt ver weg bijna onmiddellijk ontsnapt. De meest wetenschappelijk interessante geometrie bevindt zich meestal niet binnen de gevulde vorm, maar langs de grens waar begrensd en onbegrensd gedrag elkaar verweven.',
86
- },
87
- {
88
- type: 'table',
89
- headers: ['Bediening', 'Wat het verandert', 'Wanneer verhogen'],
90
- rows: [
91
- ['<strong>Iteratiediepte</strong>', 'Hoeveel recurrentiestappen worden getest per pixel.', 'Gebruik hogere waarden na het inzoomen op dunne filamenten of miniatuurkopieen.'],
92
- ['<strong>Ontsnappingscontrast</strong>', 'Hoe sterk gladde ontsnappingswaarden worden gescheiden in zichtbare banden.', 'Verhoog het wanneer het beeld er vlak uitziet; verlaag het wanneer kleuren te hard zijn.'],
93
- ['<strong>Palet</strong>', 'De kleurtoewijzing toegepast op buitenpunten.', 'Wissel van palet om structuren te onthullen die verborgen kunnen zijn door een enkel kleurveld.'],
94
- ],
95
- },
96
- {
97
- type: 'title',
98
- text: 'Self-Similarity and Minibrots',
99
- level: 3,
100
- },
101
- {
102
- type: 'paragraph',
103
- html: 'Een reden waarom de Mandelbrotverzameling zo beroemd is, is de quasi-zelfgelijkheid. Terwijl u inzoomt op antennes, spiralen en valleien, komt u herhaaldelijk kleine Mandelbrot-achtige eilanden tegen, vaak minibrots genoemd. Deze kopieen zijn niet louter decoratief. Hun rangschikking weerspiegelt de dynamiek van kwadratische afbeeldingen, inclusief periodieke bollen, bifurcatiepatronen en gebieden waar banen lange tijd gevangen blijven voordat ze ontsnappen.',
104
- },
105
- {
106
- type: 'title',
107
- text: 'Why Higher Iterations Matter at Deep Zoom',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: 'Bij het overzicht van de volledige verzameling geeft een bescheiden iteratielimiet een herkenbaar beeld. Bij diepere vergroting duurt het echter veel langer voordat veel grenspunten onthullen of ze ontsnappen. Als de iteratielimiet te laag is, kunnen fijne structuren er vals massief of modderig uitzien. Het verhogen van het iteratieaantal verbetert de grensclassificatie en laat de calculator smalle uitlopers, spiraalarmen en satellietbollen met meer vertrouwen oplossen.',
113
- },
114
- {
115
- type: 'title',
116
- text: 'Mathematical Meaning of the Complex Coordinates',
117
- level: 3,
118
- },
119
- {
120
- type: 'paragraph',
121
- html: 'De coordinaatuitlezing toont het huidige middelpunt van de viewport als een complex getal c = a + bi. De horizontale as is het reele deel en de verticale as het imaginaire deel. Door op het canvas te klikken kiest u een nieuw complex coordinaat, waarna het zichtbare venster eromheen wordt vergroot. Dit maakt de tool nuttig voor het leren hoe visuele gebieden van de fractal overeenkomen met precieze locaties in het complexe vlak.',
122
- },
123
- ],
124
- faq,
125
- bibliography,
126
- howTo,
127
- schemas: [
128
- {
129
- '@context': 'https://schema.org',
130
- '@type': 'SoftwareApplication',
131
- name: title,
132
- description,
133
- applicationCategory: 'ScientificApplication',
134
- operatingSystem: 'Any',
135
- },
136
- {
137
- '@context': 'https://schema.org',
138
- '@type': 'FAQPage',
139
- mainEntity: faq.map((item) => ({
140
- '@type': 'Question',
141
- name: item.question,
142
- acceptedAnswer: {
143
- '@type': 'Answer',
144
- text: item.answer,
145
- },
146
- })),
147
- },
148
- {
149
- '@context': 'https://schema.org',
150
- '@type': 'HowTo',
151
- name: title,
152
- step: howTo.map((step) => ({
153
- '@type': 'HowToStep',
154
- name: step.name,
155
- text: step.text,
156
- })),
157
- },
158
- ],
159
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'mandelbrot-fractaal-calculator';
5
+ const title = 'Mandelbrot Fractaal Calculator & Self Similarity Explorer';
6
+ const description = 'Verken de Mandelbrotverzameling, zoom in op zelfgelijkende fractalranden en vergelijk iteratiediepte, kleurcontrast en complexe vlakcoordinaten.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Kies een gebied van de Mandelbrotverzameling',
11
+ text: 'Begin bij de volledige verzameling of spring direct naar een gedetailleerd gebied zoals de zeepaardvallei of een spiraalminibrot.',
12
+ },
13
+ {
14
+ name: 'Zoom door op de afbeelding te klikken',
15
+ text: 'Klik op een willekeurig punt op het canvas om het complexe vlak te hercentreren en de fractal rond dat coordinaat te vergroten.',
16
+ },
17
+ {
18
+ name: 'Pas iteratiediepte en kleurcontrast aan',
19
+ text: 'Verhoog het iteratiebudget om fijnere randstructuren te onthullen en pas vervolgens contrast en palet aan om ontsnappingstijdbanden beter leesbaar te maken.',
20
+ },
21
+ ];
22
+
23
+ const faq = [
24
+ {
25
+ question: 'Wat laat de Mandelbrotverzameling-calculator zien?',
26
+ answer: 'Het laat zien welke complexe getallen c de recurrente betrekking z(n+1) = z(n)^2 + c begrensd houden wanneer gestart wordt vanuit z = 0. Punten die binnen het geselecteerde iteratiebudget nooit ontsnappen, worden gekleurd als leden van de verzameling, terwijl buitenpunten worden gekleurd op basis van hoe snel hun baan ontsnapt.',
27
+ },
28
+ {
29
+ question: 'Waarom bevat de Mandelbrotgrens zoveel detail?',
30
+ answer: 'De grens scheidt stabiele en ontsnappende banen, en kleine coordinaatveranderingen nabij die grens kunnen het gedrag op lange termijn volledig veranderen. Deze gevoeligheid creert geneste bollen, spiralen, filamenten en miniatuurkopieen die op vele vergrotingsniveaus verschijnen.',
31
+ },
32
+ {
33
+ question: 'Is de Mandelbrotverzameling werkelijk zelfgelijkend?',
34
+ answer: 'Het is niet perfect zelfgelijkend op dezelfde strikte manier als een Sierpinski-driehoek, maar het is rijkelijk quasi-zelfgelijkend. Kleine kopieen van de hele verzameling verschijnen door het hele vlak, vaak vervormd en verbonden door uitgebreide vertakkingsstructuren.',
35
+ },
36
+ {
37
+ question: 'Wat regelt het iteratieaantal?',
38
+ answer: 'Het iteratieaantal bepaalt hoe lang de calculator elk punt test voordat het beslist dat het waarschijnlijk tot de verzameling behoort. Hogere waarden onthullen diepere filamenten en schonere minibrots, maar vereisen meer berekening per pixel.',
39
+ },
40
+ {
41
+ question: 'Waarom veranderen de kleuren buiten het zwarte gebied?',
42
+ answer: 'De kleuren buiten zijn gebaseerd op ontsnappingstijd: punten die snel ontsnappen krijgen andere kleuren dan punten die vele iteraties dicht bij de verzameling blijven. Gladde kleuring vermindert harde banden en maakt de geometrie van naburige banen gemakkelijker te inspecteren.',
43
+ },
44
+ ];
45
+
46
+ export const content: ToolLocaleContent = {
47
+ slug,
48
+ title,
49
+ description,
50
+ ui: {
51
+ title: 'Mandelbrot Fractaal Calculator',
52
+ canvasLabel: 'Interactief Mandelbrotverzameling-canvas',
53
+ presetsLabel: 'Mandelbrotgebied-voorinstellingen',
54
+ presetFull: 'Volledige Verzameling',
55
+ presetSeahorse: 'Zeepaardvallei',
56
+ presetSpiral: 'Spiraalminibrot',
57
+ centerPoint: 'Middelpunt',
58
+ magnification: 'Vergroting',
59
+ visibleWindow: 'Zichtbaar venster',
60
+ renderBudget: 'Iteraties',
61
+ iterationsLabel: 'Iteratiediepte',
62
+ contrastLabel: 'Ontsnappingscontrast',
63
+ colorLabel: 'Kleurveld',
64
+ paletteEmber: 'Gloeiende banden',
65
+ paletteLagoon: 'Laguneplasma',
66
+ paletteInk: 'Inktspectrum',
67
+ },
68
+ seo: [
69
+ {
70
+ type: 'title',
71
+ text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
72
+ level: 2,
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Deze Mandelbrotfractaal-calculator rendert de klassieke complexe-vlakverzameling gedefinieerd door de iteratie <strong>z(n+1) = z(n)^2 + c</strong>. Hij is ontworpen voor verkenning in plaats van passief bekijken: elke klik hercentreert het vlak, elke zoom stelt een kleinere wiskundige omgeving bloot en de iteratieschuifregelaar laat u bepalen hoe diep de calculator de grens moet testen voordat een punt als stabiel of ontsnappend wordt gekleurd.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'How to Read the Mandelbrot Image',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'paragraph',
85
+ html: 'De donkere centrale vorm markeert punten waarvan de banen binnen het huidige iteratiebudget begrensd blijven. De gekleurde buitenkant is een ontsnappingstijdkaart. Een punt dat dicht bij de verzameling is gekleurd, kan honderden iteraties overleven voordat de magnitude de ontsnappingsstraal overschrijdt, terwijl een punt ver weg bijna onmiddellijk ontsnapt. De meest wetenschappelijk interessante geometrie bevindt zich meestal niet binnen de gevulde vorm, maar langs de grens waar begrensd en onbegrensd gedrag elkaar verweven.',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['Bediening', 'Wat het verandert', 'Wanneer verhogen'],
90
+ rows: [
91
+ ['<strong>Iteratiediepte</strong>', 'Hoeveel recurrentiestappen worden getest per pixel.', 'Gebruik hogere waarden na het inzoomen op dunne filamenten of miniatuurkopieen.'],
92
+ ['<strong>Ontsnappingscontrast</strong>', 'Hoe sterk gladde ontsnappingswaarden worden gescheiden in zichtbare banden.', 'Verhoog het wanneer het beeld er vlak uitziet; verlaag het wanneer kleuren te hard zijn.'],
93
+ ['<strong>Palet</strong>', 'De kleurtoewijzing toegepast op buitenpunten.', 'Wissel van palet om structuren te onthullen die verborgen kunnen zijn door een enkel kleurveld.'],
94
+ ],
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Self-Similarity and Minibrots',
99
+ level: 3,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Een reden waarom de Mandelbrotverzameling zo beroemd is, is de quasi-zelfgelijkheid. Terwijl u inzoomt op antennes, spiralen en valleien, komt u herhaaldelijk kleine Mandelbrot-achtige eilanden tegen, vaak minibrots genoemd. Deze kopieen zijn niet louter decoratief. Hun rangschikking weerspiegelt de dynamiek van kwadratische afbeeldingen, inclusief periodieke bollen, bifurcatiepatronen en gebieden waar banen lange tijd gevangen blijven voordat ze ontsnappen.',
104
+ },
105
+ {
106
+ type: 'title',
107
+ text: 'Why Higher Iterations Matter at Deep Zoom',
108
+ level: 3,
109
+ },
110
+ {
111
+ type: 'paragraph',
112
+ html: 'Bij het overzicht van de volledige verzameling geeft een bescheiden iteratielimiet een herkenbaar beeld. Bij diepere vergroting duurt het echter veel langer voordat veel grenspunten onthullen of ze ontsnappen. Als de iteratielimiet te laag is, kunnen fijne structuren er vals massief of modderig uitzien. Het verhogen van het iteratieaantal verbetert de grensclassificatie en laat de calculator smalle uitlopers, spiraalarmen en satellietbollen met meer vertrouwen oplossen.',
113
+ },
114
+ {
115
+ type: 'title',
116
+ text: 'Mathematical Meaning of the Complex Coordinates',
117
+ level: 3,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'De coordinaatuitlezing toont het huidige middelpunt van de viewport als een complex getal c = a + bi. De horizontale as is het reele deel en de verticale as het imaginaire deel. Door op het canvas te klikken kiest u een nieuw complex coordinaat, waarna het zichtbare venster eromheen wordt vergroot. Dit maakt de tool nuttig voor het leren hoe visuele gebieden van de fractal overeenkomen met precieze locaties in het complexe vlak.',
122
+ },
123
+ ],
124
+ faq,
125
+ bibliography,
126
+ howTo,
127
+ schemas: [
128
+ {
129
+ '@context': 'https://schema.org',
130
+ '@type': 'SoftwareApplication',
131
+ name: title,
132
+ description,
133
+ applicationCategory: 'ScientificApplication',
134
+ operatingSystem: 'Any',
135
+ },
136
+ {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'FAQPage',
139
+ mainEntity: faq.map((item) => ({
140
+ '@type': 'Question',
141
+ name: item.question,
142
+ acceptedAnswer: {
143
+ '@type': 'Answer',
144
+ text: item.answer,
145
+ },
146
+ })),
147
+ },
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'HowTo',
151
+ name: title,
152
+ step: howTo.map((step) => ({
153
+ '@type': 'HowToStep',
154
+ name: step.name,
155
+ text: step.text,
156
+ })),
157
+ },
158
+ ],
159
+ };