@jjlmoya/utils-diy 1.28.0 → 1.30.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 (304) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +12 -12
  3. package/src/category/i18n/en.ts +110 -110
  4. package/src/category/i18n/es.ts +110 -110
  5. package/src/category/i18n/fr.ts +101 -101
  6. package/src/category/i18n/id.ts +12 -12
  7. package/src/category/i18n/it.ts +12 -12
  8. package/src/category/i18n/ja.ts +12 -12
  9. package/src/category/i18n/ko.ts +12 -12
  10. package/src/category/i18n/nl.ts +12 -12
  11. package/src/category/i18n/pl.ts +12 -12
  12. package/src/category/i18n/pt.ts +12 -12
  13. package/src/category/i18n/ru.ts +12 -12
  14. package/src/category/i18n/sv.ts +12 -12
  15. package/src/category/i18n/tr.ts +12 -12
  16. package/src/category/i18n/zh.ts +12 -12
  17. package/src/category/index.ts +36 -36
  18. package/src/category/seo.astro +1 -1
  19. package/src/components/PreviewNavSidebar.astro +1 -1
  20. package/src/components/PreviewToolbar.astro +1 -1
  21. package/src/data.ts +1 -1
  22. package/src/entries.ts +37 -37
  23. package/src/env.d.ts +1 -1
  24. package/src/index.ts +50 -50
  25. package/src/layouts/PreviewLayout.astro +1 -1
  26. package/src/pages/index.astro +1 -1
  27. package/src/tests/category_seo_quality.test.ts +74 -0
  28. package/src/tests/faq_count.test.ts +1 -1
  29. package/src/tests/mocks/astro_mock.js +1 -1
  30. package/src/tests/no_h1_in_components.test.ts +1 -1
  31. package/src/tests/seo_length.test.ts +1 -1
  32. package/src/tests/seo_parity.test.ts +2 -2
  33. package/src/tests/seo_translation_completeness.test.ts +18 -12
  34. package/src/tests/tool_validation.test.ts +15 -15
  35. package/src/tool/balusterCalculator/bibliography.ts +16 -16
  36. package/src/tool/balusterCalculator/i18n/de.ts +251 -251
  37. package/src/tool/balusterCalculator/i18n/en.ts +251 -251
  38. package/src/tool/balusterCalculator/i18n/es.ts +251 -251
  39. package/src/tool/balusterCalculator/i18n/fr.ts +251 -251
  40. package/src/tool/balusterCalculator/i18n/id.ts +251 -251
  41. package/src/tool/balusterCalculator/i18n/it.ts +251 -251
  42. package/src/tool/balusterCalculator/i18n/ja.ts +251 -251
  43. package/src/tool/balusterCalculator/i18n/ko.ts +251 -251
  44. package/src/tool/balusterCalculator/i18n/nl.ts +251 -251
  45. package/src/tool/balusterCalculator/i18n/pl.ts +251 -251
  46. package/src/tool/balusterCalculator/i18n/pt.ts +251 -251
  47. package/src/tool/balusterCalculator/i18n/ru.ts +251 -251
  48. package/src/tool/balusterCalculator/i18n/sv.ts +251 -251
  49. package/src/tool/balusterCalculator/i18n/tr.ts +251 -251
  50. package/src/tool/balusterCalculator/i18n/zh.ts +251 -251
  51. package/src/tool/balusterCalculator/seo.astro +15 -15
  52. package/src/tool/clayCalculator/bibliography.ts +12 -12
  53. package/src/tool/clayCalculator/i18n/de.ts +174 -174
  54. package/src/tool/clayCalculator/i18n/en.ts +174 -174
  55. package/src/tool/clayCalculator/i18n/es.ts +174 -174
  56. package/src/tool/clayCalculator/i18n/fr.ts +174 -174
  57. package/src/tool/clayCalculator/i18n/id.ts +174 -174
  58. package/src/tool/clayCalculator/i18n/it.ts +174 -174
  59. package/src/tool/clayCalculator/i18n/ja.ts +173 -173
  60. package/src/tool/clayCalculator/i18n/ko.ts +174 -174
  61. package/src/tool/clayCalculator/i18n/nl.ts +174 -174
  62. package/src/tool/clayCalculator/i18n/pl.ts +174 -174
  63. package/src/tool/clayCalculator/i18n/pt.ts +174 -174
  64. package/src/tool/clayCalculator/i18n/ru.ts +174 -174
  65. package/src/tool/clayCalculator/i18n/sv.ts +174 -174
  66. package/src/tool/clayCalculator/i18n/tr.ts +174 -174
  67. package/src/tool/clayCalculator/i18n/zh.ts +174 -174
  68. package/src/tool/clayCalculator/seo.astro +15 -15
  69. package/src/tool/concreteCalculator/bibliography.ts +7 -7
  70. package/src/tool/concreteCalculator/i18n/de.ts +188 -188
  71. package/src/tool/concreteCalculator/i18n/en.ts +188 -188
  72. package/src/tool/concreteCalculator/i18n/es.ts +188 -188
  73. package/src/tool/concreteCalculator/i18n/fr.ts +188 -188
  74. package/src/tool/concreteCalculator/i18n/id.ts +188 -188
  75. package/src/tool/concreteCalculator/i18n/it.ts +188 -188
  76. package/src/tool/concreteCalculator/i18n/ja.ts +188 -188
  77. package/src/tool/concreteCalculator/i18n/ko.ts +188 -188
  78. package/src/tool/concreteCalculator/i18n/nl.ts +188 -188
  79. package/src/tool/concreteCalculator/i18n/pl.ts +188 -188
  80. package/src/tool/concreteCalculator/i18n/pt.ts +188 -188
  81. package/src/tool/concreteCalculator/i18n/ru.ts +188 -188
  82. package/src/tool/concreteCalculator/i18n/sv.ts +188 -188
  83. package/src/tool/concreteCalculator/i18n/tr.ts +188 -188
  84. package/src/tool/concreteCalculator/i18n/zh.ts +188 -188
  85. package/src/tool/concreteCalculator/seo.astro +15 -15
  86. package/src/tool/cutOptimizer/bibliography.ts +12 -12
  87. package/src/tool/cutOptimizer/i18n/de.ts +169 -169
  88. package/src/tool/cutOptimizer/i18n/en.ts +169 -169
  89. package/src/tool/cutOptimizer/i18n/es.ts +169 -169
  90. package/src/tool/cutOptimizer/i18n/fr.ts +169 -169
  91. package/src/tool/cutOptimizer/i18n/id.ts +169 -169
  92. package/src/tool/cutOptimizer/i18n/it.ts +169 -169
  93. package/src/tool/cutOptimizer/i18n/ja.ts +169 -169
  94. package/src/tool/cutOptimizer/i18n/ko.ts +169 -169
  95. package/src/tool/cutOptimizer/i18n/nl.ts +169 -169
  96. package/src/tool/cutOptimizer/i18n/pl.ts +169 -169
  97. package/src/tool/cutOptimizer/i18n/pt.ts +169 -169
  98. package/src/tool/cutOptimizer/i18n/ru.ts +169 -169
  99. package/src/tool/cutOptimizer/i18n/sv.ts +169 -169
  100. package/src/tool/cutOptimizer/i18n/tr.ts +169 -169
  101. package/src/tool/cutOptimizer/i18n/zh.ts +169 -169
  102. package/src/tool/cutOptimizer/seo.astro +15 -15
  103. package/src/tool/drillCalculator/bibliography.ts +12 -12
  104. package/src/tool/drillCalculator/i18n/de.ts +134 -134
  105. package/src/tool/drillCalculator/i18n/en.ts +134 -134
  106. package/src/tool/drillCalculator/i18n/es.ts +134 -134
  107. package/src/tool/drillCalculator/i18n/fr.ts +134 -134
  108. package/src/tool/drillCalculator/i18n/id.ts +134 -134
  109. package/src/tool/drillCalculator/i18n/it.ts +134 -134
  110. package/src/tool/drillCalculator/i18n/ja.ts +134 -134
  111. package/src/tool/drillCalculator/i18n/ko.ts +134 -134
  112. package/src/tool/drillCalculator/i18n/nl.ts +134 -134
  113. package/src/tool/drillCalculator/i18n/pl.ts +134 -134
  114. package/src/tool/drillCalculator/i18n/pt.ts +134 -134
  115. package/src/tool/drillCalculator/i18n/ru.ts +134 -134
  116. package/src/tool/drillCalculator/i18n/sv.ts +134 -134
  117. package/src/tool/drillCalculator/i18n/tr.ts +134 -134
  118. package/src/tool/drillCalculator/i18n/zh.ts +134 -134
  119. package/src/tool/drillCalculator/seo.astro +15 -15
  120. package/src/tool/drillSharpener/bibliography.ts +16 -16
  121. package/src/tool/drillSharpener/i18n/de.ts +117 -117
  122. package/src/tool/drillSharpener/i18n/en.ts +117 -117
  123. package/src/tool/drillSharpener/i18n/es.ts +117 -117
  124. package/src/tool/drillSharpener/i18n/fr.ts +117 -117
  125. package/src/tool/drillSharpener/i18n/id.ts +117 -117
  126. package/src/tool/drillSharpener/i18n/it.ts +117 -117
  127. package/src/tool/drillSharpener/i18n/ja.ts +117 -117
  128. package/src/tool/drillSharpener/i18n/ko.ts +117 -117
  129. package/src/tool/drillSharpener/i18n/nl.ts +117 -117
  130. package/src/tool/drillSharpener/i18n/pl.ts +117 -117
  131. package/src/tool/drillSharpener/i18n/pt.ts +117 -117
  132. package/src/tool/drillSharpener/i18n/ru.ts +117 -117
  133. package/src/tool/drillSharpener/i18n/sv.ts +117 -117
  134. package/src/tool/drillSharpener/i18n/tr.ts +117 -117
  135. package/src/tool/drillSharpener/i18n/zh.ts +117 -117
  136. package/src/tool/drillSharpener/seo.astro +15 -15
  137. package/src/tool/epoxyCalculator/bibliography.ts +20 -20
  138. package/src/tool/epoxyCalculator/i18n/de.ts +116 -116
  139. package/src/tool/epoxyCalculator/i18n/en.ts +178 -178
  140. package/src/tool/epoxyCalculator/i18n/es.ts +178 -178
  141. package/src/tool/epoxyCalculator/i18n/fr.ts +178 -178
  142. package/src/tool/epoxyCalculator/i18n/id.ts +116 -116
  143. package/src/tool/epoxyCalculator/i18n/it.ts +116 -116
  144. package/src/tool/epoxyCalculator/i18n/ja.ts +116 -116
  145. package/src/tool/epoxyCalculator/i18n/ko.ts +116 -116
  146. package/src/tool/epoxyCalculator/i18n/nl.ts +116 -116
  147. package/src/tool/epoxyCalculator/i18n/pl.ts +116 -116
  148. package/src/tool/epoxyCalculator/i18n/pt.ts +116 -116
  149. package/src/tool/epoxyCalculator/i18n/ru.ts +116 -116
  150. package/src/tool/epoxyCalculator/i18n/sv.ts +116 -116
  151. package/src/tool/epoxyCalculator/i18n/tr.ts +116 -116
  152. package/src/tool/epoxyCalculator/i18n/zh.ts +116 -116
  153. package/src/tool/epoxyCalculator/seo.astro +15 -15
  154. package/src/tool/furnitureFit/bibliography.ts +12 -12
  155. package/src/tool/furnitureFit/i18n/de.ts +111 -111
  156. package/src/tool/furnitureFit/i18n/en.ts +149 -149
  157. package/src/tool/furnitureFit/i18n/es.ts +149 -149
  158. package/src/tool/furnitureFit/i18n/fr.ts +149 -149
  159. package/src/tool/furnitureFit/i18n/id.ts +111 -111
  160. package/src/tool/furnitureFit/i18n/it.ts +111 -111
  161. package/src/tool/furnitureFit/i18n/ja.ts +111 -111
  162. package/src/tool/furnitureFit/i18n/ko.ts +111 -111
  163. package/src/tool/furnitureFit/i18n/nl.ts +111 -111
  164. package/src/tool/furnitureFit/i18n/pl.ts +111 -111
  165. package/src/tool/furnitureFit/i18n/pt.ts +111 -111
  166. package/src/tool/furnitureFit/i18n/ru.ts +111 -111
  167. package/src/tool/furnitureFit/i18n/sv.ts +111 -111
  168. package/src/tool/furnitureFit/i18n/tr.ts +111 -111
  169. package/src/tool/furnitureFit/i18n/zh.ts +111 -111
  170. package/src/tool/furnitureFit/seo.astro +15 -15
  171. package/src/tool/mortarCalculator/bibliography.ts +20 -20
  172. package/src/tool/mortarCalculator/i18n/de.ts +130 -130
  173. package/src/tool/mortarCalculator/i18n/en.ts +202 -202
  174. package/src/tool/mortarCalculator/i18n/es.ts +179 -179
  175. package/src/tool/mortarCalculator/i18n/fr.ts +203 -203
  176. package/src/tool/mortarCalculator/i18n/id.ts +130 -130
  177. package/src/tool/mortarCalculator/i18n/it.ts +130 -130
  178. package/src/tool/mortarCalculator/i18n/ja.ts +130 -130
  179. package/src/tool/mortarCalculator/i18n/ko.ts +130 -130
  180. package/src/tool/mortarCalculator/i18n/nl.ts +130 -130
  181. package/src/tool/mortarCalculator/i18n/pl.ts +130 -130
  182. package/src/tool/mortarCalculator/i18n/pt.ts +130 -130
  183. package/src/tool/mortarCalculator/i18n/ru.ts +130 -130
  184. package/src/tool/mortarCalculator/i18n/sv.ts +130 -130
  185. package/src/tool/mortarCalculator/i18n/tr.ts +130 -130
  186. package/src/tool/mortarCalculator/i18n/zh.ts +130 -130
  187. package/src/tool/mortarCalculator/seo.astro +15 -15
  188. package/src/tool/passepartoutCalculator/bibliography.ts +16 -16
  189. package/src/tool/passepartoutCalculator/i18n/de.ts +108 -108
  190. package/src/tool/passepartoutCalculator/i18n/en.ts +165 -165
  191. package/src/tool/passepartoutCalculator/i18n/es.ts +165 -165
  192. package/src/tool/passepartoutCalculator/i18n/fr.ts +165 -165
  193. package/src/tool/passepartoutCalculator/i18n/id.ts +108 -108
  194. package/src/tool/passepartoutCalculator/i18n/it.ts +108 -108
  195. package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -108
  196. package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -108
  197. package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -108
  198. package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -108
  199. package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -108
  200. package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -108
  201. package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -108
  202. package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -108
  203. package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -108
  204. package/src/tool/passepartoutCalculator/seo.astro +15 -15
  205. package/src/tool/pythagoreanRightAngleCalculator/bibliography.ts +12 -12
  206. package/src/tool/pythagoreanRightAngleCalculator/i18n/de.ts +129 -129
  207. package/src/tool/pythagoreanRightAngleCalculator/i18n/en.ts +129 -129
  208. package/src/tool/pythagoreanRightAngleCalculator/i18n/es.ts +129 -129
  209. package/src/tool/pythagoreanRightAngleCalculator/i18n/fr.ts +129 -129
  210. package/src/tool/pythagoreanRightAngleCalculator/i18n/id.ts +129 -129
  211. package/src/tool/pythagoreanRightAngleCalculator/i18n/it.ts +129 -129
  212. package/src/tool/pythagoreanRightAngleCalculator/i18n/ja.ts +129 -129
  213. package/src/tool/pythagoreanRightAngleCalculator/i18n/ko.ts +129 -129
  214. package/src/tool/pythagoreanRightAngleCalculator/i18n/nl.ts +129 -129
  215. package/src/tool/pythagoreanRightAngleCalculator/i18n/pl.ts +129 -129
  216. package/src/tool/pythagoreanRightAngleCalculator/i18n/pt.ts +129 -129
  217. package/src/tool/pythagoreanRightAngleCalculator/i18n/ru.ts +129 -129
  218. package/src/tool/pythagoreanRightAngleCalculator/i18n/sv.ts +129 -129
  219. package/src/tool/pythagoreanRightAngleCalculator/i18n/tr.ts +129 -129
  220. package/src/tool/pythagoreanRightAngleCalculator/i18n/zh.ts +129 -129
  221. package/src/tool/stairCalculator/bibliography.ts +16 -16
  222. package/src/tool/stairCalculator/i18n/de.ts +143 -143
  223. package/src/tool/stairCalculator/i18n/en.ts +145 -145
  224. package/src/tool/stairCalculator/i18n/es.ts +145 -145
  225. package/src/tool/stairCalculator/i18n/fr.ts +145 -145
  226. package/src/tool/stairCalculator/i18n/id.ts +143 -143
  227. package/src/tool/stairCalculator/i18n/it.ts +143 -143
  228. package/src/tool/stairCalculator/i18n/ja.ts +143 -143
  229. package/src/tool/stairCalculator/i18n/ko.ts +143 -143
  230. package/src/tool/stairCalculator/i18n/nl.ts +143 -143
  231. package/src/tool/stairCalculator/i18n/pl.ts +143 -143
  232. package/src/tool/stairCalculator/i18n/pt.ts +143 -143
  233. package/src/tool/stairCalculator/i18n/ru.ts +143 -143
  234. package/src/tool/stairCalculator/i18n/sv.ts +143 -143
  235. package/src/tool/stairCalculator/i18n/tr.ts +143 -143
  236. package/src/tool/stairCalculator/i18n/zh.ts +143 -143
  237. package/src/tool/stairCalculator/seo.astro +15 -15
  238. package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -16
  239. package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -132
  240. package/src/tool/thermalExpansionCalculator/i18n/en.ts +170 -170
  241. package/src/tool/thermalExpansionCalculator/i18n/es.ts +170 -170
  242. package/src/tool/thermalExpansionCalculator/i18n/fr.ts +170 -170
  243. package/src/tool/thermalExpansionCalculator/i18n/id.ts +132 -132
  244. package/src/tool/thermalExpansionCalculator/i18n/it.ts +132 -132
  245. package/src/tool/thermalExpansionCalculator/i18n/ja.ts +132 -132
  246. package/src/tool/thermalExpansionCalculator/i18n/ko.ts +132 -132
  247. package/src/tool/thermalExpansionCalculator/i18n/nl.ts +132 -132
  248. package/src/tool/thermalExpansionCalculator/i18n/pl.ts +132 -132
  249. package/src/tool/thermalExpansionCalculator/i18n/pt.ts +132 -132
  250. package/src/tool/thermalExpansionCalculator/i18n/ru.ts +132 -132
  251. package/src/tool/thermalExpansionCalculator/i18n/sv.ts +132 -132
  252. package/src/tool/thermalExpansionCalculator/i18n/tr.ts +132 -132
  253. package/src/tool/thermalExpansionCalculator/i18n/zh.ts +132 -132
  254. package/src/tool/thermalExpansionCalculator/seo.astro +15 -15
  255. package/src/tool/twoStrokeMixtureCalculator/bibliography.ts +12 -12
  256. package/src/tool/twoStrokeMixtureCalculator/i18n/de.ts +194 -194
  257. package/src/tool/twoStrokeMixtureCalculator/i18n/en.ts +194 -194
  258. package/src/tool/twoStrokeMixtureCalculator/i18n/es.ts +194 -194
  259. package/src/tool/twoStrokeMixtureCalculator/i18n/fr.ts +194 -194
  260. package/src/tool/twoStrokeMixtureCalculator/i18n/id.ts +194 -194
  261. package/src/tool/twoStrokeMixtureCalculator/i18n/it.ts +194 -194
  262. package/src/tool/twoStrokeMixtureCalculator/i18n/ja.ts +194 -194
  263. package/src/tool/twoStrokeMixtureCalculator/i18n/ko.ts +194 -194
  264. package/src/tool/twoStrokeMixtureCalculator/i18n/nl.ts +194 -194
  265. package/src/tool/twoStrokeMixtureCalculator/i18n/pl.ts +194 -194
  266. package/src/tool/twoStrokeMixtureCalculator/i18n/pt.ts +194 -194
  267. package/src/tool/twoStrokeMixtureCalculator/i18n/ru.ts +194 -194
  268. package/src/tool/twoStrokeMixtureCalculator/i18n/sv.ts +194 -194
  269. package/src/tool/twoStrokeMixtureCalculator/i18n/tr.ts +194 -194
  270. package/src/tool/twoStrokeMixtureCalculator/i18n/zh.ts +194 -194
  271. package/src/tool/voltageDropCalculator/bibliography.ts +16 -16
  272. package/src/tool/voltageDropCalculator/i18n/de.ts +113 -113
  273. package/src/tool/voltageDropCalculator/i18n/en.ts +151 -151
  274. package/src/tool/voltageDropCalculator/i18n/es.ts +151 -151
  275. package/src/tool/voltageDropCalculator/i18n/fr.ts +145 -145
  276. package/src/tool/voltageDropCalculator/i18n/id.ts +113 -113
  277. package/src/tool/voltageDropCalculator/i18n/it.ts +113 -113
  278. package/src/tool/voltageDropCalculator/i18n/ja.ts +113 -113
  279. package/src/tool/voltageDropCalculator/i18n/ko.ts +113 -113
  280. package/src/tool/voltageDropCalculator/i18n/nl.ts +113 -113
  281. package/src/tool/voltageDropCalculator/i18n/pl.ts +113 -113
  282. package/src/tool/voltageDropCalculator/i18n/pt.ts +113 -113
  283. package/src/tool/voltageDropCalculator/i18n/ru.ts +113 -113
  284. package/src/tool/voltageDropCalculator/i18n/sv.ts +113 -113
  285. package/src/tool/voltageDropCalculator/i18n/tr.ts +113 -113
  286. package/src/tool/voltageDropCalculator/i18n/zh.ts +113 -113
  287. package/src/tool/voltageDropCalculator/seo.astro +15 -15
  288. package/src/tool/workshopFractionConverter/bibliography.ts +12 -12
  289. package/src/tool/workshopFractionConverter/i18n/de.ts +147 -147
  290. package/src/tool/workshopFractionConverter/i18n/en.ts +147 -147
  291. package/src/tool/workshopFractionConverter/i18n/es.ts +147 -147
  292. package/src/tool/workshopFractionConverter/i18n/fr.ts +147 -147
  293. package/src/tool/workshopFractionConverter/i18n/id.ts +147 -147
  294. package/src/tool/workshopFractionConverter/i18n/it.ts +147 -147
  295. package/src/tool/workshopFractionConverter/i18n/ja.ts +147 -147
  296. package/src/tool/workshopFractionConverter/i18n/ko.ts +147 -147
  297. package/src/tool/workshopFractionConverter/i18n/nl.ts +147 -147
  298. package/src/tool/workshopFractionConverter/i18n/pl.ts +147 -147
  299. package/src/tool/workshopFractionConverter/i18n/pt.ts +147 -147
  300. package/src/tool/workshopFractionConverter/i18n/ru.ts +147 -147
  301. package/src/tool/workshopFractionConverter/i18n/sv.ts +147 -147
  302. package/src/tool/workshopFractionConverter/i18n/tr.ts +147 -147
  303. package/src/tool/workshopFractionConverter/i18n/zh.ts +147 -147
  304. package/src/tools.ts +20 -20
@@ -1,194 +1,194 @@
1
- import type { WithContext, FAQPage, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import type { TwoStrokeMixtureCalculatorUI } from '../ui';
4
- import { bibliography } from '../bibliography';
5
-
6
- const slug = 'two-stroke-fuel-mixture-calculator';
7
- const title = '2행정 연료 혼합 계산기: 정확한 오일 혼합 비율 산출';
8
- const description = '2행정 엔진용 정확한 연료 혼합 비율을 즉시 계산하세요. 전기톱, 예초기, 오토바이 및 소형 엔진 필수 도구. 1:25, 1:33, 1:40, 1:50 비율 지원.';
9
-
10
- const faqData = [
11
- {
12
- question: '2행정 엔진이란 무엇인가요?',
13
- answer: '2행정 엔진은 피스톤의 2회 움직임으로 흡기와 폭발을 완료하는 방식으로, 4행정보다 단순하고 가볍습니다. 전기톱, 예초기, 소형 오토바이 등에 사용되며 윤활을 위해 연료에 오일을 직접 섞어야 합니다.',
14
- },
15
- {
16
- question: '일반적인 연료와 오일 혼합 비율은 얼마인가요?',
17
- answer: '일반적인 비율은 1:25(진함, 보호 우선), 1:33(구형 기기), 1:40(표준), 1:50(연함, 현대적 엔진)입니다. 반드시 기기 매뉴얼을 확인하세요. 잘못된 비율은 엔진 고장의 원인이 됩니다.',
18
- },
19
- {
20
- question: '혼합 비율을 틀리면 어떻게 되나요?',
21
- answer: '오일이 너무 많으면(진함) 연기가 많이 나고 점화 플러그가 오염되어 성능이 떨어집니다. 오일이 너무 적으면(연함) 엔진 내부가 마찰로 눌러붙는 \'焼き付き\'(소치) 현상이 발생하여 엔진이 영구적으로 손상됩니다.',
22
- },
23
- {
24
- question: '어떤 오일을 사용해야 하나요?',
25
- answer: '기기에 적합한 2행정 전용 엔진 오일을 사용하세요. 고성능 합성유는 일반 광유보다 보호 성능이 뛰어나고 연소 시 찌꺼기가 적습니다. 4행정 엔진 오일은 절대 사용하지 마세요.',
26
- },
27
- {
28
- question: '연료와 오일을 어떻게 섞나요?',
29
- answer: '깨끗한 용기에 휘발유를 일부 넣고 계산된 양의 오일을 추가한 뒤, 남은 휘발유를 채웁니다. 1~2분간 충분히 흔들어 완전히 섞어주세요. 용기에는 혼합한 날짜를 기록해 두는 것이 좋습니다.',
30
- },
31
- ];
32
-
33
- const howToData = [
34
- { name: '비율 확인', text: '기기 매뉴얼이나 기계 본체의 표시를 확인하세요. 예: 전기톱(1:40 또는 1:50), 예초기(1:50). 잘못된 비율은 엔진을 파괴합니다.' },
35
- { name: '휘발유 양 측정', text: '필요한 휘발유 양을 결정합니다. 이 도구는 리터 단위로 정확하게 계산합니다. 정확한 휘발유 양 측정이 정확한 오일량 계산의 핵심입니다.' },
36
- { name: '필요 오일량 계산', text: '휘발유 양과 비율을 입력하세요. 계산기가 완벽한 혼합유를 위해 필요한 정확한 오일량(ml 또는 L)을 표시합니다.' },
37
- { name: '충분히 섞기', text: '용기에 연료와 오일을 넣고 1~2분간 강하게 흔들어 줍니다. 완전히 균일하게 섞여야 엔진 내부가 골고루 윤활됩니다.' },
38
- { name: '기록 및 사용', text: '용기에 날짜와 비율을 적어둡니다. 혼합유는 변질되기 쉬우므로 최상의 결과를 위해 30일 이내에 사용하는 것이 좋습니다.' },
39
- ];
40
-
41
- const faqSchema: WithContext<FAQPage> = {
42
- '@context': 'https://schema.org',
43
- '@type': 'FAQPage',
44
- mainEntity: faqData.map((item) => ({
45
- '@type': 'Question',
46
- name: item.question,
47
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
48
- })),
49
- };
50
-
51
- const howToSchema: WithContext<any> = {
52
- '@context': 'https://schema.org',
53
- '@type': 'HowTo',
54
- name: title,
55
- description,
56
- step: howToData.map((step, i) => ({
57
- '@type': 'HowToStep',
58
- position: i + 1,
59
- name: step.name,
60
- text: step.text,
61
- })),
62
- };
63
-
64
- const appSchema: WithContext<SoftwareApplication> = {
65
- '@context': 'https://schema.org',
66
- '@type': 'SoftwareApplication',
67
- name: title,
68
- description,
69
- applicationCategory: 'UtilityApplication',
70
- operatingSystem: 'All',
71
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
- inLanguage: 'ko',
73
- };
74
-
75
- export const content: ToolLocaleContent<TwoStrokeMixtureCalculatorUI> = {
76
- slug,
77
- title,
78
- description,
79
- faqTitle: '자주 묻는 질문',
80
- faq: faqData,
81
- bibliography,
82
- howTo: howToData,
83
- schemas: [faqSchema, howToSchema, appSchema],
84
- seo: [
85
- { type: 'title', text: '2행정 엔진 혼합유 계산기: 전기톱 및 예초기를 위한 정확한 오일 비율 산출', level: 2 },
86
- { type: 'paragraph', html: '2행정 엔진의 수명을 유지하려면 정확한 연료 혼합이 필수적입니다. 비율이 틀리면 단 몇 분 만에 엔진이 망가질 수 있습니다. 이 계산기는 연료량과 엔진 타입에 따른 정확한 오일량을 즉시 산출하여, 작업장에서의 짐작에 의한 실수를 방지합니다.' },
87
-
88
- { type: 'title', text: '왜 2행정 엔진은 연료에 오일을 섞어야 할까요?', level: 3 },
89
- { type: 'card', icon: 'mdi:engine', title: '결정적인 차이', html: '오일 탱크가 따로 있는 4행정 엔진과 달리, 2행정 엔진은 오일을 연료에 직접 섞습니다. 폭발 시마다 혼합유가 연소되면서 동시에 윤활 작용도 수행합니다. 별도의 오일 펌프가 없으므로 오직 이 혼합 연료만이 피스톤의 생명을 지켜줍니다.' },
90
-
91
- { type: 'title', text: '2행정 비율 퀵 레퍼런스', level: 3 },
92
- { type: 'table', headers: ['비율', '오일 %', '용도', '엔진 타입', '특징'], rows: [
93
- ['1:25', '3.85%', '최대 보호', '1980년대 이전 기기, 고부하 작업, 올드 바이크', '진한 혼합비: 연기와 카본은 늘어나지만, 엔진 눌러붙음 방지 성능은 최대'],
94
- ['1:33', '2.94%', '클래식 장비', '80~90년대 소형 엔진, 구형 전기톱', '적당한 농도: 보호 성능과 효율성 사이의 균형'],
95
- ['1:40', '2.44%', '업계 표준', '대부분의 현대식 전기톱, 예초기, 소형 엔진', '표준 권장 비율: 최신 합성유 사용에 최적화'],
96
- ['1:50', '1.96%', '현대적 효율성', '최신형 전기톱, 고성능 오토바이', '연한 혼합비: 연기가 적고 연소가 깔끔함. 고급 합성유 전용']
97
- ] },
98
-
99
- { type: 'title', text: '잘못된 혼합 비율의 결과', level: 3 },
100
- { type: 'proscons', items: [
101
- { pro: '오일 과다 (진한 혼합)', con: '흰 연기 과다 발생, 점화 플러그 오염, 엔진 내부 카본 축적, 가속 성능 저하' },
102
- { pro: '오일 부족 (연한 혼합)', con: '수 초 내에 피스톤 눌러붙음 발생, 실린더 벽 손상, 엔진 복구 불능 상태' },
103
- { pro: '정확한 비율', con: '부드러운 작동, 적절한 윤활, 최적의 연소, 엔진 수명 연장, 안정적인 시동' }
104
- ] },
105
-
106
- { type: 'title', text: '장비별 일반적인 비율', level: 3 },
107
- { type: 'card', icon: 'mdi:tree', title: '전기톱', html: '<strong>스틸, 허스크바나, 에코:</strong> 현대식 모델은 보통 1:40 또는 1:50을 권장합니다. 반드시 매뉴얼을 확인하세요. 최신 기기에 1:25를 쓰면 플러그가 오염될 수 있습니다. 90년대 이전 구형 기계는 1:25나 1:33을 지정할 수 있습니다.' },
108
- { type: 'card', icon: 'mdi:motorcycle', title: '소형 오토바이 및 스쿠터', html: '<strong>베스파, 혼다, 야마하:</strong> 구형 모델은 1:33, 현대식은 1:40~1:50이 많습니다. 고성능 모델은 보통 1:50을 지정합니다. 서비스 매뉴얼이 가장 정확한 정보원입니다.' },
109
- { type: 'card', icon: 'mdi:tools', title: '예초기 및 송풍기', html: '<strong>스틸, 마키타, 계양:</strong> 일반적으로 1:50(현대식) 또는 1:40입니다. 이 기기들은 시즌별로 사용되므로 연한 비율을 통해 성능 저하 없이 연기를 줄이도록 설계되었습니다.' },
110
-
111
- { type: 'title', text: '비율만큼 중요한 오일의 종류', level: 3 },
112
- { type: 'comparative', items: [
113
- { title: '광유계 2행정 오일', description: '가끔 사용할 때 경제적인 선택. 재 성분이 많고 연기가 발생하나 표준 비율에서 충분한 보호.', icon: 'mdi:beaker', points: ['낮은 가격', '눈에 띄는 연기', '카본 축적 높음', '1:40 비율에 적합'] },
114
- { title: '합성 2행정 오일', description: '자주 사용하는 유저를 위한 프리미엄 선택. 깔끔한 연소, 뛰어난 보호, 더 연한 비율 가능.', icon: 'mdi:flame', points: ['연기 발생 적음', '최고의 엔진 보호', '1:50 비율도 안전하게 지원', '장기 보관 시 안정성 높음'], highlight: true },
115
- { title: '반합성유 (Semi synthetic)', description: '광유와 합성유의 중간. 적절한 가격에 우수한 보호 성능. 많은 제조사 권장 사항.', icon: 'mdi:beaker-outline', points: ['균형 잡힌 성능', '합리적인 가격', '1:40 비율에 최적', '광유보다 연기 적음'] }
116
- ], columns: 3 },
117
-
118
- { type: 'title', text: '단계별 혼합 과정', level: 3 },
119
- { type: 'card', icon: 'mdi:check-circle', title: '올바르게 섞는 방법', html: '<ol style="margin: 1rem 0; padding-left: 1.5rem;"><li><strong>전용 용기 사용</strong>: 연료 혼합만을 위한 깨끗하고 건조한 전용 용기를 사용하세요.</li><li><strong>먼저 휘발유 절반 넣기</strong>: 용기에 휘발유를 먼저 채웁니다.</li><li><strong>계산된 오일량 추가</strong>: 이 계산기를 통해 정확한 용량을 확인하세요.</li><li><strong>나머지 휘발유 추가</strong>: 목표 총량까지 휘발유를 채웁니다.</li><li><strong>1~2분간 강하게 흔들기</strong>: 색상이 균일해질 때까지 섞습니다. 균일한 혼합이 균일한 윤활을 보장합니다.</li><li><strong>용기에 라벨 부착</strong>: 날짜, 비율, 연료 종류를 적어둡니다.</li><li><strong>30일 이내 사용</strong>: 합성유의 경우 최대 60일까지도 가능하나 신선할수록 좋습니다.</li></ol>' },
120
-
121
- { type: 'title', text: '매뉴얼의 비율이 의심될 때', level: 3 },
122
- { type: 'tip', html: '<strong>항상 기기 매뉴얼의 비율을 최우선으로 하세요.</strong> 찾을 수 없다면 제조사 홈페이지를 방문하거나 지원팀에 문의하세요. 짐작으로 섞지 마세요. 잘못된 비율은 보증을 무효화하고 엔진 고장 위험을 높입니다.' },
123
-
124
- { type: 'title', text: '용어 설명: 2행정 주요 용어', level: 3 },
125
- { type: 'glossary', items: [
126
- { term: '연한 혼합 (Lean)', definition: '오일이 너무 적은 상태(1:50 등). 윤활 부족으로 엔진 눌러붙음 위험이 큼.' },
127
- { term: '진한 혼합 (Rich)', definition: '오일이 너무 많은 상태(1:25 등). 연기 발생, 플러그 오염, 카본 축적 유발.' },
128
- { term: '균일한 혼합', definition: '연료와 오일이 전체적으로 고르게 섞인 상태. 충분히 흔들어야 하며 균등한 윤활에 필수.' },
129
- { term: '눌러붙음 (Seizure)', definition: '윤활 부족과 마찰열로 인해 피스톤이 실린더 내부에서 굳어버리는 치명적 고장.' },
130
- { term: '합성유', definition: '광유보다 뛰어난 보호, 청정 연소, 온도 안정성을 위해 실험실에서 제조된 고성능 오일.' },
131
- { term: '2행정 엔진', definition: '피스톤의 1왕복(2단계)으로 한 번의 연소 주기를 완료하는 단순하고 가벼운 엔진.' },
132
- { term: '4행정 엔진', definition: '별도의 오일 순환 계통을 가진 엔진. 오일은 연료와 섞이지 않고 내부를 순환함.' }
133
- ] },
134
-
135
- { type: 'title', text: '이 계산기가 유용한 이유', level: 3 },
136
- { type: 'stats', items: [
137
- { value: '100%', label: '정확한 계산, 계량 실수 방지', icon: 'mdi:check-circle' },
138
- { value: '즉시', label: '암산 없이 수 초 만에 정확한 양 확인', icon: 'mdi:flash' },
139
- { value: '4가지 비율', label: '1:25부터 1:50까지 주요 비율 완벽 지원', icon: 'mdi:counter', trend: { value: '커스텀 비율 지원', positive: true } },
140
- { value: '공유 가능', label: '혼합 설정을 URL로 복사하여 쉽게 공유', icon: 'mdi:share-variant' }
141
- ], columns: 2 },
142
-
143
- { type: 'title', text: '엔진을 망치는 흔한 실수', level: 3 },
144
- { type: 'diagnostic', variant: 'error', title: '2행정 엔진에 4행정 오일 사용', icon: 'mdi:alert', badge: '엔진 고장 확정', html: '4행정 오일은 순환용이며 연소 시 찌꺼기가 많이 남습니다. 2행정 기기에 쓰면 수 시간 내에 엔진을 망가뜨립니다.' },
145
- { type: 'diagnostic', variant: 'warning', title: '충분히 섞지 않음', icon: 'mdi:alert', badge: '엔진 손상 위험', html: '혼합이 불완전하여 오일이 분리되면 엔진 일부가 윤활 없이 작동하게 됩니다. 반드시 1~2분간 충분히 흔드세요.' },
146
- { type: 'diagnostic', variant: 'warning', title: '오래된 연료 사용 (60일 경과)', icon: 'mdi:alert', badge: '카뷰레터 막힘', html: '휘발유는 시간이 지나면 변질됩니다. 오래된 혼합유는 카뷰레터 내부에 끈적한 잔여물을 남겨 고장을 일으킵니다.' },
147
-
148
- { type: 'title', text: '요약', level: 3 },
149
- { type: 'summary', title: '섞기 전에 확인하세요', items: [
150
- '매뉴얼에서 제조사가 지정한 정확한 비율을 확인합니다.',
151
- '반드시 2행정 전용 오일을 사용하세요(4행정용 불가).',
152
- '연료 전용의 깨끗한 용기를 사용하세요.',
153
- '신선한 휘발유와 호환되는 오일을 사용하세요.',
154
- '충분히 섞고 용기에 날짜와 비율을 적어둡니다.',
155
- '혼합한 연료는 30일 이내에 사용하세요.'
156
- ] },
157
- ],
158
- ui: {
159
- titleMain: '2행정 엔진 혼합유 계산기',
160
- labelFuelVolume: '휘발유 양',
161
- labelRatio: '혼합 비율',
162
- labelOilRequired: '필요 오일량',
163
- labelTotalMixture: '총 혼합량',
164
- labelRichness: '혼합 농도',
165
- labelPresets: '주요 비율',
166
- labelCustomRatio: '직접 입력 (1:X)',
167
- btnClear: '초기화',
168
- btnCopyResults: '결과 복사',
169
- btnSwitchMode: '모드 전환',
170
- unitLiters: 'L',
171
- unitMilliliters: 'ml',
172
- richLean: '연함 (오일 적음, 소치 위험)',
173
- richBalanced: '균형 (표준 혼합)',
174
- richRich: '진함 (오일 많음, 연기 증가, 엔진 보호)',
175
- msgReady: '준비됨',
176
- msgMixtureReady: '계산 완료',
177
- tooltipFuelVolume: '휘발유 양을 리터 단위로 입력하세요',
178
- tooltipRatio: '비율 숫자(25, 50 등)를 입력하세요',
179
- recipientLabel: '혼합 용기',
180
- oilPercentage: '오일 %',
181
- labelVolume: '용량',
182
- labelRatioShort: '비율',
183
- labelOilTip: '2% 오일 혼합 = 1:50 비율',
184
- labelMixingTips: '혼합 팁',
185
- labelMixingTipsDesc: '깨끗한 용기에 휘발유 먼저, 그다음 오일, 마지막으로 남은 휘발유 순으로 넣으세요. 1-2분 잘 흔들어 균일하게 섞고 날짜와 비율을 적어두세요.',
186
- recipePrefix: '조건:',
187
- recipeAt: '휘발유에',
188
- recipeAdd: '오일을 정확히',
189
- recipeOfOil: '추가하세요.',
190
- copyTextPrefix: '2행정 혼합유',
191
- copyTextFuel: '휘발유',
192
- copyTextOil: '오일',
193
- },
194
- };
1
+ import type { WithContext, FAQPage, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { TwoStrokeMixtureCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'two-stroke-fuel-mixture-calculator';
7
+ const title = '2행정 연료 혼합 계산기: 정확한 오일 혼합 비율 산출';
8
+ const description = '2행정 엔진용 정확한 연료 혼합 비율을 즉시 계산하세요. 전기톱, 예초기, 오토바이 및 소형 엔진 필수 도구. 1:25, 1:33, 1:40, 1:50 비율 지원.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '2행정 엔진이란 무엇인가요?',
13
+ answer: '2행정 엔진은 피스톤의 2회 움직임으로 흡기와 폭발을 완료하는 방식으로, 4행정보다 단순하고 가볍습니다. 전기톱, 예초기, 소형 오토바이 등에 사용되며 윤활을 위해 연료에 오일을 직접 섞어야 합니다.',
14
+ },
15
+ {
16
+ question: '일반적인 연료와 오일 혼합 비율은 얼마인가요?',
17
+ answer: '일반적인 비율은 1:25(진함, 보호 우선), 1:33(구형 기기), 1:40(표준), 1:50(연함, 현대적 엔진)입니다. 반드시 기기 매뉴얼을 확인하세요. 잘못된 비율은 엔진 고장의 원인이 됩니다.',
18
+ },
19
+ {
20
+ question: '혼합 비율을 틀리면 어떻게 되나요?',
21
+ answer: '오일이 너무 많으면(진함) 연기가 많이 나고 점화 플러그가 오염되어 성능이 떨어집니다. 오일이 너무 적으면(연함) 엔진 내부가 마찰로 눌러붙는 \'焼き付き\'(소치) 현상이 발생하여 엔진이 영구적으로 손상됩니다.',
22
+ },
23
+ {
24
+ question: '어떤 오일을 사용해야 하나요?',
25
+ answer: '기기에 적합한 2행정 전용 엔진 오일을 사용하세요. 고성능 합성유는 일반 광유보다 보호 성능이 뛰어나고 연소 시 찌꺼기가 적습니다. 4행정 엔진 오일은 절대 사용하지 마세요.',
26
+ },
27
+ {
28
+ question: '연료와 오일을 어떻게 섞나요?',
29
+ answer: '깨끗한 용기에 휘발유를 일부 넣고 계산된 양의 오일을 추가한 뒤, 남은 휘발유를 채웁니다. 1~2분간 충분히 흔들어 완전히 섞어주세요. 용기에는 혼합한 날짜를 기록해 두는 것이 좋습니다.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ { name: '비율 확인', text: '기기 매뉴얼이나 기계 본체의 표시를 확인하세요. 예: 전기톱(1:40 또는 1:50), 예초기(1:50). 잘못된 비율은 엔진을 파괴합니다.' },
35
+ { name: '휘발유 양 측정', text: '필요한 휘발유 양을 결정합니다. 이 도구는 리터 단위로 정확하게 계산합니다. 정확한 휘발유 양 측정이 정확한 오일량 계산의 핵심입니다.' },
36
+ { name: '필요 오일량 계산', text: '휘발유 양과 비율을 입력하세요. 계산기가 완벽한 혼합유를 위해 필요한 정확한 오일량(ml 또는 L)을 표시합니다.' },
37
+ { name: '충분히 섞기', text: '용기에 연료와 오일을 넣고 1~2분간 강하게 흔들어 줍니다. 완전히 균일하게 섞여야 엔진 내부가 골고루 윤활됩니다.' },
38
+ { name: '기록 및 사용', text: '용기에 날짜와 비율을 적어둡니다. 혼합유는 변질되기 쉬우므로 최상의 결과를 위해 30일 이내에 사용하는 것이 좋습니다.' },
39
+ ];
40
+
41
+ const faqSchema: WithContext<FAQPage> = {
42
+ '@context': 'https://schema.org',
43
+ '@type': 'FAQPage',
44
+ mainEntity: faqData.map((item) => ({
45
+ '@type': 'Question',
46
+ name: item.question,
47
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
48
+ })),
49
+ };
50
+
51
+ const howToSchema: WithContext<any> = {
52
+ '@context': 'https://schema.org',
53
+ '@type': 'HowTo',
54
+ name: title,
55
+ description,
56
+ step: howToData.map((step, i) => ({
57
+ '@type': 'HowToStep',
58
+ position: i + 1,
59
+ name: step.name,
60
+ text: step.text,
61
+ })),
62
+ };
63
+
64
+ const appSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilityApplication',
70
+ operatingSystem: 'All',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ inLanguage: 'ko',
73
+ };
74
+
75
+ export const content: ToolLocaleContent<TwoStrokeMixtureCalculatorUI> = {
76
+ slug,
77
+ title,
78
+ description,
79
+ faqTitle: '자주 묻는 질문',
80
+ faq: faqData,
81
+ bibliography,
82
+ howTo: howToData,
83
+ schemas: [faqSchema, howToSchema, appSchema],
84
+ seo: [
85
+ { type: 'title', text: '2행정 엔진 혼합유 계산기: 전기톱 및 예초기를 위한 정확한 오일 비율 산출', level: 2 },
86
+ { type: 'paragraph', html: '2행정 엔진의 수명을 유지하려면 정확한 연료 혼합이 필수적입니다. 비율이 틀리면 단 몇 분 만에 엔진이 망가질 수 있습니다. 이 계산기는 연료량과 엔진 타입에 따른 정확한 오일량을 즉시 산출하여, 작업장에서의 짐작에 의한 실수를 방지합니다.' },
87
+
88
+ { type: 'title', text: '왜 2행정 엔진은 연료에 오일을 섞어야 할까요?', level: 3 },
89
+ { type: 'card', icon: 'mdi:engine', title: '결정적인 차이', html: '오일 탱크가 따로 있는 4행정 엔진과 달리, 2행정 엔진은 오일을 연료에 직접 섞습니다. 폭발 시마다 혼합유가 연소되면서 동시에 윤활 작용도 수행합니다. 별도의 오일 펌프가 없으므로 오직 이 혼합 연료만이 피스톤의 생명을 지켜줍니다.' },
90
+
91
+ { type: 'title', text: '2행정 비율 퀵 레퍼런스', level: 3 },
92
+ { type: 'table', headers: ['비율', '오일 %', '용도', '엔진 타입', '특징'], rows: [
93
+ ['1:25', '3.85%', '최대 보호', '1980년대 이전 기기, 고부하 작업, 올드 바이크', '진한 혼합비: 연기와 카본은 늘어나지만, 엔진 눌러붙음 방지 성능은 최대'],
94
+ ['1:33', '2.94%', '클래식 장비', '80~90년대 소형 엔진, 구형 전기톱', '적당한 농도: 보호 성능과 효율성 사이의 균형'],
95
+ ['1:40', '2.44%', '업계 표준', '대부분의 현대식 전기톱, 예초기, 소형 엔진', '표준 권장 비율: 최신 합성유 사용에 최적화'],
96
+ ['1:50', '1.96%', '현대적 효율성', '최신형 전기톱, 고성능 오토바이', '연한 혼합비: 연기가 적고 연소가 깔끔함. 고급 합성유 전용']
97
+ ] },
98
+
99
+ { type: 'title', text: '잘못된 혼합 비율의 결과', level: 3 },
100
+ { type: 'proscons', items: [
101
+ { pro: '오일 과다 (진한 혼합)', con: '흰 연기 과다 발생, 점화 플러그 오염, 엔진 내부 카본 축적, 가속 성능 저하' },
102
+ { pro: '오일 부족 (연한 혼합)', con: '수 초 내에 피스톤 눌러붙음 발생, 실린더 벽 손상, 엔진 복구 불능 상태' },
103
+ { pro: '정확한 비율', con: '부드러운 작동, 적절한 윤활, 최적의 연소, 엔진 수명 연장, 안정적인 시동' }
104
+ ] },
105
+
106
+ { type: 'title', text: '장비별 일반적인 비율', level: 3 },
107
+ { type: 'card', icon: 'mdi:tree', title: '전기톱', html: '<strong>스틸, 허스크바나, 에코:</strong> 현대식 모델은 보통 1:40 또는 1:50을 권장합니다. 반드시 매뉴얼을 확인하세요. 최신 기기에 1:25를 쓰면 플러그가 오염될 수 있습니다. 90년대 이전 구형 기계는 1:25나 1:33을 지정할 수 있습니다.' },
108
+ { type: 'card', icon: 'mdi:motorcycle', title: '소형 오토바이 및 스쿠터', html: '<strong>베스파, 혼다, 야마하:</strong> 구형 모델은 1:33, 현대식은 1:40~1:50이 많습니다. 고성능 모델은 보통 1:50을 지정합니다. 서비스 매뉴얼이 가장 정확한 정보원입니다.' },
109
+ { type: 'card', icon: 'mdi:tools', title: '예초기 및 송풍기', html: '<strong>스틸, 마키타, 계양:</strong> 일반적으로 1:50(현대식) 또는 1:40입니다. 이 기기들은 시즌별로 사용되므로 연한 비율을 통해 성능 저하 없이 연기를 줄이도록 설계되었습니다.' },
110
+
111
+ { type: 'title', text: '비율만큼 중요한 오일의 종류', level: 3 },
112
+ { type: 'comparative', items: [
113
+ { title: '광유계 2행정 오일', description: '가끔 사용할 때 경제적인 선택. 재 성분이 많고 연기가 발생하나 표준 비율에서 충분한 보호.', icon: 'mdi:beaker', points: ['낮은 가격', '눈에 띄는 연기', '카본 축적 높음', '1:40 비율에 적합'] },
114
+ { title: '합성 2행정 오일', description: '자주 사용하는 유저를 위한 프리미엄 선택. 깔끔한 연소, 뛰어난 보호, 더 연한 비율 가능.', icon: 'mdi:flame', points: ['연기 발생 적음', '최고의 엔진 보호', '1:50 비율도 안전하게 지원', '장기 보관 시 안정성 높음'], highlight: true },
115
+ { title: '반합성유 (Semi synthetic)', description: '광유와 합성유의 중간. 적절한 가격에 우수한 보호 성능. 많은 제조사 권장 사항.', icon: 'mdi:beaker-outline', points: ['균형 잡힌 성능', '합리적인 가격', '1:40 비율에 최적', '광유보다 연기 적음'] }
116
+ ], columns: 3 },
117
+
118
+ { type: 'title', text: '단계별 혼합 과정', level: 3 },
119
+ { type: 'card', icon: 'mdi:check-circle', title: '올바르게 섞는 방법', html: '<ol style="margin: 1rem 0; padding-left: 1.5rem;"><li><strong>전용 용기 사용</strong>: 연료 혼합만을 위한 깨끗하고 건조한 전용 용기를 사용하세요.</li><li><strong>먼저 휘발유 절반 넣기</strong>: 용기에 휘발유를 먼저 채웁니다.</li><li><strong>계산된 오일량 추가</strong>: 이 계산기를 통해 정확한 용량을 확인하세요.</li><li><strong>나머지 휘발유 추가</strong>: 목표 총량까지 휘발유를 채웁니다.</li><li><strong>1~2분간 강하게 흔들기</strong>: 색상이 균일해질 때까지 섞습니다. 균일한 혼합이 균일한 윤활을 보장합니다.</li><li><strong>용기에 라벨 부착</strong>: 날짜, 비율, 연료 종류를 적어둡니다.</li><li><strong>30일 이내 사용</strong>: 합성유의 경우 최대 60일까지도 가능하나 신선할수록 좋습니다.</li></ol>' },
120
+
121
+ { type: 'title', text: '매뉴얼의 비율이 의심될 때', level: 3 },
122
+ { type: 'tip', html: '<strong>항상 기기 매뉴얼의 비율을 최우선으로 하세요.</strong> 찾을 수 없다면 제조사 홈페이지를 방문하거나 지원팀에 문의하세요. 짐작으로 섞지 마세요. 잘못된 비율은 보증을 무효화하고 엔진 고장 위험을 높입니다.' },
123
+
124
+ { type: 'title', text: '용어 설명: 2행정 주요 용어', level: 3 },
125
+ { type: 'glossary', items: [
126
+ { term: '연한 혼합 (Lean)', definition: '오일이 너무 적은 상태(1:50 등). 윤활 부족으로 엔진 눌러붙음 위험이 큼.' },
127
+ { term: '진한 혼합 (Rich)', definition: '오일이 너무 많은 상태(1:25 등). 연기 발생, 플러그 오염, 카본 축적 유발.' },
128
+ { term: '균일한 혼합', definition: '연료와 오일이 전체적으로 고르게 섞인 상태. 충분히 흔들어야 하며 균등한 윤활에 필수.' },
129
+ { term: '눌러붙음 (Seizure)', definition: '윤활 부족과 마찰열로 인해 피스톤이 실린더 내부에서 굳어버리는 치명적 고장.' },
130
+ { term: '합성유', definition: '광유보다 뛰어난 보호, 청정 연소, 온도 안정성을 위해 실험실에서 제조된 고성능 오일.' },
131
+ { term: '2행정 엔진', definition: '피스톤의 1왕복(2단계)으로 한 번의 연소 주기를 완료하는 단순하고 가벼운 엔진.' },
132
+ { term: '4행정 엔진', definition: '별도의 오일 순환 계통을 가진 엔진. 오일은 연료와 섞이지 않고 내부를 순환함.' }
133
+ ] },
134
+
135
+ { type: 'title', text: '이 계산기가 유용한 이유', level: 3 },
136
+ { type: 'stats', items: [
137
+ { value: '100%', label: '정확한 계산, 계량 실수 방지', icon: 'mdi:check-circle' },
138
+ { value: '즉시', label: '암산 없이 수 초 만에 정확한 양 확인', icon: 'mdi:flash' },
139
+ { value: '4가지 비율', label: '1:25부터 1:50까지 주요 비율 완벽 지원', icon: 'mdi:counter', trend: { value: '커스텀 비율 지원', positive: true } },
140
+ { value: '공유 가능', label: '혼합 설정을 URL로 복사하여 쉽게 공유', icon: 'mdi:share-variant' }
141
+ ], columns: 2 },
142
+
143
+ { type: 'title', text: '엔진을 망치는 흔한 실수', level: 3 },
144
+ { type: 'diagnostic', variant: 'error', title: '2행정 엔진에 4행정 오일 사용', icon: 'mdi:alert', badge: '엔진 고장 확정', html: '4행정 오일은 순환용이며 연소 시 찌꺼기가 많이 남습니다. 2행정 기기에 쓰면 수 시간 내에 엔진을 망가뜨립니다.' },
145
+ { type: 'diagnostic', variant: 'warning', title: '충분히 섞지 않음', icon: 'mdi:alert', badge: '엔진 손상 위험', html: '혼합이 불완전하여 오일이 분리되면 엔진 일부가 윤활 없이 작동하게 됩니다. 반드시 1~2분간 충분히 흔드세요.' },
146
+ { type: 'diagnostic', variant: 'warning', title: '오래된 연료 사용 (60일 경과)', icon: 'mdi:alert', badge: '카뷰레터 막힘', html: '휘발유는 시간이 지나면 변질됩니다. 오래된 혼합유는 카뷰레터 내부에 끈적한 잔여물을 남겨 고장을 일으킵니다.' },
147
+
148
+ { type: 'title', text: '요약', level: 3 },
149
+ { type: 'summary', title: '섞기 전에 확인하세요', items: [
150
+ '매뉴얼에서 제조사가 지정한 정확한 비율을 확인합니다.',
151
+ '반드시 2행정 전용 오일을 사용하세요(4행정용 불가).',
152
+ '연료 전용의 깨끗한 용기를 사용하세요.',
153
+ '신선한 휘발유와 호환되는 오일을 사용하세요.',
154
+ '충분히 섞고 용기에 날짜와 비율을 적어둡니다.',
155
+ '혼합한 연료는 30일 이내에 사용하세요.'
156
+ ] },
157
+ ],
158
+ ui: {
159
+ titleMain: '2행정 엔진 혼합유 계산기',
160
+ labelFuelVolume: '휘발유 양',
161
+ labelRatio: '혼합 비율',
162
+ labelOilRequired: '필요 오일량',
163
+ labelTotalMixture: '총 혼합량',
164
+ labelRichness: '혼합 농도',
165
+ labelPresets: '주요 비율',
166
+ labelCustomRatio: '직접 입력 (1:X)',
167
+ btnClear: '초기화',
168
+ btnCopyResults: '결과 복사',
169
+ btnSwitchMode: '모드 전환',
170
+ unitLiters: 'L',
171
+ unitMilliliters: 'ml',
172
+ richLean: '연함 (오일 적음, 소치 위험)',
173
+ richBalanced: '균형 (표준 혼합)',
174
+ richRich: '진함 (오일 많음, 연기 증가, 엔진 보호)',
175
+ msgReady: '준비됨',
176
+ msgMixtureReady: '계산 완료',
177
+ tooltipFuelVolume: '휘발유 양을 리터 단위로 입력하세요',
178
+ tooltipRatio: '비율 숫자(25, 50 등)를 입력하세요',
179
+ recipientLabel: '혼합 용기',
180
+ oilPercentage: '오일 %',
181
+ labelVolume: '용량',
182
+ labelRatioShort: '비율',
183
+ labelOilTip: '2% 오일 혼합 = 1:50 비율',
184
+ labelMixingTips: '혼합 팁',
185
+ labelMixingTipsDesc: '깨끗한 용기에 휘발유 먼저, 그다음 오일, 마지막으로 남은 휘발유 순으로 넣으세요. 1-2분 잘 흔들어 균일하게 섞고 날짜와 비율을 적어두세요.',
186
+ recipePrefix: '조건:',
187
+ recipeAt: '휘발유에',
188
+ recipeAdd: '오일을 정확히',
189
+ recipeOfOil: '추가하세요.',
190
+ copyTextPrefix: '2행정 혼합유',
191
+ copyTextFuel: '휘발유',
192
+ copyTextOil: '오일',
193
+ },
194
+ };