@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,246 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'microscopio-comparacion-fibras-forense';
|
|
5
|
+
const title = 'Simulador de microscopio de comparación de fibras forenses';
|
|
6
|
+
const description = 'Elabora un perfil de fibra textil dubitada, compáralo con referencias indubitadas e interpreta la morfología, polarización y espectro UV-Vis de tintes.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Crear el perfil de la fibra dubitada',
|
|
11
|
+
text: 'Define el material, el diámetro, la dirección de torsión, la respuesta de polarización y el perfil del tinte de la fibra recuperada.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Elegir una fibra indubitada de comparación',
|
|
15
|
+
text: 'Selecciona en el lado derecho la fibra de una prenda sospechosa, como algodón, lana, poliéster o nailon.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Ajustar el enfoque y la polarización',
|
|
19
|
+
text: 'Mueve el control deslizante de enfoque y gira el polarizador para observar la nitidez, las crestas superficiales y la birrefringencia.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Comparar la morfología y los espectros UV-Vis',
|
|
23
|
+
text: 'Utiliza la puntuación morfológica, la de espectro, la coincidencia combinada y las curvas de absorción para determinar si las muestras son consistentes o claramente distintas.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: '¿Puede la microscopía de fibras identificar la prenda exacta de la que proviene una fibra?',
|
|
30
|
+
answer: 'Por lo general, no. La comparación de fibras puede demostrar la consistencia o las diferencias entre una fibra dubitada y un tejido de origen conocido, pero la atribución a una fuente individual requiere de un contexto minucioso, métodos validados y, a menudo, análisis químicos o instrumentales adicionales.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '¿Por qué se utiliza luz polarizada en la comparación de fibras?',
|
|
34
|
+
answer: 'La luz polarizada revela la birrefringencia, el comportamiento de extinción y las diferencias estructurales entre fibras naturales y sintéticas. Las sintéticas suelen mostrar una respuesta de polarización más intensa debido a su orientación molecular.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: '¿Qué aporta el espectro UV-Vis?',
|
|
38
|
+
answer: 'Mientras que la microscopía describe la forma y el comportamiento óptico, la absorbancia UV-Vis compara el comportamiento de los tintes a través de distintas longitudes de onda. Fibras similares con tintes distintos pueden diferenciarse claramente en el gráfico espectral.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: '¿Por qué los resultados se muestran como puntuaciones en lugar de una identificación definitiva?',
|
|
42
|
+
answer: 'La evidencia de trazas forenses debe informarse de manera proporcional. Las puntuaciones son resúmenes educativos de la similitud morfológica y de los tintes, no una conclusión de laboratorio ni un dictamen legal.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Microscopio forense virtual de campo dividido que compara dos fibras textiles',
|
|
52
|
+
chartAria: 'Gráfico de absorbancia UV-Vis que compara los espectros de tinte de la fibra dubitada y de la indubitada',
|
|
53
|
+
questionedSample: 'Muestra dubitada',
|
|
54
|
+
fixedEvidence: 'Evidencia recuperada fija',
|
|
55
|
+
builderSummaryDefault: 'Algodón / 18 µm / irregular / índigo',
|
|
56
|
+
customQuestionedLabel: 'Fibra dubitada del caso',
|
|
57
|
+
material: 'Material',
|
|
58
|
+
cotton: 'Algodón',
|
|
59
|
+
woolMaterial: 'Lana',
|
|
60
|
+
polyesterMaterial: 'Poliéster',
|
|
61
|
+
nylonMaterial: 'Nailon',
|
|
62
|
+
materialcotton: 'algodón',
|
|
63
|
+
materialwool: 'lana',
|
|
64
|
+
materialpolyester: 'poliéster',
|
|
65
|
+
materialnylon: 'nailon',
|
|
66
|
+
twist: 'Torsión',
|
|
67
|
+
irregularTwist: 'Irregular',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Diámetro',
|
|
71
|
+
polarResponse: 'Respuesta polar',
|
|
72
|
+
dyeProfile: 'Perfil de tinte',
|
|
73
|
+
indigoDye: 'Índigo',
|
|
74
|
+
crimsonDye: 'Carmesí',
|
|
75
|
+
navyDye: 'Azul marino',
|
|
76
|
+
violetDye: 'Violeta',
|
|
77
|
+
dyeindigo: 'índigo',
|
|
78
|
+
dyecrimson: 'carmesí',
|
|
79
|
+
dyenavy: 'azul marino',
|
|
80
|
+
dyeviolet: 'violeta',
|
|
81
|
+
knownSample: 'Muestra indubitada',
|
|
82
|
+
questionedCotton: 'Fibra de algodón azul dubitada',
|
|
83
|
+
suspectCotton: 'Fibra de algodón de camisa sospechosa',
|
|
84
|
+
wool: 'Fibra de suéter de lana roja',
|
|
85
|
+
polyester: 'Fibra de chaqueta de poliéster azul marino',
|
|
86
|
+
nylon: 'Fibra de forro de nailon violeta',
|
|
87
|
+
focus: 'Enfoque fino',
|
|
88
|
+
polarizer: 'Ángulo del polarizador',
|
|
89
|
+
morphology: 'Morfología',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Birrefringencia',
|
|
92
|
+
combinedMatch: 'Coincidencia combinada',
|
|
93
|
+
uvVisTitle: 'Superposición de absorbancia UV-Vis',
|
|
94
|
+
statusStrong: 'Alta consistencia',
|
|
95
|
+
statusPartial: 'Comparación mixta',
|
|
96
|
+
statusDifferent: 'Exclusión respaldada',
|
|
97
|
+
verdictStrong: 'La fibra dubitada y la indubitada presentan una alta consistencia en diámetro, torsión, comportamiento óptico y espectro de tinte. En un caso real, esto se informaría como sustento de un posible origen textil común, no como una identificación individual.',
|
|
98
|
+
verdictPartial: 'La comparación es mixta. Algunas características de clase coinciden, pero la morfología, la respuesta del tinte o la birrefringencia muestran diferencias suficientes como para requerir un examen más exhaustivo antes de plantear cualquier asociación prudente.',
|
|
99
|
+
verdictDifferent: 'Las fibras no son consistentes en características de clase clave. El resultado simulado respalda la exclusión de este tejido conocido como la fuente probable de la fibra dubitada.',
|
|
100
|
+
disclaimer: 'Simulación con fines educativos. La comparación real de fibras forenses requiere microscopía validada, controles, documentación, medidas contra la contaminación, revisión por pares e interpretación experta de trazas.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Comparación de fibras forenses con microscopía de campo dividido y espectros UV-Vis',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Simulador didáctico',
|
|
113
|
+
title: 'Qué demuestra este microscopio de fibras virtual',
|
|
114
|
+
html: 'Este simulador modela el flujo de trabajo práctico de la <strong>comparación de fibras forenses</strong>: describe la fibra textil dubitada, compárala con una referencia indubitada, ajusta el enfoque, gira los filtros de polarización y analiza la respuesta del tinte con una curva de absorbancia UV-Vis simplificada. Está diseñado para estudiantes de trazas forenses, no para la toma de decisiones en casos reales.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 campos', label: 'vista de microscopio dividido', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'rango del espectro visible', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 clases', label: 'algodón, lana, poliéster, nailon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'rotación del polarizador', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Observaciones fundamentales en la comparación de fibras textiles',
|
|
129
|
+
items: [
|
|
130
|
+
'Mide o estima el diámetro de la fibra registrando las variaciones naturales a lo largo de la hebra.',
|
|
131
|
+
'Registra la dirección de la torsión, las crestas superficiales, las características de tipo médula, las partículas de deslustrado y las pistas de sección transversal si están disponibles.',
|
|
132
|
+
'Utiliza luz polarizada para comparar la birrefringencia, el comportamiento de extinción y los cambios de brillo al girar la muestra.',
|
|
133
|
+
'Compara el color de forma microscópica y recurre a la información instrumental del tinte si el caso requiere una mayor discriminación.',
|
|
134
|
+
'Informa si los hallazgos son consistentes, diferentes o no concluyentes; evita expresiones que sugieran una fuente textil única sin justificación.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Observación', 'A qué ayuda a responder', 'Límite'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Diámetro y morfología', '¿Son las fibras físicamente similares?', 'La variación de fabricación puede solaparse entre distintas prendas.'],
|
|
142
|
+
['Torsión y detalle superficial', '¿Coinciden las características naturales o sintéticas?', 'El daño, el estiramiento y el montaje pueden alterar la apariencia.'],
|
|
143
|
+
['Respuesta de luz polarizada', '¿Coinciden las propiedades ópticas?', 'La birrefringencia es una evidencia de clase, no una firma única.'],
|
|
144
|
+
['Espectro del tinte UV-Vis', '¿Son consistentes los colorantes?', 'Tintes similares pueden verse parecidos; la extracción y los ajustes del instrumento influyen.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Qué respalda la consistencia',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Múltiples características de clase independientes coinciden entre la fibra dubitada y la indubitada.',
|
|
156
|
+
points: ['Rango de diámetro comparable', 'Mismo tipo general de fibra', 'Comportamiento de polarización similar', 'Picos de absorbancia de tinte superpuestos'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Qué respalda la exclusión',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'Aparece una diferencia clara y repetible en una característica que debería coincidir si provinieran de un origen textil común.',
|
|
162
|
+
points: ['Discrepancia entre natural y sintético', 'Torsión o morfología superficial diferente', 'Espectro de tinte marcadamente distinto', 'Respuesta de birrefringencia incompatible'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Cómo funciona el modelo de simulación',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'El modelo almacena una pequeña base de datos de referencia con el diámetro, la dirección de torsión, la clase de fibra, la birrefringencia, la familia de tintes y los puntos de absorbancia UV-Vis. La fibra dubitada es configurable por el usuario, por lo que la puntuación de comparación responde al perfil del caso y no a una muestra fija de aula. La vista del microscopio visual reacciona al enfoque y al ángulo del polarizador para mostrar a los estudiantes por qué los ajustes ópticos son cruciales.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'El control del polarizador es especialmente útil para las fibras sintéticas. Al poliéster y al nailon se les asignan valores de birrefringencia más altos, por lo que su brillo cambia de forma más visible al girar el polarizador. El algodón natural y la lana también responden, pero el efecto simulado es más sutil. Esto refleja la noción didáctica de que la orientación molecular y la estructura de la fibra influyen en el comportamiento óptico.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'El gráfico UV-Vis es una superposición simplificada, no un sustituto de un espectrofotómetro. En el trabajo real con trazas, la comparación de tintes puede requerir microespectrofotometría, cromatografía en capa fina, química de extracción, controles de referencia e incertidumbre documentada. El gráfico está pensado para enseñar por qué dos fibras que parecen similares al microscopio pueden diferenciarse por la química de sus tintes.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Los examinadores forenses deben documentar cada paso del proceso de análisis de fibras. Esto incluye tomar fotografías detalladas, registrar mediciones y mantener una cadena de custodia para toda la evidencia física. El simulador ayuda a los estudiantes a comprender la importancia de la documentación sistemática y la comparación objetiva en el trabajo forense. Al interactuar con diferentes configuraciones, los usuarios pueden aprender cómo el camino de la luz, el grosor de la muestra y la concentración del tinte afectan las curvas espectrales y la apariencia física.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'glossary',
|
|
189
|
+
items: [
|
|
190
|
+
{ term: 'Fibra dubitada', definition: 'Fibra recuperada de una escena, víctima, sospechoso, herramienta, vehículo u otro elemento cuyo origen es desconocido.' },
|
|
191
|
+
{ term: 'Fibra indubitada', definition: 'Fibra de referencia recolectada de un tejido u objeto conocido para compararla con la muestra dubitada.' },
|
|
192
|
+
{ term: 'Birrefringencia', definition: 'Comportamiento óptico por el cual un material tiene diferentes índices de refracción según la dirección de la luz o la polarización.' },
|
|
193
|
+
{ term: 'Espectro UV-Vis', definition: 'Gráfico que muestra la intensidad con la que un tinte o material absorbe la luz a diferentes longitudes de onda.' },
|
|
194
|
+
{ term: 'Característica de clase', definition: 'Propiedad que puede asociar la evidencia con un grupo de fuentes posibles en lugar de con una única fuente exclusiva.' },
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'tip',
|
|
199
|
+
title: 'Consejo de interpretación para estudiantes',
|
|
200
|
+
html: 'Una puntuación de similitud alta debe interpretarse como <strong>consistencia</strong>, no como identidad. Las trazas forenses son más sólidas cuando la microscopía, la química, el contexto de transferencia, la persistencia, el método de recuperación y los controles de contaminación apuntan en la misma dirección.',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'diagnostic',
|
|
204
|
+
variant: 'warning',
|
|
205
|
+
icon: 'mdi:scale-balance',
|
|
206
|
+
badge: 'Forensic caution',
|
|
207
|
+
title: 'Mantener la conclusión dentro de los límites de la evidencia',
|
|
208
|
+
html: 'Un microscopio en el navegador no puede validar una coincidencia de fibras. Los informes formales deben describir las observaciones, la base de comparación, las limitaciones y el nivel de sustento sin exagerar la atribución de origen.',
|
|
209
|
+
},
|
|
210
|
+
],
|
|
211
|
+
faq,
|
|
212
|
+
bibliography,
|
|
213
|
+
howTo,
|
|
214
|
+
schemas: [
|
|
215
|
+
{
|
|
216
|
+
'@context': 'https://schema.org',
|
|
217
|
+
'@type': 'SoftwareApplication',
|
|
218
|
+
name: title,
|
|
219
|
+
description,
|
|
220
|
+
applicationCategory: 'ForensicApplication',
|
|
221
|
+
operatingSystem: 'Any',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
'@context': 'https://schema.org',
|
|
225
|
+
'@type': 'FAQPage',
|
|
226
|
+
mainEntity: faq.map((item) => ({
|
|
227
|
+
'@type': 'Question',
|
|
228
|
+
name: item.question,
|
|
229
|
+
acceptedAnswer: {
|
|
230
|
+
'@type': 'Answer',
|
|
231
|
+
text: item.answer,
|
|
232
|
+
},
|
|
233
|
+
})),
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
'@context': 'https://schema.org',
|
|
237
|
+
'@type': 'HowTo',
|
|
238
|
+
name: title,
|
|
239
|
+
step: howTo.map((step) => ({
|
|
240
|
+
'@type': 'HowToStep',
|
|
241
|
+
name: step.name,
|
|
242
|
+
text: step.text,
|
|
243
|
+
})),
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
};
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'microscope-comparaison-fibres-forensiques';
|
|
5
|
+
const title = 'Simulateur de microscope de comparaison des fibres forensiques';
|
|
6
|
+
const description = 'Établissez le profil d\'une fibre textile suspecte, comparez-la à des références connues et interprétez la morphologie, la polarisation et le spectre de colorant UV-Vis.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Établir le profil de la fibre suspecte',
|
|
11
|
+
text: 'Définissez la matière, le diamètre, le sens de torsion, la réponse à la polarisation et le profil de colorant de la fibre récupérée.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Choisir une fibre de comparaison connue',
|
|
15
|
+
text: 'Sélectionnez sur la droite une fibre de vêtement suspect, comme le coton, la laine, le polyester ou le nylon.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Ajuster la mise au point et la polarisation',
|
|
19
|
+
text: 'Déplacez le curseur de mise au point et faites pivoter le polariseur pour observer la netteté, les crêtes de surface et la biréfringence.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Comparer la morphologie et les spectres UV-Vis',
|
|
23
|
+
text: 'Utilisez le score de morphologie, le score de spectre, la correspondance combinée et les courbes d\'absorption pour déterminer si les échantillons sont cohérents ou nettement différents.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'La microscopie des fibres peut-elle identifier le vêtement exact dont provient une fibre ?',
|
|
30
|
+
answer: 'Généralement non. La comparaison des fibres peut montrer la cohérence ou les différences entre une fibre suspecte et un textile connu, mais l\'attribution à une source individuelle nécessite un examen minutieux du contexte, des méthodes validées et souvent des analyses chimiques ou instrumentales complémentaires.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Pourquoi utiliser la lumière polarisée pour la comparaison des fibres ?',
|
|
34
|
+
answer: 'La lumière polarisée permet de révéler la biréfringence, le comportement d\'extinction et les différences structurelles entre fibres naturelles et synthétiques. Les fibres synthétiques présentent souvent une réponse de polarisation plus forte en raison de l\'orientation de leurs molécules.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Qu\'apporte le spectre UV-Vis ?',
|
|
38
|
+
answer: 'Alors que la microscopie décrit la forme et le comportement optique, l\'absorbance UV-Vis permet de comparer le comportement des colorants sur différentes longueurs d\'onde. Des fibres similaires dotées de colorants différents peuvent ainsi se distinguer nettement sur le tracé spectral.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Pourquoi les résultats sont-ils présentés sous forme de scores plutôt que d\'identification définitive ?',
|
|
42
|
+
answer: 'Les indices matériels en criminalistique doivent faire l\'objet de rapports proportionnés. Les scores sont des résumés pédagogiques de la similitude morphologique et spectrale, et non des conclusions de laboratoire ou des avis juridiques.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Microscope médico-légal virtuel à champ divisé comparant deux fibres textiles',
|
|
52
|
+
chartAria: 'Graphique d\'absorbance UV-Vis comparant les spectres de colorant de la fibre suspecte et de la fibre connue',
|
|
53
|
+
questionedSample: 'Échantillon suspect',
|
|
54
|
+
fixedEvidence: 'Indice récupéré fixe',
|
|
55
|
+
builderSummaryDefault: 'Coton / 18 µm / irrégulier / indigo',
|
|
56
|
+
customQuestionedLabel: 'Fibre suspecte du dossier',
|
|
57
|
+
material: 'Matière',
|
|
58
|
+
cotton: 'Coton',
|
|
59
|
+
woolMaterial: 'Laine',
|
|
60
|
+
polyesterMaterial: 'Polyester',
|
|
61
|
+
nylonMaterial: 'Nylon',
|
|
62
|
+
materialcotton: 'coton',
|
|
63
|
+
materialwool: 'laine',
|
|
64
|
+
materialpolyester: 'polyester',
|
|
65
|
+
materialnylon: 'nylon',
|
|
66
|
+
twist: 'Torsion',
|
|
67
|
+
irregularTwist: 'Irrégulier',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Diamètre',
|
|
71
|
+
polarResponse: 'Réponse polar',
|
|
72
|
+
dyeProfile: 'Profil de colorant',
|
|
73
|
+
indigoDye: 'Indigo',
|
|
74
|
+
crimsonDye: 'Cramoisi',
|
|
75
|
+
navyDye: 'Bleu marine',
|
|
76
|
+
violetDye: 'Violet',
|
|
77
|
+
dyeindigo: 'indigo',
|
|
78
|
+
dyecrimson: 'cramoisi',
|
|
79
|
+
dyenavy: 'bleu marine',
|
|
80
|
+
dyeviolet: 'violet',
|
|
81
|
+
knownSample: 'Comparaison connue',
|
|
82
|
+
questionedCotton: 'Fibre de coton bleue suspecte',
|
|
83
|
+
suspectCotton: 'Fibre de coton de la chemise suspecte',
|
|
84
|
+
wool: 'Fibre de pull en laine rouge',
|
|
85
|
+
polyester: 'Fibre de veste en polyester bleu marine',
|
|
86
|
+
nylon: 'Fibre de doublure en nylon violet',
|
|
87
|
+
focus: 'Mise au point fine',
|
|
88
|
+
polarizer: 'Angle du polariseur',
|
|
89
|
+
morphology: 'Morphologie',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Biréfringence',
|
|
92
|
+
combinedMatch: 'Match combiné',
|
|
93
|
+
uvVisTitle: 'Superposition d\'absorbance UV-Vis',
|
|
94
|
+
statusStrong: 'Haute cohérence',
|
|
95
|
+
statusPartial: 'Comparaison mitigée',
|
|
96
|
+
statusDifferent: 'Exclusion étayée',
|
|
97
|
+
verdictStrong: 'La fibre suspecte et la fibre connue sont hautement cohérentes en matière de diamètre, de torsion, de comportement optique et de spectre de colorant. Dans un cas réel, cela serait présenté comme un soutien à une origine textile commune potentielle, et non comme une identification individuelle.',
|
|
98
|
+
verdictPartial: 'La comparaison est mitigée. Certaines caractéristiques de classe concordent, mais la morphologie, la réponse du colorant ou la birrefringence laissent subsister suffisamment de différences pour qu\'un examen plus approfondi soit nécessaire avant d\'envisager une quelconque association.',
|
|
99
|
+
verdictDifferent: 'Les fibres ne sont pas cohérentes par rapport aux principales caractéristiques de classe. Le résultat simulé étaye l\'exclusion de ce textile connu en tant que source probable de la fibre suspecte.',
|
|
100
|
+
disclaimer: 'Simulation pédagogique uniquement. La comparaison réelle de fibres médico-légales nécessite une microscopie validée, des contrôles, une documentation, des mesures de protection contre les contaminations, une réévaluation par les pairs et l\'interprétation d\'un expert en micro-traces.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Comparaison médico-légale des fibres par microscopie à champ divisé et spectres UV-Vis',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Simulateur pédagogique',
|
|
113
|
+
title: 'Ce que démontre ce microscope virtuel de comparaison des fibres',
|
|
114
|
+
html: 'Ce simulateur modélise la démarche pratique de la <strong>comparaison de fibres médico-légales</strong>: décrire la fibre textile suspecte, la comparer à une référence connue, ajuster la mise au point, tourner les filtres polarisants et analyser la réponse du colorant avec une courbe d\'absorbance UV-Vis simplifiée. Il est conçu pour les étudiants en analyse des micro-traces et non pour la prise de décision sur de vrais dossiers.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 champs', label: 'vue divisée du microscope', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'gamme de spectre visible', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 classes', label: 'coton, laine, polyester, nylon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'rotation du polariseur', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Observations fondamentales dans la comparaison des fibres textiles',
|
|
129
|
+
items: [
|
|
130
|
+
'Mesurer ou estimer le diamètre de la fibre tout en notant les variations naturelles le long du brin.',
|
|
131
|
+
'Noter le sens de torsion, les crêtes de surface, la présence d\'une moelle, les particules de délustration et les indices de section transversale si disponibles.',
|
|
132
|
+
'Utiliser la lumière polarisée pour comparer la biréfringence, le comportement d\'extinction et les changements de luminosité sous rotation.',
|
|
133
|
+
'Comparer la couleur au microscope, puis analyser les informations de colorants par méthode instrumentale si le cas exige un niveau de distinction supérieur.',
|
|
134
|
+
'Indiquer si les résultats sont cohérents, différents ou non concluants ; éviter les formulations qui suggèrent une source de vêtement unique sans preuve à l\'appui.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Observation', 'Question à laquelle elle répond', 'Limite'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Diamètre et morphologie', 'Les fibres sont-elles physiquement similaires ?', 'Les variations de fabrication peuvent se chevaucher d\'un vêtement à l\'autre.'],
|
|
142
|
+
['Torsion et détails de surface', 'Les caractéristiques naturelles ou synthétiques correspondent-elles ?', 'L\'usure, l\'étirement et le montage peuvent altérer l\'apparence.'],
|
|
143
|
+
['Réponse en lumière polarisée', 'Les propriétés optiques correspondent-elles ?', 'La biréfringence constitue une preuve de classe et non une signature unique.'],
|
|
144
|
+
['Spectre de colorant UV-Vis', 'Les colorants sont-ils cohérents ?', 'Des colorants similaires peuvent sembler identiques ; l\'extraction et les réglages de l\'appareil sont déterminants.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Ce qui soutient la cohérence',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Plusieur caractéristiques de classe indépendantes concordent entre la fibre suspecte et la fibre connue.',
|
|
156
|
+
points: ['Plage de diamètres comparable', 'Même type général de fibre', 'Comportement de polarisation similaire', 'Pics d\'absorbance du colorant superposés'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Ce qui soutient l\'exclusion',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'Une différence nette et répétable apparaît dans une caractéristique qui devrait correspondre pour une source textile commune.',
|
|
162
|
+
points: ['Incohérence entre fibre naturelle et synthétique', 'Torsion ou morphologie de surface différente', 'Spectre de colorant nettement différent', 'Réponse de biréfringence incompatible'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Fonctionnement du modèle de simulation',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Le modèle contient une petite base de données de référence comprenant le diamètre, le sens de torsion, la classe de fibre, la biréfringence, la famille de colorants et les points d\'absorbance UV-Vis. La fibre suspecte est configurable par l\'utilisateur, de sorte que le score de comparaison s\'adapte au profil du cas plutôt qu\'à un exemple de classe figé. L\'affichage microscopique réagit à la mise au point et à l\'angle du polariseur afin de montrer aux étudiants l\'importance des réglages optiques.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Le contrôle du polariseur est particulièrement utile pour les fibres synthétiques. Le polyester et le nylon possèdent des valeurs de biréfringence plus élevées, de sorte que leur luminosité change plus visiblement lorsque le polariseur tourne. Le coton naturel et la laine réagissent également, mais l\'effet simulé est plus subtil. Cela illustre le concept pédagogique selon lequel l\'orientation moléculaire et la structure de la fibre influencent le comportement optique.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'Le graphique UV-Vis est une superposition simplifiée et ne remplace pas un spectrophotomètre. Dans la pratique réelle des micro-traces, la comparaison des colorants peut nécessiter une microspectrophotométrie, une chromatographie sur couche mince, une chimie d\'extraction, des contrôles de référence et une incertitude documentée. Le graphique sert à enseigner pourquoi deux fibres d\'apparence similaire sous un microscope peuvent néanmoins être différenciées par la chimie de leurs colorants.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Les examinateurs légistes doivent documenter chaque étape du processus d\'analyse des fibres. Cela comprend la prise de photographies détaillées, l\'enregistrement des mesures et le maintien d\'une chaîne de contrôle pour toutes les preuves physiques. Le simulateur aide les étudiants à comprendre l\'importance d\'une documentation systématique et d\'une comparaison objective dans le travail médico-légal. En interagissant avec différents paramètres, les utilisateurs peuvent apprendre comment le trajet de la lumière, l\'épaisseur de l\'échantillon et la concentration du colorant affectent les courbes spectrales et l\'apparence physique.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'glossary',
|
|
189
|
+
items: [
|
|
190
|
+
{ term: 'Fibre suspecte', definition: 'Fibre récupérée sur une scène, une victime, un suspect, un outil, un véhicule ou tout autre objet dont l\'origine est inconnue.' },
|
|
191
|
+
{ term: 'Fibre connue', definition: 'Fibre de référence prélevée sur un textile ou un objet connu en vue d\'être comparée à l\'échantillon suspect.' },
|
|
192
|
+
{ term: 'Biréfringence', definition: 'Comportement optique dans lequel un matériau présente des indices de réfraction différents selon la direction de la lumière ou sa polarisation.' },
|
|
193
|
+
{ term: 'Spectre UV-Vis', definition: 'Graphique montrant l\'intensité avec laquelle un colorant ou un matériau absorbe la lumière à différentes longueurs d\'onde.' },
|
|
194
|
+
{ term: 'Caractéristique de classe', definition: 'Propriété permettant d\'associer un indice à un groupe de sources potentielles plutôt qu\'à une source unique et spécifique.' },
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'tip',
|
|
199
|
+
title: 'Conseil d\'interprétation pour les étudiants',
|
|
200
|
+
html: 'Un score de similarité élevé doit être interprété comme une <strong>cohérence</strong> et non comme une identité absolue. Les micro-traces sont plus probantes lorsque la microscopie, la chimie, le contexte de transfert, la persistance, le mode de prélèvement et les contrôles de contamination convergent tous dans le même sens.',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'diagnostic',
|
|
204
|
+
variant: 'warning',
|
|
205
|
+
icon: 'mdi:scale-balance',
|
|
206
|
+
badge: 'Forensic caution',
|
|
207
|
+
title: 'Garder la conclusion dans les limites des éléments disponibles',
|
|
208
|
+
html: 'Un microscope sur navigateur ne peut valider une correspondance de fibres. Les rapports officiels doivent décrire les observations, les critères de comparaison, les limites et le degré de soutien sans surestimer l\'attribution de la source.',
|
|
209
|
+
},
|
|
210
|
+
],
|
|
211
|
+
faq,
|
|
212
|
+
bibliography,
|
|
213
|
+
howTo,
|
|
214
|
+
schemas: [
|
|
215
|
+
{
|
|
216
|
+
'@context': 'https://schema.org',
|
|
217
|
+
'@type': 'SoftwareApplication',
|
|
218
|
+
name: title,
|
|
219
|
+
description,
|
|
220
|
+
applicationCategory: 'ForensicApplication',
|
|
221
|
+
operatingSystem: 'Any',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
'@context': 'https://schema.org',
|
|
225
|
+
'@type': 'FAQPage',
|
|
226
|
+
mainEntity: faq.map((item) => ({
|
|
227
|
+
'@type': 'Question',
|
|
228
|
+
name: item.question,
|
|
229
|
+
acceptedAnswer: {
|
|
230
|
+
'@type': 'Answer',
|
|
231
|
+
text: item.answer,
|
|
232
|
+
},
|
|
233
|
+
})),
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
'@context': 'https://schema.org',
|
|
237
|
+
'@type': 'HowTo',
|
|
238
|
+
name: title,
|
|
239
|
+
step: howTo.map((step) => ({
|
|
240
|
+
'@type': 'HowToStep',
|
|
241
|
+
name: step.name,
|
|
242
|
+
text: step.text,
|
|
243
|
+
})),
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
};
|