@jjlmoya/utils-science 1.19.0 → 1.21.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 +2 -1
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/fr.ts +6 -6
  4. package/src/category/i18n/ru.ts +1 -1
  5. package/src/category/index.ts +3 -1
  6. package/src/category/seo.astro +2 -2
  7. package/src/entries.ts +5 -1
  8. package/src/index.ts +2 -0
  9. package/src/pages/[locale]/[slug].astro +32 -15
  10. package/src/tests/locale_completeness.test.ts +5 -22
  11. package/src/tests/no_en_dash.test.ts +70 -0
  12. package/src/tests/seo_length.test.ts +5 -3
  13. package/src/tests/shared-test-helpers.ts +56 -0
  14. package/src/tests/title_quality.test.ts +1 -1
  15. package/src/tests/tool_exports.test.ts +34 -0
  16. package/src/tests/tool_validation.test.ts +2 -2
  17. package/src/tool/asteroid-impact/bibliography.astro +2 -2
  18. package/src/tool/asteroid-impact/bibliography.ts +24 -0
  19. package/src/tool/asteroid-impact/component.astro +16 -9
  20. package/src/tool/asteroid-impact/i18n/de.ts +4 -24
  21. package/src/tool/asteroid-impact/i18n/en.ts +4 -24
  22. package/src/tool/asteroid-impact/i18n/es.ts +4 -24
  23. package/src/tool/asteroid-impact/i18n/fr.ts +10 -30
  24. package/src/tool/asteroid-impact/i18n/id.ts +4 -24
  25. package/src/tool/asteroid-impact/i18n/it.ts +4 -24
  26. package/src/tool/asteroid-impact/i18n/ja.ts +4 -24
  27. package/src/tool/asteroid-impact/i18n/ko.ts +4 -24
  28. package/src/tool/asteroid-impact/i18n/nl.ts +4 -24
  29. package/src/tool/asteroid-impact/i18n/pl.ts +4 -24
  30. package/src/tool/asteroid-impact/i18n/pt.ts +4 -24
  31. package/src/tool/asteroid-impact/i18n/ru.ts +8 -28
  32. package/src/tool/asteroid-impact/i18n/sv.ts +4 -24
  33. package/src/tool/asteroid-impact/i18n/tr.ts +4 -24
  34. package/src/tool/asteroid-impact/i18n/zh.ts +4 -24
  35. package/src/tool/asteroid-impact/index.ts +1 -0
  36. package/src/tool/asteroid-impact/script.ts +13 -7
  37. package/src/tool/asteroid-impact/seo.astro +1 -1
  38. package/src/tool/cellular-renewal/bibliography.astro +2 -2
  39. package/src/tool/cellular-renewal/bibliography.ts +24 -0
  40. package/src/tool/cellular-renewal/i18n/de.ts +3 -24
  41. package/src/tool/cellular-renewal/i18n/en.ts +3 -24
  42. package/src/tool/cellular-renewal/i18n/es.ts +3 -24
  43. package/src/tool/cellular-renewal/i18n/fr.ts +16 -37
  44. package/src/tool/cellular-renewal/i18n/id.ts +3 -24
  45. package/src/tool/cellular-renewal/i18n/it.ts +3 -24
  46. package/src/tool/cellular-renewal/i18n/ja.ts +3 -24
  47. package/src/tool/cellular-renewal/i18n/ko.ts +3 -24
  48. package/src/tool/cellular-renewal/i18n/nl.ts +3 -24
  49. package/src/tool/cellular-renewal/i18n/pl.ts +3 -24
  50. package/src/tool/cellular-renewal/i18n/pt.ts +3 -24
  51. package/src/tool/cellular-renewal/i18n/ru.ts +20 -41
  52. package/src/tool/cellular-renewal/i18n/sv.ts +3 -24
  53. package/src/tool/cellular-renewal/i18n/tr.ts +3 -24
  54. package/src/tool/cellular-renewal/i18n/zh.ts +12 -33
  55. package/src/tool/cellular-renewal/index.ts +1 -0
  56. package/src/tool/cellular-renewal/seo.astro +2 -1
  57. package/src/tool/colony-counter/bibliography.astro +2 -2
  58. package/src/tool/colony-counter/bibliography.ts +12 -0
  59. package/src/tool/colony-counter/i18n/de.ts +3 -12
  60. package/src/tool/colony-counter/i18n/en.ts +3 -12
  61. package/src/tool/colony-counter/i18n/es.ts +3 -12
  62. package/src/tool/colony-counter/i18n/fr.ts +3 -12
  63. package/src/tool/colony-counter/i18n/id.ts +3 -12
  64. package/src/tool/colony-counter/i18n/it.ts +3 -12
  65. package/src/tool/colony-counter/i18n/ja.ts +3 -12
  66. package/src/tool/colony-counter/i18n/ko.ts +3 -12
  67. package/src/tool/colony-counter/i18n/nl.ts +3 -12
  68. package/src/tool/colony-counter/i18n/pl.ts +3 -12
  69. package/src/tool/colony-counter/i18n/pt.ts +3 -12
  70. package/src/tool/colony-counter/i18n/ru.ts +8 -17
  71. package/src/tool/colony-counter/i18n/sv.ts +3 -12
  72. package/src/tool/colony-counter/i18n/tr.ts +3 -12
  73. package/src/tool/colony-counter/i18n/zh.ts +5 -14
  74. package/src/tool/colony-counter/index.ts +1 -0
  75. package/src/tool/colony-counter/seo.astro +1 -1
  76. package/src/tool/cosmic-inflation/bibliography.astro +14 -0
  77. package/src/tool/cosmic-inflation/bibliography.ts +12 -0
  78. package/src/tool/cosmic-inflation/component.astro +270 -0
  79. package/src/tool/cosmic-inflation/cosmic-inflation-calculator.css +277 -0
  80. package/src/tool/cosmic-inflation/entry.ts +26 -0
  81. package/src/tool/cosmic-inflation/i18n/de.ts +188 -0
  82. package/src/tool/cosmic-inflation/i18n/en.ts +188 -0
  83. package/src/tool/cosmic-inflation/i18n/es.ts +168 -0
  84. package/src/tool/cosmic-inflation/i18n/fr.ts +188 -0
  85. package/src/tool/cosmic-inflation/i18n/id.ts +188 -0
  86. package/src/tool/cosmic-inflation/i18n/it.ts +188 -0
  87. package/src/tool/cosmic-inflation/i18n/ja.ts +188 -0
  88. package/src/tool/cosmic-inflation/i18n/ko.ts +188 -0
  89. package/src/tool/cosmic-inflation/i18n/nl.ts +188 -0
  90. package/src/tool/cosmic-inflation/i18n/pl.ts +188 -0
  91. package/src/tool/cosmic-inflation/i18n/pt.ts +188 -0
  92. package/src/tool/cosmic-inflation/i18n/ru.ts +188 -0
  93. package/src/tool/cosmic-inflation/i18n/sv.ts +188 -0
  94. package/src/tool/cosmic-inflation/i18n/tr.ts +188 -0
  95. package/src/tool/cosmic-inflation/i18n/zh.ts +188 -0
  96. package/src/tool/cosmic-inflation/index.ts +11 -0
  97. package/src/tool/cosmic-inflation/logic/CosmicInflationEngine.ts +21 -0
  98. package/src/tool/cosmic-inflation/seo.astro +15 -0
  99. package/src/tool/microwave-detector/bibliography.astro +2 -2
  100. package/src/tool/microwave-detector/bibliography.ts +16 -0
  101. package/src/tool/microwave-detector/component.astro +9 -7
  102. package/src/tool/microwave-detector/i18n/de.ts +3 -16
  103. package/src/tool/microwave-detector/i18n/en.ts +3 -16
  104. package/src/tool/microwave-detector/i18n/es.ts +3 -16
  105. package/src/tool/microwave-detector/i18n/fr.ts +7 -20
  106. package/src/tool/microwave-detector/i18n/id.ts +3 -16
  107. package/src/tool/microwave-detector/i18n/it.ts +3 -16
  108. package/src/tool/microwave-detector/i18n/ja.ts +3 -16
  109. package/src/tool/microwave-detector/i18n/ko.ts +3 -16
  110. package/src/tool/microwave-detector/i18n/nl.ts +3 -16
  111. package/src/tool/microwave-detector/i18n/pl.ts +3 -16
  112. package/src/tool/microwave-detector/i18n/pt.ts +3 -16
  113. package/src/tool/microwave-detector/i18n/ru.ts +21 -34
  114. package/src/tool/microwave-detector/i18n/sv.ts +3 -16
  115. package/src/tool/microwave-detector/i18n/tr.ts +3 -16
  116. package/src/tool/microwave-detector/i18n/zh.ts +13 -26
  117. package/src/tool/microwave-detector/index.ts +1 -0
  118. package/src/tool/microwave-detector/logic/MicrowaveEngine.ts +5 -1
  119. package/src/tool/microwave-detector/microwave-leak-detector.css +22 -25
  120. package/src/tool/microwave-detector/seo.astro +2 -1
  121. package/src/tool/simulation-probability/bibliography.astro +2 -2
  122. package/src/tool/simulation-probability/bibliography.ts +24 -0
  123. package/src/tool/simulation-probability/i18n/de.ts +3 -24
  124. package/src/tool/simulation-probability/i18n/en.ts +3 -24
  125. package/src/tool/simulation-probability/i18n/es.ts +3 -24
  126. package/src/tool/simulation-probability/i18n/fr.ts +8 -29
  127. package/src/tool/simulation-probability/i18n/id.ts +3 -24
  128. package/src/tool/simulation-probability/i18n/it.ts +3 -24
  129. package/src/tool/simulation-probability/i18n/ja.ts +3 -24
  130. package/src/tool/simulation-probability/i18n/ko.ts +3 -24
  131. package/src/tool/simulation-probability/i18n/nl.ts +3 -24
  132. package/src/tool/simulation-probability/i18n/pl.ts +3 -24
  133. package/src/tool/simulation-probability/i18n/pt.ts +3 -24
  134. package/src/tool/simulation-probability/i18n/ru.ts +10 -31
  135. package/src/tool/simulation-probability/i18n/sv.ts +3 -24
  136. package/src/tool/simulation-probability/i18n/tr.ts +3 -24
  137. package/src/tool/simulation-probability/i18n/zh.ts +7 -28
  138. package/src/tool/simulation-probability/index.ts +1 -0
  139. package/src/tool/simulation-probability/seo.astro +2 -1
  140. package/src/tool/temperature-timeline/bibliography.astro +14 -0
  141. package/src/tool/temperature-timeline/bibliography.ts +12 -0
  142. package/src/tool/temperature-timeline/component.astro +289 -0
  143. package/src/tool/temperature-timeline/entry.ts +26 -0
  144. package/src/tool/temperature-timeline/i18n/de.ts +213 -0
  145. package/src/tool/temperature-timeline/i18n/en.ts +213 -0
  146. package/src/tool/temperature-timeline/i18n/es.ts +178 -0
  147. package/src/tool/temperature-timeline/i18n/fr.ts +213 -0
  148. package/src/tool/temperature-timeline/i18n/id.ts +213 -0
  149. package/src/tool/temperature-timeline/i18n/it.ts +213 -0
  150. package/src/tool/temperature-timeline/i18n/ja.ts +213 -0
  151. package/src/tool/temperature-timeline/i18n/ko.ts +213 -0
  152. package/src/tool/temperature-timeline/i18n/nl.ts +213 -0
  153. package/src/tool/temperature-timeline/i18n/pl.ts +213 -0
  154. package/src/tool/temperature-timeline/i18n/pt.ts +213 -0
  155. package/src/tool/temperature-timeline/i18n/ru.ts +213 -0
  156. package/src/tool/temperature-timeline/i18n/sv.ts +213 -0
  157. package/src/tool/temperature-timeline/i18n/tr.ts +213 -0
  158. package/src/tool/temperature-timeline/i18n/zh.ts +213 -0
  159. package/src/tool/temperature-timeline/index.ts +11 -0
  160. package/src/tool/temperature-timeline/logic/TemperatureTimelineEngine.ts +58 -0
  161. package/src/tool/temperature-timeline/planet-temperature-timeline.css +158 -0
  162. package/src/tool/temperature-timeline/seo.astro +15 -0
  163. package/src/tools.ts +4 -0
  164. package/src/types.ts +1 -3
@@ -37,14 +37,13 @@ const faq = [
37
37
  answer: 'Små nedslag (som i Ryssland 2013) sker varje decennium. Katastrofala nedslag (Tunguska-stil) sker vartannat århundrade. En global utdöendehändelse som Chicxulub sker ungefär var 100 miljonte år.',
38
38
  },
39
39
  ];
40
+ import { bibliography } from '../bibliography';
40
41
  import type { ToolLocaleContent } from '../../../types';
41
42
 
42
43
  export const content: ToolLocaleContent = {
43
44
  slug,
44
45
  title,
45
46
  description,
46
- faqTitle: 'Vanliga frågor',
47
- bibliographyTitle: 'Bibliografi',
48
47
  ui: {
49
48
  copied: 'Kopierad',
50
49
  noHistory: 'Ingen historik',
@@ -135,28 +134,7 @@ export const content: ToolLocaleContent = {
135
134
  },
136
135
  ],
137
136
  faq,
138
- bibliography: [
139
- {
140
- name: 'Collins, G. S., et al. (2005). Earth Impact Effects Program: Ett webbaserat datorprogram för att beräkna de regionala miljökonsekvenserna av ett meteoritnedslag på jorden.',
141
- url: 'https://impact.ese.ic.ac.uk/ImpactEarth/',
142
- },
143
- {
144
- name: 'Toon, O. B., et al. (1997). Environmental perturbations caused by the impacts of asteroids and comets. Reviews of Geophysics.',
145
- url: 'https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/96RG03038',
146
- },
147
- {
148
- name: 'Chapman, C. R., & Morrison, D. (1994). Impacts on the Earth by asteroids and comets: assessing the hazard. Nature.',
149
- url: 'https://www.nature.com/articles/367033a0',
150
- },
151
- {
152
- name: 'Schulte, P., et al. (2010). The Chicxulub Asteroid Impact and Mass Extinction at the Cretaceous-Paleogene Boundary. Science.',
153
- url: 'https://www.science.org/doi/10.1126/science.1177265',
154
- },
155
- {
156
- name: 'Brown, P., et al. (2013). A 500-kiloton airburst over Chelyabinsk and an enhanced hazard from small impactors. Nature.',
157
- url: 'https://www.nature.com/articles/nature12741',
158
- },
159
- ],
137
+ bibliography,
160
138
  howTo,
161
139
 
162
140
  schemas: [
@@ -192,3 +170,5 @@ export const content: ToolLocaleContent = {
192
170
  },
193
171
  ],
194
172
  };
173
+
174
+
@@ -37,14 +37,13 @@ const faq = [
37
37
  answer: 'Küçük çarpmalar (2013 Rusya gibi) her on yılda bir olur. Felaket düzeyindeki çarpmalar (Tunguska tarzı) her birkaç yüzyılda bir. Chicxulub gibi küresel bir yok oluş olayı yaklaşık her 100 milyon yılda bir gerçekleşir.',
38
38
  },
39
39
  ];
40
+ import { bibliography } from '../bibliography';
40
41
  import type { ToolLocaleContent } from '../../../types';
41
42
 
42
43
  export const content: ToolLocaleContent = {
43
44
  slug,
44
45
  title,
45
46
  description,
46
- faqTitle: 'Sıkça Sorulan Sorular',
47
- bibliographyTitle: 'Kaynakça',
48
47
  ui: {
49
48
  copied: 'Kopyalandı',
50
49
  noHistory: 'Geçmiş yok',
@@ -135,28 +134,7 @@ export const content: ToolLocaleContent = {
135
134
  },
136
135
  ],
137
136
  faq,
138
- bibliography: [
139
- {
140
- name: 'Collins, G. S., ve ark. (2005). Earth Impact Effects Program: Bir meteorun Dünya\'ya çarpmasının bölgesel çevresel sonuçlarını hesaplamak için web tabanlı bir bilgisayar programı.',
141
- url: 'https://impact.ese.ic.ac.uk/ImpactEarth/',
142
- },
143
- {
144
- name: 'Toon, O. B., ve ark. (1997). Environmental perturbations caused by the impacts of asteroids and comets. Reviews of Geophysics.',
145
- url: 'https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/96RG03038',
146
- },
147
- {
148
- name: 'Chapman, C. R., & Morrison, D. (1994). Impacts on the Earth by asteroids and comets: assessing the hazard. Nature.',
149
- url: 'https://www.nature.com/articles/367033a0',
150
- },
151
- {
152
- name: 'Schulte, P., ve ark. (2010). The Chicxulub Asteroid Impact and Mass Extinction at the Cretaceous-Paleogene Boundary. Science.',
153
- url: 'https://www.science.org/doi/10.1126/science.1177265',
154
- },
155
- {
156
- name: 'Brown, P., ve ark. (2013). A 500-kiloton airburst over Chelyabinsk and an enhanced hazard from small impactors. Nature.',
157
- url: 'https://www.nature.com/articles/nature12741',
158
- },
159
- ],
137
+ bibliography,
160
138
  howTo,
161
139
 
162
140
  schemas: [
@@ -192,3 +170,5 @@ export const content: ToolLocaleContent = {
192
170
  },
193
171
  ],
194
172
  };
173
+
174
+
@@ -37,14 +37,13 @@ const faq = [
37
37
  answer: '小型撞击(如 2013 年在俄罗斯发生的)每十年发生一次。灾难性撞击(通古斯式)每隔几个世纪发生一次。全球性灭绝事件(如希克苏鲁伯)大约每 1 亿年发生一次。',
38
38
  },
39
39
  ];
40
+ import { bibliography } from '../bibliography';
40
41
  import type { ToolLocaleContent } from '../../../types';
41
42
 
42
43
  export const content: ToolLocaleContent = {
43
44
  slug,
44
45
  title,
45
46
  description,
46
- faqTitle: '常见问题',
47
- bibliographyTitle: '参考文献',
48
47
  ui: {
49
48
  copied: '已复制',
50
49
  noHistory: '无历史记录',
@@ -135,28 +134,7 @@ export const content: ToolLocaleContent = {
135
134
  },
136
135
  ],
137
136
  faq,
138
- bibliography: [
139
- {
140
- name: 'Collins, G. S., 等 (2005). 地球撞击效应项目:一个基于 Web 的计算机程序,用于计算流星体撞击地球对区域环境产生的影响。',
141
- url: 'https://impact.ese.ic.ac.uk/ImpactEarth/',
142
- },
143
- {
144
- name: 'Toon, O. B., 等 (1997). Environmental perturbations caused by the impacts of asteroids and comets. Reviews of Geophysics.',
145
- url: 'https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/96RG03038',
146
- },
147
- {
148
- name: 'Chapman, C. R., & Morrison, D. (1994). Impacts on the Earth by asteroids and comets: assessing the hazard. Nature.',
149
- url: 'https://www.nature.com/articles/367033a0',
150
- },
151
- {
152
- name: 'Schulte, P., 等 (2010). The Chicxulub Asteroid Impact and Mass Extinction at the Cretaceous-Paleogene Boundary. Science.',
153
- url: 'https://www.science.org/doi/10.1126/science.1177265',
154
- },
155
- {
156
- name: 'Brown, P., 等 (2013). A 500-kiloton airburst over Chelyabinsk and an enhanced hazard from small impactors. Nature.',
157
- url: 'https://www.nature.com/articles/nature12741',
158
- },
159
- ],
137
+ bibliography,
160
138
  howTo,
161
139
 
162
140
  schemas: [
@@ -192,3 +170,5 @@ export const content: ToolLocaleContent = {
192
170
  },
193
171
  ],
194
172
  };
173
+
174
+
@@ -1,4 +1,5 @@
1
1
  import { asteroidImpact } from './entry';
2
+ import type { ToolDefinition } from '../../types';
2
3
  export * from './entry';
3
4
  export const ASTEROID_IMPACT_TOOL: ToolDefinition = {
4
5
  entry: asteroidImpact,
@@ -2,7 +2,7 @@ import L from "leaflet";
2
2
  import { ImpactPhysics, type Composition, type ImpactResults } from "./logic/impactPhysics";
3
3
  import { getCompositionColor } from "./helpers";
4
4
  import { getConfig, updateUI } from "./ui";
5
- import { VERDICT_CONFIGS, DEFAULT_LABELS, type Labels } from "./constants";
5
+ import { VERDICT_CONFIGS, DEFAULT_LABELS, type Labels, type VerdictConfig } from "./constants";
6
6
 
7
7
  let map: L.Map;
8
8
 
@@ -53,6 +53,13 @@ function setupControls() {
53
53
  clearBtn?.addEventListener("click", clearAll);
54
54
  }
55
55
 
56
+ function getEventCoordinates(e: MouseEvent | TouchEvent) {
57
+ const touch = (e as TouchEvent).changedTouches?.[0];
58
+ const clientX = (e as MouseEvent).clientX || touch?.clientX || 0;
59
+ const clientY = (e as MouseEvent).clientY || touch?.clientY || 0;
60
+ return { clientX, clientY };
61
+ }
62
+
56
63
  function setupGhostDrag() {
57
64
  const source = document.getElementById("drag-source-desktop");
58
65
  if (!source) return;
@@ -65,10 +72,8 @@ function setupGhostDrag() {
65
72
  const onEnd = (endEvent: MouseEvent | TouchEvent) => {
66
73
  if (targetOverlay) targetOverlay.classList.remove("active");
67
74
 
68
- const clientX = (endEvent as MouseEvent).clientX || (endEvent as TouchEvent).changedTouches[0].clientX;
69
- const clientY = (endEvent as MouseEvent).clientY || (endEvent as TouchEvent).changedTouches[0].clientY;
70
-
71
- const point = map.mouseEventToContainerPoint({ clientX, clientY } as MouseEvent);
75
+ const coords = getEventCoordinates(endEvent);
76
+ const point = map.mouseEventToContainerPoint(coords as MouseEvent);
72
77
  const latlng = map.containerPointToLatLng(point);
73
78
  spawnImpact(latlng);
74
79
 
@@ -202,8 +207,9 @@ function updateVerdict() {
202
207
  if (impacts.length === 0) {
203
208
  pill?.classList.remove("active");
204
209
  } else {
205
- pill?.classList.add("active");
206
- updateVerdictUI(VERDICT_CONFIGS.safe);
210
+ if (VERDICT_CONFIGS.safe) {
211
+ updateVerdictUI(VERDICT_CONFIGS.safe);
212
+ }
207
213
  }
208
214
  }
209
215
 
@@ -12,4 +12,4 @@ const content = await asteroidImpact.i18n[locale]?.();
12
12
  if (!content) return null;
13
13
  ---
14
14
 
15
- <SEORenderer content={{ sections: content.seo, locale }} />
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,5 +1,5 @@
1
1
  ---
2
- import { Bibliography } from '@jjlmoya/utils-shared';
2
+ import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
3
  import { cellularRenewal } from './index';
4
4
  import type { KnownLocale } from '../../types';
5
5
 
@@ -11,4 +11,4 @@ const { locale = 'es' } = Astro.props;
11
11
  const content = await cellularRenewal.i18n[locale]?.();
12
12
  ---
13
13
 
14
- {content && <Bibliography links={content.bibliography} title={content.ui.bibliographyTitle} />}
14
+ {content && <SharedBibliography links={content.bibliography} />}
@@ -0,0 +1,24 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
6
+ url: 'https://www.nature.com/articles/s41591-020-01182-9',
7
+ },
8
+ {
9
+ name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
10
+ url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
11
+ },
12
+ {
13
+ name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
14
+ url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
15
+ },
16
+ {
17
+ name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
18
+ url: 'https://plato.stanford.edu/entries/identity-relative/',
19
+ },
20
+ {
21
+ name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
22
+ url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
23
+ },
24
+ ];
@@ -45,14 +45,13 @@ const faq = [
45
45
  answer: 'Korrekt. Die Linsenzellen werden während der Embryonalentwicklung angelegt und bleiben lebenslang erhalten. Mit 100 Jahren könnten die zentralen Zellen Ihrer Linse noch dieselben sein wie im Mutterleib. Es ist eine biologische Zeitkapsel.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Häufig gestellte Fragen',
55
- bibliographyTitle: 'Bibliografie',
56
55
  ui: {
57
56
  copied: 'Kopiert',
58
57
  noHistory: 'Kein Verlauf',
@@ -148,28 +147,7 @@ export const content: ToolLocaleContent = {
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+
@@ -45,14 +45,13 @@ const faq = [
45
45
  answer: 'Correct. Lens cells are deposited during embryonic development and are kept for life. At 100 years old, the central cells of your lens could be the same as when you were in the womb. It is a biological time capsule.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Frequently Asked Questions',
55
- bibliographyTitle: 'Bibliography',
56
55
  ui: {
57
56
  copied: 'Copied',
58
57
  noHistory: 'No history',
@@ -148,28 +147,7 @@ export const content: ToolLocaleContent = {
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+
@@ -45,14 +45,13 @@ const faq = [
45
45
  answer: 'Correcto. Las células del cristalino se depositan durante el desarrollo embrionario y se mantienen de por vida. A los 100 años, las células centrales de tu cristalino podrían ser las mismas que cuando estabas en el útero. Es una cápsula de tiempo biológica.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Preguntas Frecuentes',
55
- bibliographyTitle: 'Bibliografía',
56
55
  ui: {
57
56
  copied: 'Copiado',
58
57
  noHistory: 'Sin historial',
@@ -148,28 +147,7 @@ export const content: ToolLocaleContent = {
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+
@@ -1,6 +1,6 @@
1
1
  const description = 'Calculez le pourcentage de votre corps qui s\'est renouvelé depuis votre naissance. Estimation basée sur le taux de division cellulaire des organes, des os et des tissus. Le Paradoxe de Thésée rendu tangible.';
2
2
  const slug = 'calculateur-renouvellement-cellulaire';
3
- const title = 'Calculateur de Renouvellement Cellulaire : Que reste t il du "vous" original ?';
3
+ const title = 'Calculateur de Renouvellement Cellulaire: Que reste t il du "vous" original ?';
4
4
  const howTo = [
5
5
  {
6
6
  name: 'Réglez votre âge',
@@ -12,7 +12,7 @@ const howTo = [
12
12
  },
13
13
  {
14
14
  name: 'Analysez les barres de progression',
15
- text: 'Chaque barre représente un tissu différent : peau/sang, os, organes et cerveau. Notez que le cerveau change à peine tandis que la peau se renouvelle constamment.',
15
+ text: 'Chaque barre représente un tissu différent: peau/sang, os, organes et cerveau. Notez que le cerveau change à peine tandis que la peau se renouvelle constamment.',
16
16
  },
17
17
  {
18
18
  name: 'Réfléchissez sur votre identité',
@@ -26,7 +26,7 @@ const faq = [
26
26
  },
27
27
  {
28
28
  question: 'Pourquoi le cerveau se renouvelle-t-il si lentement ?',
29
- answer: 'Les neurones du cortex cérébral se génèrent avant la naissance et généralement ne se divisent plus. Cela assure une stabilité neurologique : vos "câbles" fondamentaux restent constants. Cependant, les cellules gliales (de soutien) se renouvellent. La mémoire est stockée dans les connexions, pas dans les atomes.',
29
+ answer: 'Les neurones du cortex cérébral se génèrent avant la naissance et généralement ne se divisent plus. Cela assure une stabilité neurologique: vos "câbles" fondamentaux restent constants. Cependant, les cellules gliales (de soutien) se renouvellent. La mémoire est stockée dans les connexions, pas dans les atomes.',
30
30
  },
31
31
  {
32
32
  question: 'Est-il vrai que nous sommes de "nouvelles personnes" tous les 7 ans ?',
@@ -34,25 +34,24 @@ const faq = [
34
34
  },
35
35
  {
36
36
  question: 'Si mon corps est neuf à 99%, suis-je toujours la même personne ?',
37
- answer: 'Oui. L\'identité est une continuité d\'information, de conscience et de mémoire, pas d\'atomes. Vous êtes comme un fleuve : l\'eau change constamment, mais le fleuve persiste. Le Paradoxe de Thésée suggère que l\'identité réside dans le motif, pas dans la matière.',
37
+ answer: 'Oui. L\'identité est une continuité d\'information, de conscience et de mémoire, pas d\'atomes. Vous êtes comme un fleuve: l\'eau change constamment, mais le fleuve persiste. Le Paradoxe de Thésée suggère que l\'identité réside dans le motif, pas dans la matière.',
38
38
  },
39
39
  {
40
40
  question: 'Quels sont les tissus qui se renouvellent le plus rapidement ?',
41
- answer: 'Le sang et la peau sont en tête. Votre moelle osseuse produit 200 milliards de cellules sanguines par jour. Vous perdez ~30 000 cellules de peau par minute. C\'est pourquoi ils cicatrisent si bien et vieillissent si visiblement : ils sont jeunes en termes d\'âge cellulaire.',
41
+ answer: 'Le sang et la peau sont en tête. Votre moelle osseuse produit 200 milliards de cellules sanguines par jour. Vous perdez ~30 000 cellules de peau par minute. C\'est pourquoi ils cicatrisent si bien et vieillissent si visiblement: ils sont jeunes en termes d\'âge cellulaire.',
42
42
  },
43
43
  {
44
44
  question: 'Le cristallin de l\'œil ne se renouvelle vraiment pas ?',
45
45
  answer: 'C\'est exact. Les cellules du cristallin se déposent pendant le développement embryonnaire et sont conservées à vie. À 100 ans, les cellules centrales de votre cristallin pourraient être les mêmes que lorsque vous étiez dans l\'utérus. C\'est une capsule témoin biologique.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Questions Fréquemment Posées',
55
- bibliographyTitle: 'Bibliographie',
56
55
  ui: {
57
56
  copied: 'Copié',
58
57
  noHistory: 'Pas d\'historique',
@@ -80,11 +79,11 @@ export const content: ToolLocaleContent = {
80
79
  },
81
80
  {
82
81
  type: 'paragraph',
83
- html: 'Ce paradoxe, connu sous le nom de <strong>Paradoxe du Navire de Thésée</strong>, pose une question ancienne : si vous remplacez toutes les parties de quelque chose, est-ce toujours la même chose ? Dans votre cas, c\'est une question littérale. Les atomes qui constituent votre corps aujourd\'hui ne sont pas les mêmes que ceux d\'il y a 10 ans, mais <em>vous</em> restez vous.',
82
+ html: 'Ce paradoxe, connu sous le nom de <strong>Paradoxe du Navire de Thésée</strong>, pose une question ancienne: si vous remplacez toutes les parties de quelque chose, est-ce toujours la même chose ? Dans votre cas, c\'est une question littérale. Les atomes qui constituent votre corps aujourd\'hui ne sont pas les mêmes que ceux d\'il y a 10 ans, mais <em>vous</em> restez vous.',
84
83
  },
85
84
  {
86
85
  type: 'title',
87
- text: 'Le renouvellement cellulaire : un mapa de votre corps dynamique',
86
+ text: 'Le renouvellement cellulaire: un mapa de votre corps dynamique',
88
87
  level: 3,
89
88
  },
90
89
  {
@@ -104,16 +103,16 @@ export const content: ToolLocaleContent = {
104
103
  },
105
104
  {
106
105
  type: 'title',
107
- text: 'Le cristallin de l\'œil : la partie la plus ancienne de vous',
106
+ text: 'Le cristallin de l\'œil: la partie la plus ancienne de vous',
108
107
  level: 3,
109
108
  },
110
109
  {
111
110
  type: 'paragraph',
112
- html: 'Il existe une structure dans votre corps qui est spéciale : le <strong>cristallin de l\'œil</strong>. Les cellules qui composent le cristallin se déposent pendant le développement fœtal et ne sont jamais remplacées. Si vous parvenez à vivre jusqu\'à 100 ans, les cellules centrales de votre cristallin seront toujours les mêmes que celles que vous aviez dans l\'utérus de votre mère. Elles sont, littéralement, la partie la plus ancienne de vous.',
111
+ html: 'Il existe une structure dans votre corps qui est spéciale: le <strong>cristallin de l\'œil</strong>. Les cellules qui composent le cristallin se déposent pendant le développement fœtal et ne sont jamais remplacées. Si vous parvenez à vivre jusqu\'à 100 ans, les cellules centrales de votre cristallin seront toujours les mêmes que celles que vous aviez dans l\'utérus de votre mère. Elles sont, littéralement, la partie la plus ancienne de vous.',
113
112
  },
114
113
  {
115
114
  type: 'title',
116
- text: 'Calcul du renouvellement total : le paradoxe des poids',
115
+ text: 'Calcul du renouvellement total: le paradoxe des poids',
117
116
  level: 3,
118
117
  },
119
118
  {
@@ -135,41 +134,20 @@ export const content: ToolLocaleContent = {
135
134
  },
136
135
  {
137
136
  type: 'title',
138
- text: 'Implications philosophiques : l\'identité est information, pas matière',
137
+ text: 'Implications philosophiques: l\'identité est information, pas matière',
139
138
  level: 3,
140
139
  },
141
140
  {
142
141
  type: 'paragraph',
143
- html: 'Si votre corps est complètement nouveau chaque décennie, pourquoi êtes-vous "vous" ? La réponse réside dans le fait que l\'identité ne réside pas dans les atomes spécifiques, mais dans le <strong>modèle d\'information</strong> que ces atomes soutiennent. Vous êtes comme une chanson : ce n\'est pas le même air qui vibre, mais le modèle persiste.',
142
+ html: 'Si votre corps est complètement nouveau chaque décennie, pourquoi êtes-vous "vous" ? La réponse réside dans le fait que l\'identité ne réside pas dans les atomes spécifiques, mais dans le <strong>modèle d\'information</strong> que ces atomes soutiennent. Vous êtes comme une chanson: ce n\'est pas le même air qui vibre, mais le modèle persiste.',
144
143
  },
145
144
  {
146
145
  type: 'paragraph',
147
- html: 'Ceci a des implications profondes : votre corps est un processus, pas une chose. Vous êtes un modèle auto-organisé qui persiste à travers le changement. Vous ne possédez pas d\'atomes ; vous êtes une structure qui les canalise temporairement.',
146
+ html: 'Ceci a des implications profondes: votre corps est un processus, pas une chose. Vous êtes un modèle auto-organisé qui persiste à travers le changement. Vous ne possédez pas d\'atomes ; vous êtes une structure qui les canalise temporairement.',
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+
@@ -45,14 +45,13 @@ const faq = [
45
45
  answer: 'Benar. Sel-sel lensa disimpan selama perkembangan embrio dan disimpan seumur hidup. Pada usia 100 tahun, sel-sel pusat lensa Anda bisa sama seperti saat Anda berada di dalam rahim. Ini adalah kapsul waktu biologis.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Pertanyaan yang Sering Diajukan',
55
- bibliographyTitle: 'Bibliografi',
56
55
  ui: {
57
56
  copied: 'Disalin',
58
57
  noHistory: 'Tidak ada riwayat',
@@ -148,28 +147,7 @@ export const content: ToolLocaleContent = {
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). Distribusi pergantian seluler dalam tubuh manusia. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., dkk. (2005). Penentuan tanggal lahir retrospektif sel pada manusia. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., dkk. (2013). Estimasi jumlah sel dalam tubuh manusia. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: Kapal Theseus dan Identitas Pribadi.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Klasifikasi sel dan jaringan berdasarkan tingkat pembelahannya. Dalam Pembaruan Kehidupan.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+
@@ -45,14 +45,13 @@ const faq = [
45
45
  answer: 'Corretto. Le cellule del cristallino vengono depositate durante lo sviluppo embrionale e conservate per tutta la vita. A 100 anni, le cellule centrali del tuo cristallino potrebbero essere le stesse di quando eri nel grembo materno. È una capsula del tempo biologica.',
46
46
  },
47
47
  ];
48
+ import { bibliography } from '../bibliography';
48
49
  import type { ToolLocaleContent } from '../../../types';
49
50
 
50
51
  export const content: ToolLocaleContent = {
51
52
  slug,
52
53
  title,
53
54
  description,
54
- faqTitle: 'Domande Frequenti',
55
- bibliographyTitle: 'Bibliografia',
56
55
  ui: {
57
56
  copied: 'Copiato',
58
57
  noHistory: 'Nessuna cronologia',
@@ -148,28 +147,7 @@ export const content: ToolLocaleContent = {
148
147
  },
149
148
  ],
150
149
  faq,
151
- bibliography: [
152
- {
153
- name: 'Sender, R., & Milo, R. (2021). The distribution of cellular turnover in the human body. Nature Medicine, 27(1), 45-48.',
154
- url: 'https://www.nature.com/articles/s41591-020-01182-9',
155
- },
156
- {
157
- name: 'Spalding, K. L., et al. (2005). Retrospective birth dating of cells in humans. Cell, 122(1), 133-143.',
158
- url: 'https://pubmed.ncbi.nlm.nih.gov/16023133/',
159
- },
160
- {
161
- name: 'Bianconi, E., et al. (2013). An estimation of the number of cells in the human body. Annals of Human Biology, 40(6), 463-471.',
162
- url: 'https://pubmed.ncbi.nlm.nih.gov/23829164/',
163
- },
164
- {
165
- name: 'Stanford Encyclopedia of Philosophy: The Ship of Theseus and Personal Identity.',
166
- url: 'https://plato.stanford.edu/entries/identity-relative/',
167
- },
168
- {
169
- name: 'Leblond, C. P. (1964). Classification of cell and tissue by the rate of their division. In Renewal of Life.',
170
- url: 'https://en.wikipedia.org/wiki/Cellular_renewal',
171
- },
172
- ],
150
+ bibliography,
173
151
  howTo,
174
152
 
175
153
  schemas: [
@@ -205,3 +183,4 @@ export const content: ToolLocaleContent = {
205
183
  },
206
184
  ],
207
185
  };
186
+