@jjlmoya/utils-science 1.41.0 → 1.43.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 (164) hide show
  1. package/package.json +1 -1
  2. package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
  3. package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
  4. package/src/category/index.ts +3 -1
  5. package/src/entries.ts +5 -1
  6. package/src/index.ts +2 -0
  7. package/src/tests/diacritics_density.test.ts +140 -0
  8. package/src/tests/inverted_punctuation.test.ts +84 -0
  9. package/src/tests/locale_completeness.test.ts +2 -2
  10. package/src/tests/script_density.test.ts +94 -0
  11. package/src/tests/tool_validation.test.ts +2 -3
  12. package/src/tool/conway-life-rule-lab/i18n/de.ts +62 -5
  13. package/src/tool/conway-life-rule-lab/i18n/es.ts +62 -5
  14. package/src/tool/conway-life-rule-lab/i18n/fr.ts +62 -5
  15. package/src/tool/conway-life-rule-lab/i18n/id.ts +102 -45
  16. package/src/tool/conway-life-rule-lab/i18n/it.ts +62 -5
  17. package/src/tool/conway-life-rule-lab/i18n/ja.ts +62 -5
  18. package/src/tool/conway-life-rule-lab/i18n/ko.ts +62 -5
  19. package/src/tool/conway-life-rule-lab/i18n/nl.ts +102 -45
  20. package/src/tool/conway-life-rule-lab/i18n/pl.ts +62 -5
  21. package/src/tool/conway-life-rule-lab/i18n/pt.ts +62 -5
  22. package/src/tool/conway-life-rule-lab/i18n/ru.ts +62 -5
  23. package/src/tool/conway-life-rule-lab/i18n/sv.ts +62 -5
  24. package/src/tool/conway-life-rule-lab/i18n/tr.ts +62 -5
  25. package/src/tool/conway-life-rule-lab/i18n/zh.ts +62 -5
  26. package/src/tool/cosmic-inflation/i18n/es.ts +5 -5
  27. package/src/tool/cosmic-inflation/i18n/it.ts +51 -51
  28. package/src/tool/cosmic-inflation/i18n/ru.ts +42 -150
  29. package/src/tool/crystal-lattice-structure-finder/component.astro +120 -39
  30. package/src/tool/crystal-lattice-structure-finder/crystal-lattice-structure-finder.css +204 -56
  31. package/src/tool/crystal-lattice-structure-finder/data.ts +107 -133
  32. package/src/tool/crystal-lattice-structure-finder/i18n/de.ts +39 -0
  33. package/src/tool/crystal-lattice-structure-finder/i18n/en.ts +45 -6
  34. package/src/tool/crystal-lattice-structure-finder/i18n/es.ts +39 -0
  35. package/src/tool/crystal-lattice-structure-finder/i18n/fr.ts +39 -0
  36. package/src/tool/crystal-lattice-structure-finder/i18n/id.ts +39 -0
  37. package/src/tool/crystal-lattice-structure-finder/i18n/it.ts +39 -0
  38. package/src/tool/crystal-lattice-structure-finder/i18n/ja.ts +39 -0
  39. package/src/tool/crystal-lattice-structure-finder/i18n/ko.ts +39 -0
  40. package/src/tool/crystal-lattice-structure-finder/i18n/nl.ts +39 -0
  41. package/src/tool/crystal-lattice-structure-finder/i18n/pl.ts +39 -0
  42. package/src/tool/crystal-lattice-structure-finder/i18n/pt.ts +39 -0
  43. package/src/tool/crystal-lattice-structure-finder/i18n/ru.ts +39 -0
  44. package/src/tool/crystal-lattice-structure-finder/i18n/sv.ts +39 -0
  45. package/src/tool/crystal-lattice-structure-finder/i18n/tr.ts +39 -0
  46. package/src/tool/crystal-lattice-structure-finder/i18n/zh.ts +39 -0
  47. package/src/tool/crystal-lattice-structure-finder/logic.ts +7 -3
  48. package/src/tool/crystal-lattice-structure-finder/structures/README.md +26 -0
  49. package/src/tool/crystal-lattice-structure-finder/structures/body-centered-cubic.ts +19 -0
  50. package/src/tool/crystal-lattice-structure-finder/structures/cesium-chloride.ts +19 -0
  51. package/src/tool/crystal-lattice-structure-finder/structures/diamond-cubic.ts +23 -0
  52. package/src/tool/crystal-lattice-structure-finder/structures/face-centered-cubic.ts +16 -0
  53. package/src/tool/crystal-lattice-structure-finder/structures/hexagonal-close-packed.ts +30 -0
  54. package/src/tool/crystal-lattice-structure-finder/structures/index.ts +25 -0
  55. package/src/tool/crystal-lattice-structure-finder/structures/perovskite.ts +20 -0
  56. package/src/tool/crystal-lattice-structure-finder/structures/rock-salt.ts +23 -0
  57. package/src/tool/crystal-lattice-structure-finder/structures/rutile.ts +25 -0
  58. package/src/tool/crystal-lattice-structure-finder/structures/shared.ts +86 -0
  59. package/src/tool/crystal-lattice-structure-finder/structures/simple-cubic.ts +16 -0
  60. package/src/tool/crystal-lattice-structure-finder/structures/wurtzite.ts +22 -0
  61. package/src/tool/crystal-lattice-structure-finder/structures/zinc-blende.ts +23 -0
  62. package/src/tool/double-slit-decoherence/i18n/fr.ts +42 -86
  63. package/src/tool/double-slit-decoherence/i18n/it.ts +28 -72
  64. package/src/tool/double-slit-decoherence/i18n/pt.ts +35 -79
  65. package/src/tool/double-slit-decoherence/i18n/ru.ts +59 -59
  66. package/src/tool/double-slit-decoherence/i18n/sv.ts +33 -81
  67. package/src/tool/double-slit-decoherence/i18n/tr.ts +55 -55
  68. package/src/tool/dyson-sphere-energy-capture/i18n/de.ts +42 -123
  69. package/src/tool/dyson-sphere-energy-capture/i18n/es.ts +6 -6
  70. package/src/tool/dyson-sphere-energy-capture/i18n/fr.ts +63 -131
  71. package/src/tool/dyson-sphere-energy-capture/i18n/it.ts +36 -113
  72. package/src/tool/dyson-sphere-energy-capture/i18n/ja.ts +66 -42
  73. package/src/tool/dyson-sphere-energy-capture/i18n/ko.ts +66 -42
  74. package/src/tool/dyson-sphere-energy-capture/i18n/pl.ts +50 -133
  75. package/src/tool/dyson-sphere-energy-capture/i18n/pt.ts +51 -132
  76. package/src/tool/dyson-sphere-energy-capture/i18n/ru.ts +61 -98
  77. package/src/tool/dyson-sphere-energy-capture/i18n/sv.ts +56 -137
  78. package/src/tool/dyson-sphere-energy-capture/i18n/tr.ts +61 -142
  79. package/src/tool/dyson-sphere-energy-capture/i18n/zh.ts +67 -43
  80. package/src/tool/epidemic-sir-simulator/bibliography.astro +15 -0
  81. package/src/tool/epidemic-sir-simulator/bibliography.ts +37 -0
  82. package/src/tool/epidemic-sir-simulator/component.astro +384 -0
  83. package/src/tool/epidemic-sir-simulator/entry.ts +30 -0
  84. package/src/tool/epidemic-sir-simulator/epidemic-sir-simulator.css +624 -0
  85. package/src/tool/epidemic-sir-simulator/i18n/de.ts +347 -0
  86. package/src/tool/epidemic-sir-simulator/i18n/en.ts +347 -0
  87. package/src/tool/epidemic-sir-simulator/i18n/es.ts +347 -0
  88. package/src/tool/epidemic-sir-simulator/i18n/fr.ts +347 -0
  89. package/src/tool/epidemic-sir-simulator/i18n/id.ts +347 -0
  90. package/src/tool/epidemic-sir-simulator/i18n/it.ts +347 -0
  91. package/src/tool/epidemic-sir-simulator/i18n/ja.ts +347 -0
  92. package/src/tool/epidemic-sir-simulator/i18n/ko.ts +347 -0
  93. package/src/tool/epidemic-sir-simulator/i18n/nl.ts +347 -0
  94. package/src/tool/epidemic-sir-simulator/i18n/pl.ts +347 -0
  95. package/src/tool/epidemic-sir-simulator/i18n/pt.ts +347 -0
  96. package/src/tool/epidemic-sir-simulator/i18n/ru.ts +347 -0
  97. package/src/tool/epidemic-sir-simulator/i18n/sv.ts +347 -0
  98. package/src/tool/epidemic-sir-simulator/i18n/tr.ts +347 -0
  99. package/src/tool/epidemic-sir-simulator/i18n/zh.ts +347 -0
  100. package/src/tool/epidemic-sir-simulator/index.ts +12 -0
  101. package/src/tool/epidemic-sir-simulator/logic.ts +163 -0
  102. package/src/tool/epidemic-sir-simulator/seo.astro +16 -0
  103. package/src/tool/fermi-paradox-filter-lab/bibliography.astro +14 -0
  104. package/src/tool/fermi-paradox-filter-lab/bibliography.ts +24 -0
  105. package/src/tool/fermi-paradox-filter-lab/component.astro +257 -0
  106. package/src/tool/fermi-paradox-filter-lab/entry.ts +26 -0
  107. package/src/tool/fermi-paradox-filter-lab/fermi-paradox-filter-lab.css +228 -0
  108. package/src/tool/fermi-paradox-filter-lab/i18n/de.ts +192 -0
  109. package/src/tool/fermi-paradox-filter-lab/i18n/en.ts +192 -0
  110. package/src/tool/fermi-paradox-filter-lab/i18n/es.ts +193 -0
  111. package/src/tool/fermi-paradox-filter-lab/i18n/fr.ts +192 -0
  112. package/src/tool/fermi-paradox-filter-lab/i18n/id.ts +192 -0
  113. package/src/tool/fermi-paradox-filter-lab/i18n/it.ts +192 -0
  114. package/src/tool/fermi-paradox-filter-lab/i18n/ja.ts +192 -0
  115. package/src/tool/fermi-paradox-filter-lab/i18n/ko.ts +192 -0
  116. package/src/tool/fermi-paradox-filter-lab/i18n/nl.ts +192 -0
  117. package/src/tool/fermi-paradox-filter-lab/i18n/pl.ts +193 -0
  118. package/src/tool/fermi-paradox-filter-lab/i18n/pt.ts +192 -0
  119. package/src/tool/fermi-paradox-filter-lab/i18n/ru.ts +192 -0
  120. package/src/tool/fermi-paradox-filter-lab/i18n/sv.ts +192 -0
  121. package/src/tool/fermi-paradox-filter-lab/i18n/tr.ts +192 -0
  122. package/src/tool/fermi-paradox-filter-lab/i18n/zh.ts +192 -0
  123. package/src/tool/fermi-paradox-filter-lab/index.ts +11 -0
  124. package/src/tool/fermi-paradox-filter-lab/logic.ts +125 -0
  125. package/src/tool/fermi-paradox-filter-lab/seo.astro +15 -0
  126. package/src/tool/global-albedo-snowball-simulator/i18n/ru.ts +50 -63
  127. package/src/tool/lorenz-attractor/i18n/de.ts +52 -78
  128. package/src/tool/lorenz-attractor/i18n/es.ts +5 -5
  129. package/src/tool/lorenz-attractor/i18n/fr.ts +51 -77
  130. package/src/tool/lorenz-attractor/i18n/it.ts +36 -36
  131. package/src/tool/lorenz-attractor/i18n/pt.ts +51 -75
  132. package/src/tool/mandelbrot-fractal/i18n/de.ts +31 -58
  133. package/src/tool/mandelbrot-fractal/i18n/es.ts +5 -5
  134. package/src/tool/mandelbrot-fractal/i18n/fr.ts +39 -57
  135. package/src/tool/mandelbrot-fractal/i18n/it.ts +30 -48
  136. package/src/tool/mandelbrot-fractal/i18n/pl.ts +34 -52
  137. package/src/tool/mandelbrot-fractal/i18n/pt.ts +30 -30
  138. package/src/tool/mandelbrot-fractal/i18n/ru.ts +42 -60
  139. package/src/tool/mandelbrot-fractal/i18n/sv.ts +38 -65
  140. package/src/tool/natural-selection-drift/i18n/it.ts +18 -95
  141. package/src/tool/natural-selection-drift/i18n/pt.ts +76 -19
  142. package/src/tool/natural-selection-drift/i18n/ru.ts +27 -24
  143. package/src/tool/natural-selection-drift/i18n/sv.ts +9 -6
  144. package/src/tool/phase-diagram-critical-points/i18n/de.ts +30 -68
  145. package/src/tool/phase-diagram-critical-points/i18n/es.ts +4 -4
  146. package/src/tool/phase-diagram-critical-points/i18n/fr.ts +37 -75
  147. package/src/tool/phase-diagram-critical-points/i18n/it.ts +8 -8
  148. package/src/tool/planet-atmosphere-survival/i18n/ru.ts +49 -192
  149. package/src/tool/radioactive-decay/i18n/de.ts +16 -32
  150. package/src/tool/radioactive-decay/i18n/es.ts +5 -5
  151. package/src/tool/radioactive-decay/i18n/fr.ts +24 -40
  152. package/src/tool/radioactive-decay/i18n/it.ts +18 -35
  153. package/src/tool/radioactive-decay/i18n/pt.ts +34 -34
  154. package/src/tool/roche-limit-satellite-disruption/i18n/pl.ts +52 -128
  155. package/src/tool/temperature-timeline/i18n/de.ts +46 -174
  156. package/src/tool/temperature-timeline/i18n/es.ts +5 -5
  157. package/src/tool/temperature-timeline/i18n/fr.ts +69 -144
  158. package/src/tool/temperature-timeline/i18n/it.ts +34 -133
  159. package/src/tool/temperature-timeline/i18n/pt.ts +35 -174
  160. package/src/tool/temperature-timeline/i18n/ru.ts +48 -174
  161. package/src/tool/twin-paradox-visualizer/i18n/es.ts +5 -5
  162. package/src/tool/twin-paradox-visualizer/i18n/fr.ts +34 -34
  163. package/src/tool/twin-paradox-visualizer/i18n/pt.ts +31 -71
  164. package/src/tools.ts +4 -0
@@ -1,45 +1,45 @@
1
1
  import { bibliography } from '../bibliography';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
 
4
- const slug = 'mandelbrot-fraktal-kalkylator';
5
- const title = 'Mandelbrot Fraktalkalkylator & Self Similarity Explorer';
6
- const description = 'Utforska Mandelbrotmangden, zooma in pa sjalvliknande fraktalgranser och jamfor itereringsdjup, fargkontrast och komplexa plankarordinater.';
4
+ const slug = 'mandelbrot-fraktalkalkylator';
5
+ const title = 'Mandelbrot fraktalkalkylator & Självlikhetsutforskare';
6
+ const description = 'Utforska Mandelbrotmängden, zooma in självliknande fraktalgränser och jämför itereringsdjup, färgkontrast och komplexa koordinater.';
7
7
 
8
8
  const howTo = [
9
9
  {
10
- name: 'Valj ett omrade av Mandelbrotmangden',
11
- text: 'Borja med hela mangden eller hoppa direkt till ett hogdetaljrikt omrade som haestskedalen eller en spiralminibrot.',
10
+ name: 'Välj ett område av Mandelbrotmängden',
11
+ text: 'Börja med hela mängden eller hoppa direkt till ett högupplöst område som hästskodalen eller en spiralminibrot.',
12
12
  },
13
13
  {
14
- name: 'Zooma genom att klicka pa bilden',
15
- text: 'Klicka pa valfri punkt pa canvasset for att atercentrera den komplexa planet och forstora fraktalen runt den koordinaten.',
14
+ name: 'Zooma genom att klicka bilden',
15
+ text: 'Klicka valfri punkt canvas-ytan för att återcentrera det komplexa planet och förstora fraktalen runt den koordinaten.',
16
16
  },
17
17
  {
18
- name: 'Justera itereringsdjup och fargkontrast',
19
- text: 'Oka itereringsbudgeten for att avsloja finare gransstruktur, justera sedan kontrast och palett for att gora flyktidsband lattare att lasa.',
18
+ name: 'Justera itereringsdjup och färgkontrast',
19
+ text: 'Öka itereringsbudgeten för att avslöja finare gränsstrukturer, justera sedan kontrast och palett för att göra flykttidsbanden lättare att tyda.',
20
20
  },
21
21
  ];
22
22
 
23
23
  const faq = [
24
24
  {
25
- question: 'Vad visar Mandelbrotmangsdkalkylatorn?',
26
- answer: 'Den visar vilka komplexa tal c som haller rekursionen z(n+1) = z(n)^2 + c begransad nar man borjar fran z = 0. Punkter som aldrig flyr inom den valda itereringsbudgeten fargsattes som medlemmar av mangden, medan yttre punkter fargsatts efter hur snabbt deras bana flyr.',
25
+ question: 'Vad visar Mandelbrotmängdskalkylatorn?',
26
+ answer: 'Den visar vilka komplexa tal c som håller rekursionen z(n+1) = z(n)^2 + c begränsad när man börjar från z = 0. Punkter som aldrig "flyr" inom den valda itereringsbudgeten färgsätts som medlemmar av mängden, medan yttre punkter färgsätts baserat hur snabbt deras bana flyr mot oändligheten.',
27
27
  },
28
28
  {
29
- question: 'Varfor innehaller Mandelbrotmangdens grans sa mycket detalj?',
30
- answer: 'Gransen separerar stabila och flyende banor, och sma koordinatforandringar nara den gransen kan fullstandigt andra langtidsbeteendet. Denna kanslighet skapar kapslade bulbler, spiraler, filament och miniatyrkopior som upptrader pa manga forstoringsnivaer.',
29
+ question: 'Varför innehåller Mandelbrotmängdens gräns mycket detaljer?',
30
+ answer: 'Gränsen separerar stabila från flyende banor, och små koordinatförändringar nära den gränsen kan fullständigt ändra långtidsbeteendet. Denna känslighet skapar kapslade bubblor, spiraler, filament och miniatyrkopior som uppträder många förstoringsnivåer.',
31
31
  },
32
32
  {
33
- question: 'Ar Mandelbrotmangden verkligen sjalvliknande?',
34
- answer: 'Den ar inte perfekt sjalvliknande pa samma strikta satt som en Sierpinskietriangel, men den ar rikligt kvasi-sjalvliknande. Sma kopior av hela mangden upptrader overallt i planet, ofta forvridna och sammanbundna av utforliga greningsstrukturer.',
33
+ question: 'Är Mandelbrotmängden verkligen självliknande?',
34
+ answer: 'Den är inte perfekt självliknande samma strikta sätt som en Sierpinski-triangel, men den är rikligt kvasi-självliknande. Små kopior av hela mängden uppträder överallt i det komplexa planet, ofta förvridna och sammanbundna av utstuderade grenstrukturer.',
35
35
  },
36
36
  {
37
37
  question: 'Vad styr itereringsantalet?',
38
- answer: 'Itereringsantalet styr hur lange kalkylatorn testar varje punkt innan den beslutar att den sannolikt tillhor mangden. Hogre varden avslojar djupare filament och renare minibrots, men kraver mer berakning per pixel.',
38
+ answer: 'Itereringsantalet styr hur länge kalkylatorn testar varje punkt innan den beslutar att den sannolikt tillhör mängden. Högre värden avslöjar djupare filament och renare minibrots, men kräver mer beräkningskapacitet per pixel.',
39
39
  },
40
40
  {
41
- question: 'Varfor andras fargerna utanfor det svarta omradet?',
42
- answer: 'Yttre farger baseras pa flyktid: punkter som flyr snabbt far andra farger an punkter som haller sig nara mangden under manga iterationer. Jamn farglagning minskar harda band och gor geometrin hos narliggande banor lattare att inspektera.',
41
+ question: 'Varför ändras färgerna utanför det svarta området?',
42
+ answer: 'De yttre färgerna baseras flykttid: punkter som flyr snabbt får andra färger än punkter som håller sig nära mängden under många iterationer. Jämn färgläggning minskar hårda band och gör geometrin hos närliggande banor lättare att inspektera.',
43
43
  },
44
44
  ];
45
45
 
@@ -48,78 +48,51 @@ export const content: ToolLocaleContent = {
48
48
  title,
49
49
  description,
50
50
  ui: {
51
- title: 'Mandelbrot Fraktalkalkylator',
52
- canvasLabel: 'Interaktiv Mandelbrotmangd-canvas',
53
- presetsLabel: 'Forinstallda Mandelbrotomraden',
54
- presetFull: 'Hela Mangden',
55
- presetSeahorse: 'Hastskedalen',
51
+ title: 'Mandelbrot fraktalkalkylator',
52
+ canvasLabel: 'Interaktiv Mandelbrotmängd-canvas',
53
+ presetsLabel: 'Förinställda Mandelbrotområden',
54
+ presetFull: 'Hela mängden',
55
+ presetSeahorse: 'Hästskodalen',
56
56
  presetSpiral: 'Spiralminibrot',
57
57
  centerPoint: 'Centrum',
58
- magnification: 'Forstoring',
59
- visibleWindow: 'Synligt fonster',
60
- renderBudget: 'Itereringar',
58
+ magnification: 'Förstoring',
59
+ visibleWindow: 'Synligt fönster',
60
+ renderBudget: 'Iterationer',
61
61
  iterationsLabel: 'Itereringsdjup',
62
62
  contrastLabel: 'Flyktkontrast',
63
- colorLabel: 'Fargfalt',
64
- paletteEmber: 'Glodbands',
63
+ colorLabel: 'Färgfält',
64
+ paletteEmber: 'Glödbands',
65
65
  paletteLagoon: 'Lagunplasma',
66
- paletteInk: 'Blackspektrum',
66
+ paletteInk: 'Spektrum',
67
67
  },
68
68
  seo: [
69
69
  {
70
70
  type: 'title',
71
- text: 'Mandelbrot Set Calculator for Fractals, Escape Time, and Self-Similarity',
71
+ text: 'Mandelbrotmängdskalkylator för fraktaler, flykttid och självlikhet',
72
72
  level: 2,
73
73
  },
74
74
  {
75
75
  type: 'paragraph',
76
- html: 'Denna Mandelbrotfraktalkalkylator renderar den klassiska komplexa-plan-mangden definierad av iterationen <strong>z(n+1) = z(n)^2 + c</strong>. Den ar designad for utforskning snarare an passivt tittande: varje klick atercentrerar planet, varje zoom exponerar en mindre matematisk omgivning, och itereringsreglaget later dig bestamma hur djupt kalkylatorn ska testa gransen innan den fargsatter en punkt som stabil eller flyende.',
76
+ html: 'Denna Mandelbrot-fraktalkalkylator renderar den klassiska mängden i det komplexa planet, definierad av iterationen <strong>z(n+1) = z(n)^2 + c</strong>. Den är designad för utforskning: varje klick återcentrerar planet, varje zoom exponerar en ny matematisk omgivning, och itereringsreglaget låter dig bestämma hur djupt kalkylatorn ska testa gränsen.',
77
77
  },
78
78
  {
79
79
  type: 'title',
80
- text: 'How to Read the Mandelbrot Image',
80
+ text: 'Hur man läser Mandelbrot-bilden',
81
81
  level: 3,
82
82
  },
83
83
  {
84
84
  type: 'paragraph',
85
- html: 'Den morka centrala formen markerar punkter vars banor forbli r begransade inom den aktuella itereringsbudgeten. Det farglagda yttre ar en flyktidskarta. En punkt farglagd nara mangden kan overleva hundratals iterationer innan dess magnitud overstiger flyktradien, medan en punkt langt borta flyr nastan omedelbart. Den mest vetenskapligt intressanta geometrin ar vanligtvis inte innanfor den fyllda formen, utan langs gransen dar begransat och obegransat beteende sammanflatas.',
85
+ html: 'Den mörka centrala formen markerar punkter vars banor förblir begränsade inom den aktuella itereringsbudgeten. Det färglagda yttre är en flykttidskarta. En punkt färglagd nära mängden kan överleva hundratals iterationer innan dess magnitud överstiger flyktradien, medan en punkt långt borta flyr nästan omedelbart. Den mest intressanta geometrin finns oftast längs gränsen där begränsat och obegränsat beteende sammanflätas.',
86
86
  },
87
87
  {
88
88
  type: 'table',
89
- headers: ['Kontroll', 'Vad den andra r', 'Nar den ska okas'],
89
+ headers: ['Kontroll', 'Vad den ändrar', 'När den ska ökas'],
90
90
  rows: [
91
- ['<strong>Itereringsdjup</strong>', 'Hur manga rekursionssteg som testas for varje pixel.', 'Anvand hogre varden efter inzoomning pa tunna filament eller miniatyrkopior.'],
92
- ['<strong>Flyktkontrast</strong>', 'Hur starkt jamma flyktvarden separeras i synliga band.', 'Ho j den nar bilden ser plan ut; sank den nar fargerna ar for harda.'],
93
- ['<strong>Palett</strong>', 'Fargmappningen som tillampas pa yttre punkter.', 'Vaxla paletter for att avsloja strukturer som kan vara dolda av ett enda fargfalt.'],
91
+ ['<strong>Itereringsdjup</strong>', 'Hur många rekursionssteg som testas för varje pixel.', 'Använd högre värden efter inzoomning tunna filament eller miniatyrkopior.'],
92
+ ['<strong>Flyktkontrast</strong>', 'Hur starkt jämna flyktvärden separeras i synliga band.', 'Höj den när bilden ser plan ut; sänk den när färgerna är för hårda.'],
93
+ ['<strong>Palett</strong>', 'Färgmappningen som tillämpas yttre punkter.', 'Växla paletter för att avslöja strukturer som kan vara dolda av ett enda färgfält.'],
94
94
  ],
95
95
  },
96
- {
97
- type: 'title',
98
- text: 'Self-Similarity and Minibrots',
99
- level: 3,
100
- },
101
- {
102
- type: 'paragraph',
103
- html: 'En anledning till att Mandelbrotmangden ar sa kanda ar dess kvasi-sjalvlikhet. Nar du zoomar in pa antenner, spiraler och dalar stoter du upprepade ganger pa sma Mandelbrotliknande oar, ofta kallade minibrots. Dessa kopior ar inte bara dekorativa. Deras arrangemang speglar dynamiken i kvadratiska avbildningar, inklusive periodiska bulbler, bifurkationsmonster och omraden dar banor forbli r fastna under langa perioder innan de flyr.',
104
- },
105
- {
106
- type: 'title',
107
- text: 'Why Higher Iterations Matter at Deep Zoom',
108
- level: 3,
109
- },
110
- {
111
- type: 'paragraph',
112
- html: 'I hela mangdens vy ger en blygsam itereringsgrans en igenkannlig bild. Vid djupare forstoring tar det dock mycket langre tid for manga granspunkter att avsloja om de flyr. Om itereringsgransen ar for lag kan fina strukturer se falskt solida eller otydliga ut. Att oka itereringsantalet forbattrar gransklassificeringen och later kalkylatorn losa upp smala slingor, spiralarmar och satellitbulbler med storre sakerhet.',
113
- },
114
- {
115
- type: 'title',
116
- text: 'Mathematical Meaning of the Complex Coordinates',
117
- level: 3,
118
- },
119
- {
120
- type: 'paragraph',
121
- html: 'Koordinatlasningen visar det aktuella centrumet av visningsporten som ett komplext tal c = a + bi. Den horisontella axeln ar den reella delen och den vertikala axeln ar den imaginara delen. Genom att klicka pa canvasset valjer du en ny komplex koordinat och forstorar sedan det synliga fonstret runt den. Detta gor verktyget anvandbart for att lara sig hur visuella omraden av fraktalen motsvarar exakta platser i det komplexa planet.',
122
- },
123
96
  ],
124
97
  faq,
125
98
  bibliography,
@@ -156,4 +129,4 @@ export const content: ToolLocaleContent = {
156
129
  })),
157
130
  },
158
131
  ],
159
- };
132
+ };
@@ -9,7 +9,7 @@ const description =
9
9
  const howTo = [
10
10
  {
11
11
  name: 'Imposta la popolazione',
12
- text: 'Scegli una popolazione piccola o grande per vedere come il campione influenza la stabilita evolutiva.',
12
+ text: 'Scegli una popolazione piccola o grande per vedere come il campione influenza la stabilità evolutiva.',
13
13
  },
14
14
  {
15
15
  name: 'Regola selezione e deriva',
@@ -17,43 +17,34 @@ const howTo = [
17
17
  },
18
18
  {
19
19
  name: 'Segui le generazioni',
20
- text: 'Avvia la simulazione e confronta tratto dominante, fitness e diversita nel tempo.',
20
+ text: 'Avvia la simulazione e confronta il tratto dominante, la fitness e la diversità nel tempo.',
21
21
  },
22
22
  {
23
23
  name: 'Interpreta i risultati',
24
- text: 'Usa le metriche per capire quando vince l adattamento e quando domina il caso.',
24
+ text: 'Usa le metriche per capire quando vince l\'adattamento e quando domina il caso.',
25
25
  },
26
26
  ];
27
27
 
28
28
  const faq = [
29
29
  {
30
- question: 'Qual e la differenza tra selezione naturale e deriva genetica?',
30
+ question: 'Qual è la differenza tra selezione naturale e deriva genetica?',
31
31
  answer:
32
- 'La selezione naturale non e casuale: i tratti vantaggiosi diventano piu comuni. La deriva genetica e una variazione casuale delle frequenze alleliche, molto forte nelle popolazioni piccole.',
32
+ 'La selezione naturale non è casuale: i tratti vantaggiosi diventano più comuni perché aumentano la fitness. La deriva genetica è una variazione casuale delle frequenze alleliche, un fenomeno molto più marcato nelle popolazioni piccole.',
33
33
  },
34
34
  {
35
- question: 'Perche le popolazioni piccole cambiano piu velocemente?',
35
+ question: 'Perché le popolazioni piccole cambiano più velocemente?',
36
36
  answer:
37
- 'Con pochi individui il campionamento casuale ha un effetto piu grande sulla generazione successiva.',
37
+ 'Con pochi individui, il campionamento casuale ha un impatto molto più grande sulla composizione genetica della generazione successiva.',
38
38
  },
39
39
  {
40
- question: 'La deriva puo superare la selezione?',
40
+ question: 'La deriva può superare la selezione?',
41
41
  answer:
42
- 'Si. Un tratto vantaggioso puo sparire per caso se la deriva e abbastanza forte.',
42
+ 'Sì. Un tratto vantaggioso può sparire per caso se la deriva genetica è sufficientemente forte, annullando il vantaggio selettivo.',
43
43
  },
44
44
  {
45
- question: 'Cosa significa fitness in questo simulatore?',
45
+ question: 'Cosa significa "fitness" in questo simulatore?',
46
46
  answer:
47
- 'Fitness e un punteggio semplificato di quanto bene la popolazione e adattata all ambiente scelto.',
48
- },
49
- {
50
- question: 'Perche la dimensione della popolazione e cosi importante?',
51
- answer: 'Determina quanto il caso influenza le frequenze alleliche.',
52
- },
53
- {
54
- question: 'Quando usare questo simulatore?',
55
- answer:
56
- 'Quando vuoi capire l intuizione dell evoluzione, soprattutto selezione contro deriva.',
47
+ 'La fitness è un punteggio semplificato che indica quanto bene la popolazione è adattata all\'ambiente scelto nel simulatore.',
57
48
  },
58
49
  ];
59
50
 
@@ -66,30 +57,29 @@ export const content: NaturalSelectionLocaleContent = {
66
57
  generations: 'Generazioni',
67
58
  mutationRate: 'Tasso di mutazione',
68
59
  selectionPressure: 'Pressione selettiva',
69
- driftIntensity: 'Intensita della deriva',
60
+ driftIntensity: 'Intensità della deriva',
70
61
  alleleCount: 'Alleli iniziali',
71
62
  innovationRate: 'Tasso di innovazione',
72
63
  run: 'Avvia simulazione',
73
64
  dominantTrait: 'Tratto dominante',
74
65
  fitness: 'Fitness finale',
75
- diversity: 'Diversita genetica',
66
+ diversity: 'Diversità genetica',
76
67
  evolutionConsole: 'Console evolutiva',
77
68
  populationLabel: 'Popolazione',
78
69
  aliveLabel: 'vivi',
79
70
  alleleCountsLabel: 'Conteggio alleli',
80
- alleleDefault: 'Alele 1',
71
+ alleleDefault: 'Allele 1',
81
72
  populationValueLabel: 'Popolazione',
82
73
  },
83
74
  seo: [
84
75
  {
85
76
  type: 'title',
86
- text: 'Selezione naturale vs deriva genetica: capire l evoluzione con una popolazione viva',
77
+ text: 'Selezione naturale vs deriva genetica: capire l\'evoluzione con una popolazione viva',
87
78
  level: 2,
88
79
  },
89
80
  {
90
81
  type: 'paragraph',
91
- html:
92
- 'Se vuoi capire selezione naturale vs deriva genetica, questo simulatore ti da il livello visivo che manca spesso.',
82
+ html: 'Se vuoi capire la differenza tra selezione naturale e deriva genetica, questo simulatore ti offre la prospettiva visiva che spesso manca nei libri di testo.',
93
83
  },
94
84
  {
95
85
  type: 'title',
@@ -98,74 +88,7 @@ export const content: NaturalSelectionLocaleContent = {
98
88
  },
99
89
  {
100
90
  type: 'paragraph',
101
- html:
102
- 'La selezione naturale aumenta la frequenza dei tratti vantaggiosi. La deriva genetica cambia le frequenze alleliche in modo casuale.',
103
- },
104
- {
105
- type: 'paragraph',
106
- html:
107
- 'Le due forze agiscono insieme. Nelle popolazioni grandi la selezione domina spesso; in quelle piccole il caso puo cancellare tratti utili.',
108
- },
109
- {
110
- type: 'title',
111
- text: 'Come leggere i risultati',
112
- level: 3,
113
- },
114
- {
115
- type: 'paragraph',
116
- html:
117
- 'Le metriche live mostrano l allele dominante, la diversita genetica, il fitness finale e se la popolazione cresce o crolla.',
118
- },
119
- {
120
- type: 'title',
121
- text: 'Perche la dimensione della popolazione cambia la storia',
122
- level: 3,
123
- },
124
- {
125
- type: 'list',
126
- items: [
127
- '<strong>Pressione selettiva:</strong> quanto l ambiente premia un tratto.',
128
- '<strong>Intensita della deriva:</strong> quanto rumore casuale agisce a ogni generazione.',
129
- '<strong>Tasso di mutazione:</strong> quanto spesso entra nuova variabilita.',
130
- '<strong>Numero di alleli:</strong> quanti alleli espliciti ci sono all inizio.',
131
- '<strong>Diversita genetica:</strong> perche la variazione e il materiale grezzo dell evoluzione.',
132
- ],
133
- },
134
- {
135
- type: 'paragraph',
136
- html:
137
- 'Il simulatore ti aiuta a capire l evoluzione in modo pratico, senza fermarti alle definizioni astratte.',
138
- },
139
- {
140
- type: 'title',
141
- text: 'Esempi rapidi',
142
- level: 3,
143
- },
144
- {
145
- type: 'table',
146
- headers: ['Obiettivo', 'Cosa cambiare', 'Cosa dovresti vedere'],
147
- rows: [
148
- [
149
- 'Mostrare la vittoria della selezione',
150
- 'Aumenta la pressione selettiva e riduci la deriva',
151
- 'Un allele deve dominare nel tempo',
152
- ],
153
- [
154
- 'Mostrare il caso che prende il controllo',
155
- 'Riduci la popolazione e aumenta la deriva',
156
- 'Le frequenze oscillano in modo imprevedibile',
157
- ],
158
- [
159
- 'Mostrare nuove mutazioni',
160
- 'Aumenta mutazione e innovazione',
161
- 'Appaiono nuovi alleli piu spesso',
162
- ],
163
- ],
164
- },
165
- {
166
- type: 'paragraph',
167
- html:
168
- 'La combinazione di visuale live, ranking esplicito degli alleli e metriche in tempo reale rende il simulatore utile per insegnare e spiegare i compromessi evolutivi.',
91
+ html: 'La selezione naturale aumenta la frequenza dei tratti vantaggiosi. La deriva genetica modifica le frequenze alleliche in modo puramente stocastico. Le due forze agiscono costantemente insieme: nelle popolazioni ampie la selezione domina, mentre in quelle ridotte il caso può cancellare tratti anche molto utili.',
169
92
  },
170
93
  ],
171
94
  faq,
@@ -200,4 +123,4 @@ export const content: NaturalSelectionLocaleContent = {
200
123
  })),
201
124
  },
202
125
  ],
203
- };
126
+ };
@@ -2,16 +2,42 @@ import { bibliography } from '../bibliography';
2
2
  import type { NaturalSelectionLocaleContent } from '../entry';
3
3
 
4
4
  const slug = 'simulador-selecao-natural-deriva-genetica';
5
- const title = 'Simulador de selecao natural e deriva genetica';
5
+ const title = 'Simulador de Seleção Natural e Deriva Genética';
6
6
  const description =
7
- 'Veja em tempo real como pressao seletiva, mutacao, deriva e reproducao alteram as frequencias alelicas.';
7
+ 'Veja em tempo real como a pressão seletiva, a mutação, a deriva genética e a reprodução alteram as frequências alélicas.';
8
8
 
9
9
  const howTo = [
10
- { name: 'Defina a populacao', text: 'Escolha uma populacao pequena ou grande para ver o efeito do tamanho amostral.' },
10
+ {
11
+ name: 'Defina a população',
12
+ text: 'Escolha uma população pequena ou grande para observar como o tamanho da amostra influencia a estabilidade evolutiva.'
13
+ },
14
+ {
15
+ name: 'Ajuste seleção e deriva',
16
+ text: 'Ajuste a pressão seletiva ou a intensidade da deriva para observar trajetórias evolutivas distintas.'
17
+ },
18
+ {
19
+ name: 'Acompanhe as gerações',
20
+ text: 'Execute a simulação e compare o traço dominante, a fitness e a diversidade ao longo do tempo.'
21
+ },
22
+ {
23
+ name: 'Interprete os resultados',
24
+ text: 'Use as métricas para entender quando a adaptação vence e quando o acaso domina.'
25
+ },
11
26
  ];
12
27
 
13
28
  const faq = [
14
- { question: 'Qual e a diferenca entre selecao natural e deriva genetica?', answer: 'Selecao natural nao e aleatoria. Deriva genetica e uma mudanca aleatoria nas frequencias alelicas.' },
29
+ {
30
+ question: 'Qual é a diferença entre seleção natural e deriva genética?',
31
+ answer: 'A seleção natural não é aleatória: características vantajosas aumentam a fitness e tornam-se mais comuns. A deriva genética é uma mudança aleatória nas frequências alélicas, ocorrendo puramente por acaso, sendo muito mais forte em populações reduzidas.'
32
+ },
33
+ {
34
+ question: 'Por que populações pequenas mudam mais rapidamente?',
35
+ answer: 'Em populações pequenas, o erro de amostragem é maior, o que significa que o acaso tem um peso muito superior na composição da próxima geração.'
36
+ },
37
+ {
38
+ question: 'A deriva pode superar a seleção?',
39
+ answer: 'Sim. Um alelo vantajoso pode ser eliminado por puro acaso se a deriva genética for forte o suficiente para superar o benefício seletivo.'
40
+ },
15
41
  ];
16
42
 
17
43
  export const content: NaturalSelectionLocaleContent = {
@@ -19,34 +45,65 @@ export const content: NaturalSelectionLocaleContent = {
19
45
  title,
20
46
  description,
21
47
  ui: {
22
- population: 'Tamanho da populacao',
23
- generations: 'Geracoes',
24
- mutationRate: 'Taxa de mutacao',
25
- selectionPressure: 'Pressao seletiva',
48
+ population: 'Tamanho da população',
49
+ generations: 'Gerações',
50
+ mutationRate: 'Taxa de mutação',
51
+ selectionPressure: 'Pressão seletiva',
26
52
  driftIntensity: 'Intensidade da deriva',
27
53
  alleleCount: 'Alelos iniciais',
28
- innovationRate: 'Taxa de inovacao',
29
- run: 'Executar simulacao',
54
+ innovationRate: 'Taxa de inovação',
55
+ run: 'Executar simulação',
30
56
  dominantTrait: 'Traço dominante',
31
57
  fitness: 'Fitness final',
32
- diversity: 'Diversidade genetica',
58
+ diversity: 'Diversidade genética',
33
59
  evolutionConsole: 'Console evolutivo',
34
- populationLabel: 'Populacao',
60
+ populationLabel: 'População',
35
61
  aliveLabel: 'vivos',
36
62
  alleleCountsLabel: 'Contagem de alelos',
37
63
  alleleDefault: 'Alelo 1',
38
- populationValueLabel: 'Populacao',
64
+ populationValueLabel: 'População',
39
65
  },
40
66
  seo: [
41
- { type: 'title', text: 'Selecao natural vs deriva genetica: entenda a evolucao com uma populacao viva', level: 2 },
42
- { type: 'paragraph', html: 'Este simulador mostra a selecao e a deriva ao vivo, de forma clara e pratica.' },
67
+ {
68
+ type: 'title',
69
+ text: 'Seleção natural vs deriva genética: entenda a evolução com uma população viva',
70
+ level: 2
71
+ },
72
+ {
73
+ type: 'paragraph',
74
+ html: 'Este simulador oferece uma visualização clara da diferença entre a seleção adaptativa e o efeito estocástico da deriva genética, tornando conceitos complexos de biologia evolutiva acessíveis e práticos.'
75
+ },
43
76
  ],
44
77
  faq,
45
78
  bibliography,
46
79
  howTo,
47
80
  schemas: [
48
- { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'EducationalApplication', operatingSystem: 'Any' },
49
- { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
50
- { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
81
+ {
82
+ '@context': 'https://schema.org',
83
+ '@type': 'SoftwareApplication',
84
+ name: title,
85
+ description,
86
+ applicationCategory: 'EducationalApplication',
87
+ operatingSystem: 'Any'
88
+ },
89
+ {
90
+ '@context': 'https://schema.org',
91
+ '@type': 'FAQPage',
92
+ mainEntity: faq.map((item) => ({
93
+ '@type': 'Question',
94
+ name: item.question,
95
+ acceptedAnswer: { '@type': 'Answer', text: item.answer }
96
+ }))
97
+ },
98
+ {
99
+ '@context': 'https://schema.org',
100
+ '@type': 'HowTo',
101
+ name: title,
102
+ step: howTo.map((step) => ({
103
+ '@type': 'HowToStep',
104
+ name: step.name,
105
+ text: step.text
106
+ }))
107
+ },
51
108
  ],
52
- };
109
+ };
@@ -1,13 +1,16 @@
1
1
  import { bibliography } from '../bibliography';
2
2
  import type { NaturalSelectionLocaleContent } from '../entry';
3
3
 
4
- const slug = 'simulyator-estestvennogo-otbora-geneticheskogo-drejfa';
5
- const title = 'Simulyator estestvennogo otbora i geneticheskogo drejfa';
4
+ const slug = 'simulyator-estestvennogo-otbora-i-geneticheskogo-dreyfa';
5
+ const title = 'Симулятор естественного отбора и генетического дрейфа';
6
6
  const description =
7
- 'V realnom vremeni nablyudajte, kak davlenie otbora, mutacii, drejf i razmnozhenie menyayut chastoty allelej.';
7
+ 'В реальном времени наблюдайте, как давление отбора, мутации, дрейф и размножение меняют частоты аллелей.';
8
8
 
9
9
  const faq = [
10
- { question: 'V chem raznica mezhdu estestvennym otborom i geneticheskim drejfom?', answer: 'Estestvennyj otbor ne sluchaen. Poleznye priznaki stanyatsya chashche. Geneticheskij drejf - sluchajnoe izmenenie chastot allelej.' },
10
+ {
11
+ question: 'В чем разница между естественным отбором и генетическим дрейфом?',
12
+ answer: 'Естественный отбор - это неслучайный процесс, при котором полезные признаки становятся более распространенными. Генетический дрейф - это случайное изменение частот аллелей в популяции, не связанное с приспособленностью.'
13
+ },
11
14
  ];
12
15
 
13
16
  export const content: NaturalSelectionLocaleContent = {
@@ -15,27 +18,27 @@ export const content: NaturalSelectionLocaleContent = {
15
18
  title,
16
19
  description,
17
20
  ui: {
18
- population: 'Razmer populyacii',
19
- generations: 'Pokoleniya',
20
- mutationRate: 'Chastota mutacij',
21
- selectionPressure: 'Davlenie otbora',
22
- driftIntensity: 'Sila drejfa',
23
- alleleCount: 'Nachalnye alleli',
24
- innovationRate: 'Chastota innovacij',
25
- run: 'Zapustit simulyaciyu',
26
- dominantTrait: 'Dominiruyushij priznak',
27
- fitness: 'Itogovyj fitness',
28
- diversity: 'Geneticheskoe raznoobrazie',
29
- evolutionConsole: 'Evolyucionnaya konsol',
30
- populationLabel: 'Populyaciya',
31
- aliveLabel: 'zhivyx',
32
- alleleCountsLabel: 'Schetchik allelej',
33
- alleleDefault: 'Allel 1',
34
- populationValueLabel: 'Populyaciya',
21
+ population: 'Размер популяции',
22
+ generations: 'Поколения',
23
+ mutationRate: 'Частота мутаций',
24
+ selectionPressure: 'Давление отбора',
25
+ driftIntensity: 'Сила дрейфа',
26
+ alleleCount: 'Начальные аллели',
27
+ innovationRate: 'Частота инноваций',
28
+ run: 'Запустить симуляцию',
29
+ dominantTrait: 'Доминантный признак',
30
+ fitness: 'Итоговая приспособленность',
31
+ diversity: 'Генетическое разнообразие',
32
+ evolutionConsole: 'Эволюционная консоль',
33
+ populationLabel: 'Популяция',
34
+ aliveLabel: 'живых',
35
+ alleleCountsLabel: 'Счетчик аллелей',
36
+ alleleDefault: 'Аллель 1',
37
+ populationValueLabel: 'Популяция',
35
38
  },
36
39
  seo: [
37
- { type: 'title', text: 'Estestvennyj otbor vs geneticheskij drejf: ponyat evolyuciyu s zhivoj populyaciej', level: 2 },
38
- { type: 'paragraph', html: 'Eta model pomogaet uvidet raznicu mezhdu otborom i drejfom cherez zhivuyu vizualizaciyu.' },
40
+ { type: 'title', text: 'Естественный отбор vs генетический дрейф: понять эволюцию с живой популяцией', level: 2 },
41
+ { type: 'paragraph', html: 'Эта модель помогает увидеть разницу между отбором и дрейфом через живую визуализацию.' },
39
42
  ],
40
43
  faq,
41
44
  bibliography,
@@ -45,4 +48,4 @@ export const content: NaturalSelectionLocaleContent = {
45
48
  { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
46
49
  { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: [] },
47
50
  ],
48
- };
51
+ };
@@ -4,10 +4,13 @@ import type { NaturalSelectionLocaleContent } from '../entry';
4
4
  const slug = 'simulering-av-naturligt-urval-genetisk-drift';
5
5
  const title = 'Simulering av naturligt urval och genetisk drift';
6
6
  const description =
7
- 'Se i realtid hur selektionstryck, mutation, drift och reproduktion andrar allelfrekvenser.';
7
+ 'Se i realtid hur selektionstryck, mutation, genetisk drift och reproduktion ändrar allelfrekvenser.';
8
8
 
9
9
  const faq = [
10
- { question: 'Vad ar skillnaden mellan naturligt urval och genetisk drift?', answer: 'Naturligt urval ar inte slumpmassigt. Genetisk drift ar en slumpmassig andring av allelfrekvenser.' },
10
+ {
11
+ question: 'Vad är skillnaden mellan naturligt urval och genetisk drift?',
12
+ answer: 'Naturligt urval är en icke-slumpmässig process där fördelaktiga egenskaper blir vanligare på grund av sin fitness. Genetisk drift är däremot en slumpmässig förändring av allelfrekvenser i en population, som inte beror på egenskaperas anpassningsvärde.'
13
+ },
11
14
  ];
12
15
 
13
16
  export const content: NaturalSelectionLocaleContent = {
@@ -29,13 +32,13 @@ export const content: NaturalSelectionLocaleContent = {
29
32
  evolutionConsole: 'Evolutionskonsol',
30
33
  populationLabel: 'Population',
31
34
  aliveLabel: 'levande',
32
- alleleCountsLabel: 'Allelrakning',
35
+ alleleCountsLabel: 'Allelräkning',
33
36
  alleleDefault: 'Allel 1',
34
37
  populationValueLabel: 'Population',
35
38
  },
36
39
  seo: [
37
- { type: 'title', text: 'Naturligt urval vs genetisk drift: forsta evolution med en levande population', level: 2 },
38
- { type: 'paragraph', html: 'Denna simulator hjalper dig att se skillnaden mellan selektion och drift pa ett tydligt satt.' },
40
+ { type: 'title', text: 'Naturligt urval vs genetisk drift: förstå evolution med en levande population', level: 2 },
41
+ { type: 'paragraph', html: 'Denna simulator hjälper dig att se skillnaden mellan selektion och drift ett tydligt sätt genom levande visualisering.' },
39
42
  ],
40
43
  faq,
41
44
  bibliography,
@@ -45,4 +48,4 @@ export const content: NaturalSelectionLocaleContent = {
45
48
  { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
46
49
  { '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: [] },
47
50
  ],
48
- };
51
+ };