@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,244 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'simulador-teste-microcristalino-drogas';
|
|
5
|
+
const title = 'Simulador Forense de Teste Microcristalino de Drogas';
|
|
6
|
+
const description = 'Simule padrões educacionais de triagem microcristalina de drogas combinando substâncias controladas suspeitas com reagentes forenses clássicos e comparando o hábito cristalino, velocidade de crescimento e birrefringência.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Escolha uma amostra suspeita',
|
|
11
|
+
text: 'Selecione cocaína, heroína, anfetamina ou metanfetamina para carregar um perfil didático do material desconhecido.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Aplique um reagente microcristalino',
|
|
15
|
+
text: 'Alterne entre cloreto de platina, cloreto de ouro e reagente de Dragendorff para ver como a química do reagente altera a morfologia do cristal.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Ajuste a polarização simulada',
|
|
19
|
+
text: 'Mova o controle de polarização para aumentar ou reduzir o contraste birrefringente no campo do microscópio virtual.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Compare o resultado com a referência',
|
|
23
|
+
text: 'Use a etiqueta de hábito, pontuação de confiança, velocidade de crescimento e nota de interpretação para decidir se o padrão é semelhante à referência, parcial ou não específico.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Os testes microcristalinos são confirmatórios para drogas ilegais?',
|
|
31
|
+
answer: 'Não. Os testes microcristalinos são ferramentas de triagem presuntiva ou comparativa. A identificação real de drogas apreendidas deve seguir esquemas validados que incluam controles apropriados e métodos instrumentais confirmatórios, como GC-MS, LC-MS ou espectroscopia de infravermelho.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Por que reagentes diferentes produzem formas de cristal diferentes?',
|
|
36
|
+
answer: 'O reagente forma sais, complexos ou precipitados com grupos funcionais no composto alvo. A solubilidade, força ácida, concentração, impurezas e taxa de secagem influenciam se o hábito observado aparece como agulhas, rosetas, prismas, placas ou dispersão fraca.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'O que a luz polarizada adiciona ao exame microcristalino?',
|
|
41
|
+
answer: 'A luz polarizada pode aumentar o contraste e revelar a birrefringência, facilitando a comparação de bordas, ramificações e estrutura interna do cristal. Não elimina a necessidade de padrões de referência e controles.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Por que um padrão com aparência positiva ainda pode ser enganoso?',
|
|
46
|
+
answer: 'Agentes de corte, misturas, material degradado, idade do reagente, contaminação e expectativa do analista podem produzir morfologias ambíguas ou sobrepostas. É por isso que os resultados presuntivos devem ser interpretados com cautela.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Este simulador pode identificar uma substância desconhecida?',
|
|
51
|
+
answer: 'Não. É uma visualização educacional de conceitos comuns de morfologia. Não pode testar evidências reais, medir propriedades químicas ou emitir uma conclusão laboratorial.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
microscope: 'Microscópio polarizado',
|
|
61
|
+
canvasAria: 'Campo de crescimento microcristalino animado',
|
|
62
|
+
sample: 'Amostra suspeita',
|
|
63
|
+
sampleCocaine: 'Cocaína',
|
|
64
|
+
sampleHeroin: 'Heroína',
|
|
65
|
+
sampleAmphetamine: 'Anfetamina',
|
|
66
|
+
sampleMethamphetamine: 'Metanfetamina',
|
|
67
|
+
reagent: 'Prateleira de reagentes',
|
|
68
|
+
reagentPlatinum: 'Cloreto de platina',
|
|
69
|
+
reagentGold: 'Cloreto de ouro',
|
|
70
|
+
reagentDragendorff: 'Dragendorff',
|
|
71
|
+
polarization: 'Contraste polarizado',
|
|
72
|
+
confidence: 'Coincidência',
|
|
73
|
+
growth: 'Crescimento',
|
|
74
|
+
birefringence: 'Birrefr.',
|
|
75
|
+
regrow: 'Regenerar cristais',
|
|
76
|
+
warningLabel: 'Precaução forense',
|
|
77
|
+
warningTitle: 'Aviso de triagem',
|
|
78
|
+
matchReference: 'Tipo referência',
|
|
79
|
+
matchPartial: 'Coincidência parcial',
|
|
80
|
+
matchNonSpecific: 'Não específico',
|
|
81
|
+
habitFeatheryNeedles: 'Feixes de agulhas plumosas',
|
|
82
|
+
habitRosettes: 'Rosetas em estrela',
|
|
83
|
+
habitBranchingPrisms: 'Prismas ramificados',
|
|
84
|
+
habitPlates: 'Placas finas',
|
|
85
|
+
habitWeakScatter: 'Dispersão escassa não específica',
|
|
86
|
+
cueCocainePlatinumChloride: 'Feixes de agulhas plumosas e ramificadas são o padrão didático esperado para a cocaína com cloreto de platina.',
|
|
87
|
+
cueCocaineGoldChloride: 'O cloreto de ouro pode formar cristais ramificados laranja-escuro, mas o padrão é menos específico do que com cloreto de platina.',
|
|
88
|
+
cueCocaineDragendorff: 'O reagente de Dragendorff dá uma resposta alcaloide fraca aqui; a morfologia deve ser tratada apenas como informação de triagem.',
|
|
89
|
+
cueHeroinPlatinumChloride: 'Depósitos semelhantes a placas podem aparecer, mas esta combinação não é um forte par didático confirmatório.',
|
|
90
|
+
cueHeroinGoldChloride: 'Grupos de rosetas e estrelas arredondadas são o padrão de heroína tipo referência neste simulador.',
|
|
91
|
+
cueHeroinDragendorff: 'O reagente de Dragendorff produz prismas ramificados laranja consistentes com uma triagem de alcaloides, não uma prova de identidade.',
|
|
92
|
+
cueAmphetaminePlatinumChloride: 'Prismas de ramificação rápida sugerem um padrão didático do tipo estimulante sob o reagente escolhido.',
|
|
93
|
+
cueAmphetamineGoldChloride: 'Cristalização escassa significa que o achado visual deve ser relatado como não específico.',
|
|
94
|
+
cueAmphetamineDragendorff: 'Sprays de agulhas crescem rapidamente e são úteis para ensinar comparações presuntivas de anfetamina.',
|
|
95
|
+
cueMethamphetaminePlatinumChloride: 'Rosetas polarizadas podem se formar, mas o resultado continua sendo uma comparação de morfologia presuntiva.',
|
|
96
|
+
cueMethamphetamineGoldChloride: 'Formas de placas finas são visíveis, embora a sobreposição com outros compostos limite a especificidade.',
|
|
97
|
+
cueMethamphetamineDragendorff: 'Prismas ramificados laranja densos fornecem a correspondência didática mais forte para a metanfetamina neste conjunto.',
|
|
98
|
+
disclaimer: 'Modelo de triagem didático apenas. A identificação real de drogas requer padrões de referência validados, controles de reagentes, cadeia de custódia e análises instrumentais confirmatórias.',
|
|
99
|
+
},
|
|
100
|
+
seo: [
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
text: 'Testes Microcristalinos de Drogas na Ciência Forense',
|
|
104
|
+
level: 2,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'diagnostic',
|
|
108
|
+
variant: 'info',
|
|
109
|
+
icon: 'mdi:microscope',
|
|
110
|
+
badge: 'Simulador didático',
|
|
111
|
+
title: 'Para que serve este simulador microcristalino',
|
|
112
|
+
html: 'Esta ferramenta explica como os testes microcristalinos forenses clássicos podem produzir hábitos cristalinos reconhecíveis após a mistura de uma droga suspeita com um reagente. Ajuda os alunos a comparar a <strong>morfologia do cristal</strong>, velocidade de crescimento e contraste sob luz polarizada sem tratar o resultado do navegador como prova.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'stats',
|
|
116
|
+
columns: 4,
|
|
117
|
+
items: [
|
|
118
|
+
{ value: '4', label: 'perfis de amostras didáticas', icon: 'mdi:flask-outline' },
|
|
119
|
+
{ value: '3', label: 'opções de reagentes tradicionais', icon: 'mdi:bottle-tonic-outline' },
|
|
120
|
+
{ value: '5', label: 'hábitos cristalinos modelados', icon: 'mdi:shape-outline' },
|
|
121
|
+
{ value: '0', label: 'declarações de identificação legal', icon: 'mdi:scale-balance' },
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Como Interpretar o Hábito Cristalino',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'summary',
|
|
131
|
+
title: 'Lista de verificação prática para comparação',
|
|
132
|
+
items: [
|
|
133
|
+
'Comece com um padrão de referência conhecido e um controle de reagente em branco antes de comparar uma amostra desconhecida.',
|
|
134
|
+
'Registre o reagente, concentração, tamanho da gota, tempo de secagem, temperatura e ampliação do microscópio.',
|
|
135
|
+
'Compare primeiro o hábito geral: agulhas, rosetas, placas, prismas, ramificações ou dispersão fraca.',
|
|
136
|
+
'Trate o crescimento parcial ou escasso como motivo para testes adicionais, não como uma identificação confiável.',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'table',
|
|
141
|
+
headers: ['Hábito observado', 'Perguntas frequentes dos usuários', 'Interpretação cautelosa'],
|
|
142
|
+
rows: [
|
|
143
|
+
['Agulhas plumosas', 'Isso se parece com cocaína com cloreto de platina?', 'Pode ser uma correspondência didática útil, mas misturas e condições do reagente podem alterar o hábito.'],
|
|
144
|
+
['Rosetas', 'As rosetas em estrela são diagnósticas?', 'As rosetas podem apoiar uma comparação quando os controles coincidem, mas não são suficientes isoladamente.'],
|
|
145
|
+
['Prismas ramificados', 'Por que as triagens de estimulantes costumam crescer rápido?', 'Alguns sais nucleiam rapidamente e se ramificam à medida que o solvente evapora; a velocidade é um indicativo de apoio, não confirmatório.'],
|
|
146
|
+
['Dispersão fraca', 'Um padrão fraco significa que nenhuma droga está presente?', 'Não. Baixa concentração, impurezas, reagente envelhecido ou má preparação podem suprimir o crescimento do cristal.'],
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'comparative',
|
|
151
|
+
columns: 2,
|
|
152
|
+
items: [
|
|
153
|
+
{
|
|
154
|
+
title: 'A triagem microcristalina ajuda com',
|
|
155
|
+
icon: 'mdi:check-circle-outline',
|
|
156
|
+
highlight: true,
|
|
157
|
+
description: 'Comparação visual rápida quando um analista treinado usa controles e materiais de referência.',
|
|
158
|
+
points: ['Demonstrações em sala de aula', 'Vocabulário de morfologia', 'Triagem presuntiva', 'Comparação do efeito de reagentes'],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
title: 'A triagem microcristalina não substitui',
|
|
162
|
+
icon: 'mdi:alert-circle-outline',
|
|
163
|
+
description: 'Química confirmatória validada para uma conclusão real de droga apreendida.',
|
|
164
|
+
points: ['Confirmação instrumental', 'Procedimentos acreditados', 'Validação específica da matriz', 'Documentação de incerteza'],
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: 'Contexto Científico sobre Testes Microcristalinos',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Os testes microcristalinos representam uma classe histórica e altamente sensível de testes de triagem química usados por químicos forenses para identificar substâncias controladas suspeitas. Quando uma pequena quantidade de uma amostra de droga é dissolvida em ácido e combinada com um reagente de metal pesado específico, como cloreto de ouro ou cloreto de platina, precipita um complexo de coordenação ou sal insolúvel. A estrutura molecular da droga dita a taxa de crescimento, orientação e simetria dos cristais resultantes, produzindo formas ou hábitos microscópicos característicos.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'paragraph',
|
|
179
|
+
html: 'A análise desses hábitos sob um microscópio de luz polarizada permite que os peritos forenses observem propriedades ópticas como a birrefringência, em que o cristal divide a luz em dois raios, criando cores vivas e alto contraste. Embora os métodos instrumentais, como a cromatografia gasosa com espectrometria de massa, tenham amplamente substituído os testes microcristalinos para identificação confirmatória, a triagem microcristalina continua sendo uma técnica valorizada devido à sua rapidez, baixo custo e capacidade de separar isômeros ópticos que podem ser difíceis de diferenciar por outros meios.',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'paragraph',
|
|
183
|
+
html: 'Em ambientes educacionais, a simulação dessas reações ajuda os alunos a entender a relação entre os reagentes químicos e a morfologia física do cristal. Ao observar como a cocaína, a heroína e várias anfetaminas respondem a reagentes diferentes, os alunos aprendem que um único teste positivo não é uma conclusão forense final. Protocolos de triagem de drogas adequados exigem a comparação de amostras desconhecidas com materiais de referência conhecidos e a realização de testes em branco com reagentes para garantir a validade e especificidade dos padrões de cristal observados.',
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
type: 'glossary',
|
|
187
|
+
items: [
|
|
188
|
+
{ term: 'Hábito cristalino', definition: 'A forma visível ou modo de crescimento de um cristal, como agulhas, placas, prismas ou rosetas.' },
|
|
189
|
+
{ term: 'Nucleação', definition: 'A formação inicial de minúsculos centros cristalinos dos quais crescem estruturas maiores.' },
|
|
190
|
+
{ term: 'Birrefringência', definition: 'Comportamento óptico que pode fazer os cristais parecerem mais brilhantes ou coloridos sob luz polarizada.' },
|
|
191
|
+
{ term: 'Teste presuntivo', definition: 'Um teste de triagem que sugere uma possível classe ou composto, mas não prova a identidade por si só.' },
|
|
192
|
+
{ term: 'Padrão de referência', definition: 'Um material conhecido testado sob as mesmas condições para comparar o padrão desconhecido.' },
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'tip',
|
|
197
|
+
title: 'Melhor prática para evidências reais',
|
|
198
|
+
html: 'Use a morfologia microcristalina como uma linha de investigação. Um fluxo de trabalho confiável inclui brancos de reagente, controles positivos, documentação da idade do reagente, revisão independente quando necessário e testes confirmatórios sob um esquema aceito de drogas apreendidas.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'diagnostic',
|
|
202
|
+
variant: 'warning',
|
|
203
|
+
icon: 'mdi:alert-outline',
|
|
204
|
+
badge: 'Precaução forense',
|
|
205
|
+
title: 'Um cristal bonito não é uma identificação legal',
|
|
206
|
+
html: 'O simulador separa deliberadamente a pontuação de correspondência visual de uma conclusão forense. O trabalho de caso real deve levar em conta misturas, agentes de corte, contaminação, desempenho do reagente, treinamento do analista e procedimentos laboratoriais validados.',
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
faq,
|
|
210
|
+
bibliography,
|
|
211
|
+
howTo,
|
|
212
|
+
schemas: [
|
|
213
|
+
{
|
|
214
|
+
'@context': 'https://schema.org',
|
|
215
|
+
'@type': 'SoftwareApplication',
|
|
216
|
+
name: title,
|
|
217
|
+
description,
|
|
218
|
+
applicationCategory: 'ForensicApplication',
|
|
219
|
+
operatingSystem: 'Any',
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
'@context': 'https://schema.org',
|
|
223
|
+
'@type': 'FAQPage',
|
|
224
|
+
mainEntity: faq.map((item) => ({
|
|
225
|
+
'@type': 'Question',
|
|
226
|
+
name: item.question,
|
|
227
|
+
acceptedAnswer: {
|
|
228
|
+
'@type': 'Answer',
|
|
229
|
+
text: item.answer,
|
|
230
|
+
},
|
|
231
|
+
})),
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
'@context': 'https://schema.org',
|
|
235
|
+
'@type': 'HowTo',
|
|
236
|
+
name: title,
|
|
237
|
+
step: howTo.map((step) => ({
|
|
238
|
+
'@type': 'HowToStep',
|
|
239
|
+
name: step.name,
|
|
240
|
+
text: step.text,
|
|
241
|
+
})),
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
};
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'simulyator-mikrokristallicheskih-testov-na-narkotiki';
|
|
5
|
+
const title = 'Судебный симулятор микрокристаллических тестов на наркотики';
|
|
6
|
+
const description = 'Моделирование учебных паттернов микрокристаллического скрининга наркотиков путем смешивания подозреваемых веществ с классическими реагентами и сравнения формы кристаллов, скорости роста и двулучепреломления.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Выберите исследуемый образец',
|
|
11
|
+
text: 'Выберите кокаин, героин, амфетамин или метамфетамин для загрузки учебного профиля неизвестного вещества.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'Нанесите микрокристаллический реагент',
|
|
15
|
+
text: 'Переключайтесь между хлоридом платины, хлоридом золота и реагентом Драгендорфа, чтобы увидеть, как химия реагента меняет морфологию кристаллов.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Настройте симуляцию поляризации',
|
|
19
|
+
text: 'Перемещайте ползунок поляризации для увеличения или уменьшения контраста двулучепреломления в поле виртуального микроскопа.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Сравните результат с эталоном',
|
|
23
|
+
text: 'Используйте описание формы кристаллов, показатель соответствия, скорость роста и интерпретационную заметку, чтобы определить характер паттерна.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: 'Являются ли микрокристаллические тесты подтверждающими для наркотиков?',
|
|
31
|
+
answer: 'Нет. Микрокристаллические тесты являются предварительными или сравнительными инструментами скрининга. Реальная идентификация изъятых наркотиков должна основываться на валидированных схемах исследования с соответствующим контролем и подтверждающими инструментальными методами, такими как ГХ-МС, ЖХ-МС или ИК-спектроскопия.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'Почему разные реагенты дают разные формы кристаллов?',
|
|
36
|
+
answer: 'Реагент образует соли, комплексы или осадки с функциональными группами целевого соединения. Растворимость, кислотность, концентрация, примеси и скорость высыхания определяют форму образующихся кристаллов (иглы, розетки, призмы, пластины или слабое рассеяние).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: 'Что дает использование поляризованного света при анализе?',
|
|
41
|
+
answer: 'Поляризованный свет увеличивает контрастность и выявляет двулучепреломление кристаллов, облегчая сравнение их граней, ветвления и внутренней структуры. Он не заменяет необходимость использования стандартов сравнения и контролей.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'Почему внешне положительный результат может быть ошибочным?',
|
|
46
|
+
answer: 'Разбавители, смеси, продукты распада, возраст реагента, загрязнения и ожидания аналитика могут приводить к получению двусмысленных результатов. Поэтому к оценке предварительных тестов нужно подходить с осторожностью.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'faq-5',
|
|
50
|
+
question: 'Может ли данный симулятор идентифицировать вещество?',
|
|
51
|
+
answer: 'Нет. Это образовательное приложение для визуализации общих концепций морфологии кристаллов. Оно не предназначено для тестирования реальных улик, проведения химического анализа или вынесения экспертных заключений.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
export const content: ToolLocaleContent = {
|
|
56
|
+
slug,
|
|
57
|
+
title,
|
|
58
|
+
description,
|
|
59
|
+
ui: {
|
|
60
|
+
microscope: 'Поляризационный микроскоп',
|
|
61
|
+
canvasAria: 'Анимированное поле роста микрокристаллов',
|
|
62
|
+
sample: 'Исследуемый образец',
|
|
63
|
+
sampleCocaine: 'Кокаин',
|
|
64
|
+
sampleHeroin: 'Героин',
|
|
65
|
+
sampleAmphetamine: 'Амфетамин',
|
|
66
|
+
sampleMethamphetamine: 'Метамфетамин',
|
|
67
|
+
reagent: 'Полка с реагентами',
|
|
68
|
+
reagentPlatinum: 'Хлорид платины',
|
|
69
|
+
reagentGold: 'Хлорид золота',
|
|
70
|
+
reagentDragendorff: 'Реагент Драгендорфа',
|
|
71
|
+
polarization: 'Поляризационный контраст',
|
|
72
|
+
confidence: 'Соответствие',
|
|
73
|
+
growth: 'Рост',
|
|
74
|
+
birefringence: 'Двулучепр.',
|
|
75
|
+
regrow: 'Вырастить заново',
|
|
76
|
+
warningLabel: 'Судебное предупреждение',
|
|
77
|
+
warningTitle: 'Предупреждение о скрининге',
|
|
78
|
+
matchReference: 'Эталонный паттерн',
|
|
79
|
+
matchPartial: 'Частичное совпадение',
|
|
80
|
+
matchNonSpecific: 'Неспецифический',
|
|
81
|
+
habitFeatheryNeedles: 'Пучки перистых игл',
|
|
82
|
+
habitRosettes: 'Звездчатые розетки',
|
|
83
|
+
habitBranchingPrisms: 'Ветвящиеся призмы',
|
|
84
|
+
habitPlates: 'Тонкие пластины',
|
|
85
|
+
habitWeakScatter: 'Редкое неспецифическое рассеяние',
|
|
86
|
+
cueCocainePlatinumChloride: 'Пучки перистых и ветвящихся игл представляют собой ожидаемый учебный паттерн для кокаина с хлоридом платины.',
|
|
87
|
+
cueCocaineGoldChloride: 'Хлорид золота может образовывать ветвящиеся оранжево-коричневые кристаллы, но этот паттерн менее специфичен, чем с хлоридом платины.',
|
|
88
|
+
cueCocaineDragendorff: 'Реагент Драгендорфа дает слабую алкалоидную реакцию; морфологию следует рассматривать исключительно как скрининговую информацию.',
|
|
89
|
+
cueHeroinPlatinumChloride: 'Могут появляться пластинчатые отложения, но данное сочетание не является надежным подтверждающим учебным паттерном.',
|
|
90
|
+
cueHeroinGoldChloride: 'Группы розеток и округлые звездчатые формы представляют собой эталонный паттерн для героина в данном симуляторе.',
|
|
91
|
+
cueHeroinDragendorff: 'Реагент Драгендорфа дает оранжевые ветвящиеся призмы, характерные для скрининга на алкалоиды, а не доказательство идентичности.',
|
|
92
|
+
cueAmphetaminePlatinumChloride: 'Быстро ветвящиеся призмы указывают на учебный паттерн стимулятора при использовании выбранного реагента.',
|
|
93
|
+
cueAmphetamineGoldChloride: 'Редкая кристаллизация означает, что визуальный результат следует классифицировать как неспецифический.',
|
|
94
|
+
cueAmphetamineDragendorff: 'Игольчатые веера растут быстро и полезны для обучения сравнительному анализу амфетамина.',
|
|
95
|
+
cueMethamphetaminePlatinumChloride: 'Могут образовываться поляризованные розетки, но результат все равно остается предварительным морфологическим сравнением.',
|
|
96
|
+
cueMethamphetamineGoldChloride: 'Видны тонкие пластинчатые формы, хотя сходство с другими соединениями ограничивает специфичность исследования.',
|
|
97
|
+
cueMethamphetamineDragendorff: 'Плотные оранжевые ветвящиеся призмы обеспечивают наиболее надежное учебное совпадение для метамфетамина в этом наборе.',
|
|
98
|
+
disclaimer: 'Исключительно учебная модель скрининга. Реальная идентификация наркотиков требует валидированных стандартов сравнения, контроля реагентов, соблюдения правил сбора улик и подтверждающего инструментального анализа.',
|
|
99
|
+
},
|
|
100
|
+
seo: [
|
|
101
|
+
{
|
|
102
|
+
type: 'title',
|
|
103
|
+
text: 'Микрокристаллические тесты на наркотики в судебной химии',
|
|
104
|
+
level: 2,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'diagnostic',
|
|
108
|
+
variant: 'info',
|
|
109
|
+
icon: 'mdi:microscope',
|
|
110
|
+
badge: 'Обучающий симулятор',
|
|
111
|
+
title: 'Назначение данного симулятора микрокристаллов',
|
|
112
|
+
html: 'Этот инструмент объясняет, как классические судебные микрокристаллические тесты позволяют получать узнаваемые формы кристаллов при смешивании подозреваемого наркотика с реагентом. Он помогает студентам сравнивать <strong>морфологию кристаллов</strong>, скорость их роста и контраст в поляризованном свете без использования результатов симуляции в качестве реальных доказательств.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'stats',
|
|
116
|
+
columns: 4,
|
|
117
|
+
items: [
|
|
118
|
+
{ value: '4', label: 'учебных профиля образцов', icon: 'mdi:flask-outline' },
|
|
119
|
+
{ value: '3', label: 'варианта традиционных реагентов', icon: 'mdi:bottle-tonic-outline' },
|
|
120
|
+
{ value: '5', label: 'моделей формы кристаллов', icon: 'mdi:shape-outline' },
|
|
121
|
+
{ value: '0', label: 'заявлений о юридической силе', icon: 'mdi:scale-balance' },
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Как интерпретировать форму кристаллов',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'summary',
|
|
131
|
+
title: 'Практическая памятка для проведения сравнения',
|
|
132
|
+
items: [
|
|
133
|
+
'Начинайте анализ с исследования известного эталона и чистого контроля реагента перед проверкой неизвестного вещества.',
|
|
134
|
+
'Фиксируйте тип реагента, концентрацию, размер капли, время высыхания, температуру и увеличение микроскопа.',
|
|
135
|
+
'Сначала оцените общую форму кристаллов: иглы, розетки, пластины, призмы, ветвление или слабое рассеяние.',
|
|
136
|
+
'Считайте частичный или слабый рост кристаллов поводом для проведения дополнительных анализов, а не надежным подтверждением.',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'table',
|
|
141
|
+
headers: ['Наблюдаемая форма', 'Частые вопросы пользователей', 'Осторожная интерпретация'],
|
|
142
|
+
rows: [
|
|
143
|
+
['Перистые иглы', 'Похоже ли это на кокаин с хлоридом платины?', 'Это может служить хорошим учебным примером, но примеси в образце и состояние реагента могут изменить форму кристаллов.'],
|
|
144
|
+
['Розетки', 'Являются ли звездчатые кристаллы безусловным доказательством?', 'Розетки поддерживают вывод при совпадении с контролем, но сами по себе они недостаточны.'],
|
|
145
|
+
['Ветвящиеся призмы', 'Почему кристаллы стимуляторов часто растут очень быстро?', 'Некоторые соли быстро образуют центры кристаллизации и ветвятся по мере испарения растворителя; скорость является поддерживающим фактором, но не доказательством.'],
|
|
146
|
+
['Слабое рассеяние', 'Означает ли слабый паттерн отсутствие наркотика?', 'Нет. Низкая концентрация, примеси, старый реагент или плохая подготовка препарата могут замедлить рост кристаллов.'],
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'comparative',
|
|
151
|
+
columns: 2,
|
|
152
|
+
items: [
|
|
153
|
+
{
|
|
154
|
+
title: 'Микрокристаллический скрининг помогает в',
|
|
155
|
+
icon: 'mdi:check-circle-outline',
|
|
156
|
+
highlight: true,
|
|
157
|
+
description: 'Быстром визуальном сравнении при условии использования подготовленным аналитиком контролей и эталонов.',
|
|
158
|
+
points: ['Демонстрация в классах', 'Морфологическая терминология', 'Предварительный отбор проб', 'Сравнение действия реагентов'],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
title: 'Микрокристаллический скрининг не заменяет',
|
|
162
|
+
icon: 'mdi:alert-circle-outline',
|
|
163
|
+
description: 'Валидированные методы подтверждающей химии для выдачи окончательного экспертного заключения.',
|
|
164
|
+
points: ['Инструментальное подтверждение', 'Аккредитованные процедуры', 'Валидация для конкретной матрицы', 'Документирование неопределенности'],
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: 'Научные основы микрокристаллического анализа',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Микрокристаллические тесты представляют собой исторический и высокочувствительный класс химических скрининговых исследований, используемых судебными химиками для выявления подозреваемых контролируемых веществ. При растворении небольшого количества образца наркотика в кислоте и последующем смешивании со специфическим реагентом тяжелого металла, таким как хлорид золота или хлорид платины, выпадает координационный комплекс или нерастворимая соль. Молекулярная структура наркотика определяет скорость роста, ориентацию и симметрию образующихся кристаллов, создавая характерные микроскопические формы или габитусы.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'paragraph',
|
|
179
|
+
html: 'Изучение этих форм под поляризационным микроскопом позволяет судебным экспертам наблюдать оптические свойства, такие как двулучепреломление, при котором кристалл расщепляет свет на два луча, создавая яркие цвета и высокий контраст. Хотя инструментальные методы, такие как газовый хромато-масс-спектрометрический анализ, практически вытеснили микрокристаллические тесты при окончательном подтверждении личности вещества, микрокристаллический скрининг остается ценным методом благодаря своей быстроте, низкой стоимости и способности разделять оптические изомеры, различение которых другими методами может быть затруднено.',
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
type: 'paragraph',
|
|
183
|
+
html: 'В учебных заведениях симуляция этих реакций помогает студентам понять связь между химическими реагентами и физической морфологией кристаллов. Наблюдая за тем, как кокаин, героин и различные амфетамины реагируют на разные реагенты, студенты понимают, что один положительный тест не является окончательным экспертным выводом. Правильные протоколы скрининга наркотиков требуют обязательного сравнения неизвестных образцов с известными эталонами и выполнения бланковых тестов реагентов для обеспечения достоверности и специфичности наблюдаемых кристаллических структур.',
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
type: 'glossary',
|
|
187
|
+
items: [
|
|
188
|
+
{ term: 'Форма кристаллов', definition: 'Видимая форма или характер роста кристалла, например, иглы, пластины, призмы или розетки.' },
|
|
189
|
+
{ term: 'Кристаллизация', definition: 'Первоначальное образование крошечных центров кристаллизации, из которых развиваются более крупные структуры.' },
|
|
190
|
+
{ term: 'Двулучепреломление', definition: 'Оптическое свойство, при котором кристаллы кажутся более яркими или цветными в поляризованном свете.' },
|
|
191
|
+
{ term: 'Предварительный тест', definition: 'Скрининговый тест, который указывает на возможный класс веществ или соединение, но не доказывает его идентичность сам по себе.' },
|
|
192
|
+
{ term: 'Стандарт сравнения', definition: 'Известный материал, протестированный в тех же условиях для сравнения с исследуемым образцом.' },
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'tip',
|
|
197
|
+
title: 'Рекомендации для реальных исследований',
|
|
198
|
+
html: 'Используйте микрокристаллическую морфологию как одно из направлений анализа. Надежная схема включает холостые пробы, положительные контроли, документирование срока годности реагента, независимую проверку при необходимости и подтверждающие тесты в рамках принятой экспертной методики.',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'diagnostic',
|
|
202
|
+
variant: 'warning',
|
|
203
|
+
icon: 'mdi:alert-outline',
|
|
204
|
+
badge: 'Судебное предупреждение',
|
|
205
|
+
title: 'Красивый кристалл не является юридическим доказательством',
|
|
206
|
+
html: 'Симулятор намеренно отделяет показатель визуального соответствия от судебного заключения. В реальной практике необходимо учитывать возможные примеси, добавки, загрязнение образца, состояние реагентов, квалификацию аналитика и утвержденные лабораторные процедуры.',
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
faq,
|
|
210
|
+
bibliography,
|
|
211
|
+
howTo,
|
|
212
|
+
schemas: [
|
|
213
|
+
{
|
|
214
|
+
'@context': 'https://schema.org',
|
|
215
|
+
'@type': 'SoftwareApplication',
|
|
216
|
+
name: title,
|
|
217
|
+
description,
|
|
218
|
+
applicationCategory: 'ForensicApplication',
|
|
219
|
+
operatingSystem: 'Any',
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
'@context': 'https://schema.org',
|
|
223
|
+
'@type': 'FAQPage',
|
|
224
|
+
mainEntity: faq.map((item) => ({
|
|
225
|
+
'@type': 'Question',
|
|
226
|
+
name: item.question,
|
|
227
|
+
acceptedAnswer: {
|
|
228
|
+
'@type': 'Answer',
|
|
229
|
+
text: item.answer,
|
|
230
|
+
},
|
|
231
|
+
})),
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
'@context': 'https://schema.org',
|
|
235
|
+
'@type': 'HowTo',
|
|
236
|
+
name: title,
|
|
237
|
+
step: howTo.map((step) => ({
|
|
238
|
+
'@type': 'HowToStep',
|
|
239
|
+
name: step.name,
|
|
240
|
+
text: step.text,
|
|
241
|
+
})),
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
};
|