@jjlmoya/utils-forensic-science 1.1.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.
- package/package.json +69 -0
- package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
- package/scripts/postinstall.mjs +27 -0
- package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
- package/src/category/i18n/de.ts +55 -0
- package/src/category/i18n/en.ts +55 -0
- package/src/category/i18n/es.ts +55 -0
- package/src/category/i18n/fr.ts +55 -0
- package/src/category/i18n/id.ts +55 -0
- package/src/category/i18n/it.ts +55 -0
- package/src/category/i18n/ja.ts +56 -0
- package/src/category/i18n/ko.ts +56 -0
- package/src/category/i18n/nl.ts +55 -0
- package/src/category/i18n/pl.ts +55 -0
- package/src/category/i18n/pt.ts +55 -0
- package/src/category/i18n/ru.ts +55 -0
- package/src/category/i18n/sv.ts +55 -0
- package/src/category/i18n/tr.ts +55 -0
- package/src/category/i18n/zh.ts +56 -0
- package/src/category/index.ts +48 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +48 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +29 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +162 -0
- package/src/pages/[locale].astro +261 -0
- package/src/pages/index.astro +3 -0
- package/src/tests/diacritics_density.test.ts +140 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +24 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +46 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/widmark.test.ts +28 -0
- package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
- package/src/tool/forensic-age-estimator/component.astro +321 -0
- package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
- package/src/tool/forensic-age-estimator/entry.ts +32 -0
- package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
- package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
- package/src/tool/forensic-age-estimator/index.ts +11 -0
- package/src/tool/forensic-age-estimator/logic.ts +81 -0
- package/src/tool/forensic-age-estimator/seo.astro +15 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
- package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
- package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
- package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
- package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
- package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
- package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
- package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
- package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
- package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
- package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
- package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
- package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
- package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
- package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
- package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
- package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
- package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
- package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
- package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
- package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
- package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
- package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
- package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
- package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
- package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
- package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
- package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
- package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
- package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
- package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
- package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
- package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
- package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
- package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
- package/src/tool/forensic-sex-determinator/component.astro +463 -0
- package/src/tool/forensic-sex-determinator/entry.ts +32 -0
- package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
- package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
- package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
- package/src/tool/forensic-sex-determinator/index.ts +11 -0
- package/src/tool/forensic-sex-determinator/logic.ts +89 -0
- package/src/tool/forensic-sex-determinator/seo.astro +15 -0
- package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
- package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
- package/src/tool/forensic-stature-estimator/component.astro +49 -0
- package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
- package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
- package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
- package/src/tool/forensic-stature-estimator/entry.ts +32 -0
- package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
- package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
- package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
- package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
- package/src/tool/forensic-stature-estimator/index.ts +11 -0
- package/src/tool/forensic-stature-estimator/logic.ts +119 -0
- package/src/tool/forensic-stature-estimator/script.ts +288 -0
- package/src/tool/forensic-stature-estimator/seo.astro +15 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
- package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
- package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
- package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
- package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
- package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
- package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
- package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
- package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
- package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
- package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
- package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
- package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
- package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
- package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
- package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
- package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
- package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
- package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
- package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
- package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
- package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
- package/src/tools.ts +27 -0
- package/src/types.ts +70 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'estimador-edad-dental-esqueletica-tercer-molar';
|
|
5
|
+
const title = 'Estimador de edad dental, esquelética y tercer molar';
|
|
6
|
+
const description = 'Estima un intervalo de edad forense a partir del desarrollo dental, la madurez esquelética y los indicadores del tercer molar para cribado y clasificación de casos.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Selecciona el énfasis de la evidencia',
|
|
11
|
+
text: 'Elige evidencia mixta para un cribado equilibrado, prioridad dental cuando los hallazgos dentales sean más sólidos, o prioridad esquelética cuando los indicadores radiográficos esqueléticos sean la fuente principal.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Puntúa cada indicador de madurez',
|
|
15
|
+
text: 'Desplaza cada etapa de 0 a 8. Las etapas inferiores representan desarrollo temprano, las intermedias maduración adolescente y las superiores hallazgos maduros o casi maduros.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Lee el intervalo, no solo la edad central',
|
|
19
|
+
text: 'Usa los valores mínimo, probable y máximo juntos. La evaluación forense de la edad debe expresarse como un intervalo porque el desarrollo biológico varía entre individuos.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Comprueba el desacuerdo entre indicadores',
|
|
23
|
+
text: 'Si las etapas dental, esquelética y del tercer molar apuntan a rangos de edad distintos, trata el resultado como exploratorio y recopila mejor evidencia antes de sacar conclusiones.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: '¿Puede este estimador de edad forense determinar la mayoría de edad legal?',
|
|
30
|
+
answer: 'No. Es una calculadora de cribado para uso educativo y de clasificación. La determinación legal de la edad requiere protocolos locales validados, expertos cualificados, documentación de identidad y estándares específicos de cada jurisdicción.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Por qué el resultado muestra un intervalo de edad?',
|
|
34
|
+
answer: 'La erupción dental, la fusión esquelética y el desarrollo del tercer molar varían según la ascendencia, nutrición, salud, sexo, población de referencia y método de imagen. Un intervalo es más preciso que una edad exacta única.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: '¿Qué significa evidencia mixta?',
|
|
38
|
+
answer: 'La evidencia mixta equilibra el desarrollo dental, la madurez esquelética y la etapa del tercer molar. Úsala cuando ningún indicador sea claramente más fiable para el caso.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: '¿Son fiables los terceros molares para todos los casos?',
|
|
42
|
+
answer: 'Los terceros molares son útiles en la adolescencia tardía y la adultez joven, pero son variables. La ausencia de terceros molares, patologías, diferencias poblacionales y la calidad radiográfica pueden limitar su valor.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: '¿Debería usarse con casos reales?',
|
|
46
|
+
answer: 'Solo como ayuda preliminar. Los casos reales deben usar métodos validados, datos de referencia calibrados, revisión independiente y un reporte transparente de incertidumbre y limitaciones.',
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
caseBoard: 'Tablero de caso forense',
|
|
56
|
+
controls: 'Controles de edad forense',
|
|
57
|
+
results: 'Resultados de edad forense',
|
|
58
|
+
maturityProfile: 'Perfil dinámico de madurez',
|
|
59
|
+
screeningOnly: 'Estimación de cribado',
|
|
60
|
+
evidenceType: 'Énfasis de la evidencia',
|
|
61
|
+
mixedEvidence: 'Evidencia mixta',
|
|
62
|
+
dentalPriority: 'Prioridad dental',
|
|
63
|
+
skeletalPriority: 'Prioridad esquelética',
|
|
64
|
+
dentalStage: 'Etapa de desarrollo dental',
|
|
65
|
+
epiphysealStage: 'Etapa de fusión epifisaria',
|
|
66
|
+
thirdMolarStage: 'Etapa del tercer molar',
|
|
67
|
+
minimumAge: 'Mínimo',
|
|
68
|
+
likelyAge: 'Probable',
|
|
69
|
+
maximumAge: 'Máximo',
|
|
70
|
+
maturityScore: 'Puntuación de madurez',
|
|
71
|
+
stageLabel: 'Etapa',
|
|
72
|
+
ageUnit: 'años',
|
|
73
|
+
dentalShort: 'Dental',
|
|
74
|
+
boneShort: 'Hueso',
|
|
75
|
+
molarShort: 'Molar',
|
|
76
|
+
dentalStageHelp: 'Formación de corona, raíz y ápice.',
|
|
77
|
+
epiphysealStageHelp: 'Cierre de la placa de crecimiento y fusión esquelética.',
|
|
78
|
+
molarStageHelp: 'Mineralización del tercer molar y cierre del ápice.',
|
|
79
|
+
dentalStage0: 'Ausente',
|
|
80
|
+
dentalStage1: 'Cúspide',
|
|
81
|
+
dentalStage2: 'Corona',
|
|
82
|
+
dentalStage3: 'Inicio raíz',
|
|
83
|
+
dentalStage4: 'Raíz media',
|
|
84
|
+
dentalStage5: 'Raíz larga',
|
|
85
|
+
dentalStage6: 'Ápice estrecho',
|
|
86
|
+
dentalStage7: 'Ápice cerrando',
|
|
87
|
+
dentalStage8: 'Completa',
|
|
88
|
+
epiphysealStage0: 'Abierta',
|
|
89
|
+
epiphysealStage1: 'Borde',
|
|
90
|
+
epiphysealStage2: 'Estrechamiento',
|
|
91
|
+
epiphysealStage3: 'Puente',
|
|
92
|
+
epiphysealStage4: 'Mitad fusionada',
|
|
93
|
+
epiphysealStage5: 'Casi fusionada',
|
|
94
|
+
epiphysealStage6: 'Solo línea',
|
|
95
|
+
epiphysealStage7: 'Casi cerrada',
|
|
96
|
+
epiphysealStage8: 'Cerrada',
|
|
97
|
+
molarStage0: 'Ausente',
|
|
98
|
+
molarStage1: 'Cúspide',
|
|
99
|
+
molarStage2: 'Inicio corona',
|
|
100
|
+
molarStage3: 'Corona completa',
|
|
101
|
+
molarStage4: 'Inicio raíz',
|
|
102
|
+
molarStage5: 'Raíz media',
|
|
103
|
+
molarStage6: 'Raíz larga',
|
|
104
|
+
molarStage7: 'Ápice cerrando',
|
|
105
|
+
molarStage8: 'Completa',
|
|
106
|
+
confidenceexploratory: 'Exploratorio',
|
|
107
|
+
confidencemoderate: 'Moderado',
|
|
108
|
+
confidencestrong: 'Fuerte',
|
|
109
|
+
noteTriage: 'Úsalo como estimación de clasificación, no como determinación legal de edad.',
|
|
110
|
+
noteFinalAssessment: 'La evaluación forense final de la edad debe combinar radiología, examen dental, historia documentada y estándares específicos de la jurisdicción.',
|
|
111
|
+
noteWideInterval: 'Los indicadores difieren en más de cuatro años, por lo que el intervalo se ha ampliado.',
|
|
112
|
+
},
|
|
113
|
+
seo: [
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Estimador de edad forense: calculadora de cribado dental, esquelético y tercer molar',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'Usa este estimador de edad forense cuando necesites una forma rápida y transparente de organizar la evidencia de madurez biológica antes de una evaluación formal. La calculadora combina el desarrollo dental, la fusión epifisaria y la etapa del tercer molar en un intervalo de edad estimado. Está diseñada para la intención de búsqueda detrás de preguntas como <strong>calculadora de estimación de edad forense</strong>, <strong>evaluación de edad dental</strong>, <strong>estimación de edad por madurez esquelética</strong> y <strong>estimación de edad por tercer molar</strong>: los usuarios quieren saber qué significan los indicadores, cómo pueden combinarse y cuánta incertidumbre debe asociarse al resultado.',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'El resultado se expresa intencionadamente como <strong>edad mínima, edad probable y edad máxima</strong>. Una edad exacta única sería engañosa porque el desarrollo biológico no progresa a la misma velocidad en todas las personas. La nutrición, salud, ascendencia, sexo, población de referencia, calidad de imagen, patología dental, ausencia de molares y la variación entre observadores pueden cambiar la interpretación. Trata la calculadora como una ayuda estructurada de cribado, no como una conclusión legal.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Qué significan los tres indicadores de madurez',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'paragraph',
|
|
134
|
+
html: 'Los tres deslizadores representan etapas generales de desarrollo de 0 a 8. La etapa 0 significa evidencia de madurez muy temprana o ausente; la etapa 8 significa madurez completa o casi completa para ese indicador. Las etapas no están vinculadas a un método clínico concreto. En su lugar, ofrecen una abstracción práctica para que los usuarios puedan comparar cómo la evidencia dental, esquelética y del tercer molar afecta a una estimación por intervalo.',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Indicador', 'Qué representa', 'Intención de búsqueda útil', 'Precaución principal'],
|
|
139
|
+
rows: [
|
|
140
|
+
['Desarrollo dental', 'Formación, erupción y madurez de los dientes distintos de los terceros molares.', 'Estimar la edad a partir de la madurez dental en niños y adolescentes.', 'La enfermedad dental, la falta de dientes, las restauraciones y el desajuste de la población de referencia pueden sesgar la interpretación.'],
|
|
141
|
+
['Fusión epifisaria', 'Cierre progresivo de las placas de crecimiento en estructuras esqueléticas.', 'Estimar la edad adolescente o adulta joven a partir de la madurez esquelética.', 'El momento de la fusión depende del hueso observado, sexo, nutrición, salud endocrina y modalidad de imagen.'],
|
|
142
|
+
['Etapa del tercer molar', 'Formación y maduración de las muelas del juicio.', 'Evaluar la edad adolescente tardía o adulta joven cuando los demás dientes están maduros.', 'Los terceros molares son muy variables; la agenesia, extracción, impactación y la calidad de imagen son importantes.'],
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Cómo interpretar el intervalo de edad',
|
|
148
|
+
level: 3,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'Lee los tres valores de edad juntos. La <strong>edad probable</strong> es la estimación central ponderada según el énfasis de evidencia seleccionado. Los valores <strong>mínimo</strong> y <strong>máximo</strong> muestran una banda práctica de incertidumbre. Cuando los indicadores coinciden, la banda se estrecha; cuando las señales dental, esquelética y del tercer molar apuntan a edades distintas, la banda se amplía y la etiqueta de confianza disminuye.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'table',
|
|
156
|
+
headers: ['Patrón del resultado', 'Qué sugiere', 'Siguiente paso recomendado'],
|
|
157
|
+
rows: [
|
|
158
|
+
['Intervalo estrecho con confianza fuerte', 'Los indicadores coinciden en general y apuntan a un rango de desarrollo similar.', 'Documenta los indicadores fuente y considera si aún se requiere un método validado para el caso.'],
|
|
159
|
+
['Intervalo moderado', 'Existe cierto desacuerdo o el énfasis de evidencia seleccionado cambia la estimación central.', 'Revisa la calidad de imagen, la asignación de etapas y si debe priorizarse la evidencia dental o esquelética.'],
|
|
160
|
+
['Intervalo exploratorio amplio', 'Los indicadores de madurez entran en conflicto o apuntan a periodos de desarrollo distintos.', 'No te bases solo en la estimación; busca mejores registros, imágenes adicionales o revisión de un especialista.'],
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'title',
|
|
165
|
+
text: 'Elegir el modo de evidencia dental, esquelético o mixto',
|
|
166
|
+
level: 3,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'paragraph',
|
|
170
|
+
html: 'La <strong>evidencia mixta</strong> es el modo predeterminado para cribado general porque equilibra los tres indicadores. Elige <strong>prioridad dental</strong> cuando las observaciones dentales sean completas, estén bien documentadas y sean más fiables que la información esquelética. Elige <strong>prioridad esquelética</strong> cuando los hallazgos radiográficos esqueléticos sean la parte más sólida del expediente o cuando los datos dentales sean incompletos. El modo no convierte la evidencia débil en fuerte; solo cambia cómo se ponderan los indicadores disponibles.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'list',
|
|
174
|
+
items: [
|
|
175
|
+
'<strong>Usa prioridad dental</strong> en casos donde el desarrollo dental esté claramente estadificado y haya evidencia del tercer molar disponible.',
|
|
176
|
+
'<strong>Usa prioridad esquelética</strong> cuando la fusión epifisaria sea la señal de madurez mejor documentada.',
|
|
177
|
+
'<strong>Usa evidencia mixta</strong> cuando el objetivo sea una revisión equilibrada de primera pasada en lugar de una conclusión de especialista.',
|
|
178
|
+
'<strong>Usa la etiqueta de confianza</strong> para detectar desacuerdos antes de sobreinterpretar la edad central.',
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'title',
|
|
183
|
+
text: 'La estimación forense de la edad no es prueba de identidad',
|
|
184
|
+
level: 3,
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'paragraph',
|
|
188
|
+
html: 'La estimación de la edad puede apoyar un expediente, pero no puede probar la identidad ni sustituir la investigación documental. En contextos de migración, protección, responsabilidad penal, identificación de víctimas de desastres y personas desaparecidas, la evaluación debe ser multidisciplinaria. Un informe responsable normalmente indica el método utilizado, la población de referencia, la fuente de imagen, las cualificaciones del observador, el lenguaje de confianza o probabilidad y las limitaciones conocidas.',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: 'paragraph',
|
|
192
|
+
html: 'Por lo tanto, esta herramienta se usa mejor para <strong>educación, clasificación, planificación de protocolos y comunicación transparente</strong>. Ayuda a explicar por qué las conclusiones sobre la edad deben ser cautelosas, por qué los indicadores contradictorios importan y por qué un umbral legalmente importante como los 18 años nunca debe decidirse solo con una calculadora simplificada.',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
type: 'title',
|
|
196
|
+
text: 'Lista de verificación antes de usar la estimación en un informe',
|
|
197
|
+
level: 3,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
type: 'list',
|
|
201
|
+
items: [
|
|
202
|
+
'<strong>Confirma la fuente de evidencia:</strong> anota si las etapas provienen de examen dental, radiografía panorámica, imagen de mano-muñeca, imagen de clavícula u otro protocolo.',
|
|
203
|
+
'<strong>Registra datos faltantes o débiles:</strong> la ausencia de terceros molares, la mala calidad de imagen, las anomalías del desarrollo y los registros incompletos deben ser visibles en el informe.',
|
|
204
|
+
'<strong>Usa métodos validados para las decisiones:</strong> selecciona métodos dentales o esqueléticos apropiados para la jurisdicción antes de cualquier conclusión legal o de protección.',
|
|
205
|
+
'<strong>Reporta la incertidumbre claramente:</strong> incluye un rango, explica el desacuerdo y evita un lenguaje que implique una edad cronológica exacta.',
|
|
206
|
+
'<strong>Busca revisión de un especialista:</strong> los casos de alto riesgo deben ser revisados por odontólogos forenses, radiólogos, antropólogos o pediatras cualificados según corresponda.',
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
faq,
|
|
211
|
+
bibliography,
|
|
212
|
+
howTo,
|
|
213
|
+
schemas: [
|
|
214
|
+
{
|
|
215
|
+
'@context': 'https://schema.org',
|
|
216
|
+
'@type': 'SoftwareApplication',
|
|
217
|
+
name: title,
|
|
218
|
+
description,
|
|
219
|
+
applicationCategory: 'ForensicApplication',
|
|
220
|
+
operatingSystem: 'Any',
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
'@context': 'https://schema.org',
|
|
224
|
+
'@type': 'FAQPage',
|
|
225
|
+
mainEntity: faq.map((item) => ({
|
|
226
|
+
'@type': 'Question',
|
|
227
|
+
name: item.question,
|
|
228
|
+
acceptedAnswer: {
|
|
229
|
+
'@type': 'Answer',
|
|
230
|
+
text: item.answer,
|
|
231
|
+
},
|
|
232
|
+
})),
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
'@context': 'https://schema.org',
|
|
236
|
+
'@type': 'HowTo',
|
|
237
|
+
name: title,
|
|
238
|
+
step: howTo.map((step) => ({
|
|
239
|
+
'@type': 'HowToStep',
|
|
240
|
+
name: step.name,
|
|
241
|
+
text: step.text,
|
|
242
|
+
})),
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
};
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'estimateur-age-dentaire-squelettique-troisieme-molaire';
|
|
5
|
+
const title = 'Estimateur d\'âge dentaire, squelettique et troisième molaire';
|
|
6
|
+
const description = 'Estimez un intervalle d\'âge médico-légal basé sur le développement dentaire, la maturité squelettique et les indicateurs des troisièmes molaires pour le criblage et le triage des cas.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Sélectionnez la pondération des preuves',
|
|
11
|
+
text: 'Choisissez "Preuves mixtes" pour un triage équilibré, "Priorité dentaire" si les résultats dentaires sont plus robustes, ou "Priorité squelettique" lorsque les indicateurs radiographiques osseux constituent la source principale.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Évaluez chaque indicateur de maturité',
|
|
15
|
+
text: 'Attribuez un stade de 0 à 8 à chaque indicateur. Les stades inférieurs reflètent un développement précoce, les stades intermédiaires une maturation adolescente, et les stades supérieurs des résultats matures ou quasi matures.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Interprétez l\'intervalle, pas seulement l\'âge central',
|
|
19
|
+
text: 'Considérez simultanément les âges minimum, probable et maximum. L\'évaluation médico-légale de l\'âge doit toujours être exprimée sous forme d\'intervalle, compte tenu de la variabilité biologique interindividuelle.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Identifiez les discordances entre indicateurs',
|
|
23
|
+
text: 'Si les stades dentaires, squelettiques et des troisièmes molaires pointent vers des tranches d\'âge divergentes, considérez le résultat comme exploratoire et collectez des preuves complémentaires avant de conclure.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Cet estimateur d\'âge médico-légal peut-il déterminer la majorité légale ?',
|
|
30
|
+
answer: 'Non. Cet outil est un calculateur de criblage destiné à des fins éducatives et de triage. La détermination légale de l\'âge exige des protocoles locaux validés, l\'expertise de professionnels qualifiés, une documentation d\'identité rigoureuse et le respect des normes juridictionnelles.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Pourquoi le résultat présente-t-il un intervalle d\'âge ?',
|
|
34
|
+
answer: 'L\'éruption dentaire, la fusion squelettique et le développement des troisièmes molaires varient selon l\'ascendance, la nutrition, l\'état de santé, le sexe, la population de référence et la méthode d\'imagerie. Un intervalle est une mesure plus honnête et précise qu\'un âge exact unique.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Que signifie "Preuves mixtes" ?',
|
|
38
|
+
answer: 'Le mode "Preuves mixtes" pondère équitablement le développement dentaire, la maturité squelettique et le stade des troisièmes molaires. Utilisez-le lorsqu\'aucun indicateur n\'est manifestement plus fiable que les autres pour le dossier concerné.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Les troisièmes molaires sont-elles fiables dans tous les cas ?',
|
|
42
|
+
answer: 'Bien qu\'utiles à la fin de l\'adolescence et au début de l\'âge adulte, les troisièmes molaires présentent une forte variabilité. L\'agénésie, les pathologies, les différences populationnelles et la qualité radiographique peuvent limiter leur valeur diagnostique.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'Cet outil est-il adapté aux cas réels ?',
|
|
46
|
+
answer: 'Il ne doit servir que d\'aide préliminaire. Tout cas réel nécessite l\'usage de méthodes validées, de données de référence calibrées, d\'une relecture indépendante et d\'un rapport transparent soulignant les incertitudes et limites.',
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
caseBoard: 'Tableau de cas médico-légal',
|
|
56
|
+
controls: 'Contrôles de l\'âge médico-légal',
|
|
57
|
+
results: 'Résultats d\'âge médico-légal',
|
|
58
|
+
maturityProfile: 'Profil dynamique de maturité',
|
|
59
|
+
screeningOnly: 'Estimation de criblage',
|
|
60
|
+
evidenceType: 'Pondération des preuves',
|
|
61
|
+
mixedEvidence: 'Preuves mixtes',
|
|
62
|
+
dentalPriority: 'Priorité dentaire',
|
|
63
|
+
skeletalPriority: 'Priorité squelettique',
|
|
64
|
+
dentalStage: 'Stade de développement dentaire',
|
|
65
|
+
epiphysealStage: 'Stade de fusion épiphysaire',
|
|
66
|
+
thirdMolarStage: 'Stade de la troisième molaire',
|
|
67
|
+
minimumAge: 'Minimum',
|
|
68
|
+
likelyAge: 'Probable',
|
|
69
|
+
maximumAge: 'Maximum',
|
|
70
|
+
maturityScore: 'Score de maturité',
|
|
71
|
+
stageLabel: 'Stade',
|
|
72
|
+
ageUnit: 'ans',
|
|
73
|
+
dentalShort: 'Dentaire',
|
|
74
|
+
boneShort: 'Os',
|
|
75
|
+
molarShort: 'Molaire',
|
|
76
|
+
dentalStageHelp: 'Formation de la couronne, de la racine et de l\'apex.',
|
|
77
|
+
epiphysealStageHelp: 'Fermeture du cartilage de croissance et fusion squelettique.',
|
|
78
|
+
molarStageHelp: 'Minéralisation de la troisième molaire et fermeture de l\'apex.',
|
|
79
|
+
dentalStage0: 'Absent',
|
|
80
|
+
dentalStage1: 'Cuspide',
|
|
81
|
+
dentalStage2: 'Couronne',
|
|
82
|
+
dentalStage3: 'Début racine',
|
|
83
|
+
dentalStage4: 'Racine moitié',
|
|
84
|
+
dentalStage5: 'Racine longue',
|
|
85
|
+
dentalStage6: 'Apex étroit',
|
|
86
|
+
dentalStage7: 'Apex fermant',
|
|
87
|
+
dentalStage8: 'Complète',
|
|
88
|
+
epiphysealStage0: 'Ouverte',
|
|
89
|
+
epiphysealStage1: 'Bord',
|
|
90
|
+
epiphysealStage2: 'Rétrécissement',
|
|
91
|
+
epiphysealStage3: 'Pont',
|
|
92
|
+
epiphysealStage4: 'Moitié fusionnée',
|
|
93
|
+
epiphysealStage5: 'Presque fusionnée',
|
|
94
|
+
epiphysealStage6: 'Ligne seulement',
|
|
95
|
+
epiphysealStage7: 'Presque fermée',
|
|
96
|
+
epiphysealStage8: 'Fermée',
|
|
97
|
+
molarStage0: 'Absente',
|
|
98
|
+
molarStage1: 'Cuspide',
|
|
99
|
+
molarStage2: 'Début couronne',
|
|
100
|
+
molarStage3: 'Couronne complète',
|
|
101
|
+
molarStage4: 'Début racine',
|
|
102
|
+
molarStage5: 'Racine moitié',
|
|
103
|
+
molarStage6: 'Racine longue',
|
|
104
|
+
molarStage7: 'Apex fermant',
|
|
105
|
+
molarStage8: 'Complète',
|
|
106
|
+
confidenceexploratory: 'Exploratoire',
|
|
107
|
+
confidencemoderate: 'Modéré',
|
|
108
|
+
confidencestrong: 'Fort',
|
|
109
|
+
noteTriage: 'Utilisez cette estimation pour le triage, non pour une détermination légale.',
|
|
110
|
+
noteFinalAssessment: 'L\'évaluation finale doit intégrer radiologie, examen clinique, antécédents documentés et standards juridictionnels.',
|
|
111
|
+
noteWideInterval: 'Les indicateurs divergent de plus de quatre ans ; l\'intervalle a été élargi en conséquence.',
|
|
112
|
+
},
|
|
113
|
+
seo: [
|
|
114
|
+
{
|
|
115
|
+
type: 'title',
|
|
116
|
+
text: 'Estimateur d\'âge médico-légal: Calculateur de criblage dentaire et squelettique',
|
|
117
|
+
level: 2,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'paragraph',
|
|
121
|
+
html: 'Utilisez cet estimateur d\'âge médico-légal pour organiser de manière transparente les indices de maturité biologique avant toute évaluation formelle. L\'outil combine le développement dentaire, la fusion épiphysaire et le stade des troisièmes molaires pour générer un intervalle d\'âge estimé. Il répond aux besoins des professionnels recherchant un <strong>calculateur d\'estimation d\'âge médico-légal</strong>, une <strong>évaluation de l\'âge dentaire</strong> ou une <strong>estimation de la maturité squelettique</strong>, tout en clarifiant l\'incertitude inhérente aux résultats.',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'paragraph',
|
|
125
|
+
html: 'Les résultats sont présentés sous forme d\'<strong>âge minimum, probable et maximum</strong>. Une estimation ponctuelle unique serait trompeuse, la variabilité biologique étant significative. Ce calculateur est une aide structurée au triage, et ne saurait en aucun cas remplacer une conclusion légale.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Signification des indicateurs de maturité',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'paragraph',
|
|
134
|
+
html: 'Les stades (0 à 8) offrent une abstraction pratique permettant de comparer différents systèmes biologiques. Le stade 0 indique une maturité absente ou très précoce ; le stade 8 une maturité complète. Ces stades facilitent la comparaison croisée sans se limiter à une unique méthode clinique.',
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'table',
|
|
138
|
+
headers: ['Indicateur', 'Description', 'Utilité', 'Précautions'],
|
|
139
|
+
rows: [
|
|
140
|
+
['Développement dentaire', 'Formation et éruption (hors troisièmes molaires).', 'Indicateur clé chez l\'enfant et l\'adolescent.', 'Biais possibles via pathologies dentaires ou différences populationnelles.'],
|
|
141
|
+
['Fusion épiphysaire', 'Fermeture progressive des cartilages de croissance.', 'Indicateur majeur chez l\'adolescent et le jeune adulte.', 'Dépend étroitement de l\'os étudié, du sexe et de la santé endocrine.'],
|
|
142
|
+
['Stade 3ème molaire', 'Formation des dents de sagesse.', 'Évaluation essentielle en fin d\'adolescence.', 'Très variable ; nécessité de vérifier agénésies et inclusions.'],
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Interprétation de l\'intervalle d\'âge',
|
|
148
|
+
level: 3,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'paragraph',
|
|
152
|
+
html: 'L\'<strong>âge probable</strong> représente l\'estimation centrale pondérée. Les valeurs <strong>minimum</strong> et <strong>maximum</strong> définissent la marge d\'incertitude pratique. Une convergence des indicateurs affine cette marge, tandis que des signaux contradictoires l\'élargissent, diminuant ainsi le niveau de confiance.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'table',
|
|
156
|
+
headers: ['Modèle de résultat', 'Interprétation', 'Action recommandée'],
|
|
157
|
+
rows: [
|
|
158
|
+
['Intervalle étroit / Forte confiance', 'Les indicateurs concordent.', 'Documentez les sources et validez la nécessité d\'une méthode formelle.'],
|
|
159
|
+
['Intervalle modéré', 'Discordances ou pondération impactant l\'estimation.', 'Vérifiez la qualité des images et les stades attribués.'],
|
|
160
|
+
['Intervalle exploratoire large', 'Les indicateurs sont en conflit.', 'Ne pas conclure seul ; sollicitez des dossiers complémentaires ou l\'avis d\'un spécialiste.'],
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'title',
|
|
165
|
+
text: 'Choisir le mode d\'évidence',
|
|
166
|
+
level: 3,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'paragraph',
|
|
170
|
+
html: 'Le mode <strong>Preuves mixtes</strong> est le standard pour le triage général. Utilisez la <strong>Priorité dentaire</strong> lorsque les données dentaires sont complètes et fiables. Utilisez la <strong>Priorité squelettique</strong> si l\'imagerie osseuse constitue la donnée la plus robuste. Ces modes ne renforcent pas la qualité des preuves, ils ajustent uniquement leur pondération mathématique.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'list',
|
|
174
|
+
items: [
|
|
175
|
+
'<strong>Priorité dentaire :</strong> si le développement est bien documenté et les troisièmes molaires visibles.',
|
|
176
|
+
'<strong>Priorité squelettique :</strong> si la fusion épiphysaire est le signal le mieux documenté.',
|
|
177
|
+
'<strong>Preuves mixtes :</strong> idéal pour un examen préliminaire équilibré.',
|
|
178
|
+
'<strong>Indice de confiance :</strong> surveillez-le pour détecter les désaccords avant toute surinterprétation.',
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'title',
|
|
183
|
+
text: 'Limites médico-légales',
|
|
184
|
+
level: 3,
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'paragraph',
|
|
188
|
+
html: 'L\'estimation de l\'âge est un support, non une preuve d\'identité. Dans les contextes de protection de l\'enfance, de droit pénal ou d\'identification de victimes, l\'approche doit être multidisciplinaire. Tout rapport doit préciser la méthodologie, la population de référence, les qualifications de l\'observateur et les limites identifiées.',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
type: 'paragraph',
|
|
192
|
+
html: 'Cet outil est un instrument d\'<strong>éducation, de triage et de communication</strong>. Il illustre pourquoi les conclusions sur l\'âge imposent une extrême prudence et pourquoi les seuils légaux (comme la majorité à 18 ans) ne doivent jamais reposer sur un simple calcul automatisé.',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
type: 'title',
|
|
196
|
+
text: 'Check-list pour le rapport médico-légal',
|
|
197
|
+
level: 3,
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
type: 'list',
|
|
201
|
+
items: [
|
|
202
|
+
'<strong>Sources des preuves :</strong> Documentez si les stades proviennent d\'examens dentaires, panoramiques ou imagerie squelettique (main-poignet, clavicule, etc.).',
|
|
203
|
+
'<strong>Données lacunaires :</strong> Mentionnez clairement les absences, la mauvaise qualité d\'image ou les anomalies.',
|
|
204
|
+
'<strong>Validation méthodologique :</strong> Assurez-vous que les méthodes choisies sont reconnues dans votre juridiction.',
|
|
205
|
+
'<strong>Communication de l\'incertitude :</strong> Exprimez toujours une fourchette, évitez les termes impliquant un âge chronologique exact.',
|
|
206
|
+
'<strong>Avis spécialisé :</strong> Les cas à enjeux élevés doivent impérativement être relus par des odontologistes légistes, radiologues ou anthropologues.',
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
faq,
|
|
211
|
+
bibliography,
|
|
212
|
+
howTo,
|
|
213
|
+
schemas: [
|
|
214
|
+
{
|
|
215
|
+
'@context': 'https://schema.org',
|
|
216
|
+
'@type': 'SoftwareApplication',
|
|
217
|
+
name: title,
|
|
218
|
+
description,
|
|
219
|
+
applicationCategory: 'ForensicApplication',
|
|
220
|
+
operatingSystem: 'Any',
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
'@context': 'https://schema.org',
|
|
224
|
+
'@type': 'FAQPage',
|
|
225
|
+
mainEntity: faq.map((item) => ({
|
|
226
|
+
'@type': 'Question',
|
|
227
|
+
name: item.question,
|
|
228
|
+
acceptedAnswer: {
|
|
229
|
+
'@type': 'Answer',
|
|
230
|
+
text: item.answer,
|
|
231
|
+
},
|
|
232
|
+
})),
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
'@context': 'https://schema.org',
|
|
236
|
+
'@type': 'HowTo',
|
|
237
|
+
name: title,
|
|
238
|
+
step: howTo.map((step) => ({
|
|
239
|
+
'@type': 'HowToStep',
|
|
240
|
+
name: step.name,
|
|
241
|
+
text: step.text,
|
|
242
|
+
})),
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
};
|