@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,235 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-tlc-ink-simulator';
|
|
5
|
+
const title = '法科学TLCインククロマトグラフィーシミュレーター';
|
|
6
|
+
const description = '疑わしい筆記インクの薄層クロマトグラフィー(TLC)をシミュレートし、溶媒フロントの上昇を可視化、色素バンドを分離し、各色素の正確なRf値を計算します。';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: '疑わしいインクまたは比較対象のペンを選択する',
|
|
11
|
+
text: '脅迫状のインク、または容疑者のペンプロファイルを選択します。インクごとに、固定相への吸着力や極性が異なる色素成分が含まれています。',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: '移動相を選択する',
|
|
15
|
+
text: '溶媒システムを変更して、溶媒の極性の違いによって毛細管現象による上昇や、各色素バンドの相対的な移動速度がどのように変化するかを確認します。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'TLCプレートを展開する',
|
|
19
|
+
text: '展開時間のスライダーを動かし、溶媒フロントがプレートを上昇する様子を観察します。分離した色素バンドが原線(スポット位置)の上に現れます。',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Rf値の表を読み取る',
|
|
23
|
+
text: '各色素の移動距離と溶媒フロントの移動距離を比較します。シミュレーターは、色素の移動距離を溶媒フロントの移動距離で割って正確なRf値を算出します。',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: '薄層クロマトグラフィー(TLC)におけるRf値とは何ですか?',
|
|
31
|
+
answer: 'Rf値は「比移値(Retention factor)」のことで、同一の原線から溶媒フロントが移動した距離に対する、化合物(色素)が移動した距離の比率です。単位はなく、通常は0から1の範囲になります。',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'TLCだけで2つのインクサンプルが同じペンで書かれたと証明できますか?',
|
|
36
|
+
answer: 'いいえ。TLCは色素の分離パターンが一致しているか(矛盾しないか)を示すことはできますが、特定のペンを光源として確定するには、検証された比較方法、対照試料、文書化、および専門家による総合的な解釈が必要です。',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: '溶媒を変更すると、なぜ色素の分離パターンが変わるのですか?',
|
|
41
|
+
answer: '色素は固定相と移動相の間で異なる分配挙動を示します。極性が溶媒とより適合する色素は、移動相によって遠くまで運ばれるため、Rf値が高くなります。',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: 'なぜ原線(スタートライン)が重要なのですか?',
|
|
46
|
+
answer: '溶媒フロントの移動距離と色素の移動距離は、どちらも原線から測定する必要があります。プレートの下端から測定すると、誤ったRf値が算出されてしまいます。',
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
chamberAria: '展開プレート付きの薄層クロマトグラフィーチャンバー',
|
|
56
|
+
rulerAria: '溶媒フロントと色素バンドを測定するための仮想ミリメートル定規',
|
|
57
|
+
rulerMarks: '80,60,40,20,0',
|
|
58
|
+
units: '単位系',
|
|
59
|
+
metric: 'メートル法',
|
|
60
|
+
imperial: 'ヤード・ポンド法',
|
|
61
|
+
unitMillimeter: 'mm',
|
|
62
|
+
unitInch: 'in',
|
|
63
|
+
unitMinute: '分',
|
|
64
|
+
inkSample: 'インクサンプル',
|
|
65
|
+
ransomNote: '疑わしい脅迫状のインク',
|
|
66
|
+
bluePen: '押収された青色ボールペン',
|
|
67
|
+
blackPen: '押収された黒色ボールペン',
|
|
68
|
+
gelPen: '押収されたゲルインクペン',
|
|
69
|
+
solventSystem: '移動相',
|
|
70
|
+
ethanolWater: 'エタノール / 水',
|
|
71
|
+
butanolAcetic: 'ブタノール / 酢酸',
|
|
72
|
+
isopropanolAmmonia: 'イソプロパノール / アンモニア',
|
|
73
|
+
developmentTime: '展開時間',
|
|
74
|
+
frontDistance: '溶媒の移動距離',
|
|
75
|
+
matchScore: 'パターンの類似度',
|
|
76
|
+
solventFront: '溶媒フロント',
|
|
77
|
+
originLine: '原線(スタートライン)',
|
|
78
|
+
pigment: '色素バンド',
|
|
79
|
+
pigmentCyanDye: 'シアン染料',
|
|
80
|
+
pigmentVioletDye: 'バイオレット染料',
|
|
81
|
+
pigmentGrayCarrier: 'グレーキャリア',
|
|
82
|
+
pigmentNavyDye: 'ネイビー染料',
|
|
83
|
+
pigmentYellowDye: 'イエロー染料',
|
|
84
|
+
pigmentRedDye: 'レッド染料',
|
|
85
|
+
pigmentBlueDye: 'ブルー染料',
|
|
86
|
+
pigmentDarkBinder: 'ダークバインダー',
|
|
87
|
+
pigmentTealDye: 'ティール染料',
|
|
88
|
+
pigmentMagentaDye: 'マゼンタ染料',
|
|
89
|
+
pigmentGelBinder: 'ゲルバインダー',
|
|
90
|
+
distance: '移動距離',
|
|
91
|
+
rfValue: 'Rf値',
|
|
92
|
+
disclaimer: '教育用シミュレーションのみ。法科学的なインク比較には、オリジナル文書、検証された実験方法、参照標準物質、および資格を持つ文書鑑定官が必要です。',
|
|
93
|
+
},
|
|
94
|
+
seo: [
|
|
95
|
+
{
|
|
96
|
+
type: 'title',
|
|
97
|
+
text: '法科学におけるインク比較のための薄層クロマトグラフィー(TLC)',
|
|
98
|
+
level: 2,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'diagnostic',
|
|
102
|
+
variant: 'info',
|
|
103
|
+
icon: 'mdi:test-tube',
|
|
104
|
+
badge: '学習用シミュレーター',
|
|
105
|
+
title: 'このTLCインクシミュレーターで理解できること',
|
|
106
|
+
html: 'このツールは、<strong>筆記インクの薄層クロマトグラフィー</strong>によって、目に見える1本のインク線が複数の色素バンドに分離する仕組みを説明します。法科学を学ぶ学生、文書鑑定の学習者、保存および展開されたTLCプレートからRf値がどのように計算されるかを理解したい人のために設計されています。',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'stats',
|
|
110
|
+
columns: 4,
|
|
111
|
+
items: [
|
|
112
|
+
{ value: 'Rf = d バンド / d 溶媒', label: '比移値(Rf)の計算式', icon: 'mdi:division' },
|
|
113
|
+
{ value: '4', label: '比較されるインクプロファイル', icon: 'mdi:pen' },
|
|
114
|
+
{ value: '3', label: 'シミュレートされる移動相', icon: 'mdi:flask-outline' },
|
|
115
|
+
{ value: '2', label: 'メートル法とヤード・ポンド法の表示', icon: 'mdi:swap-horizontal' },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'summary',
|
|
120
|
+
title: '正しいTLC測定チェックリスト',
|
|
121
|
+
items: [
|
|
122
|
+
'展開を開始する前に、溶媒の液面より高い位置に鉛筆で原線をマークします。',
|
|
123
|
+
'溶媒がプレートの上端に達する前にプレートを取り出します。',
|
|
124
|
+
'溶媒は蒸発して見えにくくなるため、取り出したらすぐに溶媒フロントの位置をマークします。',
|
|
125
|
+
'色素の移動距離と溶媒の移動距離は、必ず同じ原線から測定します。',
|
|
126
|
+
'Rf値を報告する際は、溶媒システム、プレートの種類、展開条件、および対照試料(コントロール)を明記します。',
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'comparative',
|
|
131
|
+
columns: 2,
|
|
132
|
+
items: [
|
|
133
|
+
{
|
|
134
|
+
title: 'TLCで証明(サポート)できること',
|
|
135
|
+
icon: 'mdi:check-circle-outline',
|
|
136
|
+
highlight: true,
|
|
137
|
+
description: 'TLCは、同一の条件下において、疑わしいインクと既知のインクが同様の色素分離挙動を示すかどうかを確認できます。',
|
|
138
|
+
points: ['スクリーニング比較', '色素パターンの可視化', 'Rf値の記録文書化', '確認試験に進めるためのサンプル選定'],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'TLC単独では証明できないこと',
|
|
142
|
+
icon: 'mdi:alert-circle-outline',
|
|
143
|
+
description: 'TLC単独では、特定のペン個体を特定したり、文書の作成年代を特定したり、筆者をつてい特定したりすることはできません。',
|
|
144
|
+
points: ['特定のペン個体への一意の帰属は不可', '筆者の識別は不可', '標準ではインク経年変化の結論は出せない', '検証されたプロトコルの代替にはならない'],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'table',
|
|
150
|
+
headers: ['よくある質問', '関連するTLCの概念', '詳しい回答'],
|
|
151
|
+
rows: [
|
|
152
|
+
['Rf値はどのように計算しますか?', '色素の移動距離を溶媒フロントの移動距離で割ります。', '両方を原線から測定し、割り算を行います。結果には単位はありません。'],
|
|
153
|
+
['インクが複数の色に分かれるのはなぜですか?', '染料の種類によって、固定相および移動相に対する親和性(吸着力・溶解度)が異なるためです。', '1本の筆跡であっても、移動速度が異なる複数の色素が含まれている場合があります。'],
|
|
154
|
+
['2本のペンで同じTLCパターンになることはありますか?', 'はい、配合が類似していれば非常によく似た分離パターンを示すことがあります。', 'パターンの類似は化学的な矛盾のなさを示すのみで、特定の1本のペンに個体識別できるわけではありません。'],
|
|
155
|
+
['Rf値が変化したのはなぜですか?', '溶媒、プレート、湿度、チャンバーの飽和度、温度、スポットの大きさが移動に影響を与えます。', 'Rf値は、条件が完全に制御および記録されている場合のみ比較可能です。'],
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'title',
|
|
160
|
+
text: 'シミュレーターの分離モデルについて',
|
|
161
|
+
level: 3,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'paragraph',
|
|
165
|
+
html: 'このモデルでは、溶媒フロントの移動を時間とともに減速する毛細管上昇プロセスとして扱い、各色素には、移動する溶媒への親和性と選択された移動相との極性の適合性という2つの簡略化された属性に基づいてRf値が割り当てられています。これは分析機器による化学分析ではなく、教育向けに意図的に簡略化されたものですが、「溶媒が先に移動し、色素が両相間に分配され、測定された移動距離からRf値が算出される」というユーザーが学ぶべき核心的な関係性を再現しています。',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'glossary',
|
|
169
|
+
items: [
|
|
170
|
+
{ term: 'Stationary phase', definition: 'TLCプレート上のコーティング(一般的にはシリカゲル)で、化合物と相互作用してその移動速度を遅くします。' },
|
|
171
|
+
{ term: 'Mobile phase', definition: 'プレートを上昇し、色素成分を一緒に運ぶ溶媒システムです。' },
|
|
172
|
+
{ term: 'Origin line', definition: '展開前にインクサンプルをスポットする、鉛筆で引いたラインです。' },
|
|
173
|
+
{ term: 'Solvent front', definition: 'プレートを取り出す前に、移動相が到達した最も高い位置(溶媒前線)です。' },
|
|
174
|
+
{ term: 'Rf value', definition: '比移値(retention factor)。化合物の移動距離を溶媒フロントの移動距離で割った値です。' },
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'tip',
|
|
179
|
+
title: '実務的な鑑定上のヒント',
|
|
180
|
+
html: '法科学的な文書鑑定において、「不一致」は候補となるペンの配合を排除できるため、特に有用な結果となります。一方で、「一致」を示すTLCパターンは、その条件下で化学的に矛盾がないことを示すにとどまり、必ずしも同一のペンから書かれたことを決定づけるものではありません。',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'proscons',
|
|
184
|
+
title: 'TLCインク比較の長所と限界',
|
|
185
|
+
items: [
|
|
186
|
+
{ pro: '迅速、安価であり、インク色素の分離挙動を視覚的かつ直感的に把握できます。', con: '文書から小さなサンプルを切り取る必要があるため、通常は破壊検査となります。' },
|
|
187
|
+
{ pro: 'Rf値を用いることで、疑わしいサンプルと既知のサンプルを構造化された方法で比較できます。', con: '溶媒、プレート、湿度、展開条件が変わるとRf値が変動します。' },
|
|
188
|
+
{ pro: 'より高度な分析を行う前のスクリーニング手法として非常に有用です。', con: 'より広範な証拠がない限り、ペンという個体レベルでの鑑定結論は下せません。' },
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'diagnostic',
|
|
193
|
+
variant: 'warning',
|
|
194
|
+
icon: 'mdi:scale-balance',
|
|
195
|
+
badge: '鑑定上の注意点',
|
|
196
|
+
title: 'インククロマトグラフィーの証拠価値を過大評価しないこと',
|
|
197
|
+
html: 'ブラウザシミュレーターでは、紙質、インクの経年変化、抽出化学、プレートの品質、汚染、または機器分析による確認試験を行うことはできません。測定理論と鑑定における解釈の限界を学ぶためにこれを使用し、実際の鑑定では検証済みの法科学的文書鑑定方法に基づいてください。',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
faq,
|
|
201
|
+
bibliography,
|
|
202
|
+
howTo,
|
|
203
|
+
schemas: [
|
|
204
|
+
{
|
|
205
|
+
'@context': 'https://schema.org',
|
|
206
|
+
'@type': 'SoftwareApplication',
|
|
207
|
+
name: title,
|
|
208
|
+
description,
|
|
209
|
+
applicationCategory: 'ForensicApplication',
|
|
210
|
+
operatingSystem: 'Any',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
'@context': 'https://schema.org',
|
|
214
|
+
'@type': 'FAQPage',
|
|
215
|
+
mainEntity: faq.map((item) => ({
|
|
216
|
+
'@type': 'Question',
|
|
217
|
+
name: item.question,
|
|
218
|
+
acceptedAnswer: {
|
|
219
|
+
'@type': 'Answer',
|
|
220
|
+
text: item.answer,
|
|
221
|
+
},
|
|
222
|
+
})),
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
'@context': 'https://schema.org',
|
|
226
|
+
'@type': 'HowTo',
|
|
227
|
+
name: title,
|
|
228
|
+
step: howTo.map((step) => ({
|
|
229
|
+
'@type': 'HowToStep',
|
|
230
|
+
name: step.name,
|
|
231
|
+
text: step.text,
|
|
232
|
+
})),
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
};
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensic-tlc-ink-simulator';
|
|
5
|
+
const title = '법과학 TLC 잉크 크로마토그래피 시뮬레이터';
|
|
6
|
+
const description = '용의자 필기 잉크의 박층 크로마토그래피(TLC)를 시뮬레이션하고, 용매 전선의 전개를 시각화하며, 색소 밴드를 분리하고 각 색소의 정확한 Rf 값을 계산합니다.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{
|
|
10
|
+
name: '의뢰된 잉크 또는 비교 펜 선택',
|
|
11
|
+
text: '협박장에 사용된 잉크나 비교 대상 펜 프로필을 선택합니다. 각 잉크는 고정상에 대한 흡착력과 극성이 서로 다른 다양한 염료 성분을 포함하고 있습니다.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: '전개 용매(이동상) 선택',
|
|
15
|
+
text: '용매 시스템을 변경하여 용매 극성이 모세관 상승 현상 및 각 염료 밴드의 상대적 이동에 어떤 영향을 미치는지 관찰합니다.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'TLC 판 전개',
|
|
19
|
+
text: '전개 시간 슬라이더를 조절하여 용매 전선이 판을 따라 상승하는 동안 원선 위에 분리된 밴드가 나타나는 것을 확인합니다.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'Rf 값 테이블 확인',
|
|
23
|
+
text: '각 색소의 이동 거리와 용매 전선의 이동 거리를 비교합니다. 시뮬레이터는 색소 이동 거리를 용매 전선 이동 거리로 나누어 정확한 Rf 값을 산출합니다.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const faq = [
|
|
28
|
+
{
|
|
29
|
+
key: 'faq-1',
|
|
30
|
+
question: '박층 크로마토그래피에서 Rf 값은 무엇을 의미하나요?',
|
|
31
|
+
answer: 'Rf는 전개율(retention factor) 또는 이동률을 뜻하며, 동일한 원선에서 출발한 용매 전선의 이동 거리에 대한 화합물(색소)의 이동 거리 비율입니다. 단위는 없으며 보통 0에서 1 사이의 값을 가집니다.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'faq-2',
|
|
35
|
+
question: 'TLC 분석만으로 두 잉크 샘플이 동일한 펜에서 나왔음을 증명할 수 있나요?',
|
|
36
|
+
answer: '아니요. TLC는 염료의 분리 패턴이 일치하는지 여부(모순이 없는지)를 보여줄 뿐이며, 출처를 확정하기 위해서는 검증된 비교 분석법, 대조군, 문서화 및 전문가의 해석이 필요합니다.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: 'faq-3',
|
|
40
|
+
question: '용매를 바꾸면 왜 밴드 패턴이 달라지나요?',
|
|
41
|
+
answer: '염료들은 고정상과 이동상 사이에 분배되는 거동이 서로 다릅니다. 선택한 이동상과 극성이 잘 맞는 염료는 용매에 의해 더 멀리 이동하므로 Rf 값이 증가합니다.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'faq-4',
|
|
45
|
+
question: '왜 원선(출발선)이 중요할까요?',
|
|
46
|
+
answer: '용매 전선의 이동 거리와 색소의 이동 거리는 모두 원선에서부터 측정해야 합니다. 판의 맨 아래쪽 끝부터 측정하면 잘못된 Rf 값이 나옵니다.',
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent = {
|
|
51
|
+
slug,
|
|
52
|
+
title,
|
|
53
|
+
description,
|
|
54
|
+
ui: {
|
|
55
|
+
chamberAria: '전개 판이 들어있는 박층 크로마토그래피 전개조',
|
|
56
|
+
rulerAria: '용매 전선과 색소 밴드를 측정하기 위한 가상 밀리미터 자',
|
|
57
|
+
rulerMarks: '80,60,40,20,0',
|
|
58
|
+
units: '단위계',
|
|
59
|
+
metric: '미터법',
|
|
60
|
+
imperial: '야드파운드법',
|
|
61
|
+
unitMillimeter: 'mm',
|
|
62
|
+
unitInch: 'in',
|
|
63
|
+
unitMinute: '분',
|
|
64
|
+
inkSample: '잉크 샘플',
|
|
65
|
+
ransomNote: '의뢰된 협박장 잉크',
|
|
66
|
+
bluePen: '압수된 청색 볼펜',
|
|
67
|
+
blackPen: '압수된 흑색 볼펜',
|
|
68
|
+
gelPen: '압수된 겔형 펜',
|
|
69
|
+
solventSystem: '이동상',
|
|
70
|
+
ethanolWater: '에탄올 / 물',
|
|
71
|
+
butanolAcetic: '부탄올 / 아세트산',
|
|
72
|
+
isopropanolAmmonia: '이소프로판올 / 암모니아',
|
|
73
|
+
developmentTime: '전개 시간',
|
|
74
|
+
frontDistance: '용매 이동',
|
|
75
|
+
matchScore: '패턴 유사도',
|
|
76
|
+
solventFront: '용매 전선',
|
|
77
|
+
originLine: '원선 (출발선)',
|
|
78
|
+
pigment: '색소 밴드',
|
|
79
|
+
pigmentCyanDye: '청록색 염료',
|
|
80
|
+
pigmentVioletDye: '보라색 염료',
|
|
81
|
+
pigmentGrayCarrier: '회색 캐리어',
|
|
82
|
+
pigmentNavyDye: '남색 염료',
|
|
83
|
+
pigmentYellowDye: '노란색 염료',
|
|
84
|
+
pigmentRedDye: '빨간색 염료',
|
|
85
|
+
pigmentBlueDye: '파란색 염료',
|
|
86
|
+
pigmentDarkBinder: '어두운 바인더',
|
|
87
|
+
pigmentTealDye: '청록색 염료',
|
|
88
|
+
pigmentMagentaDye: '자홍색 염료',
|
|
89
|
+
pigmentGelBinder: '겔 바인더',
|
|
90
|
+
distance: '거리',
|
|
91
|
+
rfValue: 'Rf 값',
|
|
92
|
+
disclaimer: '교육용 시뮬레이션입니다. 법과학적 잉크 비교 분석에는 실제 문서, 검증된 실험실 분석법, 표준 물질 및 자격을 갖춘 문서 감정인이 필요합니다.',
|
|
93
|
+
},
|
|
94
|
+
seo: [
|
|
95
|
+
{
|
|
96
|
+
type: 'title',
|
|
97
|
+
text: '법과학 잉크 비교를 위한 박층 크로마토그래피(TLC)',
|
|
98
|
+
level: 2,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'diagnostic',
|
|
102
|
+
variant: 'info',
|
|
103
|
+
icon: 'mdi:test-tube',
|
|
104
|
+
badge: '학습용 시뮬레이터',
|
|
105
|
+
title: '이 TLC 잉크 시뮬레이터로 배울 수 있는 내용',
|
|
106
|
+
html: '이 도구는 <strong>필기구 잉크의 박층 크로마토그래피</strong>를 통해 육안으로 보이는 하나의 잉크 선이 어떻게 여러 염료 밴드로 분리될 수 있는지 설명합니다. 법과학 전공자, 문서 감정을 학습하는 사람, 그리고 전개된 TLC 판에서 Rf 값이 계산되는 원리를 배우고자 하는 모든 사람을 위해 설계되었습니다.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'stats',
|
|
110
|
+
columns: 4,
|
|
111
|
+
items: [
|
|
112
|
+
{ value: 'Rf = d 밴드 / d 용매', label: '전개율(Rf) 계산식', icon: 'mdi:division' },
|
|
113
|
+
{ value: '4', label: '비교된 잉크 프로필', icon: 'mdi:pen' },
|
|
114
|
+
{ value: '3', label: '시뮬레이션된 이동상', icon: 'mdi:flask-outline' },
|
|
115
|
+
{ value: '2', label: '미터법 및 야드파운드법 표시', icon: 'mdi:swap-horizontal' },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'summary',
|
|
120
|
+
title: '정확한 TLC 측정을 위한 체크리스트',
|
|
121
|
+
items: [
|
|
122
|
+
'전개를 시작하기 전에 용매 수면보다 높은 위치에 연필로 원선을 표시하십시오.',
|
|
123
|
+
'용매가 판의 상단 끝에 도달하기 전에 판을 꺼내십시오.',
|
|
124
|
+
'용매는 쉽게 증발하여 확인하기 어려워지므로, 판을 꺼낸 즉시 용매 전선을 표시하십시오.',
|
|
125
|
+
'색소 이동 거리와 용매 이동 거리는 반드시 동일한 원선에서부터 측정하십시오.',
|
|
126
|
+
'Rf 값을 보고할 때는 전개 용매, 판의 종류, 전개 조건 및 대조군을 함께 명시하십시오.',
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'comparative',
|
|
131
|
+
columns: 2,
|
|
132
|
+
items: [
|
|
133
|
+
{
|
|
134
|
+
title: 'TLC로 입증(지원)할 수 있는 항목',
|
|
135
|
+
icon: 'mdi:check-circle-outline',
|
|
136
|
+
highlight: true,
|
|
137
|
+
description: 'TLC는 동일한 조건하에서 의뢰 잉크와 용의 잉크가 유사한 염료 분리 거동을 보이는지 확인해 줄 수 있습니다.',
|
|
138
|
+
points: ['선별 비교', '염료 패턴의 시각화', 'Rf 값 문서화', '정밀 분석용 샘플 선정'],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: 'TLC 단독으로 입증할 수 없는 항목',
|
|
142
|
+
icon: 'mdi:alert-circle-outline',
|
|
143
|
+
description: 'TLC 단독 분석으로는 특정 펜 개체를 식별하거나, 문서 작성 시기를 추정하거나, 필자를 밝혀낼 수 없습니다.',
|
|
144
|
+
points: ['동일한 펜이라는 단정 불가', '필자 식별 불가', '기본적으로 문서 작성 시기 추정 불가', '검증된 정밀 프로토콜을 대체할 수 없음'],
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'table',
|
|
150
|
+
headers: ['자주 묻는 질문', '관련 TLC 개념', '상세한 답변'],
|
|
151
|
+
rows: [
|
|
152
|
+
['Rf 값은 어떻게 계산하나요?', '색소 이동 거리를 용매 전선 이동 거리로 나눕니다.', '출발선인 원선에서 두 거리를 각각 측정한 후 나눕니다. 결과값은 단위가 없습니다.'],
|
|
153
|
+
['잉크가 여러 색으로 분리되는 이유는 무엇인가요?', '서로 다른 염료들이 고정상 및 이동상에 대해 각기 다른 친화도(흡착력)를 가지기 때문입니다.', '한 줄의 필적이라도 이동 속도가 다른 여러 가지 색소 성분이 포함되어 있을 수 있습니다.'],
|
|
154
|
+
['두 개의 다른 펜이 동일한 TLC 패턴을 보일 수도 있나요?', '네, 잉크 제조 공식이 유사한 펜들은 매우 흡사한 크로마토그래피 패턴을 나타낼 수 있습니다.', '패턴의 일치는 두 샘플의 화학적 모순이 없음을 나타낼 뿐이며, 특정 한 자루의 펜으로 개체 식별되는 것을 의미하지는 않습니다.'],
|
|
155
|
+
['Rf 값이 변한 이유는 무엇인가요?', '전개 용매, 판의 종류, 습도, 챔버 포화도, 온도 및 스폿(점적) 크기가 이동 거리에 영향을 줍니다.', 'Rf 값은 모든 조건이 완벽히 제어되고 기록된 경우에만 상호 비교가 가능합니다.'],
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'title',
|
|
160
|
+
text: '시뮬레이터의 분리 모델링 방식',
|
|
161
|
+
level: 3,
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
type: 'paragraph',
|
|
165
|
+
html: '이 모델은 용매 전선의 이동을 시간 경과에 따라 감속하는 모세관 상승 현상으로 처리하며, 각 염료는 이동하는 용매에 대한 친화도와 선택한 이동상과의 극성 일치도라는 두 가지 단순화된 속성에 따라 Rf 값을 할당받습니다. 이는 분석기기를 이용한 화학 정밀 분석은 아니며 교육 목적으로 기획되었지만, 용매가 먼저 이동하고 염료가 상 사이에서 분배되며 Rf 값은 측정된 이동 거리로부터 계산된다는 핵심 원리를 학습할 수 있게 해 줍니다.',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'glossary',
|
|
169
|
+
items: [
|
|
170
|
+
{ term: 'Stationary phase', definition: 'TLC 판 위에 도포된 코팅 물질(대개 실리카겔)로, 화합물과 상호작용하여 화합물의 이동 속도를 늦추는 역할을 합니다.' },
|
|
171
|
+
{ term: 'Mobile phase', definition: '판을 따라 위로 상승하며 염료 성분을 함께 나르는 전개 용매 시스템입니다.' },
|
|
172
|
+
{ term: 'Origin line', definition: '전개하기 전에 잉크 샘플을 점적하는 곳에 연필로 그어놓은 선입니다.' },
|
|
173
|
+
{ term: 'Solvent front', definition: '판을 전개조에서 꺼내기 전까지 이동상이 도달한 가장 높은 지점입니다.' },
|
|
174
|
+
{ term: 'Rf value', definition: '전개율(retention factor)로, 화합물 이동 거리를 용매 전선 이동 거리로 나눈 비율 값입니다.' },
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'tip',
|
|
179
|
+
title: '실무적 감정 팁',
|
|
180
|
+
html: '법과학 문서 감정 업무에서 크로마토그램의 "불일치"는 후보 펜의 잉크 공식을 확실하게 배제할 수 있으므로 매우 유용합니다. 반면 TLC 패턴의 "일치"는 해당 조건하에서 화학적 모순이 없음을 말해줄 뿐이며, 반드시 동일한 펜에서 기록되었다는 귀속적 결론을 보장하지는 않습니다.',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'proscons',
|
|
184
|
+
title: 'TLC 잉크 비교의 장점과 한계',
|
|
185
|
+
items: [
|
|
186
|
+
{ pro: '빠르고 저렴하며 잉크 염료 분리 거동을 시각적, 직관적으로 파악할 수 있습니다.', con: '문서에서 소량의 샘플을 떼어내야 하므로 일반적으로 destructive(파괴적) 분석입니다.' },
|
|
187
|
+
{ pro: 'Rf 값을 활용하면 의뢰 샘플과 비교 샘플을 구조화된 방식으로 쉽게 비교할 수 있습니다.', con: '용매, 판, 습도, 전개 온도 조건이 조금만 달라져도 Rf 값이 어긋납니다.' },
|
|
188
|
+
{ pro: '더 정밀한 분석 단계로 넘어가기 전의 선별 검사법으로 매우 유용합니다.', con: '보다 광범위한 법적 증거가 뒷받침되지 않는 한, 특정 펜이라는 고유 출처 확정은 불가합니다.' },
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'diagnostic',
|
|
193
|
+
variant: 'warning',
|
|
194
|
+
icon: 'mdi:scale-balance',
|
|
195
|
+
badge: '법과학적 주의 사항',
|
|
196
|
+
title: '잉크 크로마토그래피 분석의 가치를 과대평가하지 마십시오',
|
|
197
|
+
html: '웹 브라우저 시뮬레이션은 종이 재질, 잉크 경년 변화, 추출 화학, 판의 품질, 오염, 혹은 기기 분석에 의한 확인 시험 등을 대신할 수 없습니다. 이 시뮬레이터는 측정의 원리와 해석상의 한계를 학습하는 용도로만 사용하고, 실제 감정 시에는 검증된 사법 문서 감정 분석법에 의존하십시오.',
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
faq,
|
|
201
|
+
bibliography,
|
|
202
|
+
howTo,
|
|
203
|
+
schemas: [
|
|
204
|
+
{
|
|
205
|
+
'@context': 'https://schema.org',
|
|
206
|
+
'@type': 'SoftwareApplication',
|
|
207
|
+
name: title,
|
|
208
|
+
description,
|
|
209
|
+
applicationCategory: 'ForensicApplication',
|
|
210
|
+
operatingSystem: 'Any',
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
'@context': 'https://schema.org',
|
|
214
|
+
'@type': 'FAQPage',
|
|
215
|
+
mainEntity: faq.map((item) => ({
|
|
216
|
+
'@type': 'Question',
|
|
217
|
+
name: item.question,
|
|
218
|
+
acceptedAnswer: {
|
|
219
|
+
'@type': 'Answer',
|
|
220
|
+
text: item.answer,
|
|
221
|
+
},
|
|
222
|
+
})),
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
'@context': 'https://schema.org',
|
|
226
|
+
'@type': 'HowTo',
|
|
227
|
+
name: title,
|
|
228
|
+
step: howTo.map((step) => ({
|
|
229
|
+
'@type': 'HowToStep',
|
|
230
|
+
name: step.name,
|
|
231
|
+
text: step.text,
|
|
232
|
+
})),
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
};
|