@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,243 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'forensisk-tlc-kromatografisimulator-blaeck';
5
+ const title = 'Forensisk TLC kromatografisimulator för bläck';
6
+ const description = 'Simulera tunnskiktskromatografi av ifrågasatt skriftbläck, visualisera lösningsmedelsfrontens utveckling, separera färgämnesband och beräkna exakta Rf-värden för varje pigment.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Välj det ifrågasatta bläcket eller referenspennan',
11
+ text: 'Välj bläcket från kravbrevet eller profilen för en misstänkt penna. Varje bläck innehåller olika färgämneskomponenter med olika polaritet och affinitet till den stationära fasen.',
12
+ },
13
+ {
14
+ name: 'Välj mobil fas',
15
+ text: 'Ändra lösningsmedelssystemet för att se hur lösningsmedlets polaritet förändrar kapillärutvecklingen och den relativa vandringen för varje färgämnesband.',
16
+ },
17
+ {
18
+ name: 'Framkalla TLC-plattan',
19
+ text: 'Flytta reglaget för framkallningstid och se lösningsmedelsfronten stiga på plattan medan separerade band framträder ovanför startlinjen.',
20
+ },
21
+ {
22
+ name: 'Läs av Rf-tabellen',
23
+ text: 'Jämför avståndet för varje pigment med avståndet för lösningsmedelsfronten. Simulatorn beräknar Rf-värdet som pigmentavståndet delat med lösningsmedelsfrontens avstånd.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ key: 'faq-1',
30
+ question: 'Vad betyder Rf inom tunnskiktskromatografi?',
31
+ answer: 'Rf är retentionsfaktorn: det avstånd som föreningen färdats delat med det avstånd som lösningsmedelsfronten färdats från samma startlinje. Det är enhetslöst och ligger normalt mellan 0 och 1.',
32
+ },
33
+ {
34
+ key: 'faq-2',
35
+ question: 'Kan TLC bevisa att två bläckprover kom från samma penna?',
36
+ answer: 'Nej. TLC kan visa om färgämnesmönster är överensstämmande eller icke-överensstämmande, medans ursprungsbestämning kräver validerade jämförelsemetoder, kontroller, dokumentation och expertbedömning.',
37
+ },
38
+ {
39
+ key: 'faq-3',
40
+ question: 'Varför ändras bandmönstret när man byter lösningsmedel?',
41
+ answer: 'Färgämnen fördelar sig olika mellan den stationära fasen och den mobila fasen. Ett lösningsmedel med en bättre polaritetsmatchning kan bära ett färgämne längre, vilket ökar dess Rf-värde.',
42
+ },
43
+ {
44
+ key: 'faq-4',
45
+ question: 'Varför är startlinjen viktig?',
46
+ answer: 'Både lösningsmedelsfrontens avstånd och pigmentets avstånd måste mätas från startlinjen. Att mäta från plattans botten ger felaktiga Rf-värden.',
47
+ },
48
+ ];
49
+
50
+ export const content: ToolLocaleContent = {
51
+ slug,
52
+ title,
53
+ description,
54
+ ui: {
55
+ chamberAria: 'Tunnskiktskromatografikammare med framkallningsplatta',
56
+ rulerAria: 'Virtuell millimeterlinjal för att mäta lösningsmedelsfront och pigmentband',
57
+ rulerMarks: '80,60,40,20,0',
58
+ units: 'Enhetssystem',
59
+ metric: 'Metrisk',
60
+ imperial: 'Imperial',
61
+ unitMillimeter: 'mm',
62
+ unitInch: 'in',
63
+ unitMinute: 'min',
64
+ inkSample: 'Bläckprov',
65
+ ransomNote: 'Ifrågasatt kravbrevbläck',
66
+ bluePen: 'Beslagtagen blå kulspetspenna',
67
+ blackPen: 'Beslagtagen svart kulspetspenna',
68
+ gelPen: 'Beslagtagen gelpenna',
69
+ solventSystem: 'Mobil fas',
70
+ ethanolWater: 'Etanol / vatten',
71
+ butanolAcetic: 'Butanol / ättiksyra',
72
+ isopropanolAmmonia: 'Isopropanol / ammoniak',
73
+ developmentTime: 'Framkallningstid',
74
+ frontDistance: 'Lösningsmedelsvandring',
75
+ matchScore: 'Mönsterlikhet',
76
+ solventFront: 'Lösningsmedelsfront',
77
+ originLine: 'Startlinje',
78
+ pigment: 'Pigmentband',
79
+ pigmentCyanDye: 'cyanfärgämne',
80
+ pigmentVioletDye: 'violettfärgämne',
81
+ pigmentGrayCarrier: 'grå bärare',
82
+ pigmentNavyDye: 'marinblått färgämne',
83
+ pigmentYellowDye: 'gult färgämne',
84
+ pigmentRedDye: 'rött färgämne',
85
+ pigmentBlueDye: 'blått färgämne',
86
+ pigmentDarkBinder: 'mörkt bindemedel',
87
+ pigmentTealDye: 'turkosblått färgämne',
88
+ pigmentMagentaDye: 'magentafärgämne',
89
+ pigmentGelBinder: 'gelbindemedel',
90
+ distance: 'Avstånd',
91
+ rfValue: 'Rf-värde',
92
+ disclaimer: 'Endast pedagogisk simulering. Forensisk bläckjämförelse kräver originaldokument, validerade laboratoriemetoder, referensstandarder och kvalificerade dokumentundersökare.',
93
+ },
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'Tunnskiktskromatografi för forensisk bläckjämförelse',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'diagnostic',
102
+ variant: 'info',
103
+ icon: 'mdi:test-tube',
104
+ badge: 'Pedagogisk simulator',
105
+ title: 'Vad denna TLC bläcksimulator hjälper dig att förstå',
106
+ html: 'Detta verktyg förklarar hur <strong>tunnskiktskromatografi av skriftbläck</strong> kan separera en synlig bläcklinje yn flera färgämnesband. Det är utformat för studenter inom forensisk vetenskap, blivande dokumentundersökare och alla som vill förstå hur Rf-värden beräknas från en framkallad TLC-platta.',
107
+ },
108
+ {
109
+ type: 'stats',
110
+ columns: 4,
111
+ items: [
112
+ { value: 'Rf = d band / d lösningsmedel', label: 'formel för retentionsfaktor', icon: 'mdi:division' },
113
+ { value: '4', label: 'jämförda bläckprofiler', icon: 'mdi:pen' },
114
+ { value: '3', label: 'simulerade mobila faser', icon: 'mdi:flask-outline' },
115
+ { value: '2', label: 'metriska och imperiala avläsningar', icon: 'mdi:swap-horizontal' },
116
+ ],
117
+ },
118
+ {
119
+ type: 'summary',
120
+ title: 'Checklista för korrekt TLC mätning',
121
+ items: [
122
+ 'Markera startlinjen ovanför lösningsmedelsnivån innan framkallningen startar.',
123
+ 'Ta ut plattan innan lösningsmedlet når den övre kanten.',
124
+ 'Markera lösningsmedelsfronten omedelbart eftersom den kan avdunsta eller bli svår att se.',
125
+ 'Mät pigmentvandring och lösningsmedelsvandring från samma startlinje.',
126
+ 'Rapportera Rf-värden tillsammans med lösningsmedelssystem, platt-typ, framkallningsförhållanden och kontroller.',
127
+ ],
128
+ },
129
+ {
130
+ type: 'comparative',
131
+ columns: 2,
132
+ items: [
133
+ {
134
+ title: 'Vad TLC kan stödja',
135
+ icon: 'mdi:check-circle-outline',
136
+ highlight: true,
137
+ description: 'TLC kan visa om ifrågasatta och kända bläck har liknande färgseparation under samma förhållanden.',
138
+ points: ['Screeningjämförelse', 'Visualisering av färgämnesmönster', 'Rf-dokumentation', 'Val av prover för konfirmatorisk analys'],
139
+ },
140
+ {
141
+ title: 'Vad TLC inte kan bevisa ensamt',
142
+ icon: 'mdi:alert-circle-outline',
143
+ description: 'TLC i sig kan inte unikt identifiera en penna, datumbestämma ett dokument eller bevisa författarskap.',
144
+ points: ['Ingen unik källattribuering', 'Ingen identifiering av skribent', 'Ingen åldersbestämning som standard', 'Inget substitut för validerade protokoll'],
145
+ },
146
+ ],
147
+ },
148
+ {
149
+ type: 'table',
150
+ headers: ['Vanlig fråga', 'Inblandat TLC-koncept', 'Noggrant svar'],
151
+ rows: [
152
+ ['Hur beräknar man Rf?', 'Färgämnets avstånd delat med lösningsmedelsfrontens avstånd.', 'Mät båda från startlinjen och dela sedan. Resultatet är enhetslöst.'],
153
+ ['Varför delar bläck upp sig i färger?', 'Olika färgämnen har olika affinitet för den stationära och mobila fasen.', 'Ett enda skrivet streck kan innehålla flera färgämnen som vandrar med olika hastighet.'],
154
+ ['Kan två pennor ha samma TLC-mönster?', 'Ja, liknande formuleringar kan producera snarlika mönster.', 'Likhet stöder överensstämmelse, inte individualisering till en specifik penna.'],
155
+ ['Varför ändrades mitt Rf-värde?', 'Lösningsmedel, platta, luftfuktighet, mättnad, temperatur och punktstorlek påverkar vandringen.', 'Rf-värden är endast jämförbara när förhållandena är kontrollerade och dokumenterade.'],
156
+ ],
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'Hur simulatorn modellerar separation',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: 'Modellen behandlar lösningsmedelsfrontens rörelse som en kapillärprocess som avtar med tiden, medan varje färgämne tilldelas ett Rf-value baserat på två förenklade egenskaper: dess affinitet för det rörliga lösningsmedlet och dess polaritetsmatchning med den valda mobila fasen. Detta är avsiktligt pedagogiskt snarare än avancerad kemi, men det bevarar det grundläggande förhållande som användarna behöver lära sig: lösningsmedlet rör sig först, färgämnen fördelar sig mellan faserna och Rf beräknas från uppmätta vandringsavstånd.',
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'Tunnskiktskromatografi är en allmänt accepterad analytisk teknik i forensiska laboratorier på grund av dess enkelhet, snabbhet och kostnadseffektivitet. I samband med dokumentundersökning används den främst för att jämföra färgämnessammansättningen i olika bläckprover. Forensiska analytiker extraherar ett litet bläckprov från ett ifrågasatt dokument med en skalpell eller en hålnål, löser upp det i ett lämpligt lösningsmedel som pyridin eller metanol och applicerar det på TLC plattan tillsammans med referensbläckstandarder.',
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: 'När plattan väl har framkallats i en stängd kammare separeras bläckets enskilda komponenter baserat på deras olika fördelning mellan den stationära kiselgelfasen och den mobila lösningsmedelsfasen. Det resulterande kromatogrammet ger ett visuellt fingeravtryck av bläcket och visar tydliga färgband på specifika höjder. Dokumentundersökare beräknar sedan retentionsfaktorn för varje synligt färgämnesband, vilket hjälper till att avgöra om det ifrågasatta bläcket är kemiskt överensstämmande med en misstänkt penna eller om det matchar ett känt märke och formel i en referensdatabas.',
174
+ },
175
+ {
176
+ type: 'glossary',
177
+ items: [
178
+ { term: 'Stationär fas', definition: 'Skiktet på TLC-plattan, vanligtvis kiselgel, som interagerar med föreningar och fördröjer deras rörelse.' },
179
+ { term: 'Mobil fas', definition: 'Lösningsmedelssystemet som stiger genom plattan och bär med sig färgämneskomponenterna.' },
180
+ { term: 'Startlinje', definition: 'Blyertslinjen där bläckprovet appliceras före framkallning.' },
181
+ { term: 'Lösningsmedelsfront', definition: 'Den högsta punkten som nås av den mobila fasen innan plattan tas ut.' },
182
+ { term: 'Rf-värde', definition: 'Retentionsfaktorn: föreningens vandringsavstånd delat med lösningsmedelsfrontens vandringsavstånd.' },
183
+ ],
184
+ },
185
+ {
186
+ type: 'tip',
187
+ title: 'Praktiskt tolkningstips',
188
+ html: 'Vid forensisk dokumentundersökning kan en avvikelse vara särskilt användbar eftersom den kan utesluta en kandidatpenna. Ett överensstämmande TLC-mönster är svagare: det visar bara att proverna är kemiskt samstämmiga under de förhållandena, inte att de nödvändigtvis kommer från samma penna.',
189
+ },
190
+ {
191
+ type: 'proscons',
192
+ title: 'Styrkor och begränsningar med TLC bläckjämförelse',
193
+ items: [
194
+ { pro: 'Snabb, billig och visuellt intuitiv för att separera bläckfärgämnen.', con: 'Vanligtvis destruktiv eftersom ett litet prov måste tas från dokumentet.' },
195
+ { pro: 'Rf-värden skapar ett strukturerat sätt att jämföra ifrågasatta och kända prover.', con: 'Rf-värden förskjuts när lösningsmedel, platta, luftfuktighet och framkallningsförhållanden ändras.' },
196
+ { pro: 'Användbar som screeningmetod före mer avancerad analys.', con: 'Kan inte ge en unik slutsats om bläckkälla utan bredare bevisning.' },
197
+ ],
198
+ },
199
+ {
200
+ type: 'diagnostic',
201
+ variant: 'warning',
202
+ icon: 'mdi:scale-balance',
203
+ badge: 'Forensisk varning',
204
+ title: 'Övervärdera inte bläckkromatografi',
205
+ html: 'En webbläsarsimulering kan inte undersöka papper, bläckålder, extraktionskemi, plattkvalitet, kontaminering eller ge instrumentell bekräftelse. Använd den för att lära dig mätlogik och tolkningsgränser, och lita sedan på validerade metoder för forensisk dokumentundersökning för verkliga bevis.',
206
+ },
207
+ ],
208
+ faq,
209
+ bibliography,
210
+ howTo,
211
+ schemas: [
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'SoftwareApplication',
215
+ name: title,
216
+ description,
217
+ applicationCategory: 'ForensicApplication',
218
+ operatingSystem: 'Any',
219
+ },
220
+ {
221
+ '@context': 'https://schema.org',
222
+ '@type': 'FAQPage',
223
+ mainEntity: faq.map((item) => ({
224
+ '@type': 'Question',
225
+ name: item.question,
226
+ acceptedAnswer: {
227
+ '@type': 'Answer',
228
+ text: item.answer,
229
+ },
230
+ })),
231
+ },
232
+ {
233
+ '@context': 'https://schema.org',
234
+ '@type': 'HowTo',
235
+ name: title,
236
+ step: howTo.map((step) => ({
237
+ '@type': 'HowToStep',
238
+ name: step.name,
239
+ text: step.text,
240
+ })),
241
+ },
242
+ ],
243
+ };
@@ -0,0 +1,243 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ const slug = 'adli-tlc-murekkep-kromatografisi-simulatoru';
5
+ const title = 'Adli TLC Mürekkep Kromatografisi Simülatörü';
6
+ const description = 'Şüpheli yazı mürekkeplerinin ince tabaka kromatografisini simüle edin, çözücü cephesi gelişimini görselleştirin, boya bantlarını ayırın ve her pigment için kesin Rf değerlerini hesaplayın.';
7
+
8
+ const howTo = [
9
+ {
10
+ name: 'Şüpheli mürekkebi veya karşılaştırma kalemini seçin',
11
+ text: 'Fidye mektubu mürekkebini veya şüpheli bir kalem profilini seçin. Her mürekkep, sabit faza karşı farklı polarite ve afiniteye sahip farklı boya bileşenleri seti içerir.',
12
+ },
13
+ {
14
+ name: 'Mobil fazı seçin',
15
+ text: 'Çözücü polaritesinin kapiler gelişimi ve her boya bandının bağıl sürüklenmesini nasıl değiştirdiğini görmek için çözücü sistemini değiştirin.',
16
+ },
17
+ {
18
+ name: 'TLC plakasını geliştirin',
19
+ text: 'Geliştirme süresi kaydırıcısını hareket ettirin ve ayrılmış bantlar başlangıç çizgisinin üzerinde belirirken çözücü cephesinin plaka boyunca yükselişini izleyin.',
20
+ },
21
+ {
22
+ name: 'Rf tablosunu okuyun',
23
+ text: 'Her bir pigment mesafesini çözücü cephesi mesafesiyle karşılaştırın. Simülatör, Rf değerini pigment mesafesinin çözücü cephesi mesafesine bölünmesiyle hesaplar.',
24
+ },
25
+ ];
26
+
27
+ const faq = [
28
+ {
29
+ key: 'faq-1',
30
+ question: 'İnce tabaka kromatografisinde Rf ne anlama gelir?',
31
+ answer: 'Rf, alıkonma faktörüdür (retention factor): bileşiğin katettiği mesafenin, çözücü cephesinin aynı başlangıç çizgisinden itibaren katettiği mesafeye bölünmesiyle elde edilir. Birimsizdir ve normalde 0 ile 1 arasındadır.',
32
+ },
33
+ {
34
+ key: 'faq-2',
35
+ question: 'TLC, iki mürekkep örneğinin aynı kalemden geldiğini kanıtlayabilir mi?',
36
+ answer: 'Hayır. TLC, boya desenlerinin tutarlı veya tutarsız olup olmadığını gösterebilir, ancak kaynak tespiti doğrulanmış karşılaştırma yöntemleri, kontroller, belgelendirme ve uzman yorumu gerektirir.',
37
+ },
38
+ {
39
+ key: 'faq-3',
40
+ question: 'Çözücüyü değiştirmek neden bant desenini değiştirir?',
41
+ answer: 'Boyalar, sabit faz ile mobil faz arasında farklı şekilde dağılır. Daha iyi bir polarite uyumuna sahip çözücü, bir boyayı daha uzağa taşıyarak Rf değerini artırabilir.',
42
+ },
43
+ {
44
+ key: 'faq-4',
45
+ question: 'Başlangıç çizgisi neden önemlidir?',
46
+ answer: 'Hem çözücü cephesi mesafesi hem de pigment mesafesi başlangıç çizgisinden ölçülmelidir. Plakanın en altından ölçüm yapmak yanlış Rf değerleri üretir.',
47
+ },
48
+ ];
49
+
50
+ export const content: ToolLocaleContent = {
51
+ slug,
52
+ title,
53
+ description,
54
+ ui: {
55
+ chamberAria: 'Geliştirme plakalı ince tabaka kromatografisi odası',
56
+ rulerAria: 'Çözücü cephesini ve pigment bantlarını ölçmek için sanal milimetrik cetvel',
57
+ rulerMarks: '80,60,40,20,0',
58
+ units: 'Birim sistemi',
59
+ metric: 'Metrik',
60
+ imperial: 'İmparatorluk',
61
+ unitMillimeter: 'mm',
62
+ unitInch: 'inç',
63
+ unitMinute: 'dk',
64
+ inkSample: 'Mürekkep örneği',
65
+ ransomNote: 'Şüpheli fidye mektubu mürekkebi',
66
+ bluePen: 'Ele geçirilen mavi tükenmez',
67
+ blackPen: 'Ele geçirilen siyah tükenmez',
68
+ gelPen: 'Ele geçirilen jel kalem',
69
+ solventSystem: 'Mobil faz',
70
+ ethanolWater: 'Etanol / su',
71
+ butanolAcetic: 'Butanol / asetik asit',
72
+ isopropanolAmmonia: 'İzopropanol / amonyak',
73
+ developmentTime: 'Geliştirme süresi',
74
+ frontDistance: 'Çözücü sürüklenmesi',
75
+ matchScore: 'Desen benzerliği',
76
+ solventFront: 'Çözücü cephesi',
77
+ originLine: 'Başlangıç',
78
+ pigment: 'Pigment bandı',
79
+ pigmentCyanDye: 'camgöbeği boya',
80
+ pigmentVioletDye: 'mor boya',
81
+ pigmentGrayCarrier: 'gri taşıyıcı',
82
+ pigmentNavyDye: 'lacivert boya',
83
+ pigmentYellowDye: 'sarı boya',
84
+ pigmentRedDye: 'kırmızı boya',
85
+ pigmentBlueDye: 'mavi boya',
86
+ pigmentDarkBinder: 'koyu bağlayıcı',
87
+ pigmentTealDye: 'turkuaz boya',
88
+ pigmentMagentaDye: 'macenta boya',
89
+ pigmentGelBinder: 'jel bağlayıcı',
90
+ distance: 'Mesafe',
91
+ rfValue: 'Rf değeri',
92
+ disclaimer: 'Sadece eğitim amaçlı simülasyon. Adli mürekkep karşılaştırması; orijinal belgeler, doğrulanmış laboratuvar yöntemleri, referans standartlar ve nitelikli belge inceleme uzmanları gerektirir.',
93
+ },
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'Adli Mürekkep Karşılaştırması için İnce Tabaka Kromatografisi',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'diagnostic',
102
+ variant: 'info',
103
+ icon: 'mdi:test-tube',
104
+ badge: 'Öğretim simülatörü',
105
+ title: 'Bu TLC mürekkep simülatörünün anlamanıza yardımcı olduğu hususlar',
106
+ html: 'Bu araç, <strong>yazı mürekkeplerinin ince tabaka kromatografisinin</strong> görünür bir mürekkep çizgisini nasıl birden fazla boya bandına ayırabildiğini açıklar. Adli tıp öğrencileri, belge inceleme eğitimi alanlar ve geliştirilmiş bir TLC plakasından Rf değerlerinin nasıl hesaplandığını anlamak isteyen herkes için tasarlanmıştır.',
107
+ },
108
+ {
109
+ type: 'stats',
110
+ columns: 4,
111
+ items: [
112
+ { value: 'Rf = d bant / d çözücü', label: 'alıkonma faktörü formülü', icon: 'mdi:division' },
113
+ { value: '4', label: 'karşılaştırılan mürekkep profili', icon: 'mdi:pen' },
114
+ { value: '3', label: 'simüle edilen mobil faz', icon: 'mdi:flask-outline' },
115
+ { value: '2', label: 'metrik ve imparatorluk göstergeleri', icon: 'mdi:swap-horizontal' },
116
+ ],
117
+ },
118
+ {
119
+ type: 'summary',
120
+ title: 'Doğru TLC ölçüm kontrol listesi',
121
+ items: [
122
+ 'Geliştirme başlamadan önce başlangıç çizgisini çözücü seviyesinin üzerinde işaretleyin.',
123
+ 'Çözücü üst kenara ulaşmadan önce plakayı çıkarın.',
124
+ 'Buharlaşabileceği veya görülmesi zorlaşabileceği için çözücü cephesini hemen işaretleyin.',
125
+ 'Pigment sürüklenmesini ve çözücü sürüklenmesini aynı başlangıç çizgisinden ölçün.',
126
+ 'Rf değerlerini çözücü sistemi, plaka tipi, geliştirme koşulları ve kontrollerle birlikte raporlayın.',
127
+ ],
128
+ },
129
+ {
130
+ type: 'comparative',
131
+ columns: 2,
132
+ items: [
133
+ {
134
+ title: 'TLC\'nin Destekleyebileceği Durumlar',
135
+ icon: 'mdi:check-circle-outline',
136
+ highlight: true,
137
+ description: 'TLC, şüpheli ve bilinen mürekkeplerin aynı koşullar altında benzer boya ayrışma davranışı gösterip göstermediğini ortaya koyabilir.',
138
+ points: ['Tarama karşılaştırması', 'Boya deseni görselleştirme', 'Rf belgelendirmesi', 'Doğrulayıcı testler için örnek seçimi'],
139
+ },
140
+ {
141
+ title: 'TLC\'nin Tek Başına Kanıtlayamayacağı Durumlar',
142
+ icon: 'mdi:alert-circle-outline',
143
+ description: 'Tek başına TLC bir kalemi benzersiz şekilde tanımlayamaz, bir belgeye tarih atayamaz veya yazarlığı kanıtlayamaz.',
144
+ points: ['Benzersiz kaynak ataması yok', 'Yazar tanımlama yok', 'Varsayılan olarak yaşlandırma kararı yok', 'Doğrulanmış protokollerin yerini almaz'],
145
+ },
146
+ ],
147
+ },
148
+ {
149
+ type: 'table',
150
+ headers: ['Sıkça sorulan soru', 'İlgili TLC kavramı', 'Detaylı yanıt'],
151
+ rows: [
152
+ ['Rf nasıl hesaplanır?', 'Boyanın mesafesi bölü çözücü cephesinin mesafesi.', 'Her ikisini de başlangıç çizgisinden ölçün, ardından bölün. Sonuç birimsizdir.'],
153
+ ['Mürekkep neden renklere ayrılır?', 'Farklı boyaların sabit ve mobil fazlara karşı farklı afiniteleri vardır.', 'Tek bir yazılı şerit, farklı hızlarda sürüklenen birkaç renklendirici içerebilir.'],
154
+ ['İki kalemin TLC deseni aynı olabilir mi?', 'Evet, benzer formülasyonlar yakın desenler üretebilir.', 'Benzerlik tutarlılığı destekler, tek bir kaleme özgüllemeyi değil.'],
155
+ ['Rf değerim neden değişti?', 'Çözücü, plaka, nem, doygunluk, sıcaklık ve damlatma boyutu sürüklenmeyi etkiler.', 'Rf değerleri yalnızca koşullar kontrol edilip belgelendiğinde karşılaştırılabilirdir.'],
156
+ ],
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'Simülatör Ayrışmayı Nasıl Modelliyor?',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: 'Model, çözücü cephesi hareketini zamanla yavaşlayan bir kapiler yükselme süreci olarak ele alırken, her bir boyaya iki basitleştirilmiş özelliğe dayalı bir Rf değeri atanır: hareket eden çözücüye olan ilgisi ve seçilen mobil faz ile olan polarite uyumu. Bu, cihaz düzeyinde kimyadan ziyade kasıtlı olarak eğitim amaçlıdır ancak kullanıcıların öğrenmesi gereken temel ilişkiyi korur: önce çözücü hareket eder, boyalar fazlar arasında bölünür ve Rf ölçülen sürüklenme mesafelerinden hesaplanır.',
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'İnce tabaka kromatografisi; basitliği, hızı ve maliyet etkinliği nedeniyle adli tıp laboratuvarlarında yaygın olarak kabul gören bir analitik tekniktir. Belge inceleme bağlamında, öncelikle farklı mürekkep numunelerinin boya bileşimlerini karşılaştırmak için kullanılır. Adli tıp uzmanları, şüpheli bir belgeden neşter veya içi boş bir iğne kullanarak küçük bir mürekkep parçası çıkarır, bunu piridin veya metanol gibi uygun bir çözücü içinde çözer ve referans mürekkep standartlarıyla birlikte TLC plakasına damlatır.',
170
+ },
171
+ {
172
+ type: 'paragraph',
173
+ html: 'Plaka kapalı bir odada geliştirildiğinde, mürekkebin bağımsız bileşenleri, sabit silika jel fazı ile mobil çözücü fazı arasındaki farklı dağılımlarına göre ayrılır. Elde edilen kromatogram, belirli yüksekliklerde belirgin renk bantları sergileyerek mürekkebin görsel bir parmak izini sağlar. Belge incelemecileri daha sonra görünür her boya bandı için alıkonma faktörünü hesaplayarak şüpheli mürekkebin şüpheli bir yazı aletiyle kimyasal olarak tutarlı olup olmadığını veya bir mürekkep referans veri tabanındaki bilinen bir marka ve formülle eşleşip eşleşmediğini belirlemeye yardımcı olur.',
174
+ },
175
+ {
176
+ type: 'glossary',
177
+ items: [
178
+ { term: 'Stationary phase', definition: 'TLC plakası üzerindeki kaplama (genellikle silika jel), bileşiklerle etkileşime girer ve hareketlerini yavaşlatır.' },
179
+ { term: 'Mobile phase', definition: 'Plaka boyunca yükselen ve boya bileşenlerini beraberinde taşıyan çözücü sistemi.' },
180
+ { term: 'Origin line', definition: 'Geliştirmeden önce mürekkep örneğinin uygulandığı kurşun kalem çizgisi.' },
181
+ { term: 'Solvent front', definition: 'Plaka çıkarılmadan önce mobil fazın ulaştığı en yüksek nokta.' },
182
+ { term: 'Rf value', definition: 'Alıkonma faktörü: bileşenin katettiği mesafenin çözücü cephesinin katettiği mesayefe bölünmesi.' },
183
+ ],
184
+ },
185
+ {
186
+ type: 'tip',
187
+ title: 'Pratik yorumlama ipucu',
188
+ html: 'Adli belge inceleme çalışmasında, bir uyuşmazlık özellikle yararlı olabilir çünkü aday bir kalem formülasyonunu eleyebilir. Eşleşen bir TLC deseni ise daha zayıftır: örneklerin o koşullar altında kimyasal olarak tutarlı olduğunu söyler, mutlaka aynı kalemden geldiklerini değil.',
189
+ },
190
+ {
191
+ type: 'proscons',
192
+ title: 'TLC mürekkep karşılaştırmasının güçlü yönleri ve sınırları',
193
+ items: [
194
+ { pro: 'Mürekkep boyalarını ayırmak için hızlı, ucuz ve görsel olarak sezgiseldir.', con: 'Genellikle tahrip edicidir çünkü belgeden küçük bir örnek çıkarılır.' },
195
+ { pro: 'Rf değerleri, şüpheli ve bilinen örnekleri karşılaştırmak için yapılandırılmış bir yol oluşturur.', con: 'Çözücü, plaka, nem ve geliştirme koşulları değiştiğinde Rf değerleri kayar.' },
196
+ { pro: 'Daha ileri analizlerden önce bir tarama yöntemi olarak kullanışlıdır.', con: 'Can\'t make a unique pen-source conclusion without broader evidence.' },
197
+ ],
198
+ },
199
+ {
200
+ type: 'diagnostic',
201
+ variant: 'warning',
202
+ icon: 'mdi:scale-balance',
203
+ badge: 'Adli uyarı',
204
+ title: 'Mürekkep kromatografisini abartmayın',
205
+ html: 'Bir tarayıcı simülasyonu kağıdı, mürekkep yaşını, ekstraksiyon kimyasını, plaka kalitesini, kontaminasyonu veya enstrümantal doğrulamayı inceleyemez. Ölçüm mantığını ve yorumlama sınırlarını öğrenmek için kullanın, ardından gerçek kanıtlar için doğrulanmış adli belge inceleme yöntemlerine güvenin.',
206
+ },
207
+ ],
208
+ faq,
209
+ bibliography,
210
+ howTo,
211
+ schemas: [
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'SoftwareApplication',
215
+ name: title,
216
+ description,
217
+ applicationCategory: 'ForensicApplication',
218
+ operatingSystem: 'Any',
219
+ },
220
+ {
221
+ '@context': 'https://schema.org',
222
+ '@type': 'FAQPage',
223
+ mainEntity: faq.map((item) => ({
224
+ '@type': 'Question',
225
+ name: item.question,
226
+ acceptedAnswer: {
227
+ '@type': 'Answer',
228
+ text: item.answer,
229
+ },
230
+ })),
231
+ },
232
+ {
233
+ '@context': 'https://schema.org',
234
+ '@type': 'HowTo',
235
+ name: title,
236
+ step: howTo.map((step) => ({
237
+ '@type': 'HowToStep',
238
+ name: step.name,
239
+ text: step.text,
240
+ })),
241
+ },
242
+ ],
243
+ };