@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 = 'adliell-fiberjamforelse-mikroskop';
|
|
5
|
+
const title = 'Simulator för adliell fiberjämförelse under mikroskop';
|
|
6
|
+
const description = 'Skapa en profil för en ifrågasatt textilfiber, jämför den med kända referenser och tolka morfologi, polarisation samt UV-Vis-färgspektrum.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Skapa den ifrågasatta fiberns profil',
|
|
11
|
+
text: 'Ange material, diameter, tvinningsriktning, polarisationssvar och färgprofil för den säkrade fibern.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Välj en känd jämförelsefiber',
|
|
15
|
+
text: 'Välj en fiber från ett misstänkt plagg till höger, till exempel bomull, ull, polyester oder nylon.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Justera fokus och polarisation',
|
|
19
|
+
text: 'Dra i skärpereglaget och rotera polarisatorn för att observera skärpa, ytmönster och dubbelbrytning.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Jämför morfologi och UV-Vis-spektrum',
|
|
23
|
+
text: 'Använd morfologipoängen, spektrumpoängen, den kombinerade matchningen och absorptionskurvorna för att avgöra om proverna stämmer överens eller är tydligt olika.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Kan fibermikroskopi identifiera exakt vilket plagg en fiber kommer ifrån?',
|
|
30
|
+
answer: 'Oftast inte. Fiberjämförelse kan visa överensstämmelse eller skillnader mellan en ifrågasatt fiber och ett känt textilmaterial, men en individuell källa kräver noggrann kontextuell analys, validerade metoder och ofta ytterligare kemisk eller instrumentell analys.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Varför används polariserat ljus vid fiberjämförelse?',
|
|
34
|
+
answer: 'Polariserat ljus hjälper till att avslöja dubbelbrytning, utsläckningsbeteende och strukturella skillnader mellan naturliga och syntetiska fibrer. Syntetiska fibrer uppvisar ofta ett starkare polarisationssvar på grund av molekylär orientering.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Vad tillför UV-Vis-spektret?',
|
|
38
|
+
answer: 'Medan mikroskopi beskriver form och optiska egenskaper, kan UV-Vis-absorbans jämföra färgbeteende över olika våglängder. Liknande fibrer med olika färgämnen kan därmed skiljas åt tydligt i spektrumdiagrammet.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Varför visas resultaten som poäng snarare än en slutgiltig identifiering?',
|
|
42
|
+
answer: 'Adliella spårbevis ska rapporteras med lämpliga reservationer. Poängen är pedagogiska sammanfattningar av likhet i morfologi och färg, inte en laboratoriekonklusion eller ett juridiskt utlåtande.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'Virtuellt adliellt mikroskop med delat synfält som jämför två textilfibrer',
|
|
52
|
+
chartAria: 'UV-Vis-absorbansdiagram som jämför färgspektrum för den ifrågasatta och den kända fibern',
|
|
53
|
+
questionedSample: 'Ifrågasatt prov',
|
|
54
|
+
fixedEvidence: 'Säkrat spårbevis',
|
|
55
|
+
builderSummaryDefault: 'Bomull / 18 µm / oregelbunden / indigo',
|
|
56
|
+
customQuestionedLabel: 'Ifrågasatt fiber från fallet',
|
|
57
|
+
material: 'Material',
|
|
58
|
+
cotton: 'Bomull',
|
|
59
|
+
woolMaterial: 'Ull',
|
|
60
|
+
polyesterMaterial: 'Polyester',
|
|
61
|
+
nylonMaterial: 'Nylon',
|
|
62
|
+
materialcotton: 'bomull',
|
|
63
|
+
materialwool: 'ull',
|
|
64
|
+
materialpolyester: 'polyester',
|
|
65
|
+
materialnylon: 'nylon',
|
|
66
|
+
twist: 'Tvinning',
|
|
67
|
+
irregularTwist: 'Oregelbunden',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Diameter',
|
|
71
|
+
polarResponse: 'Polarisationssvar',
|
|
72
|
+
dyeProfile: 'Färgprofil',
|
|
73
|
+
indigoDye: 'Indigo',
|
|
74
|
+
crimsonDye: 'Karmosin',
|
|
75
|
+
navyDye: 'Marinblå',
|
|
76
|
+
violetDye: 'Violett',
|
|
77
|
+
dyeindigo: 'indigo',
|
|
78
|
+
dyecrimson: 'karmosin',
|
|
79
|
+
dyenavy: 'marinblå',
|
|
80
|
+
dyeviolet: 'violett',
|
|
81
|
+
knownSample: 'Känd referens',
|
|
82
|
+
questionedCotton: 'Ifrågasatt blå bomullsfiber',
|
|
83
|
+
suspectCotton: 'Bomullsfiber från misstänkt skjorta',
|
|
84
|
+
wool: 'Fiber från röd ylletröja',
|
|
85
|
+
polyester: 'Fiber från marinblå polyesterjacka',
|
|
86
|
+
nylon: 'Fiber från violett nylonfoder',
|
|
87
|
+
focus: 'Fininställning',
|
|
88
|
+
polarizer: 'Polarisatorvinkel',
|
|
89
|
+
morphology: 'Morfologi',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Dubbelbrytning',
|
|
92
|
+
combinedMatch: 'Kombinerad matchning',
|
|
93
|
+
uvVisTitle: 'Överlagring av UV-Vis-absorbans',
|
|
94
|
+
statusStrong: 'Hög överensstämmelse',
|
|
95
|
+
statusPartial: 'Blandat resultat',
|
|
96
|
+
statusDifferent: 'Stöd för uteslutning',
|
|
97
|
+
verdictStrong: 'Den ifrågasatta och den kända fibern visar hög överensstämmelse i diameter, tvinning, optiska egenskaper och färgspektrum. I ett verkligt fall rapporteras detta som stöd för ett möjligt gemensamt textilursprung, inte som en definitiv identifiering.',
|
|
98
|
+
verdictPartial: 'Resultatet är blandat. Vissa klasskaraktäristika stämmer överens, men morfologi, färgsvar eller dubbelbrytning uppvisar tillräckligt stora skillnader för att kräva ytterligare undersökning innan någon koppling kan göras.',
|
|
99
|
+
verdictDifferent: 'Fibrerna stämmer inte överens i centrala klasskaraktäristika. Det simulerade resultatet stöder en uteslutning av detta kända textilmaterial som källa till den ifrågasatta fibern.',
|
|
100
|
+
disclaimer: 'Endast i utbildningssyfte. Verklig adliell fiberjämförelse kräver validerad mikroskopi, kontroller, dokumentation, kontamineringsskydd, kollegial granskning och kvalificerad spårtolkning.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Adliell fiberjämförelse med delat mikroskopfält och UV-Vis-spektrum',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Utbildningssimulator',
|
|
113
|
+
title: 'Vad detta virtuella fibermikroskop demonstrerar',
|
|
114
|
+
html: 'Denna simulator modellerar det praktiska arbetsflödet vid <strong>adliell fiberjämförelse</strong>: beskriv den ifrågasatta textilfibern, jämför den med en känd referens, justera skärpan, rotera polarisationsfilter och jämför färgämnets absorption med en förenklad UV-Vis-absorbanskurva. Den är avsedd för studenter i spårvetenskap, inte för beslut i verkliga brottsfall.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 fält', label: 'delat synfält i mikroskop', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'synligt spektralområde', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 klasser', label: 'bomull, ull, polyester, nylon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'polarisatorrotation', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Centrala observationer vid jämförelse av textilfibrer',
|
|
129
|
+
items: [
|
|
130
|
+
'Mät eller uppskatta fiberdiametern och notera naturliga variationer längs fibertråden.',
|
|
131
|
+
'Dokumentera tvinningsriktning, ytmönster, märgstrukturer, matteringspartiklar och tvärsnittsdetaljer om tillgängligt.',
|
|
132
|
+
'Använd polariserat ljus för att jämföra dubbelbrytning, utsläckning och ljusstyrkeförändringar under rotation.',
|
|
133
|
+
'Jämför färg under mikroskop och använda instrumentella färgdata när fallet kräver högre urskiljning.',
|
|
134
|
+
'Rapportera om resultaten stämmer överens, är olika eller är oavgörbara; undvik formuleringar som antyder ett unikt plagg utan tillräckligt underlag.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Observation', 'Vad den hjälper till att besvara', 'Begränsning'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Diameter and morfologi', 'Är fibrerna fysiskt lika?', 'Variationer i tillverkningen kan överlappa mellan olika plagg.'],
|
|
142
|
+
['Tvinning och ytdetaljer', 'Stämmer naturliga eller syntetiska drag överens?', 'Skador, töjning och preparering kan förändra utseendet.'],
|
|
143
|
+
['Svar under polariserat ljus', 'Stämmer de optiska egenskaperna överens?', 'Dubbelbrytning är klassbevis, inte en unik signatur.'],
|
|
144
|
+
['UV-Vis-färgspektrum', 'Är färgämnena konsistenta?', 'Liknande färgämnen kan ge närliggande kurvor; extraktion och instrumentinställningar påverkar.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Vad som stöder överensstämmelse',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Flera oberoende klasskaraktäristika stämmer överens mellan den ifrågasatta och den kända fibern.',
|
|
156
|
+
points: ['Jämförbart diameterintervall', 'Samma allmänna fibertyp', 'Likartat polarisationsbeteende', 'Överlappande absorbanstoppar för färgämnet'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Vad som stöder uteslutning',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'En tydlig och repeterbar skillnad visar sig i en egenskap som borde stämma överens vid ett gemensamt ursprung.',
|
|
162
|
+
points: ['Motsägelse mellan naturlig och syntetisk', 'Avvikande tvinning eller ytmorfologi', 'Tydligt avvikande färgspektrum', 'Oförenligt dubbelbrytningssvar'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Hur simuleringsmodellen fungerar',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Modellen innehåller en liten referensdatabas med värden för diameter, tvinningsriktning, fiberklass, dubbelbrytning, färgämnesgrupp och UV-Vis-absorbanspunkter. Den ifrågasatta fibern kan ställas in av användaren så att jämförelsepoängen reagerar på fallets profil snarare än ett fast prov. Den visuella mikroskopbilden reagerar på fokus och polarisatorvinkel så att studenter kan förstå varför optiska inställningar är viktiga.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Polarisatorreglaget är särskilt användbart för syntetiska fibrer. Polyester och nylon har tilldelats högre värden för dubbelbrytning, vilket gör att deras ljusstyrka förändras mer märkbart när polarisatorn roteras. Naturlig bomull och ull reagerar också, men effekten är mer dämpad. Detta visar den pedagogiska poängen att molekylär orientering och fiberstruktur påverkar det optiska beteendet.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'UV-Vis-diagrammet är en förenklad illustration, inte en ersättning för en riktig spektrofotometer. I adliell spåranalys kräver färgjämförelse mikrospektrofotometri, tunnskiktskromatografi, extraktionskemi, referenskontroller och dokumenterad mätosäkerhet. Diagrammet finns till för att visa varför två fibrer som ser lika ut i mikroskop ändå kan skiljas åt genom färgkemi.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Adliella undersökare måste dokumentera varje steg i fiberanalysprocessen. Detta inkluderar att ta detaljerade fotografier, registrera mätningar och upprätthålla en obruten kedja av förvaring för alla fysiska bevis. Simulatorn hjälper studenter att förstå vikten av systematisk dokumentation och objektiv jämförelse i adliellt arbete. Genom att interagera med olika inställningar kan användare lära sig hur ljusväg, provtjocklek och färgkoncentration påverkar spektralkurvorna och det fysiska utseendet.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'paragraph',
|
|
189
|
+
html: 'Adliella undersökare måste dokumentera varje steg i fiberanalysprocessen. Detta inkluderar att ta detaljerade fotografier, registrar mätningar och upprätthålla en obruten kedja av förvaring för alla fysiska bevis. Simulatorn hjälper studenter att förstå vikten av systematisk dokumentation och objektiv jämförelse i adliellt arbete. Genom att interagera med olika inställningar kan användare lära sig hur ljusväg, provtjocklek och färgkoncentration påverkar spektralkurvorna och det fysiska utseendet.',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'glossary',
|
|
193
|
+
items: [
|
|
194
|
+
{ term: 'Ifrågasatt fiber', definition: 'En fiber säkrad från en brottsplats, ett offer, en misstänkt, ett verktyg eller liknande vars ursprung är okänt.' },
|
|
195
|
+
{ term: 'Känd fiber', definition: 'En referensfiber insamlad från ett känt textilmaterial eller föremål för jämförelse med det ifrågasatta provet.' },
|
|
196
|
+
{ term: 'Dubbelbrytning', definition: 'Optiskt fenomen där ett material har olika brytningsindex beroende på ljusets riktning eller polarisation.' },
|
|
197
|
+
{ term: 'UV-Vis-spektrum', definition: 'Ett diagram som visar hur starkt ett färgämne eller material absorberar ljus vid olika våglängder.' },
|
|
198
|
+
{ term: 'Klasskaraktäristikum', definition: 'En egenskap som kan associera ett spårbevis med en grupp möjliga källor snarare än en specifik källa.' },
|
|
199
|
+
],
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: 'tip',
|
|
203
|
+
title: 'Tolkningstips för studenter',
|
|
204
|
+
html: 'En hög likhetspoäng ska tolkas som <strong>överensstämmelse</strong>, inte identitet. Spårbevis är som starkast när mikroskopi, kemi, överföringskontext, persistens, säkringsmetod och kontamineringskontroller alla pekar åt samma håll.',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
type: 'diagnostic',
|
|
208
|
+
variant: 'warning',
|
|
209
|
+
icon: 'mdi:scale-balance',
|
|
210
|
+
badge: 'Forensic caution',
|
|
211
|
+
title: 'Håll slutsatsen inom bevisets gränser',
|
|
212
|
+
html: 'Ett mikroskop i webbläsaren kan inte validera en fibermatchning. Formella rapporter ska beskriva observationerna, jämförelseunderlaget, begränsningarna och stödnivån utan att överdriva kopplingen till källan.',
|
|
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 = 'adli-lif-karsilastirma-mikroskobu';
|
|
5
|
+
const title = 'Adli Lif Karşılaştırma Mikroskobu Simülatörü';
|
|
6
|
+
const description = 'Şüpheli bir tekstil lifi profili oluşturun, bunu bilinen referanslarla karşılaştırın ve morfoloji, polarizasyon ve UV-Vis boya spektrumu verilerini yorumlayın.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Şüpheli lif profilini oluşturun',
|
|
11
|
+
text: 'Ele geçirilen lif için malzeme, çap, büküm yönü, polarizasyon tepkisi ve boya profilini belirleyin.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Bilinen bir karşılaştırma lifi seçin',
|
|
15
|
+
text: 'Sağ tarafta pamuk, yün, polyester veya naylon gibi şüpheli bir giysi lifini seçin.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Odak ve polarizasyonu ayarlayın',
|
|
19
|
+
text: 'Netliği, yüzey çıkıntılarını ve çift kırılma tepkisini gözlemlemek için ince odak kaydırıcısını hareket ettirin ve polarizörü döndürün.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Karşılaştırın morfoloji ve UV-Vis spektrumlarını',
|
|
23
|
+
text: 'Örneklerin tutarlı mı yoksa açıkça farklı mı olduğuna karar vermek için morfoloji puanı, spektrum puanı, birleşik eşleşme ve absorpsiyon eğrilerini kullanın.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
question: 'Lif mikroskobu, bir lifin tam olarak hangi giysiden geldiğini belirleyebilir mi?',
|
|
30
|
+
answer: 'Genellikle hayır. Lif karşılaştırması, şüpheli bir lif ile bilinen bir tekstil ürünü arasındaki tutarlılığı veya farklılıkları gösterebilir; ancak bireysel kaynak atfı, dikkatli bir bağlam analizi, doğrulanmış yöntemler ve sıklıkla ek kimyasal veya enstrümantal analizler gerektirir.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Lif karşılaştırmasında neden polarize ışık kullanılır?',
|
|
34
|
+
answer: 'Polarize ışık, çift kırılmayı, sönme davranışını ve doğal ile sentetik lifler arasındaki yapısal farkları ortaya çıkarmaya yardımcı olur. Sentetik lifler, moleküler yönelim nedeniyle genellikle daha güçlü bir polarizasyon tepkisi gösterir.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'UV-Vis spektrumu ne sağlar?',
|
|
38
|
+
answer: 'Mikroskobi şekil ve optik davranışı tanımlarken, UV-Vis absorbans değeri boya davranışını farklı dalga boylarında karşılaştırabilir. Farklı boyalara sahip benzer lifler spektral grafikte net bir şekilde ayrılabilir.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
question: 'Sonuçlar neden kesin bir teşhis yerine puan olarak gösteriliyor?',
|
|
42
|
+
answer: 'Adli mikro deliller orantılı bir şekilde raporlanmalıdır. Puanlar, morfolojik ve boya benzerliğinin eğitim amaçlı özetleridir; laboratuvar sonucu veya hukuki mütalaa değildir.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
export const content: ToolLocaleContent = {
|
|
47
|
+
slug,
|
|
48
|
+
title,
|
|
49
|
+
description,
|
|
50
|
+
ui: {
|
|
51
|
+
viewerAria: 'İki tekstil lifini karşılaştıran sanal bölünmüş alan adli mikroskobu',
|
|
52
|
+
chartAria: 'Şüpheli ve bilinen lif boya spektrumlarını karşılaştıran UV-Vis absorbans grafiği',
|
|
53
|
+
questionedSample: 'Şüpheli örnek',
|
|
54
|
+
fixedEvidence: 'Sabitlenen delil',
|
|
55
|
+
builderSummaryDefault: 'Pamuk / 18 µm / düzensiz / indigo',
|
|
56
|
+
customQuestionedLabel: 'Vakadaki şüpheli lif',
|
|
57
|
+
material: 'Malzeme',
|
|
58
|
+
cotton: 'Pamuk',
|
|
59
|
+
woolMaterial: 'Yün',
|
|
60
|
+
polyesterMaterial: 'Polyester',
|
|
61
|
+
nylonMaterial: 'Naylon',
|
|
62
|
+
materialcotton: 'pamuk',
|
|
63
|
+
materialwool: 'yün',
|
|
64
|
+
materialpolyester: 'polyester',
|
|
65
|
+
materialnylon: 'naylon',
|
|
66
|
+
twist: 'Büküm',
|
|
67
|
+
irregularTwist: 'Düzensiz',
|
|
68
|
+
sTwist: 'S',
|
|
69
|
+
zTwist: 'Z',
|
|
70
|
+
diameter: 'Çap',
|
|
71
|
+
polarResponse: 'Polarize tepkisi',
|
|
72
|
+
dyeProfile: 'Boya profili',
|
|
73
|
+
indigoDye: 'Indigo',
|
|
74
|
+
crimsonDye: 'Koyu Kırmızı',
|
|
75
|
+
navyDye: 'Lacivert',
|
|
76
|
+
violetDye: 'Menekşe',
|
|
77
|
+
dyeindigo: 'indigo',
|
|
78
|
+
dyecrimson: 'koyu kırmızı',
|
|
79
|
+
dyenavy: 'lacivert',
|
|
80
|
+
dyeviolet: 'menekşe',
|
|
81
|
+
knownSample: 'Bilinen karşılaştırma',
|
|
82
|
+
questionedCotton: 'Şüpheli mavi pamuk lifi',
|
|
83
|
+
suspectCotton: 'Şüpheli gömlek pamuk lifi',
|
|
84
|
+
wool: 'Kırmızı yün kazak lifi',
|
|
85
|
+
polyester: 'Lacivert polyester ceket lifi',
|
|
86
|
+
nylon: 'Menekşe naylon astar lifi',
|
|
87
|
+
focus: 'İnce odak',
|
|
88
|
+
polarizer: 'Polarizör açısı',
|
|
89
|
+
morphology: 'Morfoloji',
|
|
90
|
+
spectrum: 'UV-Vis',
|
|
91
|
+
birefringence: 'Çift kırılma',
|
|
92
|
+
combinedMatch: 'Birleşik eşleşme',
|
|
93
|
+
uvVisTitle: 'UV-Vis absorbans çakıştırması',
|
|
94
|
+
statusStrong: 'Yüksek tutarlılık',
|
|
95
|
+
statusPartial: 'Karışık karşılaştırma',
|
|
96
|
+
statusDifferent: 'Dışlama destekleniyor',
|
|
97
|
+
verdictStrong: 'Şüpheli ve bilinen lifler çap, büküm, optik davranış ve boya spektrumunda yüksek düzeyde tutarlılık göstermektedir. Gerçek bir vakada bunu, bireysel bir teşhis olarak değil, olası ortak bir tekstil kaynağının desteği olarak raporlayın.',
|
|
98
|
+
verdictPartial: 'Karşılaştırma karışıktır. Bazı sınıf özellikleri uyuşmaktadır, ama morfoloji, boya tepkisi veya çift kırılma, ihtiyatlı bir ilişkilendirmeden önce daha fazla inceleme gerektirecek kadar fark barındırmaktadır.',
|
|
99
|
+
verdictDifferent: 'Lifler temel sınıf özellikleri genelinde tutarlı değildir. Simüle edilen sonuç, şüpheli lif için bu bilinen tekstil kaynağının dışlanmasını desteklemektedir.',
|
|
100
|
+
disclaimer: 'Yalnızca eğitim amaçlı simülasyon. Gerçek adli lif karşılaştırması; doğrulanmış mikroskobi, kontroller, dokümantasyon, kontaminasyon önlemleri, akran değerlendirmesi ve yetkin mikro delil yorumlaması gerektirir.',
|
|
101
|
+
},
|
|
102
|
+
seo: [
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Bölünmüş Alan Mikroskobisi ve UV-Vis Spektrumları ile Adli Lif Karşılaştırması',
|
|
106
|
+
level: 2,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'diagnostic',
|
|
110
|
+
variant: 'info',
|
|
111
|
+
icon: 'mdi:microscope',
|
|
112
|
+
badge: 'Öğretim simülatörü',
|
|
113
|
+
title: 'Bu sanal lif mikroskobunun gösterdiği özellikler',
|
|
114
|
+
html: 'Bu simülatör, <strong>adli lif karşılaştırmasının</strong> arkasındaki pratik iş akışını modeller: şüpheli tekstil lifini tanımlayın, bilinen bir referansla karşılaştırın, odağı ayarlayın, polarize filtreleri döndürün ve boya tepkisini basitleştirilmiş bir UV-Vis absorbans eğrisi ile karşılaştırın. İz delil eğitimi alan öğrenciler için tasarlanmıştır, gerçek dava kararları için değildir.',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
type: 'stats',
|
|
118
|
+
columns: 4,
|
|
119
|
+
items: [
|
|
120
|
+
{ value: '2 alan', label: 'bölünmüş mikroskop görünümü', icon: 'mdi:compare-horizontal' },
|
|
121
|
+
{ value: '380-720 nm', label: 'görünür spektrum aralığı', icon: 'mdi:chart-bell-curve' },
|
|
122
|
+
{ value: '4 sınıf', label: 'pamuk, yün, polyester, naylon', icon: 'mdi:tshirt-crew' },
|
|
123
|
+
{ value: '0-180°', label: 'polarizör rotasyonu', icon: 'mdi:rotate-3d-variant' },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'summary',
|
|
128
|
+
title: 'Tekstil lifi karşılaştırmasında temel gözlemler',
|
|
129
|
+
items: [
|
|
130
|
+
'Lif boyunca doğal varyasyonu not ederek lif çapını ölçün veya tahmin edin.',
|
|
131
|
+
'Mevcut olduğunda büküm yönünü, yüzey çıkıntılarını, medulla benzeri özellikleri, matlaştırıcı partikülleri ve enine kesit ipuçlarını kaydedin.',
|
|
132
|
+
'Döndürme altında çift kırılmayı, sönme davranışını ve parlaklık değişikliklerini karşılaştırmak için polarize ışık kullanın.',
|
|
133
|
+
'Rengi mikroskobik olarak karşılaştırın, ardından durum daha yüksek bir ayrım gerektirdiğinde enstrümantal boya verilerini kullanın.',
|
|
134
|
+
'Bulguların tutarlı, farklı veya yetersiz olup olmadığını rapor edin; destekleyici kanıt olmadan benzersiz bir giysi kaynağına işaret eden ifadelerden kaçının.',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'table',
|
|
139
|
+
headers: ['Gözlem', 'Neyi yanıtlamaya yardımcı olur', 'Sınır'],
|
|
140
|
+
rows: [
|
|
141
|
+
['Çap ve morfoloji', 'Lifler fiziksel olarak benzer mi?', 'Üretim varyasyonları giysiler arasında örtüşebilir.'],
|
|
142
|
+
['Büküm ve yüzey detayı', 'Doğal veya sentetik özellikler uyuşuyor mu?', 'Hasar, gerilme ve preparat hazırlama görünümü değiştirebilir.'],
|
|
143
|
+
['Polarize ışık tepkisi', 'Optik özellikler uyuşuyor mu?', 'Çift kırılma sınıf düzeyinde kanıttır, benzersiz bir imza değildir.'],
|
|
144
|
+
['UV-Vis boya spektrumu', 'Boyalar tutarlı mı?', 'Benzer boyalar yakın görünebilir; ekstraksiyon ve cihaz ayarları önemlidir.'],
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'comparative',
|
|
149
|
+
columns: 2,
|
|
150
|
+
items: [
|
|
151
|
+
{
|
|
152
|
+
title: 'Tutarlılığı destekleyen durumlar',
|
|
153
|
+
icon: 'mdi:check-circle-outline',
|
|
154
|
+
highlight: true,
|
|
155
|
+
description: 'Şüpheli ve bilinen lifler arasında birden fazla bağımsız sınıf özelliği uyuşuyor.',
|
|
156
|
+
points: ['Karşılaştırılabilir çap aralığı', 'Aynı genel lif türü', 'Benzer polarizasyon davranışı', 'Örtüşen boya absorbsiyon pikleri'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Dışlamayı destekleyen durumlar',
|
|
160
|
+
icon: 'mdi:close-circle-outline',
|
|
161
|
+
description: 'Ortak bir tekstil kaynağı için uyuşması gereken bir özellikte net ve tekrarlanabilir bir fark ortaya çıkıyor.',
|
|
162
|
+
points: ['Doğal veya sentetik uyumsuzluğu', 'Farklı büküm veya yüzey morfolojisi', 'Belirgin şekilde farklı boya spektrumu', 'Uyumsuz çift kırılma tepkisi'],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Simülasyon Modelinin Çalışma Prensibi',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'paragraph',
|
|
173
|
+
html: 'Model; çap, büküm yönü, lif sınıfı, çift kırılma, boya ailesi ve UV-Vis absorbans noktalarını içeren küçük bir referans veri tabanı depolar. Şüpheli lif kullanıcı tarafından yapılandırılabilir, böylece karşılaştırma puanı sabit bir sınıf örneği yerine vaka profiline yanıt verir. Görsel mikroskop görünümü odak ve polarizör açısına göre değişir, böylece öğrenciler optik ayarların neden önemli olduğunu görebilir.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Polarizör kontrolü özellikle sentetik lifler için yararlıdır. Polyester ve naylona daha güçlü çift kırılma değerleri atanmıştır, bu nedenle polarizör döndükçe parlaklıkları daha görünür şekilde değişir. Doğal pamuk ve yün de tepki verir, ancak simüle edilen etki daha hafiftir. Bu, moleküler yönelim nedeniyle lif yapısının optik davranışı etkilediği öğretim fikrini yansıtır.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'paragraph',
|
|
181
|
+
html: 'UV-Vis grafiği basitleştirilmiş bir çakıştırmadır, bir spektrofotometrenin yerini almaz. Gerçek adli mikro delil çalışmalarında, boya karşılaştırması mikrospektrofotometri, ince tabaka kromatografisi, ekstraksiyon kimyası, referans kontrolleri ve belgelenmiş belirsizlik gerektirebilir. Grafik, mikroskop altında benzer görünen iki lifin boya kimyasıyla neden hala ayrılabileceğini öğretmek için mevcuttur.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
type: 'paragraph',
|
|
185
|
+
html: 'Adli tıp uzmanları lif analizi sürecinin her adımını belgelemelidir. Bu, ayrıntılı fotoğrafların çekilmesini, ölçümlerin kaydedilmesini ve tüm fiziksel kanıtlar için bir gözetim zincirinin sürdürülmesini içerir. Simülatör, öğrencilerin adli çalışmalarda sistematik belgelendirmenin ve nesnel karşılaştırmanın önemini anlamalarına yardımcı olur. Farklı ayarlarla etkileşime girerek, kullanıcılar ışık yolunun, numune kalınlığının ve boya konsantrasyonunun spektral eğrileri ve fiziksel görünümü nasıl etkilediğini öğrenebilirler. Böylelikle eğitim alan öğrenciler, laboratuvar standartlarına uygun şekilde mikroskobik inceleme, kimyasal analiz, kontaminasyon kontrolleri ve delil güvenliği gibi adli süreçleri bütünsel bir şekilde öğrenme ve uygulama fırsatı bulurlar.',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
type: 'glossary',
|
|
189
|
+
items: [
|
|
190
|
+
{ term: 'Şüpheli lif', definition: 'Olay yerinden, kurbandan, şüpheliden, aletten, araçtan veya kaynağı bilinmeyen diğer ögelerden elde edilen lif.' },
|
|
191
|
+
{ term: 'Bilinen lif', definition: 'Şüpheli örnekle karşılaştırmak üzere bilinen bir tekstil veya nesneden toplanan referans lif.' },
|
|
192
|
+
{ term: 'Çift kırılma', definition: 'Işık yönüne veya polarizasyonuna bağlı olarak bir malzemenin farklı kırılma indislerine sahip olması durumu.' },
|
|
193
|
+
{ term: 'UV-Vis spektrumu', definition: 'Bir boyanın veya malzemenin ışığı farklı dalga boylarında ne kadar güçlü emdiğini gösteren grafik.' },
|
|
194
|
+
{ term: 'Sınıf özelliği', definition: 'Delilleri tek bir benzersiz kaynak yerine olası kaynaklar grubuyla ilişkilendirebilen özellik.' },
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type: 'tip',
|
|
199
|
+
title: 'Öğrenciler için yorumlama ipucu',
|
|
200
|
+
html: 'Yüksek bir benzerlik puanı kimlik tespiti olarak değil, <strong>tutarlılık</strong> olarak okunmalıdır. Mikro deliller; mikroskobi, kimya, transfer bağlamı, kalıcılık, kurtarma yöntemi ve kontaminasyon kontrolleri aynı yönü gösterdiğinde en güçlüdür.',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'diagnostic',
|
|
204
|
+
variant: 'warning',
|
|
205
|
+
icon: 'mdi:scale-balance',
|
|
206
|
+
badge: 'Forensic caution',
|
|
207
|
+
title: 'Çıkarımı delil sınırları içinde tutun',
|
|
208
|
+
html: 'Bir tarayıcı mikroskobu lif eşleşmesini doğrulayamaz. Resmi raporlar, kaynak atfını abartmadan gözlemleri, karşılaştırma temelini, sınırlılıkları ve destek düzeyini açıklamalıdır.',
|
|
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
|
+
};
|