@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,413 @@
|
|
|
1
|
+
.forensic-sex-card {
|
|
2
|
+
--fs-ink: #0f172a;
|
|
3
|
+
--fs-muted: #64748b;
|
|
4
|
+
--fs-paper: #fff;
|
|
5
|
+
--fs-border: #e2e8f0;
|
|
6
|
+
--fs-field-bg: #f8fafc;
|
|
7
|
+
--fs-field-border: #cbd5e1;
|
|
8
|
+
--fs-sub-bg: #f1f5f9;
|
|
9
|
+
--fs-inner-border: #e2e8f0;
|
|
10
|
+
--fs-svg-neutral: #64748b;
|
|
11
|
+
--fs-svg-bg: #f1f5f9;
|
|
12
|
+
--fs-gauge-marker: #1e293b;
|
|
13
|
+
--fs-notes-bg: rgba(0, 0, 0, 0.04);
|
|
14
|
+
|
|
15
|
+
background: var(--fs-paper);
|
|
16
|
+
border: 1px solid var(--fs-border);
|
|
17
|
+
border-radius: 20px;
|
|
18
|
+
padding: 2.5rem;
|
|
19
|
+
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
|
|
20
|
+
max-width: 1200px;
|
|
21
|
+
margin: 0 auto;
|
|
22
|
+
color: var(--fs-ink);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.theme-dark .forensic-sex-card {
|
|
26
|
+
--fs-ink: #f1f5f9;
|
|
27
|
+
--fs-muted: #94a3b8;
|
|
28
|
+
--fs-paper: rgba(15, 15, 20, 0.95);
|
|
29
|
+
--fs-border: rgba(255, 255, 255, 0.08);
|
|
30
|
+
--fs-field-bg: rgba(255, 255, 255, 0.015);
|
|
31
|
+
--fs-field-border: rgba(255, 255, 255, 0.05);
|
|
32
|
+
--fs-sub-bg: rgba(0, 0, 0, 0.3);
|
|
33
|
+
--fs-inner-border: rgba(255, 255, 255, 0.03);
|
|
34
|
+
--fs-svg-neutral: #6b7280;
|
|
35
|
+
--fs-svg-bg: rgba(0, 0, 0, 0.2);
|
|
36
|
+
--fs-gauge-marker: #fff;
|
|
37
|
+
--fs-notes-bg: rgba(255, 255, 255, 0.02);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.forensic-sex-grid {
|
|
41
|
+
display: grid;
|
|
42
|
+
grid-template-columns: 1fr;
|
|
43
|
+
gap: 2.5rem;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@media (min-width: 1024px) {
|
|
47
|
+
.forensic-sex-grid {
|
|
48
|
+
grid-template-columns: 1.3fr 0.7fr;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.forensic-sex-inputs {
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
gap: 2rem;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.forensic-sex-anatomy-grid {
|
|
59
|
+
display: grid;
|
|
60
|
+
grid-template-columns: 1fr;
|
|
61
|
+
gap: 2rem;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@media (min-width: 768px) {
|
|
65
|
+
.forensic-sex-anatomy-grid {
|
|
66
|
+
grid-template-columns: 1fr 1fr;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.forensic-sex-region {
|
|
71
|
+
display: flex;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
gap: 1.25rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.forensic-sex-region-title {
|
|
77
|
+
font-size: 1.25rem;
|
|
78
|
+
font-weight: 700;
|
|
79
|
+
color: #c084fc;
|
|
80
|
+
border-bottom: 1px dashed rgba(192, 132, 252, 0.2);
|
|
81
|
+
padding-bottom: 0.5rem;
|
|
82
|
+
margin-bottom: 0.25rem;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.forensic-sex-region-desc {
|
|
86
|
+
font-size: 0.85rem;
|
|
87
|
+
line-height: 1.4;
|
|
88
|
+
color: var(--fs-muted);
|
|
89
|
+
margin-bottom: 0.5rem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.forensic-sex-fields-list {
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
gap: 1.5rem;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.forensic-sex-field {
|
|
99
|
+
display: flex;
|
|
100
|
+
flex-direction: column;
|
|
101
|
+
gap: 1rem;
|
|
102
|
+
padding: 1.5rem;
|
|
103
|
+
background: var(--fs-field-bg);
|
|
104
|
+
border: 1px solid var(--fs-field-border);
|
|
105
|
+
border-radius: 16px;
|
|
106
|
+
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.forensic-sex-field:hover {
|
|
110
|
+
border-color: #c084fc;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.forensic-sex-field-header {
|
|
114
|
+
display: flex;
|
|
115
|
+
flex-direction: column;
|
|
116
|
+
gap: 0.25rem;
|
|
117
|
+
border-bottom: 1px solid var(--fs-inner-border);
|
|
118
|
+
padding-bottom: 0.5rem;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.forensic-sex-label {
|
|
122
|
+
font-size: 1.05rem;
|
|
123
|
+
font-weight: 600;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.forensic-sex-desc {
|
|
127
|
+
font-size: 0.8rem;
|
|
128
|
+
color: var(--fs-muted);
|
|
129
|
+
line-height: 1.3;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.forensic-sex-field-body {
|
|
133
|
+
display: grid;
|
|
134
|
+
grid-template-columns: 1.3fr 0.7fr;
|
|
135
|
+
gap: 1.5rem;
|
|
136
|
+
align-items: center;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.forensic-sex-control-side {
|
|
140
|
+
display: flex;
|
|
141
|
+
flex-direction: column;
|
|
142
|
+
gap: 1rem;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.forensic-sex-slider-container {
|
|
146
|
+
display: flex;
|
|
147
|
+
flex-direction: column;
|
|
148
|
+
gap: 0.5rem;
|
|
149
|
+
position: relative;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.forensic-sex-slider {
|
|
153
|
+
-webkit-appearance: none;
|
|
154
|
+
appearance: none;
|
|
155
|
+
width: 100%;
|
|
156
|
+
height: 6px;
|
|
157
|
+
background: var(--fs-field-border);
|
|
158
|
+
border-radius: 3px;
|
|
159
|
+
outline: none;
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
transition: background 0.2s ease;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.forensic-sex-slider::-webkit-slider-thumb {
|
|
165
|
+
-webkit-appearance: none;
|
|
166
|
+
appearance: none;
|
|
167
|
+
width: 20px;
|
|
168
|
+
height: 20px;
|
|
169
|
+
border-radius: 50%;
|
|
170
|
+
background: var(--fs-ink);
|
|
171
|
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
172
|
+
cursor: pointer;
|
|
173
|
+
transition: transform 0.1s ease, background 0.2s ease;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.forensic-sex-slider::-webkit-slider-thumb:hover {
|
|
177
|
+
transform: scale(1.2);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.forensic-sex-slider-labels {
|
|
181
|
+
display: flex;
|
|
182
|
+
justify-content: space-between;
|
|
183
|
+
padding: 0 3px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.forensic-sex-slider-labels span {
|
|
187
|
+
font-size: 0.8rem;
|
|
188
|
+
font-weight: 600;
|
|
189
|
+
color: var(--fs-muted);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.forensic-sex-status-label {
|
|
193
|
+
font-size: 0.85rem;
|
|
194
|
+
font-weight: 700;
|
|
195
|
+
letter-spacing: 0.02em;
|
|
196
|
+
text-transform: uppercase;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.forensic-sex-visual-side {
|
|
200
|
+
display: flex;
|
|
201
|
+
justify-content: center;
|
|
202
|
+
align-items: center;
|
|
203
|
+
background: var(--fs-svg-bg);
|
|
204
|
+
border-radius: 8px;
|
|
205
|
+
padding: 0.5rem;
|
|
206
|
+
border: 1px solid var(--fs-inner-border);
|
|
207
|
+
height: 80px;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.forensic-sex-svg {
|
|
211
|
+
width: 100%;
|
|
212
|
+
height: 100%;
|
|
213
|
+
max-height: 70px;
|
|
214
|
+
transition: all 0.3s ease;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.forensic-sex-field-footer {
|
|
218
|
+
display: flex;
|
|
219
|
+
justify-content: space-between;
|
|
220
|
+
gap: 1rem;
|
|
221
|
+
border-top: 1px dashed var(--fs-inner-border);
|
|
222
|
+
padding-top: 0.75rem;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.extreme-label {
|
|
226
|
+
font-size: 0.75rem;
|
|
227
|
+
line-height: 1.3;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.fem-label {
|
|
231
|
+
color: #f472b6;
|
|
232
|
+
text-align: left;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.masc-label {
|
|
236
|
+
color: #60a5fa;
|
|
237
|
+
text-align: right;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.state-unevaluated {
|
|
241
|
+
opacity: 0.6;
|
|
242
|
+
border-style: dashed;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.state-unevaluated .forensic-sex-svg {
|
|
246
|
+
color: var(--fs-svg-neutral);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.state-unevaluated .forensic-sex-status-label {
|
|
250
|
+
color: var(--fs-svg-neutral);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.state-feminine {
|
|
254
|
+
border-color: rgba(236, 72, 153, 0.4);
|
|
255
|
+
background: rgba(236, 72, 153, 0.03);
|
|
256
|
+
box-shadow: 0 4px 20px rgba(236, 72, 153, 0.05);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.state-feminine .forensic-sex-svg {
|
|
260
|
+
color: #f472b6;
|
|
261
|
+
filter: drop-shadow(0 0 4px rgba(244, 114, 182, 0.4));
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.state-feminine .forensic-sex-slider::-webkit-slider-thumb {
|
|
265
|
+
background: #f472b6;
|
|
266
|
+
box-shadow: 0 0 10px rgba(244, 114, 182, 0.6);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.state-feminine .forensic-sex-status-label {
|
|
270
|
+
color: #f472b6;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.state-neutral {
|
|
274
|
+
border-color: rgba(139, 92, 246, 0.4);
|
|
275
|
+
background: rgba(139, 92, 246, 0.03);
|
|
276
|
+
box-shadow: 0 4px 20px rgba(139, 92, 246, 0.05);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.state-neutral .forensic-sex-svg {
|
|
280
|
+
color: #a78bfa;
|
|
281
|
+
filter: drop-shadow(0 0 4px rgba(167, 139, 250, 0.4));
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
.state-neutral .forensic-sex-slider::-webkit-slider-thumb {
|
|
285
|
+
background: #a78bfa;
|
|
286
|
+
box-shadow: 0 0 10px rgba(167, 139, 250, 0.6);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.state-neutral .forensic-sex-status-label {
|
|
290
|
+
color: #a78bfa;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.state-masculine {
|
|
294
|
+
border-color: rgba(59, 130, 246, 0.4);
|
|
295
|
+
background: rgba(59, 130, 246, 0.03);
|
|
296
|
+
box-shadow: 0 4px 20px rgba(59, 130, 246, 0.05);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.state-masculine .forensic-sex-svg {
|
|
300
|
+
color: #60a5fa;
|
|
301
|
+
filter: drop-shadow(0 0 4px rgba(96, 165, 250, 0.4));
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.state-masculine .forensic-sex-slider::-webkit-slider-thumb {
|
|
305
|
+
background: #60a5fa;
|
|
306
|
+
box-shadow: 0 0 10px rgba(96, 165, 250, 0.6);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.state-masculine .forensic-sex-status-label {
|
|
310
|
+
color: #60a5fa;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.forensic-sex-outputs {
|
|
314
|
+
display: flex;
|
|
315
|
+
flex-direction: column;
|
|
316
|
+
gap: 1.5rem;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.forensic-sex-outputs-title {
|
|
320
|
+
font-size: 1.25rem;
|
|
321
|
+
font-weight: 600;
|
|
322
|
+
border-bottom: 1px solid var(--fs-inner-border);
|
|
323
|
+
padding-bottom: 1rem;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.forensic-sex-gauge-container {
|
|
327
|
+
display: flex;
|
|
328
|
+
flex-direction: column;
|
|
329
|
+
gap: 0.75rem;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.forensic-sex-gauge-bar {
|
|
333
|
+
position: relative;
|
|
334
|
+
height: 24px;
|
|
335
|
+
border-radius: 12px;
|
|
336
|
+
background: linear-gradient(to right, #ec4899, #3b82f6);
|
|
337
|
+
overflow: hidden;
|
|
338
|
+
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.forensic-sex-gauge-marker {
|
|
342
|
+
position: absolute;
|
|
343
|
+
top: 0;
|
|
344
|
+
bottom: 0;
|
|
345
|
+
left: 50%;
|
|
346
|
+
width: 4px;
|
|
347
|
+
background: var(--fs-gauge-marker);
|
|
348
|
+
transform: translateX(-50%);
|
|
349
|
+
box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
|
|
350
|
+
transition: left 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.forensic-sex-gauge-labels {
|
|
354
|
+
display: flex;
|
|
355
|
+
justify-content: space-between;
|
|
356
|
+
font-size: 0.85rem;
|
|
357
|
+
color: var(--fs-muted);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
.forensic-sex-metrics {
|
|
361
|
+
display: flex;
|
|
362
|
+
flex-direction: column;
|
|
363
|
+
gap: 1rem;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.forensic-sex-metric-row {
|
|
367
|
+
display: flex;
|
|
368
|
+
justify-content: space-between;
|
|
369
|
+
align-items: center;
|
|
370
|
+
padding: 0.75rem 0;
|
|
371
|
+
border-bottom: 1px dashed var(--fs-inner-border);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.forensic-sex-metric-row:last-child {
|
|
375
|
+
border-bottom: none;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.forensic-sex-metric-label {
|
|
379
|
+
font-size: 0.9rem;
|
|
380
|
+
color: var(--fs-muted);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.forensic-sex-metric-value {
|
|
384
|
+
font-size: 1rem;
|
|
385
|
+
font-weight: 600;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.forensic-sex-notes {
|
|
389
|
+
display: flex;
|
|
390
|
+
flex-direction: column;
|
|
391
|
+
gap: 0.75rem;
|
|
392
|
+
background: var(--fs-notes-bg);
|
|
393
|
+
border-left: 3px solid #c084fc;
|
|
394
|
+
padding: 1rem;
|
|
395
|
+
border-radius: 0 8px 8px 0;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.forensic-sex-note {
|
|
399
|
+
font-size: 0.85rem;
|
|
400
|
+
line-height: 1.4;
|
|
401
|
+
color: var(--fs-muted);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
@keyframes fadeIn {
|
|
405
|
+
from {
|
|
406
|
+
opacity: 0;
|
|
407
|
+
transform: translateY(5px);
|
|
408
|
+
}
|
|
409
|
+
to {
|
|
410
|
+
opacity: 1;
|
|
411
|
+
transform: translateY(0);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensische-geschlechtsbestimmung-anthropologische-morphologieanalyse';
|
|
5
|
+
const title = 'Forensischer Anthropologischer Geschlechtsbestimmer';
|
|
6
|
+
const description = 'Schätzen Sie das biologische Geschlecht anhand der Schädel- und Beckenmorphologie mithilfe eines bayesianischen Wahrscheinlichkeitsmodells.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Wählen Sie die zu analysierende anatomische Region',
|
|
11
|
+
text: 'Entscheiden Sie, ob Sie das Becken, den Schädel oder beides analysieren möchten. Die Bewertung beider Bereiche erhöht die Genauigkeit und Zuverlässigkeit der endgültigen biologischen Geschlechtsbestimmung.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Bewerten Sie jedes morphologische Merkmal',
|
|
15
|
+
text: 'Untersuchen Sie die Knochenpräparate und bewerten Sie die Schlüsselindikatoren auf einer Skala von 1 (hyperfeminin) bis 5 (hypermaskulin) basierend auf visuellen Anhaltspunkten.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Geben Sie die Werte in die Bayes-Engine ein',
|
|
19
|
+
text: 'Verwenden Sie die Dropdown-Auswahllisten, um die Bewertung für jedes Merkmal einzugeben. Der Klassifikator aktualisiert automatisch die A-posteriori-Wahrscheinlichkeit für männliche und weibliche Kategorien.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Interpretieren Sie die Wahrscheinlichkeitsergebnisse',
|
|
23
|
+
text: 'Überprüfen Sie den endgültigen Konfidenzindikator, die vorherrschende Geschlechtsklassifizierung und lesen Sie die forensischen Diagnosehinweise, um die biologischen Variationen zu verstehen.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Was ist die Phenice-Methode bei der Beckengeschlechtsbestimmung?',
|
|
31
|
+
answer: 'Die 1969 von T. W. Phenice veröffentlichte Phenice-Methode konzentriert sich auf drei spezifische Beckenmerkmale: den ventralen Bogen, die subpubische Konkavität und den medialen Aspekt des Ramus ischiopubicus. Sie bleibt eine der zuverlässigsten morphologischen Methoden in der forensischen Anthropologie mit Genauigkeitsraten von über 95 Prozent bei gut erhaltenen Skelettresten.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Warum wird das Becken gegenüber dem Schädel für die Geschlechtsschätzung bevorzugt?',
|
|
36
|
+
answer: 'Das Becken ist der am stärksten geschlechtsdimorphe Teil des menschlichen Skeletts, da es die funktionelle Anpassung an die Geburt bei Frauen widerspiegelt. Der evolutionäre Druck hat das weibliche Becken so geformt, dass es breiter, flacher und mit größeren Winkeln als das männliche Becken ausgestattet ist, während der Schädeldimorphismus hauptsächlich mit der allgemeinen Körpergröße und Muskelentwicklung zusammenhängt.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Wie schätzt der Bayes-Klassifikator die Geschlechtwahrscheinlichkeit?',
|
|
41
|
+
answer: 'Unser Klassifikator verwendet ein bayesianisches Aktualisierungsmodell. Es nimmt eine A-priori-Wahrscheinlichkeit von 50 Prozent für beide Geschlechter an. Für jeden bewerteten anatomischen Marker multipliziert das Modell die A-priori-Wahrscheinlichkeit mit der Wahrscheinlichkeit, diesen spezifischen Wert in männlichen versus weiblichen Populationen zu erhalten. Die resultierenden Werte werden normalisiert, um eine A-posteriori-Wahrscheinlichkeitsverteilung zu erzeugen.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Was bedeutet ein Wert von 3 in der morphologischen Analyse?',
|
|
46
|
+
answer: 'Ein Wert von 3 stellt eine unbestimmte oder neutrale Morphologie dar. Dies weist darauf hin, dass das Merkmal Eigenschaften aufweist, die in der Mitte des Spektrums des menschlichen Sexualdimorphismus liegen und weder typisch weibliche noch typisch männliche Merkmale zeigen.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Kann dieses Modell das Geschlecht von Skelettresten von Kindern bestimmen?',
|
|
51
|
+
answer: 'Nein. Die morphologische Geschlechtsbestimmung ist bei Skelettresten von Kindern und Jugendlichen vor der Pubertät äußerst unzuverlässig, da sich die morphologischen Merkmale erst während der Pubertät vollständig ausprägen. Forensische Anthropologen verlassen sich in solchen Fällen auf genetische Tests oder dentale Indikatoren.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
pelvisRegion: 'Beckenmorphologie',
|
|
61
|
+
craniumRegion: 'Schädelmorphologie',
|
|
62
|
+
subpubicAngle: 'Subpubischer Winkel',
|
|
63
|
+
subpubicAngleDesc: 'Der unter der Schambeinfuge gebildete Winkel.',
|
|
64
|
+
subpubicAngleFem: 'Breiter U-Winkel (>90°)',
|
|
65
|
+
subpubicAngleMasc: 'Enger V-Winkel (<70°)',
|
|
66
|
+
sciaticNotch: 'Große Beckeneinschnitte',
|
|
67
|
+
sciaticNotchDesc: 'Der größere sciatic Einschnitt im hinteren Ilium.',
|
|
68
|
+
sciaticNotchFem: 'Breiter, flacher U-Einschnitt',
|
|
69
|
+
sciaticNotchMasc: 'Enger, tiefer Einschnitt',
|
|
70
|
+
ventralArc: 'Ventraler Bogen',
|
|
71
|
+
ventralArcDesc: 'Knochenkamm auf dem vorderen Schambein.',
|
|
72
|
+
ventralArcFem: 'Ausgeprägter erhöhter Kamm',
|
|
73
|
+
ventralArcMasc: 'Fehlende oder schwache Linie',
|
|
74
|
+
preauricularSulcus: 'Sulcus preauricularis',
|
|
75
|
+
preauricularSulcusDesc: 'Furche neben dem Iliosakralgelenk.',
|
|
76
|
+
preauricularSulcusFem: 'Tiefe, grubige Furche',
|
|
77
|
+
preauricularSulcusMasc: 'Fehlend oder glatt',
|
|
78
|
+
mastoidProcess: 'Processus mastoideus',
|
|
79
|
+
mastoidProcessDesc: 'Knochenvorsprung hinter dem Gehörgang.',
|
|
80
|
+
mastoidProcessFem: 'Kleiner, kurzer Vorsprung',
|
|
81
|
+
mastoidProcessMasc: 'Großer, langer Vorsprung',
|
|
82
|
+
supraorbitalRidge: 'Supraorbitalwulst',
|
|
83
|
+
supraorbitalRidgeDesc: 'Vorsprung des Augenbrauenbogens (Glabella).',
|
|
84
|
+
supraorbitalRidgeFem: 'Glatte, flache Stirn',
|
|
85
|
+
supraorbitalRidgeMasc: 'Ausgeprägter Augenbrauenwulst',
|
|
86
|
+
mentalEminence: 'Kinnvorsprung',
|
|
87
|
+
mentalEminenceDesc: 'Form und Prominenz des Kinns.',
|
|
88
|
+
mentalEminenceFem: 'Rundes, spitzes Kinn',
|
|
89
|
+
mentalEminenceMasc: 'Breites, quadratisches Kinn',
|
|
90
|
+
nuchalCrest: 'Crista nuchae',
|
|
91
|
+
nuchalCrestDesc: 'Knochenkämme an der Schädelrückseite.',
|
|
92
|
+
nuchalCrestFem: 'Glatte Hinterhauptsfläche',
|
|
93
|
+
nuchalCrestMasc: 'Rauher, hakenförmiger Sporn',
|
|
94
|
+
selectOption: 'Wert wählen...',
|
|
95
|
+
score1: '1 - Hyperfeminin',
|
|
96
|
+
score2: '2 - Feminin',
|
|
97
|
+
score3: '3 - Unbestimmt',
|
|
98
|
+
score4: '4 - Maskulin',
|
|
99
|
+
score5: '5 - Hypermaskulin',
|
|
100
|
+
notEvaluated: 'Nicht bewertet',
|
|
101
|
+
resultsTitle: 'Ergebnisse der Geschlechtsbestimmung',
|
|
102
|
+
femaleProbLabel: 'Wahrscheinlichkeit Weiblich',
|
|
103
|
+
maleProbLabel: 'Wahrscheinlichkeit Männlich',
|
|
104
|
+
predominantLabel: 'Vorherrschende Klassifizierung',
|
|
105
|
+
confidenceLabel: 'Schätzkonfidenz',
|
|
106
|
+
weakConf: 'Schwach (Wenige Indikatoren bewertet)',
|
|
107
|
+
moderateConf: 'Moderat',
|
|
108
|
+
strongConf: 'Stark',
|
|
109
|
+
femaleClass: 'Weiblich',
|
|
110
|
+
maleClass: 'Männlich',
|
|
111
|
+
indeterminateClass: 'Unbestimmt',
|
|
112
|
+
noteNoData: 'Bitte bewerten Sie mindestens einen anatomischen Marker, um die Berechnungen zu starten.',
|
|
113
|
+
noteTriageOnly: 'Dies ist eine pädagogische Screening-Hilfe. Eine formelle forensische Bewertung erfordert metrische Analysen und Gutachten.',
|
|
114
|
+
noteBayesianEst: 'Die Wahrscheinlichkeiten werden dynamisch anhand einer nicht-parametrischen Bayes-Likelihood-Matrix berechnet.',
|
|
115
|
+
pelvicTitle: 'Becken-Referenzhandbuch',
|
|
116
|
+
cranialTitle: 'Schädel-Referenzhandbuch',
|
|
117
|
+
pelvisDesc: 'Das weibliche Becken ist an die Geburt angepasst, was zu breiteren Strukturen und flacheren Winkeln führt. Das männliche Becken ist robuster, enger und vertikal orientierter.',
|
|
118
|
+
cranialDesc: 'Der männliche Schädel ist im Allgemeinen größer und robuster, mit größeren Processus mastoidei, ausgeprägten Augenbrauenbögen und rauen Muskelansätzen. Der weibliche Schädel ist graziler mit glatteren Rändern und einem abgerundeten Kinn.',
|
|
119
|
+
},
|
|
120
|
+
seo: [
|
|
121
|
+
{
|
|
122
|
+
type: 'title',
|
|
123
|
+
text: 'Einführung in die osteologische Geschlechtsbestimmung in der forensischen Anthropologie',
|
|
124
|
+
level: 2,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: 'Die Schätzung des biologischen Geschlechts ist einer der wichtigsten Schritte bei der Erstellung eines biologischen Profils für unbekannte Skelettreste in der forensischen Anthropologie, Toxikologie und Archäologie. Zusammen mit der Körpergröße, dem Sterbealter und der Abstammung hilft die Geschlechtsschätzung dabei, den Kreis potenzieller vermisster Personen einzugrenzen. Menschliche Skelette weisen einen ausgeprägten Sexualdimorphismus auf, d. h. körperliche Unterschiede zwischen Männchen und Weibchen einer Art. Dieser Dimorphismus spiegelt sich sowohl in der Größe (Robustheit versus Grazilität) als auch in der Form (insbesondere Beckenanpassungen für die Geburt) wider.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'Dieses interaktive Werkzeug ermöglicht es Studenten der Forensik, Gerichtsmedizinern und Auszubildenden, morphologische Merkmale des Beckens und des Schädels zu bewerten. Durch die Eingabe von Werten basierend auf visuellen Anhaltspunkten können Benutzer beobachten, wie einzelne Knochenmarker zu einem kumulativen statistischen Modell beitragen.',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Beckendimorphismus und die Phenice-Methode',
|
|
137
|
+
level: 3,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'Das Becken gilt allgemein als die genaueste Region des Skeletts zur Bestimmung des biologischen Geschlechts. Weibliche Becken sind breiter, haben einen größeren Geburtskanal, eine breitere Incisura ischiadica major und einen subpubischen Winkel von über neunzig Grad. Umgekehrt sind männliche Becken durch schmale, V-förmige subpubische Winkel und eine schmale Incisura ischiadica major gekennzeichnet. Die Phenice-Methode konzentriert sich auf drei spezifische Merkmale des Schambeins: den ventralen Bogen, die subpubische Konkavität und den medialen Aspekt des Ramus ischiopubicus. Das Vorhandensein eines gut definierten ventralen Bogens ist ein außergewöhnlich starker Indikator für das weibliche Geschlecht, während sein Fehlen bei Männern typisch ist.',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Schädeldimorphismus und Robustheitsmarker',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'paragraph',
|
|
150
|
+
html: 'Wenn Beckenknochen fehlen oder schlecht erhalten sind, dient der Schädel als primäre Alternative für die Geschlechtsschätzung. Die Schädelbewertung basiert auf der Robustheit, da männliche Schädel aufgrund hormonell bedingter Entwicklungsunterschiede im Allgemeinen ausgeprägtere Muskelansatzstellen und größere Knochenfortsätze aufweisen. Der Processus mastoideus hinter dem Ohr ist bei Männern größer und breiter. Die Glabella und der Supraorbitalwulst sind bei Männern prominent und vorspringend, während sie bei Frauen glatt und vertikal verlaufen. Das Kinn (Protuberantia mentalis) neigt bei Männern dazu, quadratisch und breit zu sein, während Frauen eine rundere, spitzere Kinnstruktur aufweisen.',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'table',
|
|
154
|
+
headers: ['Anatomisches Merkmal', 'Weibliche Merkmale (Werte 1-2)', 'Männliche Merkmale (Werte 4-5)', 'Forensischer Wert'],
|
|
155
|
+
rows: [
|
|
156
|
+
['Subpubischer Winkel', 'Breiter, stumpfer Winkel (oft über 90 Grad).', 'Enger, spitzer Winkel (typischerweise unter 70 Grad).', 'Höchster diagnostischer Wert für Beckengeschlechtsbestimmung.'],
|
|
157
|
+
['Incisura ischiadica major', 'Breiter, flacher Ausschnitt, U-förmig.', 'Enger, tiefer Ausschnitt, daumenartig.', 'Äußerst haltbarer Marker, der oft in fragmentierten Überresten erhalten bleibt.'],
|
|
158
|
+
['Processus mastoideus', 'Klein, kurz und ragt minimal unter den Gehörgang heraus.', 'Groß, lang und ragt deutlich nach unten heraus.', 'Zuverlässiger Schädelmarker, widerstandsfähig gegen Verwitterung.'],
|
|
159
|
+
['Supraorbitalwulst', 'Glatte, flache Glabella mit vertikalem Stirnprofil.', 'Prominenter, vorspringender Wulst mit geneigter Stirn.', 'Unterscheidet robuste männliche von grazileren weiblichen Schädeln.'],
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Mathematische Bayes-Modellierung in der morphologischen Klassifikation',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'paragraph',
|
|
169
|
+
html: 'Traditionelle forensische Bewertungen beruhten auf subjektiven Klassifikationen, was zu Beobachterfehlern führen konnte. Die moderne forensische Anthropologie nutzt statistische Wahrscheinlichkeitsmodelle, um Unsicherheiten zu quantifizieren. Die Bayes-Statistik ist für diesen Zweck ideal. Sie beginnt mit einer gleichen A-priori-Wahrscheinlichkeit (50 Prozent männlich, 50 Prozent weiblich) und aktualisiert diese, sobald neue Beweise vorliegen. Wenn Beckenmerkmale eine stark weibliche Morphologie aufweisen (breiter subpubischer Winkel, Wert 1), steigt die Wahrscheinlichkeit der weiblichen Klassifizierung und überstimmt intermediäre oder widersprüchliche Marker am Schädel.',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Dieser digitale Simulator implementiert eine nicht-parametrische Bayes-Engine. Die Berechnungen liefern einen Wahrscheinlichkeitsprozentsatz anstelle einer starren binären Ausgabe. Dies entspricht modernen forensischen Richtlinien, die die Angabe von Konfidenzintervallen und Fehlerraten bei Gerichtsaussagen fordern. Die Zuverlässigkeit der Klassifizierung hängt von der Anzahl der bewerteten Merkmale ab, wobei Bewertungen aus Becken- und Schädelregionen die robustesten Ergebnisse liefern.',
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
faq,
|
|
177
|
+
bibliography,
|
|
178
|
+
howTo,
|
|
179
|
+
schemas: [
|
|
180
|
+
{
|
|
181
|
+
'@context': 'https://schema.org',
|
|
182
|
+
'@type': 'SoftwareApplication',
|
|
183
|
+
name: title,
|
|
184
|
+
description,
|
|
185
|
+
applicationCategory: 'ForensicApplication',
|
|
186
|
+
operatingSystem: 'Any',
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'FAQPage',
|
|
191
|
+
mainEntity: faq.map((item) => ({
|
|
192
|
+
'@type': 'Question',
|
|
193
|
+
name: item.question,
|
|
194
|
+
acceptedAnswer: {
|
|
195
|
+
'@type': 'Answer',
|
|
196
|
+
text: item.answer,
|
|
197
|
+
},
|
|
198
|
+
})),
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
'@context': 'https://schema.org',
|
|
202
|
+
'@type': 'HowTo',
|
|
203
|
+
name: title,
|
|
204
|
+
step: howTo.map((step) => ({
|
|
205
|
+
'@type': 'HowToStep',
|
|
206
|
+
name: step.name,
|
|
207
|
+
text: step.text,
|
|
208
|
+
})),
|
|
209
|
+
},
|
|
210
|
+
],
|
|
211
|
+
};
|