@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,196 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensischer-koerperhoehenrechner-trotter-gleser-methode';
|
|
5
|
+
const title = 'Forensischer Körperhöhenschätzer';
|
|
6
|
+
const description = 'Schätzen Sie die Lebendkörperhöhe anhand menschlicher Langknochen mit den Regressionsgleichungen von Trotter und Gleser unter Berücksichtigung von Geschlecht, Abstammung und Alterskorrektur.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Knochen und Variablen auswählen',
|
|
11
|
+
text: 'Wählen Sie den zu messenden Langknochen (Femur, Tibia, Humerus, Fibula, Radius oder Ulna) sowie das biologische Geschlecht, die Abstammungsgruppe und das Sterbealter des Individuums aus.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Knochenlänge ermitteln',
|
|
15
|
+
text: 'Stellen Sie den Messschieber auf dem virtuellen osteometrischen Messbrett auf die maximale Länge des Knochenpräparats in Zentimetern ein.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Körperhöhe berechnen',
|
|
19
|
+
text: 'Der Rechner wendet die entsprechenden Trotter-Gleser-Regressionsgleichungen an und zieht bei Personen über 30 Jahren 0,06 cm pro Lebensjahr ab.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Intervalle und Fehler interpretieren',
|
|
23
|
+
text: 'Überprüfen Sie die geschätzte Körperhöhe, den Standardfehler der Schätzung (SEE) und das 95%-Prognoseintervall.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Wie funktionieren die Regressionsgleichungen von Trotter und Gleser?',
|
|
31
|
+
answer: 'Die Gleichungen nutzen lineare Regression, um die Korrelation zwischen der Lebendgröße und der Maximallänge von Langknochen abzubilden. Der Rechner wendet populations- und geschlechtsspezifische Steigungen und Konstanten an.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Warum erfordert das Tool biologisches Geschlecht und Abstammung?',
|
|
36
|
+
answer: 'Die menschlichen Körperproportionen variieren je nach Geschlecht und geografischer Herkunft. Männer haben im Durchschnitt andere Gliedmaßen-zu-Körperhöhe-Verhältnisse als Frauen.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Warum gibt es einen Alterskorrekturfaktor?',
|
|
41
|
+
answer: 'Die Körperhöhe nimmt ab dem 30. Lebensjahr durch die Kompression der Bandscheiben und Haltungsänderungen ab. Trotter und Gleser empfahlen einen Abzug von 0,06 cm pro Jahr über 30.'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Was ist der Standardfehler der Schätzung (SEE)?',
|
|
46
|
+
answer: 'Der SEE ist die Standardabweichung der Residuen im Regressionsmodell und gibt die Genauigkeit der Vorhersage für den jeweiligen Knochen an.'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Welche Langknochen liefern die genauesten Schätzungen?',
|
|
51
|
+
answer: 'Die Knochen der unteren Gliedmaßen (Femur und Tibia) liefern die genauesten Schätzungen, da sie direkt zur Körperhöhe beitragen. Knochen der oberen Extremitäten weisen höhere Standardfehler auf.'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: 'Forensischer Körperhöhenschätzer',
|
|
61
|
+
desc: 'Simulieren Sie Messungen auf einem osteometrischen Messbrett und berechnen Sie die Körperhöhe mittels linearer Regression.',
|
|
62
|
+
configTitle: 'Osteometrische Konfiguration',
|
|
63
|
+
boneLabel: 'Knochenpräparat',
|
|
64
|
+
lengthLabel: 'Knochenlänge',
|
|
65
|
+
unitLabel: 'Einheitensystem',
|
|
66
|
+
metricOption: 'Metrisch (cm)',
|
|
67
|
+
imperialOption: 'Imperial (Zoll)',
|
|
68
|
+
sexLabel: 'Biologisches Geschlecht',
|
|
69
|
+
ancestryLabel: 'Abstammungsgruppe',
|
|
70
|
+
ageLabel: 'Sterbealter (Jahre)',
|
|
71
|
+
maleOption: 'Männlich',
|
|
72
|
+
femaleOption: 'Weiblich',
|
|
73
|
+
whiteOption: 'Weiß / Kaukasisch',
|
|
74
|
+
blackOption: 'Schwarz / Afroamerikanisch',
|
|
75
|
+
asianOption: 'Asiatisch / Mongolid',
|
|
76
|
+
femurName: 'Femur (Oberschenkelknochen)',
|
|
77
|
+
tibiaName: 'Tibia (Schienbein)',
|
|
78
|
+
humerusName: 'Humerus (Oberarmknochen)',
|
|
79
|
+
fibulaName: 'Fibula (Wadenbein)',
|
|
80
|
+
radiusName: 'Radius (Speiche)',
|
|
81
|
+
ulnaName: 'Ulna (Elle)',
|
|
82
|
+
resultsTitle: 'Ergebnisse der Höhenschätzung',
|
|
83
|
+
estimateLabel: 'Geschätzte Körperhöhe',
|
|
84
|
+
errorLabel: 'Standardfehler (SEE)',
|
|
85
|
+
rangeLabel: '95% Prognoseintervall',
|
|
86
|
+
formulaLabel: 'Regressionsgleichung',
|
|
87
|
+
formulaBoneFactor: 'Knochenfaktor',
|
|
88
|
+
formulaConstant: 'Konstante',
|
|
89
|
+
formulaAgeCorrection: 'Alterskorrektur',
|
|
90
|
+
formulaStdError: 'Standardfehler (SEE)',
|
|
91
|
+
fallbackAlert: 'Es gibt keine direkte Trotter-Gleser-Gleichung für asiatische Frauen; die Referenzgleichungen für weiße Frauen werden als forensischer Fallback verwendet.',
|
|
92
|
+
boardInstructions: 'Verschieben Sie den Messschieber oder nutzen Sie die Eingabefelder zur Knochenmessung.',
|
|
93
|
+
rulerLabelMetric: 'Metrische Skala (mm)',
|
|
94
|
+
rulerLabelImperial: 'Imperiale Skala (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: 'Umfassender Leitfaden zur Körperhöhenschätzung in der forensischen Anthropologie',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: 'Die Körperhöhenschätzung stellt eine fundamentale Säule der biologischen Profilerstellung in der physischen Anthropologie, Bioarchäologie und Rechtsmedizin dar. Bei der Bergung menschlicher Überreste hilft die Rekonstruktion der Körperhöhe dabei, die Identität mit Vermisstenregistern abzugleichen. Die Körperhöhe wird durch die Messung der maximalen Länge von Langknochen geschätzt, die aufgrund genetischer und umweltbedingter Faktoren eng mit der Gesamtlänge des Körpers korrelieren.'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: 'Dieser digitale Messbrett-Simulator ermöglicht es Studierenden und Praktikern, die von Mildred Trotter und Goldine C. Gleser entwickelten linearen Regressionsmodelle zu erforschen. Durch Eingabe von Knochenart, Geschlecht, Abstammung und Alter lässt sich analysieren, wie sich Körperproportionen auf die mathematischen Konstanten auswirken.'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Die Trotter-Gleser-Regressionsformeln verstehen',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Mildred Trotter und Goldine C. Gleser veröffentlichten ihre wegweisenden Formeln in den Jahren 1952 und 1958. Die Gleichungen folgen dem linearen Muster: Körperhöhe = (Steigung × Knochenlänge) + Konstante ± Standardfehler. Da sich Knochen-zu-Körperhöhen-Verhältnisse unterscheiden, werden separate Gleichungen verwendet.'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['Knochenpräparat', 'Formel für weiße Männer', 'Formel für weiße Frauen', 'Forensische Nützlichkeit & Zuverlässigkeit'],
|
|
125
|
+
rows: [
|
|
126
|
+
['Femur (Oberschenkel)', 'Körperhöhe = 2.32 × Femur + 65.53 ± 3.94 cm', 'Körperhöhe = 2.47 × Femur + 54.10 ± 3.72 cm', 'Höchste Zuverlässigkeit. Der Oberschenkelknochen trägt das Hauptgewicht und korreliert direkt mit der Standgröße.'],
|
|
127
|
+
['Tibia (Schienbein)', 'Körperhöhe = 2.42 × Tibia + 81.93 ± 4.00 cm', 'Körperhöhe = 2.90 × Tibia + 61.53 ± 3.66 cm', 'Hohe Zuverlässigkeit. Es muss darauf geachtet werden, dass die Tibia ohne den Innenknöchel gemessen wird, um Trotters Protokoll von 1952 zu entsprechen.'],
|
|
128
|
+
['Fibula (Wadenbein)', 'Körperhöhe = 2.60 × Fibula + 75.50 ± 3.86 cm', 'Körperhöhe = 2.93 × Fibula + 59.61 ± 3.57 cm', 'Sehr zuverlässig, die Fibula ist jedoch dünn und in archäologischen Kontexten oft frakturiert.'],
|
|
129
|
+
['Humerus (Oberarm)', 'Körperhöhe = 2.89 × Humerus + 78.10 ± 4.57 cm', 'Körperhöhe = 3.36 × Humerus + 57.97 ± 4.45 cm', 'Mäßige Zuverlässigkeit. Oberarmknochen tragen kein Gewicht und weisen größere Standardfehler auf.'],
|
|
130
|
+
['Radius (Speiche)', 'Körperhöhe = 3.79 × Radius + 79.42 ± 4.66 cm', 'Körperhöhe = 4.74 × Radius + 54.93 ± 4.45 cm', 'Geringere Zuverlässigkeit. Der Unterarm zeigt stärkere proportionale Entwicklungsunterschiede.']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Altersbedingter Höhenverlust und Korrekturen',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Die Lebendkörperhöhe ist im Erwachsenenalter nicht statisch. Ab dem 30. Lebensjahr kommt es zu einem allmählichen Höhenverlust durch die Kompression der Bandscheiben. Trotter und Gleser empfahlen, für jedes Jahr über 30 Jahre 0,06 cm abzuziehen: Höhenverlust = 0,06 × (Alter - 30).'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Methodische Abweichungen beim Tibia-Messprotokoll',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Ein bekanntes methodisches Problem betrifft Trotters Schienbeinmessungen. Im Jahr 1952 wurde die Tibia unter Ausschluss des Innenknöchels (Malleolus medialis) gemessen, 1958 hingegen mit. Die Anwendung der 1952er-Formeln auf eine inklusive gemessene Tibia führt zu einer systematischen Überschätzung.'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Säkulare Trends und Anwendbarkeit historischer Daten',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Da Trotters Stichproben Ende des 19. und Anfang des 20. Jahrhunderts geboren wurden, spiegeln die Formeln historische Lebensbedingungen wider. Die moderne Zunahme der Durchschnittsgröße (säkularer Trend) führt dazu, dass Rechtsmediziner heute auch neuere Datenbanken wie FORDISC hinzuziehen.'
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
faq,
|
|
162
|
+
bibliography,
|
|
163
|
+
howTo,
|
|
164
|
+
schemas: [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'ForensicApplication',
|
|
171
|
+
operatingSystem: 'Any'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
'@context': 'https://schema.org',
|
|
175
|
+
'@type': 'FAQPage',
|
|
176
|
+
mainEntity: faq.map((item) => ({
|
|
177
|
+
'@type': 'Question',
|
|
178
|
+
name: item.question,
|
|
179
|
+
acceptedAnswer: {
|
|
180
|
+
'@type': 'Answer',
|
|
181
|
+
text: item.answer
|
|
182
|
+
}
|
|
183
|
+
}))
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
'@context': 'https://schema.org',
|
|
187
|
+
'@type': 'HowTo',
|
|
188
|
+
name: title,
|
|
189
|
+
step: howTo.map((step) => ({
|
|
190
|
+
'@type': 'HowToStep',
|
|
191
|
+
name: step.name,
|
|
192
|
+
text: step.text
|
|
193
|
+
}))
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-stature-estimation-skeletal-remains-trotter-gleser-calculator';
|
|
5
|
+
const title = 'Forensic Stature Estimator';
|
|
6
|
+
const description = 'Estimate living height from human long bones using Trotter and Gleser regression equations, incorporating biological sex, ancestry, and age correction.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Select bone and variables',
|
|
11
|
+
text: 'Choose the specific long bone to measure (Femur, Tibia, Humerus, Fibula, Radius, or Ulna) along with the biological sex, ancestry group, and age of the individual.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Determine bone length',
|
|
15
|
+
text: 'Adjust the sliding caliper on the virtual osteometric board to represent the maximum length of the selected bone specimen in centimeters.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Calculate estimated stature',
|
|
19
|
+
text: 'The calculator applies the corresponding Trotter-Gleser regression equations, subtracting 0.06 cm per year for individuals over the age of 30.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Interpret intervals and errors',
|
|
23
|
+
text: 'Review the estimated stature, the Standard Error of the Estimate (SEE), and the 95% prediction interval to account for population variability.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'How do Trotter and Gleser regression equations work?',
|
|
31
|
+
answer: 'The equations use linear regression to model the correlation between living height and the maximum length of long bones. By inputting bone length in centimeters, the calculator applies population-specific slopes and intercepts derived from historical military casualties and skeletal collections.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Why does the tool require biological sex and ancestry?',
|
|
36
|
+
answer: 'Human body proportions vary between sexes and geographical populations. Males generally have different limb-to-stature ratios than females, and populations of different ancestral origins exhibit distinct developmental ratios, necessitating separate regression models.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Why is there an age correction factor in stature estimation?',
|
|
41
|
+
answer: 'Living height decreases gradually after early adulthood due to the compression of intervertebral discs and postural changes. Trotter and Gleser recommended subtracting 0.06 centimeters for every year of age past 30 to adjust the skeletal estimate to the living stature at death.'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'What is the Standard Error of the Estimate (SEE)?',
|
|
46
|
+
answer: 'The SEE represents the standard deviation of the residuals in the regression model. It provides a measure of accuracy for the predicted stature, showing the typical deviation of actual living heights from the regression line for that specific bone.'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Which long bones provide the most accurate stature estimates?',
|
|
51
|
+
answer: 'Lower limb bones, specifically the femur and tibia, provide the most accurate stature estimations because they directly contribute to a person\'s height. Upper limb bones like the humerus and radius have higher standard errors but are valuable when lower limb remains are incomplete.'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: 'Forensic Stature Estimator',
|
|
61
|
+
desc: 'Simulate osteometric board measurements and calculate living stature using linear regression.',
|
|
62
|
+
configTitle: 'Osteometric Configuration',
|
|
63
|
+
boneLabel: 'Bone Specimen',
|
|
64
|
+
lengthLabel: 'Bone Length',
|
|
65
|
+
unitLabel: 'System Unit',
|
|
66
|
+
metricOption: 'Metric (cm)',
|
|
67
|
+
imperialOption: 'Imperial (inches)',
|
|
68
|
+
sexLabel: 'Biological Sex',
|
|
69
|
+
ancestryLabel: 'Ancestry Group',
|
|
70
|
+
ageLabel: 'Age at Death (years)',
|
|
71
|
+
maleOption: 'Male',
|
|
72
|
+
femaleOption: 'Female',
|
|
73
|
+
whiteOption: 'White / Caucasian',
|
|
74
|
+
blackOption: 'Black / African American',
|
|
75
|
+
asianOption: 'Asian / Mongoloid',
|
|
76
|
+
femurName: 'Femur (Thigh bone)',
|
|
77
|
+
tibiaName: 'Tibia (Shin bone)',
|
|
78
|
+
humerusName: 'Humerus (Upper arm bone)',
|
|
79
|
+
fibulaName: 'Fibula (Calf bone)',
|
|
80
|
+
radiusName: 'Radius (Forearm bone)',
|
|
81
|
+
ulnaName: 'Ulna (Forearm bone)',
|
|
82
|
+
resultsTitle: 'Stature Estimation Results',
|
|
83
|
+
estimateLabel: 'Estimated Stature',
|
|
84
|
+
errorLabel: 'Standard Error (SEE)',
|
|
85
|
+
rangeLabel: '95% Prediction Interval',
|
|
86
|
+
formulaLabel: 'Regression Equation',
|
|
87
|
+
formulaBoneFactor: 'Bone Factor',
|
|
88
|
+
formulaConstant: 'Constant',
|
|
89
|
+
formulaAgeCorrection: 'Age Correction',
|
|
90
|
+
formulaStdError: 'Std Error (SEE)',
|
|
91
|
+
fallbackAlert: 'No direct Trotter-Gleser equation exists for Asian/Mongoloid females; using White female reference equations as a forensic fallback.',
|
|
92
|
+
boardInstructions: 'Drag the caliper handle or use the inputs to measure the bone.',
|
|
93
|
+
rulerLabelMetric: 'Metric Scale (mm)',
|
|
94
|
+
rulerLabelImperial: 'Imperial Scale (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: 'Comprehensive Guide to Stature Estimation in Forensic Anthropology',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: 'Stature estimation represents a fundamental component of biological profiling in physical anthropology, bioarchaeology, and forensic science. When skeletal remains are recovered, reconstructing the living height of the individual assists investigators in cross-referencing records of missing persons. Stature is estimated by measuring the maximum length of long bones, which correlate closely with overall body height due to genetically and environmentally driven skeletal proportions.'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: 'This digital osteometric board simulator allows students and practitioners to explore the linear regression models developed by Mildred Trotter and Goldine C. Gleser. By configuring variables such as bone type, biological sex, ancestral affinity, and age at death, users can analyze how body proportions influence the mathematical constants and standard errors of height predictions.'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Understanding the Trotter-Gleser Regression Formulas',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Mildred Trotter and Goldine C. Gleser published their foundational stature estimation equations in 1952 and 1958. Their statistical samples consisted of military casualties from World War II and the Korean War, supplemented by specimens from the Terry Collection. The resulting mathematical equations take the linear form: <strong>Stature = (Slope × Bone Length) + Constant ± Standard Error</strong>. Because bone-to-stature ratios vary significantly across human groups, separate equations are utilized based on biological sex and ancestry.'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['Long Bone Specimen', 'White Male Regression Model', 'White Female Regression Model', 'Forensic Utility & Reliability'],
|
|
125
|
+
rows: [
|
|
126
|
+
['Femur (Thigh Bone)', 'Stature = 2.32 × Femur + 65.53 ± 3.94 cm', 'Stature = 2.47 × Femur + 54.10 ± 3.72 cm', 'Highest overall reliability. The femur is the primary weight-bearing lower limb bone, correlating directly with body height.'],
|
|
127
|
+
['Tibia (Shin Bone)', 'Stature = 2.42 × Tibia + 81.93 ± 4.00 cm', 'Stature = 2.90 × Tibia + 61.53 ± 3.66 cm', 'High reliability. Caution must be exercised to match Trotter\'s original protocol, which excluded the medial malleolus.'],
|
|
128
|
+
['Fibula (Calf Bone)', 'Stature = 2.60 × Fibula + 75.50 ± 3.86 cm', 'Stature = 2.93 × Fibula + 59.61 ± 3.57 cm', 'Highly reliable, but the fibula is slender and frequently fragmented or absent in archaeological contexts.'],
|
|
129
|
+
['Humerus (Upper Arm)', 'Stature = 2.89 × Humerus + 78.10 ± 4.57 cm', 'Stature = 3.36 × Humerus + 57.97 ± 4.45 cm', 'Moderate reliability. Upper limb bones do not bear weight and have higher standard errors of estimate.'],
|
|
130
|
+
['Radius (Forearm)', 'Stature = 3.79 × Radius + 79.42 ± 4.66 cm', 'Stature = 4.74 × Radius + 54.93 ± 4.45 cm', 'Lower reliability. The forearm elements display significant developmental variation relative to living height.']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Age-Related Height Reduction and Post-Mortem Corrections',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Living stature is not static throughout adulthood. Beginning around the age of 30, the human body undergoes a gradual decrease in height due to the compression of intervertebral discs, postural changes, and degenerative joint conditions. To reconcile skeletal measurements with living height, Trotter and Gleser recommended subtracting 0.06 cm for every year of age past 30: <strong>Height Loss = 0.06 × (Age - 30)</strong>. This age correction factor is integrated into the simulator to replicate real-world forensic diagnostics.'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Methodological Discrepancies and Tibia Measurement Protocols',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'A well-known methodological issue in forensic anthropology concerns Trotter\'s tibia measurements. In her 1952 study, the tibia was measured excluding the medial malleolus, whereas in the 1958 follow-up, the measurement protocol was altered. Applying the 1952 equations to a tibia measured with the malleolus results in systematic overestimation of stature. Forensic examiners must ensure that the bone length inputted corresponds exactly to the osteometric landmarks defined in the reference study to avoid introducing bias.'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Secular Trends and the Applicability of Historical Reference Data',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Because Trotter and Gleser\'s reference samples were born in the late 19th and early 20th centuries, their equations reflect the environmental and nutritional conditions of that cohort. Over the past century, global populations have experienced positive secular trends, resulting in taller average statures and altered body proportions. Consequently, while Trotter-Gleser remains a standard educational benchmark, contemporary casework frequently utilizes modern reference systems, such as the Forensic Data Bank (FORDISC), to account for secular shifts in body proportions.'
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
faq,
|
|
162
|
+
bibliography,
|
|
163
|
+
howTo,
|
|
164
|
+
schemas: [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'ForensicApplication',
|
|
171
|
+
operatingSystem: 'Any'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
'@context': 'https://schema.org',
|
|
175
|
+
'@type': 'FAQPage',
|
|
176
|
+
mainEntity: faq.map((item) => ({
|
|
177
|
+
'@type': 'Question',
|
|
178
|
+
name: item.question,
|
|
179
|
+
acceptedAnswer: {
|
|
180
|
+
'@type': 'Answer',
|
|
181
|
+
text: item.answer
|
|
182
|
+
}
|
|
183
|
+
}))
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
'@context': 'https://schema.org',
|
|
187
|
+
'@type': 'HowTo',
|
|
188
|
+
name: title,
|
|
189
|
+
step: howTo.map((step) => ({
|
|
190
|
+
'@type': 'HowToStep',
|
|
191
|
+
name: step.name,
|
|
192
|
+
text: step.text
|
|
193
|
+
}))
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'estimador-de-estatura-forense-restos-oseos-calculadora-trotter-gleser';
|
|
5
|
+
const title = 'Estimador de Estatura Forense';
|
|
6
|
+
const description = 'Estime la estatura en vida a partir de huesos largos humanos utilizando las ecuaciones de regresión de Trotter y Gleser, incorporando sexo biológico, ancestros y corrección por edad.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Seleccionar hueso y variables',
|
|
11
|
+
text: 'Elija el hueso largo específico a medir (Fémur, Tibia, Húmero, Peroné, Radio o Cúbito) junto con el sexo biológico, el grupo de ancestros y la edad del individuo.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Determinar la longitud del hueso',
|
|
15
|
+
text: 'Ajuste el calibrador deslizante en la tabla osteométrica virtual para representar la longitud máxima de la muestra ósea en centímetros o pulgadas.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Calcular la estatura estimada',
|
|
19
|
+
text: 'La calculadora aplica las ecuaciones de regresión de Trotter y Gleser correspondientes, restando 0.06 cm por año para individuos mayores de 30 años.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Interpretar intervalos y errores',
|
|
23
|
+
text: 'Revise la estatura estimada, el Error Estándar de la Estimación (SEE) y el intervalo de predicción del 95% para tener en cuenta la variabilidad de la población.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: '¿Cómo funcionan las ecuaciones de regresión de Trotter y Gleser?',
|
|
31
|
+
answer: 'Las ecuaciones utilizan regresión lineal para modelar la correlación entre la estatura en vida y la longitud máxima de los huesos largos. Al ingresar la longitud del hueso, la calculadora aplica pendientes e intersecciones específicas del grupo de ancestros y el sexo.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: '¿Por qué la herramienta requiere sexo biológico y ancestros?',
|
|
36
|
+
answer: 'Las proporciones del cuerpo humano varían según el sexo y las poblaciones geográficas. Los hombres generalmente tienen proporciones de extremidades a estatura diferentes a las de las mujeres, y las poblaciones de diferentes orígenes muestran relaciones de desarrollo distintas.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: '¿Por qué hay un factor de corrección por edad en la estimación de estatura?',
|
|
41
|
+
answer: 'La estatura en vida disminuye gradualmente después de la adultez temprana debido a la compresión de los discos intervertebrales y cambios posturales. Trotter y Gleser recomendaron restar 0.06 centímetros por cada año de edad superior a los 30 años.'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: '¿Qué es el Error Estándar de la Estimación (SEE)?',
|
|
46
|
+
answer: 'El SEE representa la desviación estándar de los residuos en el modelo de regresión. Proporciona una medida de precisión para la estatura predicha, mostrando la desviación típica de las estaturas reales frente a la línea de regresión para ese hueso.'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: '¿Qué huesos largos proporcionan las estimaciones de estatura más precisas?',
|
|
51
|
+
answer: 'Los huesos de las extremidades inferiores, específicamente el fémur y la tibia, proporcionan las estimaciones más precisas porque contribuyen directamente a la altura de la persona. Los huesos de las extremidades superiores tienen mayores errores estándar pero son útiles si los restos de las inferiores están incompletos.'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: 'Estimador de Estatura Forense',
|
|
61
|
+
desc: 'Simule mediciones en tablas osteométricas y calcule la estatura en vida mediante regresión lineal.',
|
|
62
|
+
configTitle: 'Configuración Osteométrica',
|
|
63
|
+
boneLabel: 'Muestra Ósea',
|
|
64
|
+
lengthLabel: 'Longitud del Hueso',
|
|
65
|
+
unitLabel: 'Unidad del Sistema',
|
|
66
|
+
metricOption: 'Métrico (cm)',
|
|
67
|
+
imperialOption: 'Imperial (pulgadas)',
|
|
68
|
+
sexLabel: 'Sexo Biológico',
|
|
69
|
+
ancestryLabel: 'Grupo de Ancestros',
|
|
70
|
+
ageLabel: 'Edad al Morir (años)',
|
|
71
|
+
maleOption: 'Masculino',
|
|
72
|
+
femaleOption: 'Femenino',
|
|
73
|
+
whiteOption: 'Blanco / Caucásico',
|
|
74
|
+
blackOption: 'Negro / Afroamericano',
|
|
75
|
+
asianOption: 'Asiático / Mongoloide',
|
|
76
|
+
femurName: 'Fémur (Hueso del muslo)',
|
|
77
|
+
tibiaName: 'Tibia (Hueso de la espinilla)',
|
|
78
|
+
humerusName: 'Húmero (Hueso del brazo superior)',
|
|
79
|
+
fibulaName: 'Peroné (Hueso de la pantorrilla)',
|
|
80
|
+
radiusName: 'Radio (Hueso del antebrazo)',
|
|
81
|
+
ulnaName: 'Cúbito (Hueso del antebrazo)',
|
|
82
|
+
resultsTitle: 'Resultados de Estimación de Estatura',
|
|
83
|
+
estimateLabel: 'Estatura Estimada',
|
|
84
|
+
errorLabel: 'Error Estándar (SEE)',
|
|
85
|
+
rangeLabel: 'Intervalo de Predicción del 95%',
|
|
86
|
+
formulaLabel: 'Ecuación de Regresión',
|
|
87
|
+
formulaBoneFactor: 'Factor Óseo',
|
|
88
|
+
formulaConstant: 'Constante',
|
|
89
|
+
formulaAgeCorrection: 'Corrección por Edad',
|
|
90
|
+
formulaStdError: 'Error Estándar (SEE)',
|
|
91
|
+
fallbackAlert: 'No existe una ecuación directa de Trotter-Gleser para mujeres asiáticas/mongoloides; se utilizan las ecuaciones de referencia de mujeres blancas como alternativa forense.',
|
|
92
|
+
boardInstructions: 'Arrastre el calibrador o use los controles para medir el hueso.',
|
|
93
|
+
rulerLabelMetric: 'Escala Métrica (mm)',
|
|
94
|
+
rulerLabelImperial: 'Escala Imperial (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: 'Guía Completa de Estimación de Estatura en Antropología Forense',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: 'La estimación de la estatura representa un componente fundamental del perfil biológico en antropología física, bioarqueología y ciencias forenses. Cuando se recuperan restos óseos, reconstruir la estatura en vida del individuo ayuda a los investigadores a contrastar los registros de personas desaparecidas. La estatura se estima midiendo la longitud máxima de los huesos largos, los cuales se correlacionan estrechamente con la altura total debido a proporciones esqueléticas reguladas genética y ambientalmente.'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: 'Este simulador digital de tabla osteométrica permite a estudiantes y profesionales explorar los modelos de regresión lineal desarrollados por Mildred Trotter y Goldine C. Gleser. Al configurar variables como el tipo de hueso, el sexo biológico, la afinidad ancestral y la edad al morir, los usuarios pueden analizar cómo las proporciones corporales influyen en las constantes matemáticas y los errores típicos de las predicciones de altura.'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Comprensión de las Fórmulas de Regresión de Trotter-Gleser',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Mildred Trotter y Goldine C. Gleser publicaron sus ecuaciones de regresión fundamentales en 1952 y 1958. Sus muestras estadísticas consistieron en bajas militares estadounidenses de la Segunda Guerra Mundial y la Guerra de Corea, complementadas con especímenes de la Colección Terry. Las ecuaciones matemáticas resultantes toman la forma lineal: <strong>Estatura = (Pendiente × Longitud del Hueso) + Constante ± Error Estándar</strong>. Debido a que las relaciones entre los huesos largos y la estatura varían significativamente entre grupos humanos, se utilizan fórmulas separadas según el sexo biológico y los ancestros.'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['Muestra Ósea', 'Modelo de Regresión Masculino Blanco', 'Modelo de Regresión Femenino Blanco', 'Utilidad y Fiabilidad Forense'],
|
|
125
|
+
rows: [
|
|
126
|
+
['Fémur (Muslo)', 'Estatura = 2.32 × Fémur + 65.53 ± 3.94 cm', 'Estatura = 2.47 × Fémur + 54.10 ± 3.72 cm', 'Máxima fiabilidad. El fémur es el hueso de soporte principal de la extremidad inferior y se correlaciona de forma directa con la altura corporal.'],
|
|
127
|
+
['Tibia (Espinilla)', 'Estatura = 2.42 × Tibia + 81.93 ± 4.00 cm', 'Estatura = 2.90 × Tibia + 61.53 ± 3.66 cm', 'Alta fiabilidad. Se debe tener precaución de seguir el protocolo original de Trotter, el cual excluía el maléolo medial.'],
|
|
128
|
+
['Peroné (Pantorrilla)', 'Estatura = 2.60 × Peroné + 75.50 ± 3.86 cm', 'Estatura = 2.93 × Peroné + 59.61 ± 3.57 cm', 'Muy fiable, pero el peroné es delgado y suele fragmentarse o perderse en contextos arqueológicos.'],
|
|
129
|
+
['Húmero (Brazo)', 'Estatura = 2.89 × Húmero + 78.10 ± 4.57 cm', 'Estatura = 3.36 × Húmero + 57.97 ± 4.45 cm', 'Fiabilidad moderada. Los huesos del brazo superior no soportan peso y muestran errores estándar de estimación más elevados.'],
|
|
130
|
+
['Radio (Antebrazo)', 'Estatura = 3.79 × Radio + 79.42 ± 4.66 cm', 'Estatura = 4.74 × Radio + 54.93 ± 4.45 cm', 'Menor fiabilidad. Los elementos del antebrazo muestran variaciones de desarrollo notables en relación con la estatura total.']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Disminución de Estatura por Edad y Correcciones Post-Mortem',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'La estatura en vida no permanece estática a lo largo de la edad adulta. Alrededor de los 30 años, el cuerpo humano experimenta una pérdida progresiva de altura provocada por la compresión de los discos intervertebrales, cambios posturales y artrosis articular. Para ajustar las estimaciones esqueléticas a la estatura real al morir, Trotter y Gleser recomendaron restar 0.06 cm por cada año superior a los 30: <strong>Pérdida de Altura = 0.06 × (Edad - 30)</strong>. Este factor está integrado en el simulador.'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Discrepancias Metodológicas y Protocolos de Medición de Tibia',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Un problema metodológico célebre en la antropología forense involucra las medidas de la tibia realizadas por Trotter. En su estudio de 1952, la tibia se midió excluyendo el maléolo medial, mientras que en 1958 el protocolo cambió. Aplicar las ecuaciones de 1952 a una tibia medida con maléolo genera sobreestimaciones sistemáticas. Es clave verificar qué landmarks de medición se corresponden con la fórmula elegida.'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Tendencias Seculares y Aplicabilidad de Datos Históricos',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Debido a que las muestras de Trotter y Gleser nacieron a finales del siglo XIX y principios del XX, sus ecuaciones reflejan las condiciones nutricionales y ambientales de esa época. En el último siglo, las poblaciones globales han experimentado una tendencia secular positiva, traduciéndose en estaturas promedio mayores. Así, aunque Trotter-Gleser es el estándar educativo de referencia, en la práctica profesional moderna se complementa con bases de datos actuales y software como FORDISC.'
|
|
159
|
+
}
|
|
160
|
+
],
|
|
161
|
+
faq,
|
|
162
|
+
bibliography,
|
|
163
|
+
howTo,
|
|
164
|
+
schemas: [
|
|
165
|
+
{
|
|
166
|
+
'@context': 'https://schema.org',
|
|
167
|
+
'@type': 'SoftwareApplication',
|
|
168
|
+
name: title,
|
|
169
|
+
description,
|
|
170
|
+
applicationCategory: 'ForensicApplication',
|
|
171
|
+
operatingSystem: 'Any'
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
'@context': 'https://schema.org',
|
|
175
|
+
'@type': 'FAQPage',
|
|
176
|
+
mainEntity: faq.map((item) => ({
|
|
177
|
+
'@type': 'Question',
|
|
178
|
+
name: item.question,
|
|
179
|
+
acceptedAnswer: {
|
|
180
|
+
'@type': 'Answer',
|
|
181
|
+
text: item.answer
|
|
182
|
+
}
|
|
183
|
+
}))
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
'@context': 'https://schema.org',
|
|
187
|
+
'@type': 'HowTo',
|
|
188
|
+
name: title,
|
|
189
|
+
step: howTo.map((step) => ({
|
|
190
|
+
'@type': 'HowToStep',
|
|
191
|
+
name: step.name,
|
|
192
|
+
text: step.text
|
|
193
|
+
}))
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
};
|