@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.
Files changed (316) hide show
  1. package/package.json +69 -0
  2. package/scripts/crystal-lattice-catalog-translations.mjs +459 -0
  3. package/scripts/postinstall.mjs +27 -0
  4. package/scripts/sync-crystal-lattice-i18n.mjs +50 -0
  5. package/src/category/i18n/de.ts +55 -0
  6. package/src/category/i18n/en.ts +55 -0
  7. package/src/category/i18n/es.ts +55 -0
  8. package/src/category/i18n/fr.ts +55 -0
  9. package/src/category/i18n/id.ts +55 -0
  10. package/src/category/i18n/it.ts +55 -0
  11. package/src/category/i18n/ja.ts +56 -0
  12. package/src/category/i18n/ko.ts +56 -0
  13. package/src/category/i18n/nl.ts +55 -0
  14. package/src/category/i18n/pl.ts +55 -0
  15. package/src/category/i18n/pt.ts +55 -0
  16. package/src/category/i18n/ru.ts +55 -0
  17. package/src/category/i18n/sv.ts +55 -0
  18. package/src/category/i18n/tr.ts +55 -0
  19. package/src/category/i18n/zh.ts +56 -0
  20. package/src/category/index.ts +48 -0
  21. package/src/category/seo.astro +15 -0
  22. package/src/components/PreviewNavSidebar.astro +116 -0
  23. package/src/components/PreviewToolbar.astro +143 -0
  24. package/src/data.ts +10 -0
  25. package/src/entries.ts +48 -0
  26. package/src/env.d.ts +5 -0
  27. package/src/index.ts +29 -0
  28. package/src/layouts/PreviewLayout.astro +117 -0
  29. package/src/pages/[locale]/[slug].astro +162 -0
  30. package/src/pages/[locale].astro +261 -0
  31. package/src/pages/index.astro +3 -0
  32. package/src/tests/diacritics_density.test.ts +140 -0
  33. package/src/tests/faq_count.test.ts +19 -0
  34. package/src/tests/i18n_coverage.test.ts +36 -0
  35. package/src/tests/inverted_punctuation.test.ts +84 -0
  36. package/src/tests/locale_completeness.test.ts +24 -0
  37. package/src/tests/mocks/astro_mock.js +2 -0
  38. package/src/tests/no_en_dash.test.ts +70 -0
  39. package/src/tests/no_h1_in_components.test.ts +48 -0
  40. package/src/tests/schemas_fulfillment.test.ts +23 -0
  41. package/src/tests/script_density.test.ts +94 -0
  42. package/src/tests/seo_length.test.ts +46 -0
  43. package/src/tests/shared-test-helpers.ts +56 -0
  44. package/src/tests/slug_language_code_format.test.ts +23 -0
  45. package/src/tests/slug_uniqueness.test.ts +81 -0
  46. package/src/tests/title_quality.test.ts +55 -0
  47. package/src/tests/tool_exports.test.ts +34 -0
  48. package/src/tests/tool_validation.test.ts +16 -0
  49. package/src/tests/widmark.test.ts +28 -0
  50. package/src/tool/forensic-age-estimator/bibliography.astro +14 -0
  51. package/src/tool/forensic-age-estimator/bibliography.ts +16 -0
  52. package/src/tool/forensic-age-estimator/component.astro +321 -0
  53. package/src/tool/forensic-age-estimator/dental-skeletal-third-molar-age-estimator.css +634 -0
  54. package/src/tool/forensic-age-estimator/entry.ts +32 -0
  55. package/src/tool/forensic-age-estimator/i18n/de.ts +245 -0
  56. package/src/tool/forensic-age-estimator/i18n/en.ts +245 -0
  57. package/src/tool/forensic-age-estimator/i18n/es.ts +245 -0
  58. package/src/tool/forensic-age-estimator/i18n/fr.ts +245 -0
  59. package/src/tool/forensic-age-estimator/i18n/id.ts +245 -0
  60. package/src/tool/forensic-age-estimator/i18n/it.ts +245 -0
  61. package/src/tool/forensic-age-estimator/i18n/ja.ts +245 -0
  62. package/src/tool/forensic-age-estimator/i18n/ko.ts +245 -0
  63. package/src/tool/forensic-age-estimator/i18n/nl.ts +245 -0
  64. package/src/tool/forensic-age-estimator/i18n/pl.ts +245 -0
  65. package/src/tool/forensic-age-estimator/i18n/pt.ts +245 -0
  66. package/src/tool/forensic-age-estimator/i18n/ru.ts +245 -0
  67. package/src/tool/forensic-age-estimator/i18n/sv.ts +245 -0
  68. package/src/tool/forensic-age-estimator/i18n/tr.ts +245 -0
  69. package/src/tool/forensic-age-estimator/i18n/zh.ts +246 -0
  70. package/src/tool/forensic-age-estimator/index.ts +11 -0
  71. package/src/tool/forensic-age-estimator/logic.ts +81 -0
  72. package/src/tool/forensic-age-estimator/seo.astro +15 -0
  73. package/src/tool/forensic-blood-test-simulator/bibliography.astro +6 -0
  74. package/src/tool/forensic-blood-test-simulator/bibliography.ts +12 -0
  75. package/src/tool/forensic-blood-test-simulator/component.astro +168 -0
  76. package/src/tool/forensic-blood-test-simulator/dom-utils.ts +40 -0
  77. package/src/tool/forensic-blood-test-simulator/entry.ts +32 -0
  78. package/src/tool/forensic-blood-test-simulator/forensic-presumptive-blood-testing-luminol-kastle-meyer-simulator.css +532 -0
  79. package/src/tool/forensic-blood-test-simulator/helpers.ts +16 -0
  80. package/src/tool/forensic-blood-test-simulator/i18n/de.ts +185 -0
  81. package/src/tool/forensic-blood-test-simulator/i18n/en.ts +185 -0
  82. package/src/tool/forensic-blood-test-simulator/i18n/es.ts +185 -0
  83. package/src/tool/forensic-blood-test-simulator/i18n/fr.ts +220 -0
  84. package/src/tool/forensic-blood-test-simulator/i18n/id.ts +220 -0
  85. package/src/tool/forensic-blood-test-simulator/i18n/it.ts +220 -0
  86. package/src/tool/forensic-blood-test-simulator/i18n/ja.ts +220 -0
  87. package/src/tool/forensic-blood-test-simulator/i18n/ko.ts +220 -0
  88. package/src/tool/forensic-blood-test-simulator/i18n/nl.ts +220 -0
  89. package/src/tool/forensic-blood-test-simulator/i18n/pl.ts +220 -0
  90. package/src/tool/forensic-blood-test-simulator/i18n/pt.ts +220 -0
  91. package/src/tool/forensic-blood-test-simulator/i18n/ru.ts +220 -0
  92. package/src/tool/forensic-blood-test-simulator/i18n/sv.ts +220 -0
  93. package/src/tool/forensic-blood-test-simulator/i18n/tr.ts +220 -0
  94. package/src/tool/forensic-blood-test-simulator/i18n/zh.ts +220 -0
  95. package/src/tool/forensic-blood-test-simulator/index.ts +11 -0
  96. package/src/tool/forensic-blood-test-simulator/logic.ts +174 -0
  97. package/src/tool/forensic-blood-test-simulator/script.ts +192 -0
  98. package/src/tool/forensic-blood-test-simulator/seo.astro +15 -0
  99. package/src/tool/forensic-fiber-comparison-microscope/bibliography.astro +6 -0
  100. package/src/tool/forensic-fiber-comparison-microscope/bibliography.ts +16 -0
  101. package/src/tool/forensic-fiber-comparison-microscope/component.astro +146 -0
  102. package/src/tool/forensic-fiber-comparison-microscope/entry.ts +32 -0
  103. package/src/tool/forensic-fiber-comparison-microscope/forensic-fiber-comparison-microscope.css +629 -0
  104. package/src/tool/forensic-fiber-comparison-microscope/i18n/de.ts +250 -0
  105. package/src/tool/forensic-fiber-comparison-microscope/i18n/en.ts +246 -0
  106. package/src/tool/forensic-fiber-comparison-microscope/i18n/es.ts +246 -0
  107. package/src/tool/forensic-fiber-comparison-microscope/i18n/fr.ts +246 -0
  108. package/src/tool/forensic-fiber-comparison-microscope/i18n/id.ts +250 -0
  109. package/src/tool/forensic-fiber-comparison-microscope/i18n/it.ts +246 -0
  110. package/src/tool/forensic-fiber-comparison-microscope/i18n/ja.ts +250 -0
  111. package/src/tool/forensic-fiber-comparison-microscope/i18n/ko.ts +246 -0
  112. package/src/tool/forensic-fiber-comparison-microscope/i18n/nl.ts +246 -0
  113. package/src/tool/forensic-fiber-comparison-microscope/i18n/pl.ts +250 -0
  114. package/src/tool/forensic-fiber-comparison-microscope/i18n/pt.ts +250 -0
  115. package/src/tool/forensic-fiber-comparison-microscope/i18n/ru.ts +250 -0
  116. package/src/tool/forensic-fiber-comparison-microscope/i18n/sv.ts +250 -0
  117. package/src/tool/forensic-fiber-comparison-microscope/i18n/tr.ts +246 -0
  118. package/src/tool/forensic-fiber-comparison-microscope/i18n/zh.ts +250 -0
  119. package/src/tool/forensic-fiber-comparison-microscope/index.ts +11 -0
  120. package/src/tool/forensic-fiber-comparison-microscope/logic.ts +244 -0
  121. package/src/tool/forensic-fiber-comparison-microscope/render.ts +265 -0
  122. package/src/tool/forensic-fiber-comparison-microscope/seo.astro +15 -0
  123. package/src/tool/forensic-fiber-comparison-microscope/view.ts +267 -0
  124. package/src/tool/forensic-glass-becke-line-simulator/bibliography.astro +6 -0
  125. package/src/tool/forensic-glass-becke-line-simulator/bibliography.ts +16 -0
  126. package/src/tool/forensic-glass-becke-line-simulator/component.astro +81 -0
  127. package/src/tool/forensic-glass-becke-line-simulator/entry.ts +32 -0
  128. package/src/tool/forensic-glass-becke-line-simulator/forensic-glass-becke-line-simulator.css +392 -0
  129. package/src/tool/forensic-glass-becke-line-simulator/i18n/de.ts +231 -0
  130. package/src/tool/forensic-glass-becke-line-simulator/i18n/en.ts +231 -0
  131. package/src/tool/forensic-glass-becke-line-simulator/i18n/es.ts +231 -0
  132. package/src/tool/forensic-glass-becke-line-simulator/i18n/fr.ts +231 -0
  133. package/src/tool/forensic-glass-becke-line-simulator/i18n/id.ts +231 -0
  134. package/src/tool/forensic-glass-becke-line-simulator/i18n/it.ts +231 -0
  135. package/src/tool/forensic-glass-becke-line-simulator/i18n/ja.ts +231 -0
  136. package/src/tool/forensic-glass-becke-line-simulator/i18n/ko.ts +231 -0
  137. package/src/tool/forensic-glass-becke-line-simulator/i18n/nl.ts +231 -0
  138. package/src/tool/forensic-glass-becke-line-simulator/i18n/pl.ts +231 -0
  139. package/src/tool/forensic-glass-becke-line-simulator/i18n/pt.ts +231 -0
  140. package/src/tool/forensic-glass-becke-line-simulator/i18n/ru.ts +231 -0
  141. package/src/tool/forensic-glass-becke-line-simulator/i18n/sv.ts +231 -0
  142. package/src/tool/forensic-glass-becke-line-simulator/i18n/tr.ts +231 -0
  143. package/src/tool/forensic-glass-becke-line-simulator/i18n/zh.ts +231 -0
  144. package/src/tool/forensic-glass-becke-line-simulator/index.ts +11 -0
  145. package/src/tool/forensic-glass-becke-line-simulator/logic.ts +100 -0
  146. package/src/tool/forensic-glass-becke-line-simulator/seo.astro +15 -0
  147. package/src/tool/forensic-glass-becke-line-simulator/view.ts +281 -0
  148. package/src/tool/forensic-image-authenticity-analyzer/bibliography.astro +9 -0
  149. package/src/tool/forensic-image-authenticity-analyzer/bibliography.ts +7 -0
  150. package/src/tool/forensic-image-authenticity-analyzer/component.astro +250 -0
  151. package/src/tool/forensic-image-authenticity-analyzer/entry.ts +29 -0
  152. package/src/tool/forensic-image-authenticity-analyzer/forensic-image-metadata-authenticity-analyzer.css +679 -0
  153. package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -0
  154. package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -0
  155. package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -0
  156. package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -0
  157. package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +76 -0
  158. package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -0
  159. package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +72 -0
  160. package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +72 -0
  161. package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +75 -0
  162. package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +75 -0
  163. package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -0
  164. package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +75 -0
  165. package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +76 -0
  166. package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +76 -0
  167. package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +71 -0
  168. package/src/tool/forensic-image-authenticity-analyzer/index.ts +11 -0
  169. package/src/tool/forensic-image-authenticity-analyzer/logic.ts +283 -0
  170. package/src/tool/forensic-image-authenticity-analyzer/seo.astro +10 -0
  171. package/src/tool/forensic-microcrystal-drug-simulator/bibliography.astro +6 -0
  172. package/src/tool/forensic-microcrystal-drug-simulator/bibliography.ts +12 -0
  173. package/src/tool/forensic-microcrystal-drug-simulator/component.astro +240 -0
  174. package/src/tool/forensic-microcrystal-drug-simulator/entry.ts +32 -0
  175. package/src/tool/forensic-microcrystal-drug-simulator/forensic-microcrystal-drug-simulator.css +430 -0
  176. package/src/tool/forensic-microcrystal-drug-simulator/i18n/de.ts +244 -0
  177. package/src/tool/forensic-microcrystal-drug-simulator/i18n/en.ts +244 -0
  178. package/src/tool/forensic-microcrystal-drug-simulator/i18n/es.ts +244 -0
  179. package/src/tool/forensic-microcrystal-drug-simulator/i18n/fr.ts +244 -0
  180. package/src/tool/forensic-microcrystal-drug-simulator/i18n/id.ts +244 -0
  181. package/src/tool/forensic-microcrystal-drug-simulator/i18n/it.ts +244 -0
  182. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ja.ts +244 -0
  183. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ko.ts +244 -0
  184. package/src/tool/forensic-microcrystal-drug-simulator/i18n/nl.ts +244 -0
  185. package/src/tool/forensic-microcrystal-drug-simulator/i18n/pl.ts +244 -0
  186. package/src/tool/forensic-microcrystal-drug-simulator/i18n/pt.ts +244 -0
  187. package/src/tool/forensic-microcrystal-drug-simulator/i18n/ru.ts +244 -0
  188. package/src/tool/forensic-microcrystal-drug-simulator/i18n/sv.ts +244 -0
  189. package/src/tool/forensic-microcrystal-drug-simulator/i18n/tr.ts +244 -0
  190. package/src/tool/forensic-microcrystal-drug-simulator/i18n/zh.ts +244 -0
  191. package/src/tool/forensic-microcrystal-drug-simulator/index.ts +11 -0
  192. package/src/tool/forensic-microcrystal-drug-simulator/logic.ts +189 -0
  193. package/src/tool/forensic-microcrystal-drug-simulator/seo.astro +15 -0
  194. package/src/tool/forensic-sex-determinator/bibliography.astro +14 -0
  195. package/src/tool/forensic-sex-determinator/bibliography.ts +12 -0
  196. package/src/tool/forensic-sex-determinator/component.astro +463 -0
  197. package/src/tool/forensic-sex-determinator/entry.ts +32 -0
  198. package/src/tool/forensic-sex-determinator/forensic-sex-determinator.css +413 -0
  199. package/src/tool/forensic-sex-determinator/i18n/de.ts +211 -0
  200. package/src/tool/forensic-sex-determinator/i18n/en.ts +211 -0
  201. package/src/tool/forensic-sex-determinator/i18n/es.ts +211 -0
  202. package/src/tool/forensic-sex-determinator/i18n/fr.ts +211 -0
  203. package/src/tool/forensic-sex-determinator/i18n/id.ts +211 -0
  204. package/src/tool/forensic-sex-determinator/i18n/it.ts +211 -0
  205. package/src/tool/forensic-sex-determinator/i18n/ja.ts +211 -0
  206. package/src/tool/forensic-sex-determinator/i18n/ko.ts +211 -0
  207. package/src/tool/forensic-sex-determinator/i18n/nl.ts +211 -0
  208. package/src/tool/forensic-sex-determinator/i18n/pl.ts +211 -0
  209. package/src/tool/forensic-sex-determinator/i18n/pt.ts +211 -0
  210. package/src/tool/forensic-sex-determinator/i18n/ru.ts +211 -0
  211. package/src/tool/forensic-sex-determinator/i18n/sv.ts +211 -0
  212. package/src/tool/forensic-sex-determinator/i18n/tr.ts +211 -0
  213. package/src/tool/forensic-sex-determinator/i18n/zh.ts +211 -0
  214. package/src/tool/forensic-sex-determinator/index.ts +11 -0
  215. package/src/tool/forensic-sex-determinator/logic.ts +89 -0
  216. package/src/tool/forensic-sex-determinator/seo.astro +15 -0
  217. package/src/tool/forensic-stature-estimator/bibliography.astro +14 -0
  218. package/src/tool/forensic-stature-estimator/bibliography.ts +12 -0
  219. package/src/tool/forensic-stature-estimator/component.astro +49 -0
  220. package/src/tool/forensic-stature-estimator/components/EstimationPanel.astro +65 -0
  221. package/src/tool/forensic-stature-estimator/components/OsteometricBoard.astro +39 -0
  222. package/src/tool/forensic-stature-estimator/components/OsteometricSelector.astro +109 -0
  223. package/src/tool/forensic-stature-estimator/dom-utils.ts +71 -0
  224. package/src/tool/forensic-stature-estimator/entry.ts +32 -0
  225. package/src/tool/forensic-stature-estimator/forensic-stature-estimator.css +689 -0
  226. package/src/tool/forensic-stature-estimator/helpers.ts +51 -0
  227. package/src/tool/forensic-stature-estimator/i18n/de.ts +196 -0
  228. package/src/tool/forensic-stature-estimator/i18n/en.ts +196 -0
  229. package/src/tool/forensic-stature-estimator/i18n/es.ts +196 -0
  230. package/src/tool/forensic-stature-estimator/i18n/fr.ts +196 -0
  231. package/src/tool/forensic-stature-estimator/i18n/id.ts +196 -0
  232. package/src/tool/forensic-stature-estimator/i18n/it.ts +196 -0
  233. package/src/tool/forensic-stature-estimator/i18n/ja.ts +196 -0
  234. package/src/tool/forensic-stature-estimator/i18n/ko.ts +196 -0
  235. package/src/tool/forensic-stature-estimator/i18n/nl.ts +196 -0
  236. package/src/tool/forensic-stature-estimator/i18n/pl.ts +196 -0
  237. package/src/tool/forensic-stature-estimator/i18n/pt.ts +196 -0
  238. package/src/tool/forensic-stature-estimator/i18n/ru.ts +196 -0
  239. package/src/tool/forensic-stature-estimator/i18n/sv.ts +196 -0
  240. package/src/tool/forensic-stature-estimator/i18n/tr.ts +196 -0
  241. package/src/tool/forensic-stature-estimator/i18n/zh.ts +196 -0
  242. package/src/tool/forensic-stature-estimator/index.ts +11 -0
  243. package/src/tool/forensic-stature-estimator/logic.ts +119 -0
  244. package/src/tool/forensic-stature-estimator/script.ts +288 -0
  245. package/src/tool/forensic-stature-estimator/seo.astro +15 -0
  246. package/src/tool/forensic-tlc-ink-simulator/bibliography.astro +6 -0
  247. package/src/tool/forensic-tlc-ink-simulator/bibliography.ts +16 -0
  248. package/src/tool/forensic-tlc-ink-simulator/component.astro +245 -0
  249. package/src/tool/forensic-tlc-ink-simulator/entry.ts +32 -0
  250. package/src/tool/forensic-tlc-ink-simulator/forensic-tlc-ink-simulator.css +462 -0
  251. package/src/tool/forensic-tlc-ink-simulator/i18n/de.ts +243 -0
  252. package/src/tool/forensic-tlc-ink-simulator/i18n/en.ts +243 -0
  253. package/src/tool/forensic-tlc-ink-simulator/i18n/es.ts +243 -0
  254. package/src/tool/forensic-tlc-ink-simulator/i18n/fr.ts +243 -0
  255. package/src/tool/forensic-tlc-ink-simulator/i18n/id.ts +243 -0
  256. package/src/tool/forensic-tlc-ink-simulator/i18n/it.ts +243 -0
  257. package/src/tool/forensic-tlc-ink-simulator/i18n/ja.ts +235 -0
  258. package/src/tool/forensic-tlc-ink-simulator/i18n/ko.ts +235 -0
  259. package/src/tool/forensic-tlc-ink-simulator/i18n/nl.ts +243 -0
  260. package/src/tool/forensic-tlc-ink-simulator/i18n/pl.ts +243 -0
  261. package/src/tool/forensic-tlc-ink-simulator/i18n/pt.ts +243 -0
  262. package/src/tool/forensic-tlc-ink-simulator/i18n/ru.ts +243 -0
  263. package/src/tool/forensic-tlc-ink-simulator/i18n/sv.ts +243 -0
  264. package/src/tool/forensic-tlc-ink-simulator/i18n/tr.ts +243 -0
  265. package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +235 -0
  266. package/src/tool/forensic-tlc-ink-simulator/index.ts +11 -0
  267. package/src/tool/forensic-tlc-ink-simulator/logic.ts +152 -0
  268. package/src/tool/forensic-tlc-ink-simulator/seo.astro +15 -0
  269. package/src/tool/gsr-dispersion-calculator/bibliography.astro +6 -0
  270. package/src/tool/gsr-dispersion-calculator/bibliography.ts +16 -0
  271. package/src/tool/gsr-dispersion-calculator/component.astro +294 -0
  272. package/src/tool/gsr-dispersion-calculator/entry.ts +32 -0
  273. package/src/tool/gsr-dispersion-calculator/gsr-dispersion-calculator.css +305 -0
  274. package/src/tool/gsr-dispersion-calculator/i18n/de.ts +272 -0
  275. package/src/tool/gsr-dispersion-calculator/i18n/en.ts +272 -0
  276. package/src/tool/gsr-dispersion-calculator/i18n/es.ts +272 -0
  277. package/src/tool/gsr-dispersion-calculator/i18n/fr.ts +272 -0
  278. package/src/tool/gsr-dispersion-calculator/i18n/id.ts +272 -0
  279. package/src/tool/gsr-dispersion-calculator/i18n/it.ts +272 -0
  280. package/src/tool/gsr-dispersion-calculator/i18n/ja.ts +272 -0
  281. package/src/tool/gsr-dispersion-calculator/i18n/ko.ts +272 -0
  282. package/src/tool/gsr-dispersion-calculator/i18n/nl.ts +272 -0
  283. package/src/tool/gsr-dispersion-calculator/i18n/pl.ts +272 -0
  284. package/src/tool/gsr-dispersion-calculator/i18n/pt.ts +272 -0
  285. package/src/tool/gsr-dispersion-calculator/i18n/ru.ts +272 -0
  286. package/src/tool/gsr-dispersion-calculator/i18n/sv.ts +272 -0
  287. package/src/tool/gsr-dispersion-calculator/i18n/tr.ts +272 -0
  288. package/src/tool/gsr-dispersion-calculator/i18n/zh.ts +272 -0
  289. package/src/tool/gsr-dispersion-calculator/index.ts +11 -0
  290. package/src/tool/gsr-dispersion-calculator/logic.ts +148 -0
  291. package/src/tool/gsr-dispersion-calculator/seo.astro +15 -0
  292. package/src/tool/widmark-alcohol-simulator/bibliography.astro +14 -0
  293. package/src/tool/widmark-alcohol-simulator/bibliography.ts +12 -0
  294. package/src/tool/widmark-alcohol-simulator/component.astro +453 -0
  295. package/src/tool/widmark-alcohol-simulator/entry.ts +32 -0
  296. package/src/tool/widmark-alcohol-simulator/i18n/de.ts +193 -0
  297. package/src/tool/widmark-alcohol-simulator/i18n/en.ts +206 -0
  298. package/src/tool/widmark-alcohol-simulator/i18n/es.ts +193 -0
  299. package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +193 -0
  300. package/src/tool/widmark-alcohol-simulator/i18n/id.ts +193 -0
  301. package/src/tool/widmark-alcohol-simulator/i18n/it.ts +193 -0
  302. package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +193 -0
  303. package/src/tool/widmark-alcohol-simulator/i18n/ko.ts +193 -0
  304. package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +193 -0
  305. package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +193 -0
  306. package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +193 -0
  307. package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +193 -0
  308. package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +193 -0
  309. package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +193 -0
  310. package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +193 -0
  311. package/src/tool/widmark-alcohol-simulator/index.ts +11 -0
  312. package/src/tool/widmark-alcohol-simulator/logic.ts +97 -0
  313. package/src/tool/widmark-alcohol-simulator/seo.astro +15 -0
  314. package/src/tool/widmark-alcohol-simulator/widmark-alcohol-simulator.css +386 -0
  315. package/src/tools.ts +27 -0
  316. 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 = 'forensische-microkristallijne-drugstest-simulator';
5
+ const title = 'Forensische Microkristallijne Drugstest Simulator';
6
+ const description = 'Simuleer educatieve microkristallijne drugsscreeningspatronen door verdachte gereguleerde stoffen te combineren met klassieke forensische reagentia en vergelijk kristalvorm, groeisnelheid en polarisatielichtrespons.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Kies een verdacht monster',
11
+ text: 'Selecteer cocaïne, heroïne, amfetamine of methamphetamine om een educatief profiel voor het onbekende materiaal te laden.',
12
+ },
13
+ {
14
+ name: 'Breng een microkristallijn reagens aan',
15
+ text: 'Schakel tussen platinachloride, goudchloride en Dragendorff-reagens om te zien hoe de chemie van het reagens de kristalmorphologie verandert.',
16
+ },
17
+ {
18
+ name: 'Pas de gesimuleerde polarisatie aan',
19
+ text: 'Verschuif de polarisatieregelaar om het dubbelbrekende contrast in het virtuele microscoopveld te verhogen of te verlagen.',
20
+ },
21
+ {
22
+ name: 'Vergelijk het referentie-achtige resultaat',
23
+ text: 'Gebruik het kristalvormlabel, de match-score, de groeisnelheid en de interpretatienotitie om te bepalen of het patroon referentie-achtig, gedeeltelijk of niet-specifiek is.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ key: 'faq-1',
30
+ question: 'Zijn microkristallijne tests bevestigend voor illegale drugs?',
31
+ answer: 'Nee. Microkristallijne tests zijn vermoedelijke of vergelijkende screeningsinstrumenten. Echte identificatie van in beslag genomen drugs moet gevalideerde protocollen volgen die geschikte controles en bevestigende instrumentele methoden zoals GC-MS, LC-MS of infraroodspectroscopie omvatten.',
32
+ },
33
+ {
34
+ key: 'faq-2',
35
+ question: 'Waarom produceren verschillende reagentia verschillende kristalvormen?',
36
+ answer: 'Het reagens vormt zouten, complexen of neerslagen met functionele groepen in de doelverbinding. Oplosbaarheid, zuursterkte, concentratie, onzuiverheden en droogsnelheid beïnvloeden of de waargenomen kristalvorm verschijnt als naalden, rozetten, prisma\'s, plaatjes of zwakke verstrooiing.',
37
+ },
38
+ {
39
+ key: 'faq-3',
40
+ question: 'Wat voegt gepolariseerd licht toe aan microkristallijn onderzoek?',
41
+ answer: 'Gepolariseerd licht kan het contrast verhogen en dubbelbreking onthullen, waardoor randen, vertakkingen en de interne kristalstructuur gemakkelijker te vergelijken zijn. Het neemt de noodzaak van referentiestandaarden en controles niet weg.',
42
+ },
43
+ {
44
+ key: 'faq-4',
45
+ question: 'Waarom kan een positief ogend patroon nog steeds misleidend zijn?',
46
+ answer: 'Versnijdingsmiddelen, mengsels, gedegradeerd materiaal, ouderdom van het reagens, contaminatie en verwachtingen van de analist kunnen allemaal ambigue of overlappende morfologieën veroorzaken. Daarom moeten vermoedelijke resultaten voorzichtig worden geïnterpreteerd.',
47
+ },
48
+ {
49
+ key: 'faq-5',
50
+ question: 'Kan deze simulator een onbekende stof identificeren?',
51
+ answer: 'Nee. Het is een educatieve visualisatie van algemene morfologische concepten. Het kan geen echt bewijsmateriaal testen, chemie meten of een laboratoriumconclusie formuleren.',
52
+ },
53
+ ];
54
+
55
+ export const content: ToolLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ ui: {
60
+ microscope: 'Gepolariseerde microscoop',
61
+ canvasAria: 'Geanimeerd microkristallijn groeiveld',
62
+ sample: 'Verdacht monster',
63
+ sampleCocaine: 'Cocaïne',
64
+ sampleHeroin: 'Heroïne',
65
+ sampleAmphetamine: 'Amfetamine',
66
+ sampleMethamphetamine: 'Methamphetamine',
67
+ reagent: 'Reagentiarek',
68
+ reagentPlatinum: 'Platinachloride',
69
+ reagentGold: 'Goudchloride',
70
+ reagentDragendorff: 'Dragendorff',
71
+ polarization: 'Gepolariseerd contrast',
72
+ confidence: 'Overeenkomst',
73
+ growth: 'Groei',
74
+ birefringence: 'Dubbelbr.',
75
+ regrow: 'Kristallen opnieuw laten groeien',
76
+ warningLabel: 'Forensische waarschuwing',
77
+ warningTitle: 'Screeningwaarschuwing',
78
+ matchReference: 'Referentie-achtig',
79
+ matchPartial: 'Gedeeltelijke match',
80
+ matchNonSpecific: 'Niet-specifiek',
81
+ habitFeatheryNeedles: 'Veerachtige naaldbundels',
82
+ habitRosettes: 'Stervormige rozetten',
83
+ habitBranchingPrisms: 'Vertakte prisma\'s',
84
+ habitPlates: 'Dunne plaatjes',
85
+ habitWeakScatter: 'Spärliche niet-specifieke verstrooiing',
86
+ cueCocainePlatinumChloride: 'Veerachtige en vertakte naaldbundels zijn het verwachte educatieve patroon voor cocaïne met platinachloride.',
87
+ cueCocaineGoldChloride: 'Goudchloride kan vertakte oranjebruine kristallen vormen, maar het patroon is minder specifiek dan met platinachloride.',
88
+ cueCocaineDragendorff: 'Dragendorff geeft hier een zwakke alkaloïdereactie; morfologie mag alleen als screeningsinformatie worden behandeld.',
89
+ cueHeroinPlatinumChloride: 'Plaatachtige afzettingen kunnen verschijnen, maar deze combinatie is geen sterke bevestigende educatieve match.',
90
+ cueHeroinGoldChloride: 'Rozetclusters en afgeronde stervormen zijn het referentie-achtige heroïnepatroon in deze simulator.',
91
+ cueHeroinDragendorff: 'Dragendorff produceert oranje vertakte prisma\'s die consistent zijn met een alkaloïdenscreening, geen identiteitsbewijs.',
92
+ cueAmphetaminePlatinumChloride: 'Snel vertakkende prisma\'s suggereren een stimulansachtig educatief patroon onder het gekozen reagens.',
93
+ cueAmphetamineGoldChloride: 'Spärliche kristallisatie betekent dat de visuele bevinding als niet-specifiek moet worden gerapporteerd.',
94
+ cueAmphetamineDragendorff: 'Naaldenwaaiers groeien snel en zijn nuttig voor het aanleren van vermoedelijke amfetaminevergelijkingen.',
95
+ cueMethamphetaminePlatinumChloride: 'Gepolariseerde rozetten kunnen zich vormen, maar het resultaat blijft een vermoedelijke morfologievergelijking.',
96
+ cueMethamphetamineGoldChloride: 'Dunne plaatvormen zijn zichtbaar, hoewel overlap met andere verbindingen de specificiteit beperkt.',
97
+ cueMethamphetamineDragendorff: 'Dichte oranje vertakte prisma\'s bieden de sterkste educatieve match voor methamphetamine in deze set.',
98
+ disclaimer: 'Uitsluitend educatief screeningsmodel. Echte drugidentificatie vereist gevalideerde referentiestandaarden, reagenscontroles, chain of custody en bevestigende instrumentele analyse.',
99
+ },
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Microkristallijne Drugstesten in de Forensische Wetenschap',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'diagnostic',
108
+ variant: 'info',
109
+ icon: 'mdi:microscope',
110
+ badge: 'Educatieve simulator',
111
+ title: 'Waar deze microkristallijne simulator voor dient',
112
+ html: 'Dit hulpmiddel legt uit hoe klassieke forensische microkristallijne tests herkenbare kristalvormen kunnen produceren nadat een verdachte drug is gemengd met een reagens. Het helpt studenten om <strong>kristalmorfologie</strong>, groeisnelheid en gepolariseerd lichtcontrast te vergelijken zonder het browserresultaat als bewijs te behandelen.',
113
+ },
114
+ {
115
+ type: 'stats',
116
+ columns: 4,
117
+ items: [
118
+ { value: '4', label: 'educatieve monsterprofielen', icon: 'mdi:flask-outline' },
119
+ { value: '3', label: 'traditionele reagensopties', icon: 'mdi:bottle-tonic-outline' },
120
+ { value: '5', label: 'kristalvormen gemodelleerd', icon: 'mdi:shape-outline' },
121
+ { value: '0', label: 'juridische identificatieclaims', icon: 'mdi:scale-balance' },
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Hoe de Kristalvorm te Interpreteren',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'summary',
131
+ title: 'Praktische vergelijkingschecklist',
132
+ items: [
133
+ 'Begin met een bekende referentiestandaard en een blanco reagenscontrole voordat u een onbekende stof vergelijkt.',
134
+ 'Noteer het reagens, de concentratie, de druppelgrootte, de droogtijd, de temperatuur en de vergroting van de microscoop.',
135
+ 'Vergelijk eerst de algehele vorm: naalden, rozetten, plaatjes, prisma\'s, vertakkingen of zwakke verstrooiing.',
136
+ 'Behandel gedeeltelijke of schaarse groei als reden voor verder testen, niet als een betrouwbare identificatie.',
137
+ ],
138
+ },
139
+ {
140
+ type: 'table',
141
+ headers: ['Waargenomen kristalvorm', 'Veelgestelde vragen van gebruikers', 'Voorzichtige interpretatie'],
142
+ rows: [
143
+ ['Veerachtige naalden', 'Lijkt dit op cocaïne met platinachloride?', 'Het kan een nuttige educatieve match zijn, maar mengsels en reagenscondities kunnen de vorm veranderen.'],
144
+ ['Rozetten', 'Zijn stervormige kristallen diagnostisch?', 'Rozetten kunnen een vergelijking ondersteunen wanneer de controles overeenkomen, maar ze zijn alleen niet voldoende.'],
145
+ ['Vertakte prisma\'s', 'Waarom groeien stimulansscreenings vaak zo snel?', 'Sommige zouten nucleëren snel en vertakken zich naarmate het oplosmiddel verdampt; snelheid is ondersteunend, niet bevestigend.'],
146
+ ['Zwakke verstrooiing', 'Betekent een zwak patroon dat er geen drug aanwezig is?', 'Nee. Lage concentratie, onzuiverheden, verouderd reagens of slechte voorbereiding kunnen de kristalgroei onderdrukken.'],
147
+ ],
148
+ },
149
+ {
150
+ type: 'comparative',
151
+ columns: 2,
152
+ items: [
153
+ {
154
+ title: 'Microkristallijne screening helpt bij',
155
+ icon: 'mdi:check-circle-outline',
156
+ highlight: true,
157
+ description: 'Snelle visuele vergelijking wanneer een getrainde analist controles en referentiematerialen gebruikt.',
158
+ points: ['Demonstraties in de klas', 'Morfologische woordenschat', 'Vermoedelijke triage', 'Vergelijking van reageereffecten'],
159
+ },
160
+ {
161
+ title: 'Microkristallijne screening vervangt niet',
162
+ icon: 'mdi:alert-circle-outline',
163
+ description: 'Gevalideerde bevestigende chemie voor een echte conclusie over in beslag genomen drugs.',
164
+ points: ['Instrumentele bevestiging', 'Geaccrediteerde procedures', 'Matrixspecifieke validatie', 'Documentatie van onzekerheid'],
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ type: 'title',
170
+ text: 'Wetenschappelijke Achtergrond over Microkristallijn Testen',
171
+ level: 3,
172
+ },
173
+ {
174
+ type: 'paragraph',
175
+ html: 'Microkristallijne tests vertegenwoordigen een historische en zeer gevoelige klasse van chemische screeningstests die door forensisch chemici worden gebruikt om verdachte gereguleerde stoffen te identificeren. Wanneer een kleine hoeveelheid van een drugsmakelijk monster in een zuur wordt opgelost en wordt gecombineerd met een specifiek zwaar metaalreagens, zoals goudchloride of platinachloride, slaat een coördinatiecomplex of onoplosbaar zout neer. De moleculaire structuur van de drug bepaalt de groeisnelheid, oriëntatie en symmetrie van de resulterende kristallen, wat leidt tot kenmerkende microscopische vormen of kristalvormen.',
176
+ },
177
+ {
178
+ type: 'paragraph',
179
+ html: 'Het analyseren van deze vormen onder een gepolariseerde lichtmicroscoop stelt forensisch onderzoekers in staat om optische eigenschappen zoals dubbelbreking te observeren, waarbij het kristal licht in twee stralen splitst, wat levendige kleuren en een hoog contrast oplevert. Hoewel instrumentele methoden zoals gaschromatografie-massaspectrometrie microkristallijne tests voor bevestigende identificatie grotendeels hebben vervangen, blijft microkristallijne screening een gewaardeerde techniek vanwege de snelheid, de lage kosten en het vermogen om optische isomeren te scheiden die met andere middelen moeilijk te onderscheiden zijn.',
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'In educatieve settings helpt het simuleren van deze reacties studenten om de relatie tussen chemische reagentia en fysieke kristalmorfologie te begrijpen. Door te observeren hoe cocaïne, heroïne en verschillende amfetaminen reageren op verschillende reagentia, leren studenten dat een enkele positieve test geen definitieve forensische conclusie is. Juiste drugsscreeningsprotocollen vereisen het vergelijken van onbekende monsters met bekende referentiematerialen en het uitvoeren van blanco reagentia om de geldigheid en specificiteit van de waargenomen kristalpatronen te garanderen.',
184
+ },
185
+ {
186
+ type: 'glossary',
187
+ items: [
188
+ { term: 'Kristalvorm', definition: 'De zichtbare vorm of groeiwijze van een kristal, zoals naalden, plaatjes, prisma\'s of rozetten.' },
189
+ { term: 'Nucleatie', definition: 'De eerste vorming van minuscule kristalcentra van waaruit grotere structuren groeien.' },
190
+ { term: 'Dubbelbreking', definition: 'Optisch gedrag waardoor kristallen helderder of gekleurd kunnen lijken onder gepolariseerd licht.' },
191
+ { term: 'Vermoedelijke test', definition: 'Een screeningstest die een mogelijke klasse of verbinding suggereert, maar de identiteit op zichzelf niet bewijst.' },
192
+ { term: 'Referentiestandaard', definition: 'Een bekend materiaal dat onder dezelfde omstandigheden is getest om het onbekende patroon te vergelijken.' },
193
+ ],
194
+ },
195
+ {
196
+ type: 'tip',
197
+ title: 'Best practice voor echt bewijsmateriaal',
198
+ html: 'Gebruik microkristalmorfologie als één onderzoekslijn. Een betrouwbare werkstroom omvat blanco testen, positieve controles, documentatie van reagensouderdom, onafhankelijke beoordeling indien nodig en bevestigende tests onder een geaccepteerd drugsschema.',
199
+ },
200
+ {
201
+ type: 'diagnostic',
202
+ variant: 'warning',
203
+ icon: 'mdi:alert-outline',
204
+ badge: 'Forensische waarschuwing',
205
+ title: 'Een mooi kristal is geen wettelijke identificatie',
206
+ html: 'De simulator scheidt bewust een visuele overeenkomstscore van een forensische conclusie. De echte praktijk moet rekening houden met mengsels, versnijdingsmiddelen, contaminatie, reagensprestaties, training van de analist en gevalideerde laboratoriumprocedures.',
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 = 'symulator-mikrokrystalicznych-testow-narkotykowych';
5
+ const title = 'Forensyczny Symulator Mikrokrystalicznych Testów Narkotykowych';
6
+ const description = 'Symuluj edukacyjne wzorce przesiewowych testów mikrokrystalicznych poprzez łączenie podejrzanych substancji kontrolowanych z klasycznymi odczynnikami forensycznymi oraz porównywanie pokroju kryształów, szybkości wzrostu i reakcji na światło spolaryzowane.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Wybierz podejrzaną próbkę',
11
+ text: 'Wybierz kokainę, heroinę, amfetaminę lub metamfetaminę, aby załadować profil dydaktyczny dla nieznanej substancji.',
12
+ },
13
+ {
14
+ name: 'Zastosuj odczynnik mikrokrystaliczny',
15
+ text: 'Przełączaj między chlorkiem platyny, chlorkiem złota i odczynnikiem Dragendorffa, aby zobaczyć, jak chemia odczynnika wpływa na morfologię kryształów.',
16
+ },
17
+ {
18
+ name: 'Dostosuj symulowaną polaryzację',
19
+ text: 'Przesuń suwak polaryzacji, aby zwiększyć lub zmniejszyć kontrast dwójłomności w polu widzenia wirtualnego mikroskopu.',
20
+ },
21
+ {
22
+ name: 'Porównaj wynik z referencyjnym',
23
+ text: 'Użyj etykiety pokroju, oceny zgodności, szybkości wzrostu i notatki interpretacyjnej, aby zdecydować, czy wzorzec jest zgodny z referencyjnym, częściowy czy niespecyficzny.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ key: 'faq-1',
30
+ question: 'Czy testy mikrokrystaliczne są potwierdzające dla nielegalnych narkotyków?',
31
+ answer: 'Nie. Testy mikrokrystaliczne są narzędziami przesiewowymi o charakterze domniemanym lub porównawczym. Rzeczywista identyfikacja zabezpieczonych narkotyków powinna opierać się na walidowanych procedurach obejmujących odpowiednie próby kontrolne oraz potwierdzające metody instrumentalne, takie jak GC-MS, LC-MS lub spektroskopia w podczerwieni.',
32
+ },
33
+ {
34
+ key: 'faq-2',
35
+ question: 'Dlaczego różne odczynniki dają różne kształty kryształów?',
36
+ answer: 'Odczynnik tworzy sole, kompleksy lub osady z grupami funkcyjnymi w docelowym związku. Rozpuszczalność, moc kwasu, stężenie, zanieczyszczenia i szybkość suszenia wpływają na to, czy obserwowany pokrój ma postać igieł, rozetek, pryzmatów, płytek czy słabego rozproszenia.',
37
+ },
38
+ {
39
+ key: 'faq-3',
40
+ question: 'Co światło spolaryzowane wnosi do badania mikrokrystalicznego?',
41
+ answer: 'Światło spolaryzowane może zwiększyć kontrast i ujawnić dwójłomność, ułatwiając porównanie krawędzi, rozgałęzień i wewnętrznej struktury kryształu. Nie eliminuje to potrzeby stosowania wzorców referencyjnych i prób kontrolnych.',
42
+ },
43
+ {
44
+ key: 'faq-4',
45
+ question: 'Dlaczego wzorzec wyglądający na pozytywny może być mylący?',
46
+ answer: 'Substancje rozcieńczające, mieszaniny, zdegradowany materiał, wiek odczynnika, zanieczyszczenia i oczekiwania analityka mogą powodować niejednoznaczne lub pokrywające się morfologie. Dlatego wyniki domniemane należy interpretować ostrożnie.',
47
+ },
48
+ {
49
+ key: 'faq-5',
50
+ question: 'Czy ten symulator może zidentyfikować nieznaną substancję?',
51
+ answer: 'Nie. Jest to edukacyjna wizualizacja powszechnych pojęć morfologicznych. Nie pozwala na badanie rzeczywistych dowodów, pomiary chemiczne ani formułowanie wniosków laboratoryjnych.',
52
+ },
53
+ ];
54
+
55
+ export const content: ToolLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ ui: {
60
+ microscope: 'Mikroskop spolaryzowany',
61
+ canvasAria: 'Animowane pole wzrostu mikrokryształów',
62
+ sample: 'Podejrzana próbka',
63
+ sampleCocaine: 'Kokaina',
64
+ sampleHeroin: 'Heroina',
65
+ sampleAmphetamine: 'Amfetamina',
66
+ sampleMethamphetamine: 'Metamfetamina',
67
+ reagent: 'Półka z odczynnikami',
68
+ reagentPlatinum: 'Chlorek platyny',
69
+ reagentGold: 'Chlorek złota',
70
+ reagentDragendorff: 'Dragendorff',
71
+ polarization: 'Kontrast polaryzacji',
72
+ confidence: 'Zgodność',
73
+ growth: 'Wzrost',
74
+ birefringence: 'Dwójłom.',
75
+ regrow: 'Wyhoduj ponownie kryształy',
76
+ warningLabel: 'Ostrzeżenie forensyczne',
77
+ warningTitle: 'Ostrzeżenie przesiewowe',
78
+ matchReference: 'Zgodny z referencyjnym',
79
+ matchPartial: 'Zgodność częściowa',
80
+ matchNonSpecific: 'Nespecyficzny',
81
+ habitFeatheryNeedles: 'Pęczki pierzastych igieł',
82
+ habitRosettes: 'Rozetowe rozbłyski gwiazd',
83
+ habitBranchingPrisms: 'Rozgałęzione pryzmaty',
84
+ habitPlates: 'Cienkie płytki',
85
+ habitWeakScatter: 'Rzadkie niespecyficzne rozproszenie',
86
+ cueCocainePlatinumChloride: 'Pęczki pierzastych i rozgałęzionych igieł są oczekiwanym wzorcem dydaktycznym dla kokainy z chlorkiem platyny.',
87
+ cueCocaineGoldChloride: 'Chlorek złota może tworzyć rozgałęzione pomarańczowo-brązowe kryształy, ale wzorzec ten jest mniej specyficzny niż w przypadku chlorku platyny.',
88
+ cueCocaineDragendorff: 'Odczynnik Dragendorffa daje tutaj słabą reakcję na alkaloidy; morfologię należy traktować wyłącznie jako informację przesiewową.',
89
+ cueHeroinPlatinumChloride: 'Mogą pojawić się osady płytkowe, ale to połączenie nie stanowi silnego potwierdzającego wzorca dydaktycznego.',
90
+ cueHeroinGoldChloride: 'Gromady rozetek i zaokrąglone rozbłyski gwiazd to referencyjny wzorzec heroiny w tym symulatorze.',
91
+ cueHeroinDragendorff: 'Odczynnik Dragendorffa daje pomarańczowe rozgałęzione pryzmaty zgodne z przesiewem alkaloidów, a nie dowodem tożsamości.',
92
+ cueAmphetaminePlatinumChloride: 'Szybko rozgałęziające się pryzmaty sugerują stymulantopodobny wzorzec dydaktyczny pod wybranym odczynnikiem.',
93
+ cueAmphetamineGoldChloride: 'Rzadka krystalizacja oznacza, że wynik wizualny należy zgłosić jako niespecyficzny.',
94
+ cueAmphetamineDragendorff: 'Rozpryski igieł rosną szybko i są przydatne do nauki domniemanych porównań amfetaminy.',
95
+ cueMethamphetaminePlatinumChloride: 'Mogą powstawać spolaryzowane rozetki, ale wynik pozostaje domniemanym porównaniem morfologii.',
96
+ cueMethamphetamineGoldChloride: 'Cienkie formy płytkowe są widoczne, choć nakładanie się z innymi związkami ogranicza specyficzność.',
97
+ cueMethamphetamineDragendorff: 'Gęste pomarańczowe rozgałęzione pryzmaty zapewniają najsilniejszą zgodność dydaktyczną dla metamfetaminy w tym zestawie.',
98
+ disclaimer: 'Model przesiewowy wyłącznie do celów edukacyjnych. Rzeczywista identyfikacja narkotyków wymaga walidowanych wzorców referencyjnych, kontroli odczynników, łańcucha dowodowego i potwierdzającej analizy instrumentalnej.',
99
+ },
100
+ seo: [
101
+ {
102
+ type: 'title',
103
+ text: 'Badania Mikrokrystaliczne Narkotyków w Kryminalistyce',
104
+ level: 2,
105
+ },
106
+ {
107
+ type: 'diagnostic',
108
+ variant: 'info',
109
+ icon: 'mdi:microscope',
110
+ badge: 'Symulator dydaktyczny',
111
+ title: 'Do czego służy ten symulator mikrokrystaliczny',
112
+ html: 'To narzędzie wyjaśnia, w jaki sposób klasyczne kryminalistyczne testy mikrokrystaliczne mogą wytworzyć rozpoznawalny pokrój kryształów po zmieszaniu podejrzanego narkotyku z odczynnikiem. Pomaga studentom porównywać <strong>morfologię kryształów</strong>, szybkość wzrostu i kontrast w świetle spolaryzowanym bez traktowania wyników z przeglądarki jako dowodu.',
113
+ },
114
+ {
115
+ type: 'stats',
116
+ columns: 4,
117
+ items: [
118
+ { value: '4', label: 'dydaktyczne profile próbek', icon: 'mdi:flask-outline' },
119
+ { value: '3', label: 'tradycyjne opcje odczynników', icon: 'mdi:bottle-tonic-outline' },
120
+ { value: '5', label: 'modelowane pokroje kryształów', icon: 'mdi:shape-outline' },
121
+ { value: '0', label: 'prawne roszczenia identyfikacyjne', icon: 'mdi:scale-balance' },
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Jak interpretować pokrój kryształów',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'summary',
131
+ title: 'Praktyczna lista kontrolna do porównań',
132
+ items: [
133
+ 'Zacznij od znanego wzorca referencyjnego i ślepej próby odczynnika przed porównaniem nieznanej substancji.',
134
+ 'Zapisz odczynnik, stężenie, wielkość kropli, czas schnięcia, temperaturę i powiększenie mikroskopu.',
135
+ 'Najpierw porównaj ogólny pokrój: igły, rozetki, płytki, pryzmaty, rozgałęzienia lub słabe rozproszenie.',
136
+ 'Traktuj częściowy lub rzadki wzrost jako powód do dalszych badań, a nie pewną identyfikację.',
137
+ ],
138
+ },
139
+ {
140
+ type: 'table',
141
+ headers: ['Zaobserwowany pokrój', 'Częste pytania użytkowników', 'Ostrożna interpretacja'],
142
+ rows: [
143
+ ['Pierzaste igły', 'Czy to wygląda jak kokaina z chlorkiem platyny?', 'Może to być przydatne dopasowanie dydaktyczne, ale mieszaniny i warunki odczynnika mogą zmienić pokrój.'],
144
+ ['Rozetki', 'Czy kryształy rozetowe są diagnostyczne?', 'Rozetki mogą wspierać porównanie, gdy próby kontrolne są zgodne, ale same w sobie nie są wystarczające.'],
145
+ ['Rozgałęzione pryzmaty', 'Dlaczego testy na stymulanty często rosną szybko?', 'Niektóre sole szybko zarodkują i rozgałęziają się w miarę parowania rozpuszczalnika; szybkość jest wskazówką pomocniczą, a nie potwierdzającą.'],
146
+ ['Słabe rozproszenie', 'Czy słaby wzorzec oznacza brak narkotyku?', 'Nie. Niskie stężenie, zanieczyszczenia, zestarzały odczynnik lub słabe przygotowanie mogą zahamować wzrost kryształów.'],
147
+ ],
148
+ },
149
+ {
150
+ type: 'comparative',
151
+ columns: 2,
152
+ items: [
153
+ {
154
+ title: 'Przesiew mikrokrystaliczny pomaga w',
155
+ icon: 'mdi:check-circle-outline',
156
+ highlight: true,
157
+ description: 'Szybkim porównaniu wizualnym, gdy przeszkolony analityk stosuje próby kontrolne i materiały referencyjne.',
158
+ points: ['Pokazy klasowe', 'Słownictwo morfologiczne', 'Wstępna selekcja', 'Porównanie efektów odczynników'],
159
+ },
160
+ {
161
+ title: 'Przesiew mikrokrystaliczny nie zastępuje',
162
+ icon: 'mdi:alert-circle-outline',
163
+ description: 'Walidowanych metod chemii potwierdzającej w celu sformułowania ostatecznego wniosku o zabezpieczonym narkotyku.',
164
+ points: ['Potwierdzenie instrumentalne', 'Akredytowane procedury', 'Walidacja specyficzna dla matrycy', 'Dokumentowanie niepewności'],
165
+ },
166
+ ],
167
+ },
168
+ {
169
+ type: 'title',
170
+ text: 'Naukowe Podstawy Badań Mikrokrystalicznych',
171
+ level: 3,
172
+ },
173
+ {
174
+ type: 'paragraph',
175
+ html: 'Testy mikrokrystaliczne stanowią historyczną i wysoce czułą klasę chemicznych testów przesiewowych stosowanych przez chemików sądowych do identyfikacji podejrzanych substancji kontrolowanych. Gdy niewielka ilość próbki narkotyku zostanie rozpuszczona w kwasie i połączona z określonym odczynnikiem zawierającym metal ciężki, takim jak chlorek złota lub chlorek platyny, następuje wytrącenie kompleksu koordynacyjnego lub nierozpuszczalnej soli. Struktura cząsteczkowa narkotyku determinuje szybkość wzrostu, orientację i symetrię powstających kryształów, tworząc charakterystyczne kształty lub pokroje mikroskopowe.',
176
+ },
177
+ {
178
+ type: 'paragraph',
179
+ html: 'Analiza tych pokrojów pod mikroskopem polaryzacyjnym pozwala badaczom sądowym obserwować właściwości optyczne, takie jak dwójłomność, gdzie kryształ rozszczepia światło na dwa promienie, tworząc żywe kolory i wysoki kontrast. Chociaż metody instrumentalne, takie jak chromatografia gazowa ze spektrometrią mas, w dużej mierze zastąpiły testy mikrokrystaliczne w identyfikacji potwierdzającej, przesiew mikrokrystaliczny pozostaje cenioną techniką ze względu na szybkość, niski koszt i zdolność do rozdzielania izomerów optycznych, których odróżnienie innymi metodami może być trudne.',
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'W środowisku akademickim symulowanie tych reakcji pomaga studentom zrozumieć związek między odczynnikami chemicznymi a fizyczną morfologią kryształów. Obserwując, jak kokaina, heroina i różne amfetaminy reagują na różne odczynniki, studenci uczą się, że pojedynczy pozytywny test nie stanowi ostatecznego wniosku sądowego. Prawidłowe protokoły przesiewowe wymagają porównywania nieznanych próbek ze znanymi materiałami referencyjnymi i wykonywania ślepych prób odczynnikowych w celu zapewnienia ważności i specyficzności obserwowanych wzorców kryształów.',
184
+ },
185
+ {
186
+ type: 'glossary',
187
+ items: [
188
+ { term: 'Pokrój kryształów', definition: 'Widoczny kształt lub forma wzrostu kryształu, np. igły, płytki, pryzmaty lub rozetki.' },
189
+ { term: 'Zarodkowanie', definition: 'Początkowe powstawanie maleńkich centrów krystalizacji, z których rosną większe struktury.' },
190
+ { term: 'Dwójłomność', definition: 'Zachowanie optyczne, które może sprawić, że kryształy wydają się jaśniejsze lub zabarwione pod wpływem światła spolaryzowanego.' },
191
+ { term: 'Test domniemany', definition: 'Test przesiewowy, który sugeruje możliwą klasę lub związek, ale sam w sobie nie potwierdza tożsamości.' },
192
+ { term: 'Wzorzec referencyjny', definition: 'Znany materiał przebadany w tych samych warunkach w celu porównania z nieznanym wzorcem.' },
193
+ ],
194
+ },
195
+ {
196
+ type: 'tip',
197
+ title: 'Najlepsza praktyka dla rzeczywistych dowodów',
198
+ html: 'Używaj morfologii mikrokryształów jako jednej ze ścieżek badawczych. Wiarygodny proces obejmuje próby ślepe, kontrole dodatnie, dokumentację wieku odczynnika, niezależną weryfikację w razie potrzeby oraz testy potwierdzające w ramach akceptowanego programu badania zabezpieczonych narkotyków.',
199
+ },
200
+ {
201
+ type: 'diagnostic',
202
+ variant: 'warning',
203
+ icon: 'mdi:alert-outline',
204
+ badge: 'Ostrzeżenie forensyczne',
205
+ title: 'Piękny kryształ to nie identyfikacja prawna',
206
+ html: 'Symulator celowo oddziela wizualną ocenę zgodności od ostatecznego wniosku kryminalistycznego. Rzeczywiste badania muszą uwzględniać mieszaniny, substancje rozcieńczające, zanieczyszczenia, stan odczynnika, przeszkolenie analityka i walidowane procedury laboratoryjne.',
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
+ };