@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 = 'forensic-stature-estimation-skeletal-remains-trotter-gleser-calculator';
|
|
5
|
+
const title = '法医身長推定電卓';
|
|
6
|
+
const description = '生物学的性別、祖先集団、年齢補正を考慮し、Trotter-Gleserの線形回帰式を用いて長骨から生前の身長を推定します。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: '骨と変数を選択',
|
|
11
|
+
text: '測定する長骨(大腿骨、脛骨、上腕骨、腓骨、橈骨、または尺骨)と、生物学的性別、祖先、年齢を選択します。'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: '骨の長さを測定',
|
|
15
|
+
text: '仮想骨測定板のスライダーを動かして、骨の最大長をセンチメートル単位で指定します。'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: '推定身長を計算',
|
|
19
|
+
text: '電卓が対応するTrotter-Gleser回帰式を適用し、30歳以上の場合は1歳ごとに0.06 cmを減算します。'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: '結果と誤差範囲の解釈',
|
|
23
|
+
text: '推定身長、推定の標準誤差(SEE)、および95%予測区間を確認します。'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Trotter-Gleserの回帰式はどのように機能しますか?',
|
|
31
|
+
answer: 'この方程式は、生前の身長と長骨の最大長との間の相関を線形回帰を用いてモデル化したものです。'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'なぜ生物学的性別と祖先が必要なのですか?',
|
|
36
|
+
answer: '人間の身体プロポーションは、性別や地理的集団によって異なります。男性と女性では四肢の比率が異なり、祖先によっても発達比率が異なります。'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'なぜ年齢補正が必要なのですか?',
|
|
41
|
+
answer: '成人の身長は、椎間板の圧迫や姿勢の変化により、30歳以降徐々に減少します。TrotterとGleserは、30歳を過ぎると1年ごとに0.06 cmを差し引くことを推奨しました。'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: '推定の標準誤差(SEE)とは何ですか?',
|
|
46
|
+
answer: 'SEEは、回帰モデルにおける残差の標準偏差を表し、予測された身長の精度を示します。'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'どの長骨が最も正確な身長推定を可能にしますか?',
|
|
51
|
+
answer: '大腿骨や脛骨などの下肢骨は、身長に直接寄与するため、最も正確な推定が可能です。上腕骨などの上肢骨は標準誤差が大きくなります。'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: '法医身長推定電卓',
|
|
61
|
+
desc: '骨測定板シミュレーターを用いて、線形回帰による生前の身長推定を行います。',
|
|
62
|
+
configTitle: '骨測定パラメータ',
|
|
63
|
+
boneLabel: '骨標本',
|
|
64
|
+
lengthLabel: '骨の長さ',
|
|
65
|
+
unitLabel: '単位システム',
|
|
66
|
+
metricOption: 'メトリック (cm)',
|
|
67
|
+
imperialOption: 'インペリアル (in)',
|
|
68
|
+
sexLabel: '生物学的性別',
|
|
69
|
+
ancestryLabel: '祖先集団',
|
|
70
|
+
ageLabel: '死亡年齢 (歳)',
|
|
71
|
+
maleOption: '男性',
|
|
72
|
+
femaleOption: '女性',
|
|
73
|
+
whiteOption: '白色人種 / コーカソイド',
|
|
74
|
+
blackOption: '黒色人種 / ネグロイド',
|
|
75
|
+
asianOption: 'アジア人種 / モンゴロイド',
|
|
76
|
+
femurName: '大腿骨 (太ももの骨)',
|
|
77
|
+
tibiaName: '脛骨 (すねの骨)',
|
|
78
|
+
humerusName: '上腕骨 (二の腕の骨)',
|
|
79
|
+
fibulaName: '腓骨 (ふくらはぎの骨)',
|
|
80
|
+
radiusName: '橈骨 (前腕の骨)',
|
|
81
|
+
ulnaName: '尺骨 (前腕の骨)',
|
|
82
|
+
resultsTitle: '身長推定結果',
|
|
83
|
+
estimateLabel: '推定身長',
|
|
84
|
+
errorLabel: '標準誤差 (SEE)',
|
|
85
|
+
rangeLabel: '95% 予測区間',
|
|
86
|
+
formulaLabel: '回帰方程式',
|
|
87
|
+
formulaBoneFactor: '骨係数',
|
|
88
|
+
formulaConstant: '定数',
|
|
89
|
+
formulaAgeCorrection: '年齢補正',
|
|
90
|
+
formulaStdError: '標準誤差 (SEE)',
|
|
91
|
+
fallbackAlert: 'アジア系女性用の直接的なTrotter-Gleser式は存在しないため、法医学的代替手段として白色人種女性の参照式を使用しています。',
|
|
92
|
+
boardInstructions: 'キャリパーをドラッグするか、数値を入力して骨を測定してください。',
|
|
93
|
+
rulerLabelMetric: 'メトリックスケール (mm)',
|
|
94
|
+
rulerLabelImperial: 'インペリアルスケール (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: '法医人類学における身長推定の包括的ガイド',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: '身長推定は、物理人類学、生体考古学、および法医学における生物学的プロファイル作成の基本的な要素です。骨格遺体が発見された際、生前の身長を復元することは、行方不明者リストとの照合に不可欠です。'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: 'このデジタル骨測定板シミュレーターは、Mildred TrotterとGoldine C. Gleserが開発した線形回帰モデルの学習を目的としています。'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Trotter-Gleser回帰式の仕組み',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'TrotterとGleserは1952年と1958年に方程式を発表しました。式は次の通りです: 身長 = (傾き × 骨の長さ) + 定数 ± 標準誤差。性別や祖先によって比率が異なるため、異なる式が適用されます。'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['長骨標本', '白色人種男性回帰モデル', '白色人種女性回帰モデル', '法医学的有用性と信頼性'],
|
|
125
|
+
rows: [
|
|
126
|
+
['大腿骨 (Femur)', '身長 = 2.32 × 大腿骨 + 65.53 ± 3.94 cm', '身長 = 2.47 × 大腿骨 + 54.10 ± 3.72 cm', '最も高い信頼性。大腿骨は下肢の主要な負重骨であり、立位身長と直接関連します。'],
|
|
127
|
+
['脛骨 (Tibia)', '身長 = 2.42 × 脛骨 + 81.93 ± 4.00 cm', '身長 = 2.90 × 脛骨 + 61.53 ± 3.66 cm', '高い信頼性。Trotterのオリジナルプロトコルに従い、内果(うちくるぶし)を除外して測定する必要があります。'],
|
|
128
|
+
['腓骨 (Fibula)', '身長 = 2.60 × 腓骨 + 75.50 ± 3.86 cm', '身長 = 2.93 × 腓骨 + 59.61 ± 3.57 cm', '非常に信頼性が高いですが、腓骨は細く、考古学的遺跡では破損しやすいです。'],
|
|
129
|
+
['上腕骨 (Humerus)', '身長 = 2.89 × 上腕骨 + 78.10 ± 4.57 cm', '身長 = 3.36 × 上腕骨 + 57.97 ± 4.45 cm', '中程度の信頼性。上肢骨は体重を支持せず、標準誤差が大きくなります。'],
|
|
130
|
+
['橈骨 (Radius)', '身長 = 3.79 × 橈骨 + 79.42 ± 4.66 cm', '身長 = 4.74 × 橈骨 + 54.93 ± 4.45 cm', '前腕の比率には個体差が大きいため、信頼性は低くなります。']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: '加齢に伴う身長減少と補正',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: '生前の身長は成人期を通じて一定ではありません。30歳以降、椎間板の圧迫などにより身長が減少します。TrotterとGleserは、30歳を過ぎると1年ごとに0.06 cmを差し引く補正を推奨しました: 減少量 = 0.06 × (年齢 - 30)。'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: '脛骨測定プロトコルの相違点',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: '法医人類学で有名な問題に、脛骨の測定プロトコルがあります。1952年の研究では内果を除外して測定していましたが、1958年には含まれていました。1952年の式を内果を含めて測定した脛骨に適用すると、身長が系統的に過大評価されます。'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: '世俗的趨勢と歴史的データの適用可能性',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Trotter-Gleserのデータは、19世紀後半から20th世紀初頭に生まれた個体を対象としているため、当時の栄養状態を反映しています。栄養状態の改善に伴い現代人は平均身長が高くなる世俗的趨勢(secular trend)があります。このため現代の実務では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
|
+
};
|
|
@@ -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 = '법의학 신장 추정기';
|
|
6
|
+
const description = 'Mildred Trotter와 Goldine Gleser의 선형 회귀 공식을 사용하여 장골 측정값으로부터 생전 신장을 추정하며, 성별, 조상 및 연령 보정을 반영합니다.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: '뼈 및 변수 선택',
|
|
11
|
+
text: '측정할 장골(대퇴골, 경골, 상완골, 비골, 요골 또는 척골)과 대상자의 성별, 조상 그룹, 나이를 선택합니다.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: '뼈 길이 측정',
|
|
15
|
+
text: '가상 골측정판의 슬라이더를 조절하여 센티미터 단위로 뼈의 최대 길이를 지정합니다.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: '추정 신장 계산',
|
|
19
|
+
text: '계산기가 해당 Trotter-Gleser 회귀 공식을 적용하며, 30세 이상의 경우 매년 0.06 cm를 차감합니다.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: '오차 및 신뢰구간 해석',
|
|
23
|
+
text: '추정 신장, 추정 표준 오차(SEE), 95% 예측 구간을 확인하여 인구 변이를 고려합니다.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Trotter와 Gleser의 회귀 공식은 어떻게 작동합니까?',
|
|
31
|
+
answer: '이 공식들은 생전 신장과 장골의 최대 길이 간의 상관관계를 모델링하기 위해 선형 회귀 분석을 사용합니다. 뼈 길이를 입력하면 성별 및 인구 집단별 상수들이 적용됩니다.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: '생물학적 성별과 조상 그룹 정보가 왜 필요합니까?',
|
|
36
|
+
answer: '인체의 비례는 성별과 지리적 인구 집단에 따라 다릅니다. 남성은 일반적으로 여성과 사지 대 신장 비율이 다르며, 조상 집단별로도 고유한 발달 비례를 보입니다.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: '신장 추정에 왜 연령 보정 요인이 들어갑니까?',
|
|
41
|
+
answer: '성인 초기 이후 척추 원반의 압박 및 자세 변화로 인해 생전 키가 점차 줄어듭니다. Trotter와 Gleser는 30세 이후 매년 0.06 cm씩 차감할 것을 권장했습니다.'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: '추정 표준 오차(SEE)란 무엇입니까?',
|
|
46
|
+
answer: 'SEE는 회귀 모델 잔차의 표준 편차를 의미하며, 특정 뼈에서 예측된 신장의 정확도를 나타냅니다.'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: '어떤 장골이 가장 정확한 신장 추정치를 제공합니까?',
|
|
51
|
+
answer: '하체 뼈, 특히 대퇴골과 경골은 신장에 직접적으로 기여하기 때문에 가장 정확한 신장 추정을 가능하게 합니다. 상체 뼈는 표준 오차가 더 큽니다.'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: '법의학 신장 추정기',
|
|
61
|
+
desc: '골측정판 측정을 시뮬레이션하고 선형 회gui 분석을 사용하여 생전 신장을 계산합니다.',
|
|
62
|
+
configTitle: '골측정 설정',
|
|
63
|
+
boneLabel: '뼈 표본',
|
|
64
|
+
lengthLabel: '뼈 길이',
|
|
65
|
+
unitLabel: '단위 시스템',
|
|
66
|
+
metricOption: '미터법 (cm)',
|
|
67
|
+
imperialOption: '야드파운드법 (in)',
|
|
68
|
+
sexLabel: '생물학적 성별',
|
|
69
|
+
ancestryLabel: '조상 그룹',
|
|
70
|
+
ageLabel: '사망 시 연령 (세)',
|
|
71
|
+
maleOption: '남성',
|
|
72
|
+
femaleOption: '여성',
|
|
73
|
+
whiteOption: '백인 / 코카소이드',
|
|
74
|
+
blackOption: '흑인 / 네그로이드',
|
|
75
|
+
asianOption: '아시아인 / 몽골로이드',
|
|
76
|
+
femurName: '대퇴골 (허벅지 뼈)',
|
|
77
|
+
tibiaName: '경골 (정강이 뼈)',
|
|
78
|
+
humerusName: '상완골 (위팔 뼈)',
|
|
79
|
+
fibulaName: '비골 (종아리 뼈)',
|
|
80
|
+
radiusName: '요골 (노뼈)',
|
|
81
|
+
ulnaName: '척골 (자뼈)',
|
|
82
|
+
resultsTitle: '신장 추정 결과',
|
|
83
|
+
estimateLabel: '추정 신장',
|
|
84
|
+
errorLabel: '표준 오차 (SEE)',
|
|
85
|
+
rangeLabel: '95% 예측 구간',
|
|
86
|
+
formulaLabel: '회귀 공식',
|
|
87
|
+
formulaBoneFactor: '뼈 요인',
|
|
88
|
+
formulaConstant: '상수',
|
|
89
|
+
formulaAgeCorrection: '연령 보정',
|
|
90
|
+
formulaStdError: '표준 오차 (SEE)',
|
|
91
|
+
fallbackAlert: '아시아인 여성에 대한 직접적인 Trotter-Gleser 회귀 공식이 없으므로, 백인 여성 참고 공식을 법의학적 대체 수단으로 사용합니다.',
|
|
92
|
+
boardInstructions: '캘리퍼 핸들을 드래그하거나 입력창을 사용하여 뼈의 길이를 측정하십시오.',
|
|
93
|
+
rulerLabelMetric: '미터 눈금 (mm)',
|
|
94
|
+
rulerLabelImperial: '임페리얼 눈금 (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: '법의인류학 분야 신장 추정에 대한 종합 가이드',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: '신장 추정은 신체인류학, 생물고고학 및 법의학 분야의 생물학적 프로파일링에서 핵심적인 요소입니다. 인골이 발견되었을 때 생전 신장을 재구성하면 실종자 기록과 교차 대조하여 신원을 확인하는 데 유용합니다. 신장은 전체 키와 상관관계가 높은 장골의 최대 길이를 측정하여 추정합니다.'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: '이 디지털 골측정판 시뮬레이터는 Mildred Trotter와 Goldine C. Gleser가 정립한 선형 회귀 모델을 학습할 수 있도록 돕습니다.'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Trotter-Gleser 회귀 공식의 이해',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Mildred Trotter와 Goldine C. Gleser는 1952년과 1958년에 신장 추정 공식을 발표했습니다. 이 공식의 기본 형태는 다음과 같습니다: 신장 = (기울기 × 뼈 길이) + 상수 ± 표준 오차. 성별 및 조상 집단에 따라 다른 공식이 적용됩니다.'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['장골 표본', '백인 남성 회귀 모델', '백인 여성 회귀 모델', '법의학적 유용성 및 신뢰도'],
|
|
125
|
+
rows: [
|
|
126
|
+
['대퇴골 (Femur)', '신장 = 2.32 × 대퇴골 + 65.53 ± 3.94 cm', '신장 = 2.47 × 대퇴골 + 54.10 ± 3.72 cm', '가장 높은 신뢰도. 대퇴골은 직립 신장에 가장 직접적으로 기여하는 뼈입니다.'],
|
|
127
|
+
['경골 (Tibia)', '신장 = 2.42 × 경골 + 81.93 ± 4.00 cm', '신장 = 2.90 × 경골 + 61.53 ± 3.66 cm', '높은 신뢰도. Trotter의 기존 연구 방식대로 안쪽 복사뼈(내과)를 제외하고 측정해야 합니다.'],
|
|
128
|
+
['비골 (Fibula)', '신장 = 2.60 × 비골 + 75.50 ± 3.86 cm', '신장 = 2.93 × 비골 + 59.61 ± 3.57 cm', '신뢰도가 매우 높으나, 비골은 얇기 때문에 고고학 현장에서 훼손되거나 소실되기 쉽습니다.'],
|
|
129
|
+
['상완골 (Humerus)', '신장 = 2.89 × 상완골 + 78.10 ± 4.57 cm', '신장 = 3.36 × 상완골 + 57.97 ± 4.45 cm', '보통 수준의 신뢰도. 팔뼈는 체중을 직접 지탱하지 않아 오차 범위가 상대적으로 넓습니다.'],
|
|
130
|
+
['요골 (Radius)', '신장 = 3.79 × 요골 + 79.42 ± 4.66 cm', '신장 = 4.74 × 요골 + 54.93 ± 4.45 cm', '아랫팔 뼈는 발달 비례의 개인차가 커 상대적으로 신뢰도가 낮습니다.']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: '가령에 따른 신장 감소와 보정',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: '생전 신장은 성인기 내내 일정하지 않습니다. 30세 이후부터 척추의 퇴행 등으로 인해 키가 점차 줄어듭니다. Trotter와 Gleser는 30세 이후 매년 0.06 cm씩 빼주는 연령 보정을 권장했습니다: 신장 감소량 = 0.06 × (연령 - 30).'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: '경골 측정 기준의 방법론적 차이점',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: '법의인류학에서 흔히 겪는 방법론적 혼란 중 하나는 경골 측정 방식입니다. 1952년 연구에서는 내과를 제외하고 측정했으나, 1958년 연구에는 내과가 포함되었습니다. 1952년 공식을 내과가 포함된 경골 측정값에 적용하면 키가 과대평가될 수 있습니다.'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: '세속적 추세와 역사적 참조 자료의 한계',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Trotter-Gleser의 표본들은 19세기 말 및 20세기 초 출생자들이므로 당시의 영양 상태를 반영하고 있습니다. 영양 상태의 현대화에 따라 평균 신장이 커지는 경향(세속적 추세)이 있습니다. 이 때문에 실제 법의학 현장에서는 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
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensische-lengteschatting-trotter-gleser-calculator';
|
|
5
|
+
const title = 'Forensische Lichaamslengte Schatting';
|
|
6
|
+
const description = 'Schat de levende lichaamslengte van menselijke resten aan de hand van lange beenderen met de regressievergelijkingen van Trotter en Gleser.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Selecteer bot en variabelen',
|
|
11
|
+
text: 'Kies het specifieke lange bot dat moet worden gemeten (Dijbeen, Scheenbeen, Opperarmbeen, Kuitbeen, Spaakbeen of Ellepijp) samen met biologisch geslacht, afkomst en leeftijd.'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Bepaal de botlengte',
|
|
15
|
+
text: 'Pas de schuifmaat op het virtuele osteometrische bord aan om de maximale lengte van het bot in centimeters te specificeren.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Bereken de geschatte lengte',
|
|
19
|
+
text: 'De rekenmachine past de Trotter-Gleser-regressieformules toe en trekt 0,06 cm per jaar af voor individuen ouder dan 30 jaar.'
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Interpreteer intervallen en foutmarges',
|
|
23
|
+
text: 'Bekijk de geschatte lengte, de standaardfout (SEE) en het 95% voorspellingsinterval.'
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Hoe werken de regressievergelijkingen van Trotter en Gleser?',
|
|
31
|
+
answer: 'De vergelijkingen gebruiken lineaire regressie om de correlatie tussen levende lengte en de maximale lengte van lange beenderen te modelleren.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Waarom vereist de tool biologisch geslacht en afkomst?',
|
|
36
|
+
answer: 'Menselijke lichaamsproporties variëren per geslacht en geografische afkomst. Mannen en vrouwen hebben verschillende verhoudingen tussen ledematen en totale lengte.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Waarom is er een leeftijdscorrectiefactor?',
|
|
41
|
+
answer: 'De levende lengte neemt na de vroege volwassenheid geleidelijk af door compressie van de tussenwervelschijven. Er wordt 0,06 cm afgetrokken voor elk jaar ouder dan 30.'
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Wat is de standaardfout van de schatting (SEE)?',
|
|
46
|
+
answer: 'De SEE vertegenwoordigt de standaarddeviatie van de residuen in het regressiemodel en geeft de nauwkeurigheid van de voorspelling aan.'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Welke lange beenderen geven de meest nauwkeurige resultaten?',
|
|
51
|
+
answer: 'De beenderen van de onderste ledematen (dijbeen en scheenbeen) geven de meest nauwkeurige schattingen omdat ze direct bijdragen aan de lichaamslengte.'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
title: 'Forensische Lichaamslengte Schatting',
|
|
61
|
+
desc: 'Simuleer osteometrische metingen en bereken de levende lichaamslengte met lineaire regressie.',
|
|
62
|
+
configTitle: 'Osteometrische Configuratie',
|
|
63
|
+
boneLabel: 'Botspecimen',
|
|
64
|
+
lengthLabel: 'Botlengte',
|
|
65
|
+
unitLabel: 'Systeemenheid',
|
|
66
|
+
metricOption: 'Metrisch (cm)',
|
|
67
|
+
imperialOption: 'Imperiaal (inch)',
|
|
68
|
+
sexLabel: 'Biologisch Geslacht',
|
|
69
|
+
ancestryLabel: 'Afkomstgroep',
|
|
70
|
+
ageLabel: 'Leeftijd bij Overlijden (jaar)',
|
|
71
|
+
maleOption: 'Man',
|
|
72
|
+
femaleOption: 'Vrouw',
|
|
73
|
+
whiteOption: 'Wit / Kaukasisch',
|
|
74
|
+
blackOption: 'Zwart / Afro-Amerikaans',
|
|
75
|
+
asianOption: 'Aziatisch / Mongoloïde',
|
|
76
|
+
femurName: 'Femur (Dijbeen)',
|
|
77
|
+
tibiaName: 'Tibia (Scheenbeen)',
|
|
78
|
+
humerusName: 'Humerus (Opperarmbeen)',
|
|
79
|
+
fibulaName: 'Fibula (Kuitbeen)',
|
|
80
|
+
radiusName: 'Radius (Spaakbeen)',
|
|
81
|
+
ulnaName: 'Ulna (Ellepijp)',
|
|
82
|
+
resultsTitle: 'Resultaten Lengteschatting',
|
|
83
|
+
estimateLabel: 'Geschatte Lichaamslengte',
|
|
84
|
+
errorLabel: 'Standaardfout (SEE)',
|
|
85
|
+
rangeLabel: '95% Voorspellingsinterval',
|
|
86
|
+
formulaLabel: 'Regressievergelijking',
|
|
87
|
+
formulaBoneFactor: 'Botfactor',
|
|
88
|
+
formulaConstant: 'Constante',
|
|
89
|
+
formulaAgeCorrection: 'Leeftijdscorrectie',
|
|
90
|
+
formulaStdError: 'Standaardfout (SEE)',
|
|
91
|
+
fallbackAlert: 'Er is geen directe Trotter-Gleser formule voor Aziatische vrouwen; de referentievergelijkingen voor Kaukasische vrouwen worden gebruikt als forensisch alternatief.',
|
|
92
|
+
boardInstructions: 'Sleep de schuifmaat of gebruik de invoervelden om het bot te meten.',
|
|
93
|
+
rulerLabelMetric: 'Metrische Schaal (mm)',
|
|
94
|
+
rulerLabelImperial: 'Imperiale Schaal (in)',
|
|
95
|
+
unitsCm: 'cm',
|
|
96
|
+
unitsInches: 'in',
|
|
97
|
+
unitsFtIn: 'ft/in'
|
|
98
|
+
},
|
|
99
|
+
seo: [
|
|
100
|
+
{
|
|
101
|
+
type: 'title',
|
|
102
|
+
text: 'Uitgebreide gids voor lengteschatting in de forensische antropologie',
|
|
103
|
+
level: 2
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'paragraph',
|
|
107
|
+
html: 'Het schatten van de lichaamslengte is een fundamenteel onderdeel van de biologische profilering in de fysische antropologie, bioarcheologie en forensische wetenschap. Wanneer menselijke resten worden gevonden, helpt de reconstructie van de levende lengte bij het identificeren van vermiste personen.'
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
html: 'Met deze digitale simulator van een osteometrisch bord kunnen studenten en professionals de lineaire regressiemodellen verkennen die zijn ontwikkeld door Mildred Trotter en Goldine C. Gleser.'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'De Trotter-Gleser-regressieformules begrijpen',
|
|
116
|
+
level: 3
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Mildred Trotter en Goldine C. Gleser publiceerden hun formules in 1952 en 1958. De vergelijkingen hebben de vorm: Lichaamslengte = (Helling × Botlengte) + Constante ± Standaardfout. Omdat verhoudingen verschillen, gelden er aparte formules per geslacht en afkomst.'
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'table',
|
|
124
|
+
headers: ['Botspecimen', 'Model Kaukasische Man', 'Model Kaukasische Vrouw', 'Forensisch nut & Betrouwbaarheid'],
|
|
125
|
+
rows: [
|
|
126
|
+
['Femur (Dijbeen)', 'Lengte = 2.32 × Femur + 65.53 ± 3.94 cm', 'Lengte = 2.47 × Femur + 54.10 ± 3.72 cm', 'Hoogste betrouwbaarheid. Het dijbeen draagt het meeste gewicht en hangt direct samen met de standlengte.'],
|
|
127
|
+
['Tibia (Scheenbeen)', 'Lengte = 2.42 × Tibia + 81.93 ± 4.00 cm', 'Lengte = 2.90 × Tibia + 61.53 ± 3.66 cm', 'Hoge betrouwbaarheid. Let op dat gemeten wordt zonder de binnenenkel conform Trotters protocol.'],
|
|
128
|
+
['Fibula (Kuitbeen)', 'Lengte = 2.60 × Fibula + 75.50 ± 3.86 cm', 'Lengte = 2.93 × Fibula + 59.61 ± 3.57 cm', 'Zeer betrouwbaar, maar het kuitbeen is dun en breekt snel in historische contexten.'],
|
|
129
|
+
['Humerus (Opperarm)', 'Lengte = 2.89 × Humerus + 78.10 ± 4.57 cm', 'Lengte = 3.36 × Humerus + 57.97 ± 4.45 cm', 'Matige betrouwbaarheid. Opperarmbeenderen dragen geen gewicht en hebben grotere standaardfouten.'],
|
|
130
|
+
['Radius (Spaakbeen)', 'Lengte = 3.79 × Radius + 79.42 ± 4.66 cm', 'Lengte = 4.74 × Radius + 54.93 ± 4.45 cm', 'Lagere betrouwbaarheid door grotere individuele variatie in de onderarmverhoudingen.']
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'title',
|
|
135
|
+
text: 'Leeftijdsgebonden lengteverlies en correctie',
|
|
136
|
+
level: 3
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Lichaamslengte is na het 30e levensjaar niet statisch. Door compressie van de tussenwervelschijven treedt er een geleidelijk lengteverlies op. Trotter en Gleser adviseerden om 0,06 cm af te trekken voor elk jaar boven de 30: Verlies = 0,06 × (Leeftijd - 30).'
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Methodologische verschillen bij de tibiabezwering',
|
|
145
|
+
level: 3
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Een bekend probleem betreft de tibia-metingen. In de studie van 1952 werd het scheenbeen gemeten exclusief de binnenenkel (malleolus medialis), maar in 1958 werd deze wel meegerekend. Toepassing van de formules uit 1952 op een inclusief gemeten scheenbeen leidt tot systematische overschatting.'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Seculaire trends en historische referentiedata',
|
|
154
|
+
level: 3
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'De referentiedata stammen van individuen geboren rond 1900. Door verbeterde voeding zijn moderne populaties gemiddeld langer geworden (seculaire trend). Hedendaagse forensisch onderzoekers vullen Trotter-Gleser daarom vaak aan met database-software zoals 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
|
+
};
|