@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,220 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
const slug = 'simulyator-predvaritelnogo-testa-na-krov-kriminalistika';
|
|
4
|
+
const title = 'Симулятор предварительного теста на кровь';
|
|
5
|
+
const description = 'Симулируйте предварительные тесты на кровь с реагентами Кастла-Мейера и люминола. Отличите настоящую кровь от ложноположительных результатов.';
|
|
6
|
+
|
|
7
|
+
const howTo = [
|
|
8
|
+
{
|
|
9
|
+
"name": "Выбрать образец",
|
|
10
|
+
"text": "Выберите пробу для анализа из штатива, представляющую собой кровь или ложноположительный материал."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Выбрать метод",
|
|
14
|
+
"text": "Решите, проводить ли цветовой тест Кастла-Мейера или тест на свечение с люминолом."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "Нанести реагенты",
|
|
18
|
+
"text": "Добавьте капли реагента Кастла-Мейера, а затем перекись водорода, или нанесите люминол напрямую."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Оценить реакцию",
|
|
22
|
+
"text": "Наблюдайте за изменением цвета или синим свечением в темноте для классификации реакции."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const faq = [
|
|
27
|
+
{
|
|
28
|
+
"key": "faq-1",
|
|
29
|
+
"question": "Почему тест называется предварительным?",
|
|
30
|
+
"answer": "Предварительные тесты - это экспресс-анализы на основе каталитической активности. Они очень чувствительны, но не обладают абсолютной специфичностью, поэтому требуют обязательного лабораторного подтверждения."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "faq-2",
|
|
34
|
+
"question": "Что вызывает ложный результат в тесте Кастла-Мейера?",
|
|
35
|
+
"answer": "Тест основан на пероксидазоподобной активности гема. Любые сильные химические окислители, ионы металлов (например, железо в ржавчине) или растительные пероксидазы также катализируют эту реакцию."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "faq-3",
|
|
39
|
+
"question": "Как происходит реакция с люминолом?",
|
|
40
|
+
"answer": "Люминол реагирует с перекисью водорода в присутствии катализатора, например, железа в гемоглобине. Возбужденный аминофталат-ион излучает синий свет при переходе в основное состояние."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "faq-4",
|
|
44
|
+
"question": "Может ли бытовой отбеливатель дать ложный результат?",
|
|
45
|
+
"answer": "Да. Гипохлорит натрия является сильным окислителем. Он напрямую окисляет фенолфталин или люминол без необходимости в катализаторе, вызывая быстро угасающее свечение."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "faq-5",
|
|
49
|
+
"question": "В чем разница между предварительным и подтверждающим тестом?",
|
|
50
|
+
"answer": "Предварительные тесты выполняются быстро и обладают высокой чувствительностью для локализации пятен на месте происшествия. Подтверждающие тесты абсолютно достоверно доказывают наличие человеческой крови."
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography = [
|
|
55
|
+
{
|
|
56
|
+
"name": "Kastle-Meyer test - Wikipedia",
|
|
57
|
+
"url": "https://en.wikipedia.org/wiki/Kastle%E2%80%93Meyer_test"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Grodsky, M., Wright, K. & Kirk, P. L. (1951). Simplified preliminary blood testing. An improved technique and comparative study of methods. Journal of Criminal Law and Criminology.",
|
|
61
|
+
"url": "https://scholarlycommons.law.northwestern.edu/jclc/vol42/iss1/10/"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
export const content: ToolLocaleContent = {
|
|
66
|
+
slug,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
ui: {
|
|
70
|
+
"title": "Симулятор теста на кровь",
|
|
71
|
+
"desc": "Проводите виртуальные лабораторные эксперименты с люминолом и реагентом Кастла-Мейера для обнаружения крови.",
|
|
72
|
+
"configTitle": "Лабораторный контроль",
|
|
73
|
+
"sampleLabel": "Выбрать образец",
|
|
74
|
+
"reagentLabel": "Выбрать реагент",
|
|
75
|
+
"lightsLabel": "Освещение",
|
|
76
|
+
"btnLightsOff": "Выключить свет",
|
|
77
|
+
"btnLightsOn": "Включить свет",
|
|
78
|
+
"btnReset": "Очистить чашку",
|
|
79
|
+
"resultsTitle": "Результаты предварительного теста",
|
|
80
|
+
"sampleBlood": "Образец крови (Контроль)",
|
|
81
|
+
"sampleRust": "Ржавчина (Оксид железа)",
|
|
82
|
+
"sampleBleach": "Отбеливатель (Гипохлорит натрия)",
|
|
83
|
+
"samplePotato": "Картофель (Растительная пероксидаза)",
|
|
84
|
+
"sampleSaliva": "Образец слюны",
|
|
85
|
+
"reagentKM": "Реагент Кастла-Мейера",
|
|
86
|
+
"reagentH2O2": "Перекись водорода (H2O2)",
|
|
87
|
+
"reagentLuminol": "Раствор люминола",
|
|
88
|
+
"resultTruePositive": "Истинно положительный (Обнаружена кровь)",
|
|
89
|
+
"resultFalsePositive": "Ложноположительный (Несвязанный с кровью катализатор)",
|
|
90
|
+
"resultNegative": "Отрицательная реакция",
|
|
91
|
+
"statusLabel": "Статус реакции",
|
|
92
|
+
"reactionLabel": "Объяснение реакции",
|
|
93
|
+
"dropReagentBtn": "Капнуть реагент",
|
|
94
|
+
"activeCompounds": "Активные вещества",
|
|
95
|
+
"reactionSpeed": "Скорость реакции",
|
|
96
|
+
"reactionDuration": "Длительность реакции",
|
|
97
|
+
"specimenBase": "Основа образца",
|
|
98
|
+
"kmPending": "Реагент Кастла-Мейера нанесен. Добавьте перекись водорода (H2O2) для запуска цветной реакции.",
|
|
99
|
+
"h2o2Only": "Перекись водорода нанесена. Нет видимой реакции без индикатора Кастла-Мейера.",
|
|
100
|
+
"noReaction": "Реакция не наблюдается. Образец остается бесцветным.",
|
|
101
|
+
"luminolBlood": "В темноте сразу наблюдается интенсивное сине-голубое свечение. Гем в гемоглобине каталитически окислил люминол. Истинно положительный.",
|
|
102
|
+
"luminolBleach": "Сразу наблюдается очень яркое синее свечение, которое угасло менее чем за 2 секунды. Отбеливатель напрямую окислил люминол. Ложноположительный.",
|
|
103
|
+
"luminolRust": "Наблюдается слабое синее свечение. Ионы металлов в ржавчине слабо катализируют реакцию. Ложноположительный.",
|
|
104
|
+
"luminolPotato": "Свечение отсутствует. Растительные пероксидазы не катализируют окисление люминола в этих условиях. Отрицательный.",
|
|
105
|
+
"luminolNegative": "В темноте свечение отсутствует. Вещество не катализирует окисление люминола. Отрицательный.",
|
|
106
|
+
"kmBlood": "Яркое розовое окрашивание сразу при добавлении перекиси водорода. Гем в крови катализировал окисление фенолфталина в фенолфталеин. Истинно положительный.",
|
|
107
|
+
"kmBleach": "Сразу появляется сильное розовое окрашивание. Гипохлорит натрия напрямую окисляет фенолфталин без перекиси водорода. Ложноположительный.",
|
|
108
|
+
"kmRust": "Медленное, слабое коричневато-розовое окрашивание через несколько секунд. Ржавчина катализирует реакцию медленнее. Ложноположительный.",
|
|
109
|
+
"kmPotato": "Медленное, бледно-розовое окрашивание с задержкой. Растительные пероксидазы слабо катализируют реакцию. Ложноположительный.",
|
|
110
|
+
"kmNegative": "Изменение цвета не наблюдается. Раствор остается бесцветным. Отрицательный."
|
|
111
|
+
},
|
|
112
|
+
seo: [
|
|
113
|
+
{
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "Полное руководство по предварительным тестам на кровь в криминалистике",
|
|
116
|
+
"level": 2
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "Предварительные тесты на кровь представляют собой высокочувствительные экспресс-исследования, используемые экспертами на местах преступлений для быстрого обнаружения следов крови. Перед проведением дорогостоящего и длительного ДНК-анализа следователи полагаются на эти экспресс-методы для локализации биологического материала на одежде, оружии и других поверхностях. Поскольку эти тесты реагируют на пероксидазоподобную активность гема, железосодержащей части гемоглобина, их называют предварительными. Положительный результат указывает на высокую вероятность наличия крови, но для исключения ложных реакций требуется обязательный лабораторный подтверждающий тест."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "title",
|
|
124
|
+
"text": "Принцип работы цветного теста Кастла-Мейера и его шаги",
|
|
125
|
+
"level": 3
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "paragraph",
|
|
129
|
+
"html": "Цветовой тест Кастла-Мейера (KM) основан на химическом окислении бесцветного фенолфталина в розовый фенолфталеин. Последовательность нанесения реагентов должна быть строго соблюдена: сначала на пробу наносится реагент фенолфталин. При наличии крови гем гемоглобина выступает в качестве органического катализатора. Затем при добавлении перекиси водорода гем ускоряет ее распад и мгновенно окисляет фенолфталин в розовый фенолфталеин, давая яркий розовый цвет. Задержанное розовое окрашивание через пятнадцать секунд считается отрицательным результатом."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "Люминол и криминалистическая хемолюминесценция в деталях",
|
|
134
|
+
"level": 3
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "Люминол - это химическое соединение, которое испускает характерное сине-голубое свечение в темноте при окислении под действием железистого гема крови. Криминалисты распыляют раствор люминола на большие площади на месте происшествия. При контакте с микроследами крови железо катализирует реакцию окисления с перекисью водорода. Реакция создает возбужденный аминофталат-ион, который излучает фотоны света при переходе в основное состояние. Из-за слабой интенсивности свечения для фиксации требуется полная темнота."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "table",
|
|
142
|
+
"headers": [
|
|
143
|
+
"Образец",
|
|
144
|
+
"Реакция Кастла-Мейера",
|
|
145
|
+
"Реакция с Люминолом",
|
|
146
|
+
"Клиническая оценка"
|
|
147
|
+
],
|
|
148
|
+
"rows": [
|
|
149
|
+
[
|
|
150
|
+
"Контроль крови",
|
|
151
|
+
"Мгновенное яркое розовое окрашивание от H2O2.",
|
|
152
|
+
"Яркое и устойчивое синее свечение до 8с.",
|
|
153
|
+
"Истинно положительный. Гем обеспечивает высокую активность."
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
"Отбеливатель",
|
|
157
|
+
"Розовый цвет появляется до добавления H2O2.",
|
|
158
|
+
"Очень сильное свечение, угасающее за 2с.",
|
|
159
|
+
"Ложноположительный. Сильный окислитель реагирует без катализатора."
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"Оксид железа",
|
|
163
|
+
"Медленное и слабое розово-коричневое окрашивание.",
|
|
164
|
+
"Слабое, тусклое синее свечение.",
|
|
165
|
+
"Ложноположительный. Свободные ионы железа катализируют медленно."
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
"Картофель (Энзим)",
|
|
169
|
+
"Медленное розовое окрашивание через время.",
|
|
170
|
+
"Свечение отсутствует в темноте.",
|
|
171
|
+
"Ложноположительный (KM) / Отрицательный (LUM)."
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "title",
|
|
177
|
+
"text": "Отличие настоящей крови от ложноположительных реакций на практике",
|
|
178
|
+
"level": 3
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "paragraph",
|
|
182
|
+
"html": "Исключение ложноположительной реакции является важнейшей частью работы судебного эксперта. Моющие средства с гипохлоритом натрия окисляют индикаторы напрямую. Криминалисты отличают их по динамике времени реакции: отбеливатель дает розовый цвет в тесте Кастла-Мейера без использования перекиси водорода, а его свечение с люминолом гаснет за несколько секунд. Растительные пероксидазы инактивируются температурой, в то время как гемоглобин крови термостабилен, что позволяет легко отличить его путем прогрева проб."
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
faq,
|
|
186
|
+
bibliography,
|
|
187
|
+
howTo,
|
|
188
|
+
schemas: [
|
|
189
|
+
{
|
|
190
|
+
'@context': 'https://schema.org',
|
|
191
|
+
'@type': 'SoftwareApplication',
|
|
192
|
+
name: title,
|
|
193
|
+
description,
|
|
194
|
+
applicationCategory: 'ForensicApplication',
|
|
195
|
+
operatingSystem: 'Any'
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: {
|
|
204
|
+
'@type': 'Answer',
|
|
205
|
+
text: item.answer
|
|
206
|
+
}
|
|
207
|
+
}))
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
step: howTo.map((step) => ({
|
|
214
|
+
'@type': 'HowToStep',
|
|
215
|
+
name: step.name,
|
|
216
|
+
text: step.text
|
|
217
|
+
}))
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
|
|
3
|
+
const slug = 'forensisk-presumtivt-blodtest-simulator';
|
|
4
|
+
const title = 'Forensisk Presumtivt Blodtest Simulator';
|
|
5
|
+
const description = 'Simulera presumtiva blodtester med Kastle-Meyer och Luminol reagenser. Skilj på riktigt blod och falska positiva svar.';
|
|
6
|
+
|
|
7
|
+
const howTo = [
|
|
8
|
+
{
|
|
9
|
+
"name": "Välj ett prov",
|
|
10
|
+
"text": "Välj ett prov från stället som ska testas, vilket kan vara blod eller ett falskt positivt material."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "Välj testmetod",
|
|
14
|
+
"text": "Beslut om du vill utföra Kastle-Meyer färgtestet eller Luminol luminescenstestet."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "Applicera reagenser",
|
|
18
|
+
"text": "Tillsätt droppar av Kastle-Meyer reagens följt av väteperoxid, eller applicera Luminol direkt."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Tolka reaktionen",
|
|
22
|
+
"text": "Observera färgförändringar eller en blå glöd i mörkret för att klassificera reaktionen."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const faq = [
|
|
27
|
+
{
|
|
28
|
+
"key": "faq-1",
|
|
29
|
+
"question": "Varför kallas det ett presumtivt test?",
|
|
30
|
+
"answer": "Presumtiva tester är preliminära screeningar baserade på katalytisk aktivitet. De är mycket känsliga men inte helt specifika."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"key": "faq-2",
|
|
34
|
+
"question": "Vad orsakar ett falskt positivt svar i Kastle-Meyer-testet?",
|
|
35
|
+
"answer": "Testet bygger på heme-gruppens aktivitet. Kemiska oxidationsmedel, metalljoner eller växtperoxidaser kan också katalysera reaktionen."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "faq-3",
|
|
39
|
+
"question": "Hur sker Luminol reaktionen?",
|
|
40
|
+
"answer": "Luminol reagerar med väteperoxid i närvaro av en katalysator som järnet i hemoglobin. Detta avger ett blått ljus vid återgång till grundtillståndet."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "faq-4",
|
|
44
|
+
"question": "Kan blekmedel orsaka falska positiva svar?",
|
|
45
|
+
"answer": "Ja, natriumhypoklorit är ett starkt oxidationsmedel. Det oxiderar direkt fenolftalin eller luminol utan katalysator med en snabbt bleknande reaktion."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"key": "faq-5",
|
|
49
|
+
"question": "Vad är skillnaden mellan presumtiva och konfirmerande tester?",
|
|
50
|
+
"answer": "Presumtiva tester är snabba och billiga för att hitta fläckar. Konfirmerande tester bevisar närvaron av humanblod med säkerhet."
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography = [
|
|
55
|
+
{
|
|
56
|
+
"name": "Kastle-Meyer test - Wikipedia",
|
|
57
|
+
"url": "https://en.wikipedia.org/wiki/Kastle%E2%80%93Meyer_test"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Grodsky, M., Wright, K. & Kirk, P. L. (1951). Simplified preliminary blood testing. An improved technique and comparative study of methods. Journal of Criminal Law and Criminology.",
|
|
61
|
+
"url": "https://scholarlycommons.law.northwestern.edu/jclc/vol42/iss1/10/"
|
|
62
|
+
}
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
export const content: ToolLocaleContent = {
|
|
66
|
+
slug,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
ui: {
|
|
70
|
+
"title": "Blodtest Simulator",
|
|
71
|
+
"desc": "Utför virtuella laboratorieexperiment med Luminol och Kastle-Meyer reagenser för att detektera blod.",
|
|
72
|
+
"configTitle": "Laboratoriekontroller",
|
|
73
|
+
"sampleLabel": "Välj Prov",
|
|
74
|
+
"reagentLabel": "Välj Reagens",
|
|
75
|
+
"lightsLabel": "Belysning",
|
|
76
|
+
"btnLightsOff": "Släck Lampor",
|
|
77
|
+
"btnLightsOn": "Tänd Lampor",
|
|
78
|
+
"btnReset": "Återställ Skål",
|
|
79
|
+
"resultsTitle": "Testresultat",
|
|
80
|
+
"sampleBlood": "Blodprov (Kontroll)",
|
|
81
|
+
"sampleRust": "Rost (Järnoxid)",
|
|
82
|
+
"sampleBleach": "Blekmedel (Natriumhypochlorit)",
|
|
83
|
+
"samplePotato": "Potatis (Växtperoxidase)",
|
|
84
|
+
"sampleSaliva": "Salivprov",
|
|
85
|
+
"reagentKM": "Kastle-Meyer Reagens",
|
|
86
|
+
"reagentH2O2": "Väteperoxid (H2O2)",
|
|
87
|
+
"reagentLuminol": "Luminollösning",
|
|
88
|
+
"resultTruePositive": "Riktigt Positivt (Blod Detekterat)",
|
|
89
|
+
"resultFalsePositive": "Falskt Positivt (Icke-Blod Katalysator)",
|
|
90
|
+
"resultNegative": "Negativ Reaktion",
|
|
91
|
+
"statusLabel": "Reaktionsstatus",
|
|
92
|
+
"reactionLabel": "Reaktionsförklaring",
|
|
93
|
+
"dropReagentBtn": "Applicera Droppe",
|
|
94
|
+
"activeCompounds": "Aktiva Föreningar",
|
|
95
|
+
"reactionSpeed": "Reaktionshastighet",
|
|
96
|
+
"reactionDuration": "Reaktionsvaraktighet",
|
|
97
|
+
"specimenBase": "Provbas",
|
|
98
|
+
"kmPending": "Kastle-Meyer reagens har applicerats. Tillsätt Väteperoxid (H2O2) för att katalisera färgförändringen.",
|
|
99
|
+
"h2o2Only": "Väteperoxid har applicerats. Ingen synlig reaktion utan Kastle-Meyer indikator.",
|
|
100
|
+
"noReaction": "Ingen reaktion observerad. Provet förblir färglöst.",
|
|
101
|
+
"luminolBlood": "Direkt intensiv blå glöd observerad i mörkret. Hemegrupper i hemoglobin oxiderade luminol katalytiskt. Riktigt Positivt.",
|
|
102
|
+
"luminolBleach": "Direkt mycket intensiv blå glöd observerad som försvann på under 2 sekunder. Blekmedel oxiderar luminol direkt. Falskt Positivt.",
|
|
103
|
+
"luminolRust": "Svag blå glöd observerad. Metalljoner i rost katalyserar oxidationen svagt. Falskt Positivt.",
|
|
104
|
+
"luminolPotato": "Ingen luminescens. Växtperoxidaser katalyserar inte oxidationen av luminol under dessa förhållanden. Negativ.",
|
|
105
|
+
"luminolNegative": "Ingen luminescens observerad i mörkret. Föreningen katalyserar inte luminoloxidation. Negativ.",
|
|
106
|
+
"kmBlood": "Direkt stark rosa färgning efter tillsats av väteperoxid. Heme i blod katalyserade oxidationen av fenolftalin till fenolftalein. Riktigt Positivt.",
|
|
107
|
+
"kmBleach": "Direkt stark rosa färgförändring. Natriumhypoklorit oxiderar fenolftalin direkt utan väteperoxid. Falskt Positivt.",
|
|
108
|
+
"kmRust": "Långsam, svag brunrosa färgning efter några sekunder. Rost katalyserar reaktionen mycket långsammare. Falskt Positivt.",
|
|
109
|
+
"kmPotato": "Långsam, svag rosa färgning efter en fördröjning. Växtperoxidaser katalyserar reaktionen svagt. Falskt Positivt.",
|
|
110
|
+
"kmNegative": "Ingen färgförändring observerad. Lösningen förblir färglös. Negativ."
|
|
111
|
+
},
|
|
112
|
+
seo: [
|
|
113
|
+
{
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "Fullständig Guide för Forensiska Blod Vortester i Laboratorium",
|
|
116
|
+
"level": 2
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "Presumtiva blodtester är preliminära, mycket känsliga screeninganalyser som används på brottsplatser och i kriminaltekniska laboratorier för att söka efter potentiella blodspår. Innan man genomför dyrbar och tidskrävande DNA-analys förlitar sig utredare på dessa snabba tester för att lokalisera biologiskt material på kläder, vapen och andra ytor. Eftersom dessa screeningtester reagerar på den peroxidase-liknande aktiviteten hos heme-gruppen i hemoglobin, är de presumtiva till sin karaktär. Ett positivt svar tyder starkt på blod, men ett konfirmerande test i laboratorium krävs alltid för att utesluta falska positiva svar."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "title",
|
|
124
|
+
"text": "Hur Kastle-Meyer Färgtestet Fungerar i Detalj",
|
|
125
|
+
"level": 3
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "paragraph",
|
|
129
|
+
"html": "Kastle-Meyer färgtestet (KM) utnyttjar reducerad, färglös fenolftalin som oxideras till rosa fenolftalein. Reaktionssekvensen är mycket strikt: först appliceras det färglösa reagenset på provet. Om blod finns närvarande fungerar heme-gruppen som en organisk katalysator. När väteperoxid tillsätts katalyserar heme oxidationen av fenolftalin, vilket omedelbart ger en starkt rosa färg. En fördröjd färgförändring efter mer än femton sekunder betraktas som en negativ reaktion orsakad av omgivande syreoxidation."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "Luminol och Kemisk Luminescens i Forensisk Forskning",
|
|
134
|
+
"level": 3
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "Luminol är en kemisk förening som avger en blå-cyan färgad glöd i mörkret när den oxideras i närvaro av en metallkatalysator. Forensiker sprejar en utspädd alkalisk luminollösning över stora ytor på brottsplatsen. Vid kontakt med osynliga blodrester katalyserar järnet i hemoglobinet reaktionen med oxidationsmedlet. Denna reaktion bildar en exciterad aminophthalat-jon som avger ljusenergi när den återgår till sitt grundtillstånd. Eftersom ljusintensiteten är svag krävs fullständigt mörker för att observera och fotografera glöden."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"type": "table",
|
|
142
|
+
"headers": [
|
|
143
|
+
"Testat Material",
|
|
144
|
+
"Kastle-Meyer Profil",
|
|
145
|
+
"Luminol Glödprofil",
|
|
146
|
+
"Forensisk Bedömning"
|
|
147
|
+
],
|
|
148
|
+
"rows": [
|
|
149
|
+
[
|
|
150
|
+
"Blod Kontrollprov",
|
|
151
|
+
"Omedelbar stark rosa färgning efter H2O2.",
|
|
152
|
+
"Intensiv och stabil blå-cyan glöd upp till 8s.",
|
|
153
|
+
"Riktigt Positivt. Heme ger en effektiv katalytisk aktivitet."
|
|
154
|
+
],
|
|
155
|
+
[
|
|
156
|
+
"Blekmedel",
|
|
157
|
+
"Rosa färgning redan före H2O2 tillsatts.",
|
|
158
|
+
"Mycket intensiv glöd som försvinner inom 2s.",
|
|
159
|
+
"Falskt Positivt. Stark oxidator reagerar direkt utan katalys."
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"Järnoxid (Rost)",
|
|
163
|
+
"Långsam och svag brunrosa färgning.",
|
|
164
|
+
"Svag, matt blå glöd.",
|
|
165
|
+
"Falskt Positivt. Fria järnjoner katalyserar svagt."
|
|
166
|
+
],
|
|
167
|
+
[
|
|
168
|
+
"Potatis (Peroxidase)",
|
|
169
|
+
"Långsam och svag rosa färgning.",
|
|
170
|
+
"Ingen luminescens observerad i mörkret.",
|
|
171
|
+
"Falskt Positivt (KM) / Negativt (LUM)."
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"type": "title",
|
|
177
|
+
"text": "Särskilja Riktigt Blod Från Falska Positiva Svar på Laboratoriet",
|
|
178
|
+
"level": 3
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"type": "paragraph",
|
|
182
|
+
"html": "Att skilja riktigt blod från falska positiva reaktioner är avgörande för bevisvärdet i domstol. Rengöringsmedel som natriumhypoklorit (blekmedel) oxiderar indikatorer direkt utan att väteperoxid behövs. Forensiska experter identifierar dem genom att studera reaktionshastigheten: blekmedel ger KM-reaktion direkt utan väteperoxid och dess luminolglöd slocknar nästan direkt. Dessutom inaktiveras växtperoxidaser av värme, medan hemoglobin är värmestabilt och behåller sin katalytiska förmåga efter upphettning."
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
faq,
|
|
186
|
+
bibliography,
|
|
187
|
+
howTo,
|
|
188
|
+
schemas: [
|
|
189
|
+
{
|
|
190
|
+
'@context': 'https://schema.org',
|
|
191
|
+
'@type': 'SoftwareApplication',
|
|
192
|
+
name: title,
|
|
193
|
+
description,
|
|
194
|
+
applicationCategory: 'ForensicApplication',
|
|
195
|
+
operatingSystem: 'Any'
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
'@context': 'https://schema.org',
|
|
199
|
+
'@type': 'FAQPage',
|
|
200
|
+
mainEntity: faq.map((item) => ({
|
|
201
|
+
'@type': 'Question',
|
|
202
|
+
name: item.question,
|
|
203
|
+
acceptedAnswer: {
|
|
204
|
+
'@type': 'Answer',
|
|
205
|
+
text: item.answer
|
|
206
|
+
}
|
|
207
|
+
}))
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
step: howTo.map((step) => ({
|
|
214
|
+
'@type': 'HowToStep',
|
|
215
|
+
name: step.name,
|
|
216
|
+
text: step.text
|
|
217
|
+
}))
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
};
|