@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,250 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'mikroskop-perbandingan-serat-forensik';
|
|
5
|
+
const title = 'Simulator Mikroskop Perbandingan Serat Forensik';
|
|
6
|
+
const description = 'Bangun profil serat tekstil yang dipertanyakan, bandingkan dengan referensi yang diketahui, dan interpretasikan bukti morfologi, polarisasi, dan spektrum warna UV-Vis.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Bangun profil serat yang dipertanyakan',
|
|
11
|
+
text: 'Atur bahan, diameter, arah pilinan, respons polarisasi, dan profil warna untuk serat yang ditemukan.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Pilih serat perbandingan yang diketahui',
|
|
15
|
+
text: 'Pilih serat pakaian tersangka seperti katun, wol, poliester, atau nilon di sisi kanan.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Sesuaikan fokus dan polarisasi',
|
|
19
|
+
text: 'Geser pengatur fokus dan putar polarisator untuk mengamati ketajaman, garis permukaan, dan respons bias ganda (birefringence).',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Bandingkan morfologi dan spektrum UV-Vis',
|
|
23
|
+
text: 'Gunakan skor morfologi, skor spektrum, kecocokan gabungan, dan kurva absorbansi untuk memutuskan apakah sampel konsisten atau jelas berbeda.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Apakah mikroskopi serat dapat mengidentifikasi pakaian pasti asal serat tersebut?',
|
|
30
|
+
answer: 'Biasanya tidak. Perbandingan serat dapat menunjukkan konsistensi atau perbedaan antara serat yang dipertanyakan dan tekstil yang diketahui, tetapi atribusi sumber individu memerlukan konteks yang cermat, metode yang divalidasi, dan sering kali analisis kimia atau instrumental tambahan.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Mengapa menggunakan cahaya terpolarisasi dalam perbandingan serat?',
|
|
34
|
+
answer: 'Cahaya terpolarisasi membantu mengungkapkan bias ganda (birefringence), perilaku kepunahan (extinction), dan perbedaan struktural antara serat alami dan sintetis. Serat sintetis sering kali menunjukkan respons polarisasi yang lebih kuat karena orientasi molekul.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Apa kegunaan spektrum UV-Vis?',
|
|
38
|
+
answer: 'Sementara mikroskopi mendeskripsikan bentuk dan perilaku optik, absorbansi UV-Vis dapat membandingkan perilaku zat warna di berbagai panjang gelombang. Serat serupa dengan zat warna yang berbeda dapat terpisah dengan jelas di plot spektral.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Mengapa hasilnya ditampilkan sebagai skor, bukan identifikasi akhir?',
|
|
42
|
+
answer: 'Bukti jejak forensik harus dilaporkan secara proporsional. Skor tersebut adalah ringkasan edukasi tentang morfologi dan kesamaan warna, bukan kesimpulan laboratorium atau opini hukum.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Mikroskop forensik virtual bidang terpisah membandingkan dua serat tekstil',
|
|
52
|
+
chartAria: 'Grafik absorbansi UV-Vis membandingkan spektrum zat warna serat yang dipertanyakan dan diketahui',
|
|
53
|
+
questionedSample: 'Sampel dipertanyakan',
|
|
54
|
+
fixedEvidence: 'Bukti tetap yang ditemukan',
|
|
55
|
+
builderSummaryDefault: 'Katun / 18 µm / tidak teratur / indigo',
|
|
56
|
+
customQuestionedLabel: 'Kasus serat yang dipertanyakan',
|
|
57
|
+
material: 'Bahan',
|
|
58
|
+
cotton: 'Katun',
|
|
59
|
+
woolMaterial: 'Wol',
|
|
60
|
+
polyesterMaterial: 'Poliester',
|
|
61
|
+
nylonMaterial: 'Nilon',
|
|
62
|
+
materialcotton: 'katun',
|
|
63
|
+
materialwool: 'wol',
|
|
64
|
+
materialpolyester: 'poliester',
|
|
65
|
+
materialnylon: 'nilon',
|
|
66
|
+
twist: 'Pilinan',
|
|
67
|
+
irregularTwist: 'Tidak teratur',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Diameter',
|
|
71
|
+
polarResponse: 'Respons polar',
|
|
72
|
+
dyeProfile: 'Profil warna',
|
|
73
|
+
indigoDye: 'Indigo',
|
|
74
|
+
crimsonDye: 'Crimson',
|
|
75
|
+
navyDye: 'Navy',
|
|
76
|
+
violetDye: 'Violet',
|
|
77
|
+
dyeindigo: 'indigo',
|
|
78
|
+
dyecrimson: 'crimson',
|
|
79
|
+
dyenavy: 'navy',
|
|
80
|
+
dyeviolet: 'violet',
|
|
81
|
+
knownSample: 'Perbandingan diketahui',
|
|
82
|
+
questionedCotton: 'Serat katun biru yang dipertanyakan',
|
|
83
|
+
suspectCotton: 'Serat katun kemeja tersangka',
|
|
84
|
+
wool: 'Serat sweter wol merah',
|
|
85
|
+
polyester: 'Serat jaket poliester navy',
|
|
86
|
+
nylon: 'Serat lapisan nilon violet',
|
|
87
|
+
focus: 'Fokus halus',
|
|
88
|
+
polarizer: 'Sudut polarisator',
|
|
89
|
+
morphology: 'Morfologi',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Bias ganda',
|
|
92
|
+
combinedMatch: 'Kecocokan gabungan',
|
|
93
|
+
uvVisTitle: 'Overlay absorbansi UV-Vis',
|
|
94
|
+
statusStrong: 'Konsistensi tinggi',
|
|
95
|
+
statusPartial: 'Perbandingan campuran',
|
|
96
|
+
statusDifferent: 'Pengecualian didukung',
|
|
97
|
+
verdictStrong: 'Serat yang dipertanyakan dan diketahui sangat konsisten dalam hal diameter, pilinan, perilaku optik, dan spektrum zat warna. Dalam kasus nyata, laporkan ini sebagai dukungan untuk kemungkinan sumber tekstil yang sama, bukan sebagai identifikasi individu.',
|
|
98
|
+
verdictPartial: 'Perbandingan bersifat campuran. Beberapa karakteristik kelas cocok, tetapi morfologi, respons zat warna, atau bias ganda menunjukkan perbedaan yang cukup sehingga pemeriksaan lebih lanjut diperlukan sebelum asosiasi yang hati-hati dilakukan.',
|
|
99
|
+
verdictDifferent: 'Serat tidak konsisten pada karakteristik kelas utama. Hasil simulasi mendukung pengecualian tekstil yang diketahui ini sebagai sumber yang mungkin untuk serat yang dipertanyakan.',
|
|
100
|
+
disclaimer: 'Simulasi pendidikan saja. Perbandingan serat forensik yang nyata memerlukan mikroskopi yang divalidasi, kontrol, dokumentasi, pengamanan kontaminasi, tinjauan sejawat, dan interpretasi bukti jejak yang berkualifikasi.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Perbandingan Serat Forensik dengan Mikroskopi Bidang Terpisah dan Spektrum UV-Vis',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Simulator pengajaran',
|
|
113
|
+
title: 'Apa yang ditunjukkan oleh mikroskop serat virtual ini',
|
|
114
|
+
html: 'Simulator ini memodelkan alur kerja praktis di balik <strong>perbandingan serat forensik</strong>: deskripsikan serat tekstil yang dipertanyakan, bandingkan dengan referensi yang diketahui, sesuaikan fokus, putar filter polarisasi, dan bandingkan respons zat warna dengan kurva absorbansi UV-Vis yang disederhanakan. Ini dirancang untuk siswa yang mempelajari bukti jejak, bukan untuk pengambilan keputusan kasus.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 bidang', label: 'tampilan mikroskop terpisah', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'kisaran spektrum terlihat', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 kelas', label: 'katun, wol, poliester, nilon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'rotasi polarisator', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Pengamatan inti dalam perbandingan serat tekstil',
|
|
129
|
+
items: [
|
|
130
|
+
'Ukur atau perkirakan diameter serat sambil memperhatikan variasi alami di sepanjang serat.',
|
|
131
|
+
'Catat arah pilinan, garis permukaan, fitur mirip medula, partikel kusam (delustering), dan petunjuk penampang jika tersedia.',
|
|
132
|
+
'Gunakan cahaya terpolarisasi untuk membandingkan bias ganda, perilaku kepunahan, dan perubahan kecerahan di bawah rotasi.',
|
|
133
|
+
'Bandingkan warna secara mikroskopis, lalu gunakan informasi zat warna instrumental ketika kasus membutuhkan diskriminasi yang lebih besar.',
|
|
134
|
+
'Laporkan apakah temuan tersebut konsisten, berbeda, atau tidak meyakinkan; hindari kata-kata yang menyiratkan sumber pakaian yang unik tanpa dukungan.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Pengamatan', 'Membantu menjawab apa', 'Batasan'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Diameter dan morfologi', 'Apakah serat-serat tersebut secara fisik serupa?', 'Variasi manufaktur dapat tumpang tindih antar pakaian.'],
|
|
142
|
+
['Pilinan dan detail permukaan', 'Apakah fitur alami atau sintetis cocok?', 'Kerusakan, peregangan, dan pemasangan preparat dapat mengubah penampilan.'],
|
|
143
|
+
['Respons cahaya terpolarisasi', 'Apakah sifat optik cocok?', 'Bias ganda adalah bukti tingkat kelas, bukan tanda unik.'],
|
|
144
|
+
['Spektrum zat warna UV-Vis', 'Apakah zat warna konsisten?', 'Zat warna serupa mungkin tampak dekat; ekstraksi dan pengaturan instrumen berpengaruh.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Apa yang mendukung konsistensi',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Beberapa karakteristik kelas independen cocok antara serat yang dipertanyakan dan diketahui.',
|
|
156
|
+
points: ['Kisaran diameter yang sebanding', 'Jenis serat umum yang sama', 'Perilaku polarisasi yang serupa', 'Puncak absorbansi zat warna yang tumpang tindih'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Apa yang mendukung pengecualian',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'Perbedaan yang jelas dan dapat diulang muncul dalam karakteristik yang seharusnya cocok untuk sumber tekstil yang sama.',
|
|
162
|
+
points: ['Ketidakcocokan alami versus sintetis', 'Pilinan atau morfologi permukaan yang berbeda', 'Spektrum zat warna yang sangat berbeda', 'Respons bias ganda yang tidak kompatibel'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Cara Kerja Model Simulasi',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Model ini menyimpan basis data referensi kecil dengan diameter, arah pilinan, kelas serat, bias ganda, keluarga zat warna, dan titik absorbansi UV-Vis. Serat yang dipertanyakan dapat dikonfigurasi oleh pengguna, sehingga skor perbandingan merespons profil kasus, bukan sampel kelas yang tetap. Tampilan mikroskop visual kemudian merespons fokus dan sudut polarisator sehingga siswa dapat melihat mengapa pengaturan optik penting.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Kontrol polarisator sangat berguna untuk serat sintetis. Poliester dan nilon diberi nilai bias ganda yang lebih kuat, sehingga kecerahannya berubah lebih terlihat saat polarisator berputar. Katun alami dan wol juga merespons, tetapi efek simulasi lebih halus. Ini mencerminkan gagasan pengajaran bahwa orientasi molekul dan struktur serat memengaruhi perilaku optik.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'Grafik UV-Vis adalah overlay yang disederhanakan, bukan pengganti spektrofotometer. Dalam pekerjaan bukti jejak nyata, perbandingan zat warna mungkin memerlukan mikrospektrofotometri, kromatografi lapis tipis, kimia ekstraksi, kontrol referensi, dan ketidakpastian yang didokumentasikan. Grafik tersebut ada untuk mengajarkan mengapa dua serat yang terlihat mirip di bawah mikroskop mungkin masih terpisah oleh kimia zat warna.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Pemeriksa forensik harus mendokumentasikan setiap langkah proses analisis serat. Ini termasuk mengambil foto terperinci, mencatat pengukuran, dan menjaga rantai kepemilikan untuk semua bukti fisik. Simulator membantu siswa memahami pentingnya dokumentasi sistematis dan perbandingan objektif dalam pekerjaan kasus forensik. Dengan berinteraksi dengan pengaturan yang berbeda, pengguna dapat mempelajari bagaimana jalur cahaya, ketebalan sampel, dan konsentrasi zat warna memengaruhi kurva spektral dan penampilan fisik.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Pemeriksa forensik harus mendokumentasikan setiap langkah proses analisis serat. Ini termasuk mengambil foto terperinci, mencatat pengukuran, dan menjaga rantai kepemilikan untuk semua bukti fisik. Simulator membantu siswa memahami pentingnya dokumentasi sistematis dan perbandingan objektif dalam pekerjaan kasus forensik. Dengan berinteraksi dengan pengaturan yang berbeda, pengguna dapat mempelajari bagaimana jalur cahaya, ketebalan sampel, dan konsentrasi zat warna memengaruhi kurva spektral dan penampilan fisik.',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'glossary',
|
|
193
|
+
items: [
|
|
194
|
+
{ term: 'Serat dipertanyakan', definition: 'Serat yang ditemukan dari TKP, korban, tersangka, alat, kendaraan, atau barang lain yang sumbernya tidak diketahui.' },
|
|
195
|
+
{ term: 'Serat diketahui', definition: 'Serat referensi yang dikumpulkan dari tekstil atau objek yang diketahui untuk dibandingkan dengan sampel yang dipertanyakan.' },
|
|
196
|
+
{ term: 'Bias ganda', definition: 'Perilaku optik di mana suatu bahan memiliki indeks bias yang berbeda tergantung pada arah cahaya atau polarisasi.' },
|
|
197
|
+
{ term: 'Spektrum UV-Vis', definition: 'Plot yang menunjukkan seberapa kuat zat warna atau bahan menyerap cahaya pada panjang gelombang yang berbeda.' },
|
|
198
|
+
{ term: 'Karakteristik kelas', definition: 'Properti yang dapat menghubungkan bukti dengan sekelompok sumber yang mungkin, bukan satu sumber yang unik.' },
|
|
199
|
+
],
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: 'tip',
|
|
203
|
+
title: 'Tip interpretasi untuk siswa',
|
|
204
|
+
html: 'Skor kesamaan yang tinggi harus dibaca sebagai <strong>konsistensi</strong>, bukan identitas. Bukti jejak paling kuat ketika mikroskopi, kimia, konteks transfer, persistensi, metode pengambilan, dan kontrol kontaminasi semuanya menunjuk ke arah yang sama.',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
type: 'diagnostic',
|
|
208
|
+
variant: 'warning',
|
|
209
|
+
icon: 'mdi:scale-balance',
|
|
210
|
+
badge: 'Forensic caution',
|
|
211
|
+
title: 'Jaga agar kesimpulan tetap dalam batasan bukti',
|
|
212
|
+
html: 'Mikroskop browser tidak dapat memvalidasi kecocokan serat. Laporan resmi harus menjelaskan pengamatan, dasar perbandingan, batasan, dan tingkat dukungan tanpa melebih-lebihkan atribusi sumber.',
|
|
213
|
+
},
|
|
214
|
+
],
|
|
215
|
+
faq,
|
|
216
|
+
bibliography,
|
|
217
|
+
howTo,
|
|
218
|
+
schemas: [
|
|
219
|
+
{
|
|
220
|
+
'@context': 'https://schema.org',
|
|
221
|
+
'@type': 'SoftwareApplication',
|
|
222
|
+
name: title,
|
|
223
|
+
description,
|
|
224
|
+
applicationCategory: 'ForensicApplication',
|
|
225
|
+
operatingSystem: 'Any',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
'@context': 'https://schema.org',
|
|
229
|
+
'@type': 'FAQPage',
|
|
230
|
+
mainEntity: faq.map((item) => ({
|
|
231
|
+
'@type': 'Question',
|
|
232
|
+
name: item.question,
|
|
233
|
+
acceptedAnswer: {
|
|
234
|
+
'@type': 'Answer',
|
|
235
|
+
text: item.answer,
|
|
236
|
+
},
|
|
237
|
+
})),
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
'@context': 'https://schema.org',
|
|
241
|
+
'@type': 'HowTo',
|
|
242
|
+
name: title,
|
|
243
|
+
step: howTo.map((step) => ({
|
|
244
|
+
'@type': 'HowToStep',
|
|
245
|
+
name: step.name,
|
|
246
|
+
text: step.text,
|
|
247
|
+
})),
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
};
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const slug = 'microscopio-confronto-fibre-forense';
|
|
5
|
+
const title = 'Simulatore di microscopio di confronto per fibre forensi';
|
|
6
|
+
const description = 'Crea il profilo di una fibra tessile dubbia, confrontalo con riferimenti noti e interpreta morfologia, polarizzazione e spettro del colorante UV-Vis.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Crea il profilo della fibra dubbia',
|
|
11
|
+
text: 'Imposta il materiale, il diametro, la direzione di torsione, la risposta alla polarizzazione e il profilo del colorante per la fibra recuperata.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Scegli una fibra di confronto nota',
|
|
15
|
+
text: 'Seleziona sul lato destro la fibra di un indumento sospetto, come cotone, lana, poliestere o nylon.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Regola messa a fuoco e polarizzazione',
|
|
19
|
+
text: 'Muovi il cursore di messa a fuoco e ruota il polarizzatore per osservare la nitidez, le creste superficiali e il comportamento di birifrangenza.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Confronta morfologia e spettri UV-Vis',
|
|
23
|
+
text: 'Usa il punteggio morfologico, il punteggio dello spettro, la corrispondenza combinata e le curve di assorbimento per decidere se i campioni sono compatibili o chiaramente diversi.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'La microscopia delle fibre può identificare l\'esatto indumento da cui proviene una fibra?',
|
|
30
|
+
answer: 'Di lavoro no. Il confronto delle fibre può mostrare compatibilità o differenze tra una fibra dubbia e un tessuto noto, ma l\'attribuzione a una fonte individuale richiede un contesto accurato, metodi convalidati e spesso analisi chimiche o strumentali aggiuntive.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Perché usare la luce polarizzata nel confronto delle fibre?',
|
|
34
|
+
answer: 'La luce polarizzata aiuta a rivelare la birifrangenza, il comportamento di estinzione e le differenze strutturali entre fibre naturali e sintetiche. Le fibre sintetiche mostrano spesso una risposta di polarizzazione più forte a causa dell\'orientamento molecolare.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Cosa aggiunge lo spettro UV-Vis?',
|
|
38
|
+
answer: 'Mentre la microscopia descrive la forma e il comportamento ottico, l\'assorbanza UV-Vis può confrontare il comportamento dei coloranti a diverse lunghezze d\'onda. Fibre simili con coloranti diversi possono essere distinte chiaramente nel grafico spettrale.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Perché i risultati sono mostrati come punteggi anziché come identificazione finale?',
|
|
42
|
+
answer: 'Le tracce forensi devono essere valutate e riportate in modo proporzionale. I punteggi sono sintesi didattiche della somiglianza morfologica e cromatica, non una conclusione di laboratorio o un parere legale.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Microscopio forense virtuale a campo suddiviso per confrontare due fibre tessili',
|
|
52
|
+
chartAria: 'Grafico di assorbanza UV-Vis che confronta gli spettri dei coloranti della fibra dubbia e di quella nota',
|
|
53
|
+
questionedSample: 'Campione dubbio',
|
|
54
|
+
fixedEvidence: 'Traccia recuperata fissa',
|
|
55
|
+
builderSummaryDefault: 'Cotone / 18 µm / irregolare / indaco',
|
|
56
|
+
customQuestionedLabel: 'Fibra dubbia del caso',
|
|
57
|
+
material: 'Materiale',
|
|
58
|
+
cotton: 'Cotone',
|
|
59
|
+
woolMaterial: 'Lana',
|
|
60
|
+
polyesterMaterial: 'Poliestere',
|
|
61
|
+
nylonMaterial: 'Nylon',
|
|
62
|
+
materialcotton: 'cotone',
|
|
63
|
+
materialwool: 'lana',
|
|
64
|
+
materialpolyester: 'poliestere',
|
|
65
|
+
materialnylon: 'nylon',
|
|
66
|
+
twist: 'Torsione',
|
|
67
|
+
irregularTwist: 'Irregolare',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Diametro',
|
|
71
|
+
polarResponse: 'Risposta polar',
|
|
72
|
+
dyeProfile: 'Profilo colorante',
|
|
73
|
+
indigoDye: 'Indaco',
|
|
74
|
+
crimsonDye: 'Cremisi',
|
|
75
|
+
navyDye: 'Blu navy',
|
|
76
|
+
violetDye: 'Violetto',
|
|
77
|
+
dyeindigo: 'indaco',
|
|
78
|
+
dyecrimson: 'cremisi',
|
|
79
|
+
dyenavy: 'blu navy',
|
|
80
|
+
dyeviolet: 'violetto',
|
|
81
|
+
knownSample: 'Confronto noto',
|
|
82
|
+
questionedCotton: 'Fibra di cotone blu dubbia',
|
|
83
|
+
suspectCotton: 'Fibra di cotone della camicia sospetta',
|
|
84
|
+
wool: 'Fibra di maglione di lana rossa',
|
|
85
|
+
polyester: 'Fibra di giacca di poliestere blu navy',
|
|
86
|
+
nylon: 'Fibra di fodera in nylon viola',
|
|
87
|
+
focus: 'Messa a fuoco fine',
|
|
88
|
+
polarizer: 'Angolo del polarizzatore',
|
|
89
|
+
morphology: 'Morfologia',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Birifrangenza',
|
|
92
|
+
combinedMatch: 'Corrispondenza combinata',
|
|
93
|
+
uvVisTitle: 'Sovrapposizione di assorbanza UV-Vis',
|
|
94
|
+
statusStrong: 'Alta compatibilità',
|
|
95
|
+
statusPartial: 'Confronto misto',
|
|
96
|
+
statusDifferent: 'Esclusione supportata',
|
|
97
|
+
verdictStrong: 'La fibra dubbia e quella nota mostrano un\'elevata compatibilità in diametro, torsione, comportamento ottico e spettro del colorante. In un caso reale, questo verrebbe riportato come supporto a una possibile fonte tessile comune, non come un\'identificazione individuale.',
|
|
98
|
+
verdictPartial: 'Il confronto è misto. Alcune caratteristiche di classe coincidono, ma la morfologia, la risposta al colorante o la birifrangenza mostrano differenze tali da richiedere ulteriori esami prima di formulare qualsiasi cauta associazione.',
|
|
99
|
+
verdictDifferent: 'Le fibre non sono compatibili per quanto riguarda le principali caratteristiche di classe. Il risultato simulato supporta l\'esclusione di questo tessuto noto come probabile fonte della fibra dubbia.',
|
|
100
|
+
disclaimer: 'Simulazione solo a scopo didattico. Il reale confronto forense delle fibre richiede microscopia convalidata, controlli, documentazione, misure anticontaminazione, revisione paritaria e interpretazione qualificata delle tracce.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Confronto forense di fibre con microscopia a campo suddiviso e spettri UV-Vis',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Simulatore didattico',
|
|
113
|
+
title: 'Cosa dimostra questo microscopio virtuale per fibre',
|
|
114
|
+
html: 'Questo simulatore modella il flusso di lavoro pratico del <strong>confronto forense di fibre</strong>: descrivi la fibra tessile dubbia, confrontala con un riferimento noto, regola la messa a fuoco, ruota i filtri polarizzatori e confronta la risposta del colorante con una curva di assorbanza UV-Vis semplificata. È progettato per gli studenti di tracce forensi, non per decisioni su casi reali.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 campi', label: 'vista microscopio suddiviso', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'intervallo spettro visibile', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 classi', label: 'cotone, lana, poliestere, nylon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'rotazione polarizzatore', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Osservazioni fondamentali nel confronto delle fibre tessili',
|
|
129
|
+
items: [
|
|
130
|
+
'Misura o stima il diametro della fibra notando le variazioni naturali lungo il filamento.',
|
|
131
|
+
'Registra direzione di torsione, creste superficiali, caratteristiche midollari, particelle opacizzanti e indizi della sezione trasversale, se disponibili.',
|
|
132
|
+
'Usa la luce polarizzata per confrontare birifrangenza, comportamento di estinzione e cambiamenti di luminosità sotto rotazione.',
|
|
133
|
+
'Confronta il colore al microscopio, o usa l\'analisi strumentale del colorante se il caso richiede maggiore discriminazione.',
|
|
134
|
+
'Riferisci se i risultati sono compatibili, diversi o inconcludenti; evita formulazioni che implichino una fonte tessile univoca senza supporto.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Osservazione', 'A quale domanda risponde', 'Limite'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Diametro e morfologia', 'Le fibre sono fisicamente simili?', 'Le variazioni di produzione possono sovrapporsi tra indumenti diversi.'],
|
|
142
|
+
['Torsione e dettagli superficiali', 'Le caratteristiche naturali o sintetiche coincidono?', 'Danni, stiramento e montaggio possono alterare l\'aspetto.'],
|
|
143
|
+
['Risposta alla luce polarizzata', 'Le proprietà ottiche coincidono?', 'La birifrangenza è una prova di classe, non una firma univoca.'],
|
|
144
|
+
['Spettro del colorante UV-Vis', 'I coloranti sono compatibili?', 'Coloranti simili possono apparire vicini; l\'estrazione e le impostazioni dello strumento influiscono.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Cosa supporta la compatibilità',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Molteplici caratteristiche di classe indipendenti coincidono tra la fibra dubbia e quella nota.',
|
|
156
|
+
points: ['Intervallo di diametro comparabile', 'Stesso tipo generale di fibra', 'Comportamento di polarizzazione simile', 'Picchi di assorbanza del colorante sovrapposti'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Cosa supporta l\'esclusione',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'Una differenza netta e ripetibile appare in una caratteristica che dovrebbe coincidere per una fonte tessile comune.',
|
|
162
|
+
points: ['Incompatibilità tra fibra naturale e sintetica', 'Torsione o morfologia superficiale diversa', 'Spettro del colorante marcatamente differente', 'Risposta di birifrangenza incompatibile'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Come funziona il modello di simulazione',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Il modello memorizza un piccolo database di riferimento con diametro, direzione di torsione, classe della fibra, birifrangenza, famiglia di coloranti e punti di assorbanza UV-Vis. La fibra dubbia è configurabile dall\'utente, quindi il punteggio di confronto risponde al profilo del caso anziché a un campione fisso da aula. La vista del microscopio risponde alla messa a fuoco e all\'angolo del polarizzatore affinché gli studenti comprendano l\'importanza delle impostazioni ottiche.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Il controllo del polarizzatore è particolarmente utile per le fibre sintetiche. A poliestere e nylon vengono assegnati valori di birifrangenza più elevati, pertanto la loro luminosità cambia in modo più evidente con la rotazione del polarizzatore. Il cotone naturale e la lana rispondono comunque, ma l\'effetto simulato è più sutil. Questo rispecchia l\'idea didattica che l\'orientamento molecolare e la struttura della fibra influiscano sul comportamento ottico.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'Il grafico UV-Vis è una sovrapposizione semplificata, non un sostituto di uno spettrofotometro. Nel lavoro reale sulle tracce forensi, il confronto dei coloranti può richiedere microspettrofotometria, cromatografia su strato sottile, chimica estrattiva, controlli di riferimento e incertezza documentata. Il grafico serve a mostrare perché due fibre che appaiono simili al microscopio possono comunque essere distinte tramite la chimica dei coloranti.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Gli esaminatori forensi devono documentare ogni fase del processo di analisi delle fibre. Ciò include scattare fotografie dettagliate, registrare misurazioni e mantenere una catena di custodia per tutti i reperti fisici. Il simulatore aiuta gli studenti a comprendere l\'importanza della documentazione sistematica e del confronto obiettivo nel lavoro forense. Interagendo con diverse impostazioni, gli utenti possono apprendere in che modo il percorso della luce, lo spessore del campione e la concentrazione del colorante influenzano le curve spettrali e l\'aspetto fisico.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'glossary',
|
|
189
|
+
items: [
|
|
190
|
+
{ term: 'Fibra dubbia', definition: 'Una fibra recuperata da una scena, vittima, sospetto, strumento, veicolo o altro oggetto la cui origine è sconosciuta.' },
|
|
191
|
+
{ term: 'Fibra nota', definition: 'Una fibra di referência prelevata da un tessuto o oggetto noto per il confronto con il campione dubbio.' },
|
|
192
|
+
{ term: 'Birifrangenza', definition: 'Comportamento ottico per cui un materiale presenta indici di rifrazione diversi a seconda della direzione della luce o della polarizzazione.' },
|
|
193
|
+
{ term: 'Spettro UV-Vis', definition: 'Grafico che mostra l\'intensità con cui un colorante o un materiale assorbe la luce a diverse lunghezze d\'onda.' },
|
|
194
|
+
{ term: 'Caratteistica di classe', definition: 'Proprietà che consente di associare una traccia a un gruppo di potenziali fonti anziché a una singola fonte univoca.' },
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'tip',
|
|
199
|
+
title: 'Consiglio di interpretazione per gli studenti',
|
|
200
|
+
html: 'Un punteggio elevato di somiglianza deve essere interpretato come <strong>compatibilità</strong>, non come identità. Le tracce sono più forti quando microscopia, chimica, contesto di trasferimento, persistenza, metodo di recupero e controlli anticontaminazione puntano tutti nella stessa direzione.',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'diagnostic',
|
|
204
|
+
variant: 'warning',
|
|
205
|
+
icon: 'mdi:scale-balance',
|
|
206
|
+
badge: 'Forensic caution',
|
|
207
|
+
title: 'Mantenere la conclusione entro i limiti delle prove',
|
|
208
|
+
html: 'Un microscopio nel browser non può convalidare una corrispondenza tra fibre. I rapporti formali devono descrivere le osservazioni, la base di confronto, le limitazioni e il livello di supporto senza esagerare l\'attribuzione dell\'origine.',
|
|
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
|
+
};
|