@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,272 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'kalkylator-skjutavstand-gsr-partikelspridning';
|
|
5
|
+
const title = 'Kalkylator för GSR partikelspridning och Skjutavstånd';
|
|
6
|
+
const description = 'Simulera pedagogiska spridningsmönster för krutstänk och tändsatsrester (GSR) på en målyta baserat på skjutavstånd, ammunitionstyp och värmeeffekter.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Ställ in skjutavståndet',
|
|
11
|
+
text: 'Dra avståndsreglaget från direkt kontakt upp till tre meter för att se hur skjutspåret förändras från en kompakt, brännskadad zon till ett brett, glest partikelfält.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Välj en ammunitionsprofil',
|
|
15
|
+
text: 'Välj profil för en 9 mm pistol, .38 revolver eller kaliber 12 hagelgevär. Varje profil ändrar partikelantal, spridningsfaktor och beräknad termisk räckvidd.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Analysera målet och spridningskonen',
|
|
19
|
+
text: 'Använd tygmålet för att jämföra partikeltäthet och radiell spridning, och titta på sidokonen för att förstå hur krutmolnet expanderar innan det träffar målet.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Tolka avståndskategorin',
|
|
23
|
+
text: 'Granska den klassificering som visas och förväntade fynd. Resultatet beskriver den didaktiska innebörden av kontaktskott, nära kontakt, kort avstånd och långt avstånd.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Kan spridningen av tändsatsrester fastställa ett exakt skjutavstånd?',
|
|
31
|
+
answer: 'Nej. GSR-mönster kan stödja en uppskattning av ett avståndsintervall, inte ett exakt avstånd. En slutgiltig bedömning kräver undersökning av det specifika vapnet, ammunitionen, målytan, vinkeln samt provskjutningar under kontrollerade förhållanden.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Varför ger skott på extremt nära håll mer sot och brännskador?',
|
|
36
|
+
answer: 'Vid mycket korta avstånd träffar heta gaser, sot, oförbränt krut och metallpartiklar från tändsatsen målet innan molnet har hunnit expandera och svalna, vilket orsakar svärtning, svedning och sönderslitning.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Vilka grundämnen förknippas vanligtvis med tändsatsrester?',
|
|
41
|
+
answer: 'Traditionell GSR-analys inriktas på partiklar som innehåller bly, barium och antimon. Även om modern blyfri ammunition kan ändra profilen, utvärderar SEM-EDS-metoder partikelmorfologi och kemi tillsammans.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Varför använder simulatorn en Gaussisk radiell spridningsmodell?',
|
|
46
|
+
answer: 'En Gauss-liknande radiell modell är en användbar pedagogisk förenkling eftersom de flesta partiklar koncentreras nära mitten. I verkligheten kan vind, träffvinkel, vapendesign eller tygstruktur orsaka asymmetrier.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Är denna kalkylator lämplig för forensiska utlåtanden?',
|
|
51
|
+
answer: 'Nej. Det är en pedagogisk modell. Ett officiellt kriminaltekniskt utlåtande måste baseras på validerade laboratorieprotokoll, kvalitetskontroller, fysiska provskjutningsmönster och bedömning av behörig expert.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
distance: 'Skjutavstånd',
|
|
61
|
+
units: 'Enhetssystem',
|
|
62
|
+
metric: 'Metrisk',
|
|
63
|
+
imperial: 'Imperial',
|
|
64
|
+
unitMeter: 'm',
|
|
65
|
+
unitCentimeter: 'cm',
|
|
66
|
+
unitFoot: 'ft',
|
|
67
|
+
unitInch: 'in',
|
|
68
|
+
ammo: 'Ammunitionsprofil',
|
|
69
|
+
ammoPistol9mm: '9 mm pistol',
|
|
70
|
+
ammoRevolver38: '.38 revolver',
|
|
71
|
+
ammoShotgun12: 'Kaliber 12 hagelgevär',
|
|
72
|
+
target: 'Tygmål',
|
|
73
|
+
cone: 'Krutgasmoln',
|
|
74
|
+
canvasAria: 'Partikelspridning av skjutrester på tygmålet',
|
|
75
|
+
rangeStripAria: 'Avståndskategorier',
|
|
76
|
+
category: 'Avståndstolkning',
|
|
77
|
+
categoryContactLabel: 'Kontaktskott / mynningskontakt',
|
|
78
|
+
categoryNearContactLabel: 'Nära kontakt / brännskadeområde',
|
|
79
|
+
categoryCloseRangeLabel: 'Kort avstånd / kruttatueringszon',
|
|
80
|
+
categoryDistantLabel: 'Långt avstånd eller obestämbart avstånd',
|
|
81
|
+
density: 'Partikeltäthet',
|
|
82
|
+
thermal: 'Termisk effekt',
|
|
83
|
+
radius: 'Beräknad mönsterradie',
|
|
84
|
+
radiusSuffix: 'radie',
|
|
85
|
+
expected: 'Förväntat fynd',
|
|
86
|
+
expectedContact: 'En mycket tät central avlagring, risk för mynningsavtryck, sotsvärtning, sönderrivet tyg och termiska skador förväntas i målområdet.',
|
|
87
|
+
expectedNearContact: 'Kraftigt sot och krutpartiklar förblir koncentrerade runt ingångsöppningen, med en tydlig men kompakt radiell gloria.',
|
|
88
|
+
expectedCloseRange: 'Kruttatuering och metallrester breder ut sig i en mätbar ring; termiska effekter och sot blir minimala.',
|
|
89
|
+
expectedDistant: 'Partiklar är sällsynta och brett spridda. Avståndsbedömning kräver kemisk analys, mikroskopi och jämförande provskjutningar.',
|
|
90
|
+
contact: 'Kontakt',
|
|
91
|
+
near: 'Nära kontakt',
|
|
92
|
+
close: 'Kort avstånd',
|
|
93
|
+
distant: 'Långt avstånd',
|
|
94
|
+
disclaimer: 'Pedagogisk modell. GSR-avståndsbestämning kräver kontrollerade provskjutningar, jämförelse av målytor och validerade kemiska analysmetoder.',
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Skjutavståndsbedömning baserad på spridningsmönster för GSR',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'diagnostic',
|
|
104
|
+
variant: 'info',
|
|
105
|
+
icon: 'mdi:target-variant',
|
|
106
|
+
badge: 'Pedagogisk modell',
|
|
107
|
+
title: 'Vad denna kalkylator besvarar',
|
|
108
|
+
html: 'Denna GSR-avståndskalkylator illustrerar om ett krutstänksmönster liknar ett kontaktskott, ett skott på nära håll, kort avstånd eller långt avstånd. Den är avsedd för utbildning om principerna för <strong>skjutavståndsbedömning</strong>, inte för att utfärda expertutlåtanden i brottmål.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'stats',
|
|
112
|
+
columns: 4,
|
|
113
|
+
items: [
|
|
114
|
+
{ value: '0-3 m', label: 'simulerat skjutavstånd', icon: 'mdi:ruler' },
|
|
115
|
+
{ value: '4', label: 'förklarade avståndskategorier', icon: 'mdi:crosshairs-question' },
|
|
116
|
+
{ value: '3', label: 'jämförda ammunitionsprofiler', icon: 'mdi:ammunition' },
|
|
117
|
+
{ value: '2', label: 'enhetssystem: metriskt och imperialt', icon: 'mdi:swap-horizontal' },
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: 'Hur man läser det simulerade mönstret',
|
|
123
|
+
level: 3,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'summary',
|
|
127
|
+
title: 'Snabb tolkningschecklista',
|
|
128
|
+
items: [
|
|
129
|
+
'Tätt centralt sot, brännskador, sönderrivet tyg eller mynningsavtryck tyder på kontaktskott eller nära kontakt.',
|
|
130
|
+
'En kompakt mörk kärna omgiven av krutkorn tyder på ett mycket kort avstånd, där provskjutningar krävs för att precisera det.',
|
|
131
|
+
'Spridd kruttatuering med minimalt sot passar oftast ett skott på kort avstånd utanför värmeeffekternas räckvidd.',
|
|
132
|
+
'Glesa synliga rester utesluter inte närvaro av GSR; mikroskopi eller kemisk analys kan fortfarande påvisa partiklar.',
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'comparative',
|
|
137
|
+
columns: 2,
|
|
138
|
+
items: [
|
|
139
|
+
{
|
|
140
|
+
title: 'Vad verktyget hjälper till med',
|
|
141
|
+
icon: 'mdi:check-circle-outline',
|
|
142
|
+
highlight: true,
|
|
143
|
+
description: 'Det visualiserar sambandet mellan skjutavstånd, krutstänkstäthet, partikelspridning och värmeeffekter.',
|
|
144
|
+
points: ['Klassrumsdemonstration', 'Förklaring av sökintentioner', 'Kriminalteknisk terminologi', 'Jämförelse av enheter'],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
title: 'Vad det inte kan bevisa',
|
|
148
|
+
icon: 'mdi:alert-circle-outline',
|
|
149
|
+
description: 'Det kan inte fastställa det faktiska skjutavståndet i ett verkligt fall utan analys av fysiska bevis.',
|
|
150
|
+
points: ['Ingen uppladdning av bevis', 'Ingen kemisk bekräftelse', 'Inga provskjutningar med det aktuella vapnet', 'Inget juridiskt bevisvärde'],
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'table',
|
|
156
|
+
headers: ['Vanlig fråga', 'Nyckeltråd i mönstret', 'Tekniskt svar'],
|
|
157
|
+
rows: [
|
|
158
|
+
['Hur ser ett kontaktskott ut?', 'Tätt sot, brännskador, sönderrivet tyg eller mynningsavtryck.', 'En tolkningshypotes om kontakt är rimlig, men gasexpansion och tygets elasticitet kan påverka utseendet kraftigt.'],
|
|
159
|
+
['Hur nära var vapnet?', 'Koncentrerade rester nära ingångshålet med en kompakt krutgloria.', 'Mönstret ger stöd för ett avståndsintervall, men provskjutning för jämförelse är nödvändig.'],
|
|
160
|
+
['Vad är kruttatuering?', 'Punktformade märken efter oförbrända krutkorn med lite eller inget sot.', 'Spridningen varierar beroende på ammunition, tygmaterial, skjutvinkel och mellanliggande hinder.'],
|
|
161
|
+
['Kan GSR försvinna på avstånd?', 'Mycket få partiklar och inget synligt makroskopiskt mönster.', 'De synliga spåren avtar, men tändsatspartiklar kan fortfarande identifieras i laboratorium.'],
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Vetenskaplig beräkning av modellen',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Simulatorn använder en Gauss-liknande radiell distribution för att placera partiklar runt träffpunkten på ett slumpmässigt men realistiskt sätt. Korta skjutavstånd ger mycket trånga, kompakta och extremt täta koncentrationer av krutspår i den centrala zonen; längre avstånd ökar den radiella spridningen av partiklar avsevärt och sänker medeltätheten per kvadratcentimeter på målytan. Den matematiska modellen separerar även fina sotmoln från tyngre metalliska tändsatspartiklar eftersom de termiska effekterna och sotet har en mycket kortare fysikalisk räckvidd jämfört med detektionsområdet för de mikroskopiska partiklarna. Denna simulering ger därför en utmärkt pedagogisk introduktion till hur forensiska experter analyserar fysiska spår vid brottsplatsundersökningar.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'glossary',
|
|
175
|
+
items: [
|
|
176
|
+
{ term: 'GSR', definition: 'Tändsatsrester och krutstänk (Gunshot Residue): partiklar från tändsats, krut, projektil och heta gaser vid avfyrning.' },
|
|
177
|
+
{ term: 'Sotsvärtning', definition: 'Mörk kolförening som främst syns vid kontaktskott och mycket korta skjutavstånd.' },
|
|
178
|
+
{ term: 'Kruttatuering', definition: 'Små punktformade märken i målytan orsakade av oförbrända eller delvis förbrända krutkorn.' },
|
|
179
|
+
{ term: 'Mynningsavtryck', definition: 'Ett avtryck på målytan som efterliknar pipans mynning på grund av gastryck och värme vid kontaktskott.' },
|
|
180
|
+
{ term: 'Provskjutning', definition: 'Jämförande skott på kända avstånd med det misstänkta vapnet och ammunitionen på ett identiskt tygstycke.' },
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'title',
|
|
185
|
+
text: 'Avståndsklasser och förväntade fynd',
|
|
186
|
+
level: 3,
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
type: 'table',
|
|
190
|
+
headers: ['Kategori', 'Typiska fynd', 'Tolkningsbegränsning'],
|
|
191
|
+
rows: [
|
|
192
|
+
['Kontakt', 'Massiv central avlagring, sot, brännskador, sönderrivet tyg, mynningsavtryck.', 'Tygets elasticitet och gasernas tryck kan förändra ingångshålets diameter avsevärt.'],
|
|
193
|
+
['Nära kontakt', 'Kompakt sot- och krutgloria runt ingångsöppningen.', 'Löst sittande kläder eller ett mellanliggande föremål kan avleda partiklarna.'],
|
|
194
|
+
['Kort avstånd', 'Kruttatuering, krutpartiklar utan framträdande sotskikt.', 'Samma avstånd ger olika mönster på bomull, denim, hud eller papper.'],
|
|
195
|
+
['Långt avstånd', 'Sällsynta partiklar, vid spridning eller inga synliga makroskopiska spår.', 'Kemisk analys och svepelektronmikroskopi blir helt avgörande när de synliga spåren uteblir.'],
|
|
196
|
+
],
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
type: 'tip',
|
|
200
|
+
title: 'Praktiskt tolkningsråd',
|
|
201
|
+
html: 'Utvärdera alltid skjutrester som ett <strong>jämförelseproblem för intervall</strong> och aldrig som ett absolut siffervärde. Säkra kriminaltekniska slutsatser kräver direkt jämförelse med provskjutningsmönster.',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
type: 'title',
|
|
205
|
+
text: 'Dokumentationschecklista före mönsteranalys',
|
|
206
|
+
level: 3,
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: 'list',
|
|
210
|
+
icon: 'mdi:clipboard-check-outline',
|
|
211
|
+
items: [
|
|
212
|
+
'Udokumentera målytans egenskaper: tygtyp, färg, tjocklek, elasticitet och eventuella veck.',
|
|
213
|
+
'Registrera vapenmodell, piplängd, ammunitionsparti, kruttyp och eventuella mynningsbromsar.',
|
|
214
|
+
'Fotografera mönstret med måttband, rätt belysning och dokumenterad chain of custody.',
|
|
215
|
+
'Sök separat efter sot, brännskador, oförbränt krut, avstrykningsring och mekaniska skador.',
|
|
216
|
+
'Utför alltid jämförande provskjutningar innan avståndsintervall anges i kriminaltekniskt arbete.',
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'proscons',
|
|
221
|
+
title: 'Digital simulering kontra forensisk laboratorieanalys',
|
|
222
|
+
items: [
|
|
223
|
+
{ pro: 'Underlättar förståelsen för hur partikelspridningen ökar när avståndet växer.', con: 'Tar inte hänsyn till det specifika vapnet, ammunitionspartiet eller tygets struktur.' },
|
|
224
|
+
{ pro: 'Förtydligar skillnaderna mellan de olika avståndskategorierna.', con: 'Ersätter inte kemiska analysmetoder eller svepelektronmikroskopi (SEM-EDS).' },
|
|
225
|
+
{ pro: 'Hjälper till att förstå de fysiska begränsningarna med visuell mönsteranalys.', con: 'Saknar juridiskt bevisvärde utan laboratoriets validering och expertbedömning.' },
|
|
226
|
+
],
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: 'diagnostic',
|
|
230
|
+
variant: 'warning',
|
|
231
|
+
icon: 'mdi:scale-balance',
|
|
232
|
+
badge: 'Kriminalteknisk varning',
|
|
233
|
+
title: 'Uteslutande av juridisk användning',
|
|
234
|
+
html: 'En datorsimulering kan aldrig ersätta de fysiska bevisen i ett verkligt fall. Den kan inte bedöma vapnets skick, krutkemi, hinder på vägen eller kvaliteten på bevisinsamlingen. Använd denna sida enbart för utbildningsändamål och vänd dig till behöriga laboratorier för riktiga undersökningar.',
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
faq,
|
|
238
|
+
bibliography,
|
|
239
|
+
howTo,
|
|
240
|
+
schemas: [
|
|
241
|
+
{
|
|
242
|
+
'@context': 'https://schema.org',
|
|
243
|
+
'@type': 'SoftwareApplication',
|
|
244
|
+
name: title,
|
|
245
|
+
description,
|
|
246
|
+
applicationCategory: 'ForensicApplication',
|
|
247
|
+
operatingSystem: 'Any',
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
'@context': 'https://schema.org',
|
|
251
|
+
'@type': 'FAQPage',
|
|
252
|
+
mainEntity: faq.map((item) => ({
|
|
253
|
+
'@type': 'Question',
|
|
254
|
+
name: item.question,
|
|
255
|
+
acceptedAnswer: {
|
|
256
|
+
'@type': 'Answer',
|
|
257
|
+
text: item.answer,
|
|
258
|
+
},
|
|
259
|
+
})),
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
'@context': 'https://schema.org',
|
|
263
|
+
'@type': 'HowTo',
|
|
264
|
+
name: title,
|
|
265
|
+
step: howTo.map((step) => ({
|
|
266
|
+
'@type': 'HowToStep',
|
|
267
|
+
name: step.name,
|
|
268
|
+
text: step.text,
|
|
269
|
+
})),
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
};
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'ates-mesafesi-tayini-gsr-barut-artigi-hesaplama';
|
|
5
|
+
const title = 'GSR Barut Artığı Atış Mesafesi Hesaplayıcı';
|
|
6
|
+
const description = 'Atış mesafesi, mühimmat türü, parçacık dağılımı ve termal etkilere göre hedef yüzeyindeki eğitsel atış artığı (GSR) dağılım kalıplarını simüle edin.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Atış mesafesini ayarlayın',
|
|
11
|
+
text: 'Mesafe kontrolünü bitişik atıştan üç metreye kadar kaydırarak, atış artığı dağılımının kompakt ve termal olarak değişmiş bir yapıdan geniş ve seyrek bir parçacık alanına dönüşmesini izleyin.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Mühimmat profili seçin',
|
|
15
|
+
text: '9 mm tabanca, .38 revolver veya 12 kalibre av tüfeği profillerinden birini seçin. Her profil, parçacık sayısını, dağılım katsayısını ve tahmini termal etki menzilini değiştirir.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Hedef bezi ve dağılım konisini inceleyin',
|
|
19
|
+
text: 'Parçacık yoğunluğunu ve radyaldaki dağılımı değerlendirmek için hedef bezini kullanın. Atış artığı bulutunun hedefe ulaşmadan önceki fiziksel genişlemesini anlamak için yan koniyi gözlemleyin.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Mesafe kategorisini yorumlayın',
|
|
23
|
+
text: 'Elde edilen sınıflandırmayı ve beklenen bulguları inceleyin. Sonuç; bitişik, yakın, yakın-orta ve uzak mesafe atış kalıplarının eğitsel anlamını açıklar.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Atış artığı dağılımı kesin atış mesafesini kanıtlayabilir mi?',
|
|
31
|
+
answer: 'Hayır. GSR dağılım kalıpları kesin bir mesafe değerini değil, tahmini bir mesafe aralığını destekler. Gerçek bir sonuca varmak için ilgili ateşli silahın, mühimmatın, hedef malzemesinin, atış açısının incelenmesi ve kontrollü koşullarda karşılaştırmalı test atışlarının yapılması gerekir.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Bitişik atışlar neden daha fazla is ve yanık izi gösterir?',
|
|
36
|
+
answer: 'Çok kısa mesafelerde, sıcak gazlar, is, yanmamış barut taneleri ve kapsülün metalik parçacıkları, atış bulutu genişleyip soğumaya fırsat bulamadan hedefe çarparak kararma, yanma ve yırtılmaya neden olur.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Kapsül kaynaklı GSR ile hangi kimyasal elementler ilişkilendirilir?',
|
|
41
|
+
answer: 'Geleneksel GSR analizi kurşun, baryum ve antimon içeren parçacıklara odaklanır. Modern kurşunsuz mühimmatlar bu kimyasal profili değiştirebilse de, SEM-EDS yöntemleri parçacık morfolojisini ve kimyasını birlikte değerlendirir.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Simülatör neden Gauss tipi radyal dağılım modeli kullanıyor?',
|
|
46
|
+
answer: 'Gauss dağılımı, parçacıkların çoğunun merkeze yakın toplanması nedeniyle faydalı bir eğitsel yaklaşımdır. Gerçekte rüzgar, atış açısı, silah tasarımı veya kumaş dokusu asimetriye yol açabilir.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Bu hesaplayıcı adli rapor hazırlamak için uygun mudur?',
|
|
51
|
+
answer: 'Hayır. Bu yazılım eğitsel bir modeldir. Resmi bir adli balistik raporu; valide edilmiş laboratuvar protokollerine, kalite kontrollere, fiziksel test atışlarına ve uzman bir bilirkişinin değerlendirmesine dayanmalıdır.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
distance: 'Atış mesafesi',
|
|
61
|
+
units: 'Birim sistemi',
|
|
62
|
+
metric: 'Metrik',
|
|
63
|
+
imperial: 'İmparatorluk',
|
|
64
|
+
unitMeter: 'm',
|
|
65
|
+
unitCentimeter: 'cm',
|
|
66
|
+
unitFoot: 'ft',
|
|
67
|
+
unitInch: 'in',
|
|
68
|
+
ammo: 'Mühimmat profili',
|
|
69
|
+
ammoPistol9mm: '9 mm tabanca',
|
|
70
|
+
ammoRevolver38: '.38 revolver',
|
|
71
|
+
ammoShotgun12: '12 kalibre av tüfeği',
|
|
72
|
+
target: 'Hedef bezi',
|
|
73
|
+
cone: 'Artık bulutu',
|
|
74
|
+
canvasAria: 'Hedef bezi üzerindeki atış artığı parçacık dağılımı',
|
|
75
|
+
rangeStripAria: 'Mesafe kategorileri',
|
|
76
|
+
category: 'Mesafe yorumu',
|
|
77
|
+
categoryContactLabel: 'Bitişik atış / namlu hedef temasında',
|
|
78
|
+
categoryNearContactLabel: 'Yakın atış / yanık menzilinde',
|
|
79
|
+
categoryCloseRangeLabel: 'Yakın-orta atış / barut dövme bölgesi',
|
|
80
|
+
categoryDistantLabel: 'Uzak atış veya belirsiz mesafe',
|
|
81
|
+
density: 'Parçacık yoğunluğu',
|
|
82
|
+
thermal: 'Termal etki',
|
|
83
|
+
radius: 'Tahmini dağılım yarıçapı',
|
|
84
|
+
radiusSuffix: 'yarıçapı',
|
|
85
|
+
expected: 'Beklenen bulgu',
|
|
86
|
+
expectedContact: 'Hedef bölgesinde yoğun bir merkezi birikim, namlu baskı izi riski, is kararması, yırtılma ve termal hasar beklenir.',
|
|
87
|
+
expectedNearContact: 'Yoğun is ve barut tanecikleri, giriş deliğinin etrafında dar ve kompakt bir radyal halka oluşturacak şekilde toplanır.',
|
|
88
|
+
expectedCloseRange: 'Barut dövmesi (tatuaj) ve metalik artıklar ölçülebilir bir halka halinde genişler; termal etkiler ve is asgari düzeye iner.',
|
|
89
|
+
expectedDistant: 'Parçacıklar oldukça seyrek ve geniş bir alana yayılmıştır. Mesafe tayini kimyasal analiz, mikroskopi ve karşılaştırmalı test atışları gerektirir.',
|
|
90
|
+
contact: 'Bitişik',
|
|
91
|
+
near: 'Yakın',
|
|
92
|
+
close: 'Yakın-orta',
|
|
93
|
+
distant: 'Uzak',
|
|
94
|
+
disclaimer: 'Sadece eğitsel modeldir. GSR ile atış mesafesi tayini; kontrollü test atışları, hedef malzemesi karşılaştırması ve doğrulanmış kimyasal yöntemler gerektirir.',
|
|
95
|
+
},
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'GSR Atış Artığı Dağılımından Atış Mesafesi Tayini',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'diagnostic',
|
|
104
|
+
variant: 'info',
|
|
105
|
+
icon: 'mdi:target-variant',
|
|
106
|
+
badge: 'Eğitsel model',
|
|
107
|
+
title: 'Bu hesaplayıcı neyi açıklar',
|
|
108
|
+
html: 'Bu GSR dağılım hesaplayıcısı, bir atış artığı kalıbının bitişik, yakın, yakın-orta veya uzak atışlardan hangisine benzediğini gösterir. Amacı <strong>atış mesafesi tayini</strong> prensiplerini öğretmektir, resmi bilirkişi raporu yerine geçmez.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'stats',
|
|
112
|
+
columns: 4,
|
|
113
|
+
items: [
|
|
114
|
+
{ value: '0-3 m', label: 'simüle edilen atış mesafesi', icon: 'mdi:ruler' },
|
|
115
|
+
{ value: '4', label: 'açıklanan mesafe kategorisi', icon: 'mdi:crosshairs-question' },
|
|
116
|
+
{ value: '3', label: 'karşılaştırılan mühimmat profili', icon: 'mdi:ammunition' },
|
|
117
|
+
{ value: '2', label: 'birim sistemi: metrik ve imparatorluk', icon: 'mdi:swap-horizontal' },
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'title',
|
|
122
|
+
text: 'Simüle Edilen Dağılım Kalıbı Nasıl Okunur',
|
|
123
|
+
level: 3,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'summary',
|
|
127
|
+
title: 'Hızlı yorumlama kontrol listesi',
|
|
128
|
+
items: [
|
|
129
|
+
'Merkezde yoğun is birikimi, yanma, yırtılma veya namlu izi, bitişik veya yakın atışa işaret eder.',
|
|
130
|
+
'Yanmamış barut taneleriyle çevrili dar ve koyu bir merkez, mesafenin sınırlandırılması için test atışları gerektiren çok kısa mesafeyi gösterir.',
|
|
131
|
+
'İs bulunmayan seyrek barut dövmesi (tatuaj), genellikle ısı etkilerinin kaybolduğu yakın-orta mesafe atışına uygundur.',
|
|
132
|
+
'Uzaktan yapılan atışlarda gözle görülür artık olmaması GSR bulunmadığı anlamına gelmez; mikroskopi veya kimyasal analizler parçacıkları saptayabilir.',
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'comparative',
|
|
137
|
+
columns: 2,
|
|
138
|
+
items: [
|
|
139
|
+
{
|
|
140
|
+
title: 'Bu aracın faydalı olduğu alanlar',
|
|
141
|
+
icon: 'mdi:check-circle-outline',
|
|
142
|
+
highlight: true,
|
|
143
|
+
description: 'Atış mesafesi, artık yoğunluğu, parçacık yayılımı ve ısı etkileri arasındaki ilişkiyi grafik olarak görselleştirir.',
|
|
144
|
+
points: ['Sınıf içi gösterimler', 'Teknik açıklamalar', 'Adli tıp terminolojisi', 'Metrik ve imparatorluk birim karşılaştırması'],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
title: 'Neyi kanıtlayamaz',
|
|
148
|
+
icon: 'mdi:alert-circle-outline',
|
|
149
|
+
description: 'Fiziksel deliller incelenmeden gerçek bir olaydaki gerçek atış mesafesini belirleyemez.',
|
|
150
|
+
points: ['Delil analizi yapmaz', 'Kimyasal doğrulama içermez', 'Olaydaki silahla test atışı yapmaz', 'Hukuki delil değeri yoktur'],
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: 'table',
|
|
156
|
+
headers: ['Sıkça sorulan soru', 'Kalıptaki anahtar ipucu', 'Teknik yanıt'],
|
|
157
|
+
rows: [
|
|
158
|
+
['Bitişik atış nasıl görünür?', 'Yoğun is, yanma, yırtılma veya namlu izi.', 'Bitişik atış yorumu olasıdır ancak gaz genleşmesi ve hedef kumaşın esnekliği görünümü değiştirebilir.'],
|
|
159
|
+
['Silah hedefe ne kadar yakındı?', 'Giriş deliği etrafında dar bir barut halkasıyla yoğunlaşmış artıklar.', 'Dağılım bir mesafe aralığı varsayımını destekler ancak karşılaştırmalı test atışları zorunludur.'],
|
|
160
|
+
['Barut dövmesi (tatuaj) nedir?', 'Yanmamış barut tanelerinin çarpmasıyla oluşan noktasal izler ve seyrek is.', 'Dağılımı mühimmat türüne, hedef kumaşa, atış açısına ve aradaki engellere göre değişir.'],
|
|
161
|
+
['Uzak mesafede artıklar tamamen yok olur mu?', 'Oldukça seyrek parçacıklar ve gözle görülür birikim olmaması.', 'Makroskobik belirtiler kaybolsa da kapsül parçacıkları laboratuvarda tespit edilebilir.'],
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'title',
|
|
166
|
+
text: 'Simülasyon Modelinin Bilimsel Esasları',
|
|
167
|
+
level: 3,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Simülatör, parçacıkları darbe merkezi etrafına yerleştirmek için rastgele ama fiziksel olarak tutarlı bir radyal Gauss dağılımı kullanır. Kısa atış mesafeleri hedef üzerinde dar, toplu ve oldukça yoğun bir atış artığı birikimi oluştururken; atış mesafesinin artması parçacıkların radyal alandaki dağılımını önemli ölçüde genişletir ve birim alan başına düşen ortalama yoğunluğu azaltır. Bu matematiksel model, is birikintilerini ağır metalik kapsül parçacıklarından özellikle ayırır; çünkü alev ve ısı kaynaklı termal kararma, mikroskobik olarak tespit edilebilen metalik artıkların yayılımına kıyasla çok daha sınırlı bir fiziksel menzile sahiptir.',
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'glossary',
|
|
175
|
+
items: [
|
|
176
|
+
{ term: 'GSR', definition: 'Atış artığı (Gunshot Residue): atış sırasında kapsül, barut, çekirdek ve sıcak gazlardan oluşan parçacıklar.' },
|
|
177
|
+
{ term: 'İs kararması', definition: 'Genellikle sadece bitişik ve çok yakın atışlarda görülen koyu karbon birikintisi.' },
|
|
178
|
+
{ term: 'Barut dövmesi (tatuaj)', definition: 'Yanmamış veya kısmen yanmış barut tanelerinin hedefte oluşturduğu noktasal izler.' },
|
|
179
|
+
{ term: 'Namlu izi', definition: 'Bitişik atışlarda gaz basıncı ve sıcaklık nedeniyle namlu ucunun hedefte bıraktığı iz.' },
|
|
180
|
+
{ term: 'Test atışı', definition: 'Şüpheli silah ve mühimmatla, bilinen mesafelerden özdeş hedef kumaşına yapılan karşılaştırma atışları.' },
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'title',
|
|
185
|
+
text: 'Mesafe Kategorileri ve Beklenen Bulgular',
|
|
186
|
+
level: 3,
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
type: 'table',
|
|
190
|
+
headers: ['Mesafe Sınıfı', 'Genel bulgular', 'Yorumlama sınırları'],
|
|
191
|
+
rows: [
|
|
192
|
+
['Bitişik', 'Yoğun merkezi birikim, is, yanma, yırtılma, namlu izi.', 'Hedef kumaşın yapısı ve gaz basıncı delik çapını büyük ölçüde değiştirebilir.'],
|
|
193
|
+
['Yakın', 'Giriş deliği etrafında dar barut ve is halkası.', 'Bol kıyafetler veya araya giren nesneler parçacık dağılımını engelleyebilir.'],
|
|
194
|
+
['Yakın-orta', 'Barut dövmesi, belirgin is birikimi olmadan yayılan parçacıklar.', 'Aynı mesafe pamuk, kot, deri veya kağıt üzerinde farklı dağılımlar gösterir.'],
|
|
195
|
+
['Uzak', 'Seyrek parçacıklar, geniş yayılım veya makroskobik iz olmaması.', 'Gözle görülür izler kaybolduğunda kimyasal analizler ve taramalı elektron mikroskopisi önem kazanır.'],
|
|
196
|
+
],
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
type: 'tip',
|
|
200
|
+
title: 'Pratik değerlendirme ipucu',
|
|
201
|
+
html: 'Atış artıklarını her zaman bir <strong>mesafe aralığı karşılaştırması</strong> olarak değerlendirin, asla kesin bir sayısal değer olarak görmeyin. Bilimsel sonuçlar, hedef bulguların deneysel test kalıplarıyla karşılaştırılmasıyla elde edilir.',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
type: 'title',
|
|
205
|
+
text: 'Dağılım Analizi Öncesi Belgeleme Kontrol Listesi',
|
|
206
|
+
level: 3,
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: 'list',
|
|
210
|
+
icon: 'mdi:clipboard-check-outline',
|
|
211
|
+
items: [
|
|
212
|
+
'Hedef malzemenin özelliklerini belgeleyin: kumaş türü, dokuması, rengi, kalınlığı ve katlanma durumu.',
|
|
213
|
+
'Silah modelini, namlu uzunluğunu, mühimmat serisini, barut türünü ve namlu ağzı aparatlarını kaydedin.',
|
|
214
|
+
'Kalıbı ölçek çizgisi, uygun aydınlatma ve delil zinciri bilgilerini içerecek şekilde fotoğraflayın.',
|
|
215
|
+
'İs, yanma, yanmamış barut, silme halkası ve yırtılmaları ayrı ayrı inceleyin.',
|
|
216
|
+
'Adli çalışmalarda mesafe aralığı belirtmeden önce daima karşılaştırmalı test atışları gerçekleştirin.',
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'proscons',
|
|
221
|
+
title: 'Dijital simülasyon ve adli laboratuvar analizi karşılaştırması',
|
|
222
|
+
items: [
|
|
223
|
+
{ pro: 'Mesafe arttıkça parçacık dağılımının nasıl genişlediğini anlamayı kolaylaştırır.', con: 'Belirli bir ateşli silahın, mühimmat serisinin veya hedef kumaşın özelliklerini yansıtamaz.' },
|
|
224
|
+
{ pro: 'Mesafe kategorileri arasındaki kavramsal farkları netleştirir.', con: 'Kimyasal testlerin veya taramalı elektron mikroskopisinin (SEM-EDS) yerini almaz.' },
|
|
225
|
+
{ pro: 'Gözle yapılan makroskobik analizlerin fiziksel sınırlarını kavramaya yardımcı olur.', con: 'Deneysel doğrulama ve uzman bilirkişi incelemesi olmadan hukuki geçerliliği yoktur.' },
|
|
226
|
+
],
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: 'diagnostic',
|
|
230
|
+
variant: 'warning',
|
|
231
|
+
icon: 'mdi:scale-balance',
|
|
232
|
+
badge: 'Adli balistik uyarısı',
|
|
233
|
+
title: 'Yasal amaçlı kullanım dışıdır',
|
|
234
|
+
html: 'Bilgisayar simülasyonu, gerçek bir olaydaki fiziksel delillerin yerini alamaz. Silahın durumunu, barut kimyasını, aradaki engelleri veya örnekleme kalitesini değerlendiremez. Bu sayfayı yalnızca eğitim amaçlı kullanın; gerçek olay incelemeleri için yetkili laboratuvarlara başvurun.',
|
|
235
|
+
},
|
|
236
|
+
],
|
|
237
|
+
faq,
|
|
238
|
+
bibliography,
|
|
239
|
+
howTo,
|
|
240
|
+
schemas: [
|
|
241
|
+
{
|
|
242
|
+
'@context': 'https://schema.org',
|
|
243
|
+
'@type': 'SoftwareApplication',
|
|
244
|
+
name: title,
|
|
245
|
+
description,
|
|
246
|
+
applicationCategory: 'ForensicApplication',
|
|
247
|
+
operatingSystem: 'Any',
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
'@context': 'https://schema.org',
|
|
251
|
+
'@type': 'FAQPage',
|
|
252
|
+
mainEntity: faq.map((item) => ({
|
|
253
|
+
'@type': 'Question',
|
|
254
|
+
name: item.question,
|
|
255
|
+
acceptedAnswer: {
|
|
256
|
+
'@type': 'Answer',
|
|
257
|
+
text: item.answer,
|
|
258
|
+
},
|
|
259
|
+
})),
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
'@context': 'https://schema.org',
|
|
263
|
+
'@type': 'HowTo',
|
|
264
|
+
name: title,
|
|
265
|
+
step: howTo.map((step) => ({
|
|
266
|
+
'@type': 'HowToStep',
|
|
267
|
+
name: step.name,
|
|
268
|
+
text: step.text,
|
|
269
|
+
})),
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
};
|