@jjlmoya/utils-developer 1.4.0 → 1.6.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 (339) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +34 -0
  3. package/src/category/i18n/id.ts +34 -0
  4. package/src/category/i18n/it.ts +34 -0
  5. package/src/category/i18n/ja.ts +34 -0
  6. package/src/category/i18n/ko.ts +34 -0
  7. package/src/category/i18n/nl.ts +34 -0
  8. package/src/category/i18n/pl.ts +34 -0
  9. package/src/category/i18n/pt.ts +34 -0
  10. package/src/category/i18n/ru.ts +34 -0
  11. package/src/category/i18n/sv.ts +34 -0
  12. package/src/category/i18n/tr.ts +34 -0
  13. package/src/category/i18n/zh.ts +34 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/slug_language_code_format.test.ts +25 -0
  19. package/src/tests/slug_uniqueness.test.ts +87 -0
  20. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  23. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  26. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  31. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  32. package/src/tool/aspectRatio/index.ts +15 -7
  33. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  44. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  45. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  46. package/src/tool/colorConverter/i18n/de.ts +126 -0
  47. package/src/tool/colorConverter/i18n/id.ts +126 -0
  48. package/src/tool/colorConverter/i18n/it.ts +126 -0
  49. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  50. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  51. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  53. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  54. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  55. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  56. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  57. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  58. package/src/tool/colorConverter/index.ts +15 -7
  59. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  70. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  71. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  72. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  73. package/src/tool/cronGenerator/i18n/es.ts +1 -0
  74. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  75. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  85. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  86. package/src/tool/cronGenerator/index.ts +15 -7
  87. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  98. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  99. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  100. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  103. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  105. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  111. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  112. package/src/tool/cssToInlineConverter/index.ts +15 -7
  113. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  116. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  118. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  124. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  125. package/src/tool/duplicateCssRemover/index.ts +15 -7
  126. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  138. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  139. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  141. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  142. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  145. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  147. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  149. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  150. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  151. package/src/tool/hashGenerator/index.ts +15 -7
  152. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  164. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  165. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  166. package/src/tool/jsonFormatter/i18n/es.ts +1 -0
  167. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  168. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  169. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  170. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  173. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  175. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  178. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  179. package/src/tool/jsonFormatter/index.ts +15 -7
  180. package/src/tool/keycode/i18n/de.ts +161 -0
  181. package/src/tool/keycode/i18n/es.ts +1 -0
  182. package/src/tool/keycode/i18n/fr.ts +2 -1
  183. package/src/tool/keycode/i18n/id.ts +161 -0
  184. package/src/tool/keycode/i18n/it.ts +161 -0
  185. package/src/tool/keycode/i18n/ja.ts +161 -0
  186. package/src/tool/keycode/i18n/ko.ts +161 -0
  187. package/src/tool/keycode/i18n/nl.ts +161 -0
  188. package/src/tool/keycode/i18n/pl.ts +161 -0
  189. package/src/tool/keycode/i18n/pt.ts +160 -0
  190. package/src/tool/keycode/i18n/ru.ts +160 -0
  191. package/src/tool/keycode/i18n/sv.ts +160 -0
  192. package/src/tool/keycode/i18n/tr.ts +160 -0
  193. package/src/tool/keycode/i18n/zh.ts +161 -0
  194. package/src/tool/keycode/index.ts +15 -7
  195. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  196. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  197. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  202. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  207. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  208. package/src/tool/llmCostCalculator/index.ts +24 -0
  209. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  214. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  216. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  220. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  221. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  222. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  225. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  227. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  229. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  230. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  231. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  233. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  234. package/src/tool/musicalTypography/index.ts +15 -7
  235. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  238. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  240. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  246. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  247. package/src/tool/placeholderGenerator/index.ts +24 -0
  248. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  251. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  253. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  254. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  255. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  257. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  259. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  260. package/src/tool/promptLibrary/index.ts +24 -0
  261. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  264. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  266. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  267. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  268. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  270. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  272. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  273. package/src/tool/readabilityCalculator/index.ts +24 -0
  274. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  277. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  279. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  281. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  282. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  285. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  286. package/src/tool/svgSanitizer/index.ts +24 -0
  287. package/src/tool/svgToCss/i18n/de.ts +174 -0
  288. package/src/tool/svgToCss/i18n/id.ts +174 -0
  289. package/src/tool/svgToCss/i18n/it.ts +174 -0
  290. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  291. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  292. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  294. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  295. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  296. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  297. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  298. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  299. package/src/tool/svgToCss/index.ts +15 -7
  300. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  303. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  305. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  306. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  307. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  311. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  312. package/src/tool/urlCleaner/index.ts +24 -0
  313. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  321. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  323. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  324. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  325. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  326. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  332. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  333. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  336. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  337. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  338. package/src/tool/utmGenerator/index.ts +15 -7
  339. package/src/types.ts +1 -2
@@ -0,0 +1,160 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CssToInlineConverterUI } from '../ui';
4
+
5
+ const slug = 'css-converter-inline-html';
6
+ const title = 'Conversor CSS para HTML Inline. Embutidor para Emails';
7
+ const description =
8
+ 'Transforme suas folhas de estilos e classes CSS em estilos embutidos automaticamente no HTML. Ideal para newsletters, e-mails transacionais e layout web seguro.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Por que e-mails precisam de CSS inline em vez de folhas de estilos externas?',
13
+ answer:
14
+ 'Clientes de e-mail como Outlook, Gmail ou Apple Mail filtram ou ignoram tags <link> e <style> por motivos de segurança. A única maneira garantida de um estilo ser aplicado corretamente em um e-mail é incorporá-lo diretamente no atributo style de cada elemento HTML.',
15
+ },
16
+ {
17
+ question: 'O que acontece se um elemento já tiver seu próprio atributo style?',
18
+ answer:
19
+ 'A ferramenta respeita estilos inline existentes e acrescenta as novas propriedades, simulando o comportamento em cascata do CSS: propriedades declaradas depois substituem as anteriores em caso de conflito.',
20
+ },
21
+ {
22
+ question: 'Funciona com seletores complexos como :hover ou media queries?',
23
+ answer:
24
+ 'A ferramenta processa seletores de classe, id, atributo e pseudo-classe estrutural que o DOMParser consegue resolver. Seletores dependentes de estado como :hover e media queries não podem ser embutidos (dependem do ambiente de tempo de execução) e são ignorados.',
25
+ },
26
+ {
27
+ question: 'Meu HTML e CSS são enviados para algum servidor?',
28
+ answer:
29
+ 'Não. Todo processamento acontece 100% em seu navegador usando a API nativa DOMParser. Nenhum byte de seu código sai de seu dispositivo, garantindo total privacidade para templates com conteúdo sensível.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Cole seu HTML original',
36
+ text: 'Escreva ou cole o HTML que deseja processar no campo "HTML Original". Pode ser um fragmento ou um documento completo.',
37
+ },
38
+ {
39
+ name: 'Adicione suas regras CSS',
40
+ text: 'Cole as classes e ids que deseja injetar no campo "Regras CSS". A ferramenta as aplica respeitando especificidade de seletores.',
41
+ },
42
+ {
43
+ name: 'Converta e copie',
44
+ text: 'Clique em "Injetar CSS no HTML". O resultado com todos os estilos embutidos aparecerá abaixo, pronto para copiar e colar em seu gerenciador de e-mail ou CMS.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, i) => ({
64
+ '@type': 'HowToStep',
65
+ position: i + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilityApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'pt',
80
+ };
81
+
82
+ const ui: CssToInlineConverterUI = {
83
+ labelHtml: 'HTML Original',
84
+ labelCss: 'Regras CSS',
85
+ labelOutput: 'Resultado HTML Inline',
86
+ placeholderHtml: '<div class="my-class">Hello World</div>',
87
+ placeholderCss: '.my-class { color: red; padding: 10px; }',
88
+ placeholderOutput: 'Seu HTML com estilos incorporados aparecerá aqui...',
89
+ btnConvert: 'Injetar CSS no HTML',
90
+ btnCopy: 'Copiar Código',
91
+ btnCopied: 'Copiado!',
92
+ msgError: 'Erro no processamento. Verifique se seu HTML e CSS são válidos.',
93
+ };
94
+
95
+ export const content: ToolLocaleContent<CssToInlineConverterUI> = {
96
+ slug,
97
+ title,
98
+ description,
99
+ ui,
100
+ faqTitle: 'Perguntas Frequentes',
101
+ faq: faqData,
102
+ bibliographyTitle: 'Referências e Documentação',
103
+ bibliography: [
104
+ {
105
+ name: 'Can I email: Matriz de Suporte HTML e CSS para Emails',
106
+ url: 'https://www.caniemail.com/',
107
+ },
108
+ {
109
+ name: 'MDN Web Docs: O atributo global style',
110
+ url: 'https://developer.mozilla.org/en/docs/Web/HTML/Global_attributes/style',
111
+ },
112
+ {
113
+ name: 'API DOMParser: Análise Segura no Navegador',
114
+ url: 'https://developer.mozilla.org/en/docs/Web/API/DOMParser',
115
+ },
116
+ ],
117
+ howTo: howToData,
118
+ schemas: [faqSchema, howToSchema, appSchema],
119
+ seo: [
120
+ {
121
+ type: 'title',
122
+ text: 'O que é um Embutidor CSS e Por que Você Precisa de Um?',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Ao desenvolver aplicações web modernas, estamos acostumados a separar preocupações: HTML constrói a estrutura e um arquivo CSS externo fornece todo o styling visual. No entanto, nem todos os ambientes confiam em folhas de estilo externas ou tags globais <code>&lt;style&gt;</code>.',
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'O caso de uso mais popular e rigoroso onde CSS externo falha é <strong>Desenvolvimento de Templates de E-mail</strong>. Nestes ambientes, a única maneira confiável para uma fonte, cor ou margem render corretamente é estar aninhada diretamente na tag: <code>&lt;span style="color: red;"&gt;</code>.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'O Problema CSS em Clientes de E-mail',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Clientes de e-mail como Microsoft Outlook, Apple Mail ou Gmail têm histórias notórias de seus mecanismos de renderização CSS restritivos. A maioria filtra ou descarta tags <code>&lt;link&gt;</code> ou <code>&lt;style&gt;</code> por medo de injeções de código que possam quebrar a interface de leitura.',
141
+ },
142
+ {
143
+ type: 'tip',
144
+ html: 'Para newsletters ou e-mails transacionais (recibos, confirmações de conta), usar tabelas e <em>CSS inline</em> é o padrão ouro na indústria de marketing de e-mail.',
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Como Esta Ferramenta Funciona em Seu Navegador',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>Análise Segura:</strong> Usa a <code>API DOMParser</code> para transformar temporariamente o HTML de entrada em um DOM virtual seguro dentro de seu navegador.',
155
+ '<strong>Simulação em Cascata:</strong> Analisa suas regras CSS, aplica pesos de especificidade a seletores e modifica os atributos <code>style</code> de elementos HTML selecionados injetando o código.',
156
+ '<strong>100% Offline:</strong> Nenhum byte de seu código sai de seu dispositivo. Total privacidade para templates com conteúdo sensível.',
157
+ ],
158
+ },
159
+ ],
160
+ };
@@ -0,0 +1,160 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CssToInlineConverterUI } from '../ui';
4
+
5
+ const slug = 'css-v-vstrochnye-stilii-html';
6
+ const title = 'Конвертер CSS в Встроченные HTML Стили. Встроитель для Email';
7
+ const description =
8
+ 'Трансформируйте ваши стили и CSS классы в автоматически встроченные стили в HTML. Идеально для рассылок, транзакционных писем и безопасного веб-макета.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Почему письма нуждаются во встроченном CSS вместо внешних таблиц стилей?',
13
+ answer:
14
+ 'Почтовые клиенты, такие как Outlook, Gmail или Apple Mail, фильтруют или игнорируют теги <link> и <style> по соображениям безопасности. Единственный гарантированный способ, чтобы стиль был применён правильно в письме - это встроить его непосредственно в атрибут style каждого HTML элемента.',
15
+ },
16
+ {
17
+ question: 'Что происходит, если элемент уже имеет собственный атрибут style?',
18
+ answer:
19
+ 'Инструмент уважает существующие встроченные стили и добавляет новые свойства, имитируя поведение каскада CSS: свойства, объявленные позже, переопределяют более ранние в случае конфликта.',
20
+ },
21
+ {
22
+ question: 'Работает ли это со сложными селекторами, такими как :hover или media queries?',
23
+ answer:
24
+ 'Инструмент обрабатывает селекторы классов, идентификаторов, атрибутов и структурные псевдоклассы, которые может разрешить DOMParser. Селекторы, зависящие от состояния, такие как :hover и media queries, не могут быть встроены (они зависят от среды выполнения) и игнорируются.',
25
+ },
26
+ {
27
+ question: 'Отправляется ли мой HTML и CSS на какой-либо сервер?',
28
+ answer:
29
+ 'Нет. Вся обработка происходит 100% в вашем браузере с использованием встроенного API DOMParser. Ни один байт вашего кода не покидает ваше устройство, гарантируя полную приватность для шаблонов с чувствительным содержимым.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Вставьте исходный HTML',
36
+ text: 'Напишите или вставьте HTML, который вы хотите обработать, в поле "Исходный HTML". Это может быть фрагмент или полный документ.',
37
+ },
38
+ {
39
+ name: 'Добавьте ваши CSS правила',
40
+ text: 'Вставьте классы и идентификаторы, которые вы хотите внедрить, в поле "CSS Правила". Инструмент применяет их, соблюдая специфичность селектора.',
41
+ },
42
+ {
43
+ name: 'Конвертируйте и копируйте',
44
+ text: 'Нажмите "Внедрить CSS в HTML". Результат со всеми встроченными стилями будет отображен ниже, готов к копированию и вставке в ваш менеджер e-mail или CMS.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, i) => ({
64
+ '@type': 'HowToStep',
65
+ position: i + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilityApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'ru',
80
+ };
81
+
82
+ const ui: CssToInlineConverterUI = {
83
+ labelHtml: 'Исходный HTML',
84
+ labelCss: 'CSS Правила',
85
+ labelOutput: 'Результат HTML со Встроченными Стилями',
86
+ placeholderHtml: '<div class="my-class">Hello World</div>',
87
+ placeholderCss: '.my-class { color: red; padding: 10px; }',
88
+ placeholderOutput: 'Ваш HTML с встроченными стилями появится здесь...',
89
+ btnConvert: 'Внедрить CSS в HTML',
90
+ btnCopy: 'Копировать Код',
91
+ btnCopied: 'Скопировано!',
92
+ msgError: 'Ошибка обработки. Проверьте, что ваш HTML и CSS корректны.',
93
+ };
94
+
95
+ export const content: ToolLocaleContent<CssToInlineConverterUI> = {
96
+ slug,
97
+ title,
98
+ description,
99
+ ui,
100
+ faqTitle: 'Часто Задаваемые Вопросы',
101
+ faq: faqData,
102
+ bibliographyTitle: 'Ссылки и Документация',
103
+ bibliography: [
104
+ {
105
+ name: 'Can I email: Матрица Поддержки HTML и CSS для Email',
106
+ url: 'https://www.caniemail.com/',
107
+ },
108
+ {
109
+ name: 'MDN Web Docs: Глобальный атрибут style',
110
+ url: 'https://developer.mozilla.org/en/docs/Web/HTML/Global_attributes/style',
111
+ },
112
+ {
113
+ name: 'API DOMParser: Безопасный парсинг в браузере',
114
+ url: 'https://developer.mozilla.org/en/docs/Web/API/DOMParser',
115
+ },
116
+ ],
117
+ howTo: howToData,
118
+ schemas: [faqSchema, howToSchema, appSchema],
119
+ seo: [
120
+ {
121
+ type: 'title',
122
+ text: 'Что такое CSS встроитель и почему вам он нужен?',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'При разработке современных веб-приложений мы привыкли разделять ответственность: HTML строит структуру, а внешний CSS файл предоставляет весь визуальный стайлинг. Однако не все окружения доверяют внешним стилям или глобальным тегам <code>&lt;style&gt;</code>.',
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Наиболее популярный и строгий случай использования, когда внешний CSS не работает, это <strong>Разработка Email Шаблонов</strong>. В этих окружениях единственный надёжный способ, чтобы шрифт, цвет или отступ отрендерился правильно - это быть вложенным непосредственно в тег: <code>&lt;span style="color: red;"&gt;</code>.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'Проблема CSS в Email Клиентах',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Почтовые клиенты, такие как Microsoft Outlook, Apple Mail или Gmail, имеют печальную историю с ограничительными CSS движками отрисовки. Большинство фильтруют или отбрасывают теги <code>&lt;link&gt;</code> или <code>&lt;style&gt;</code> из страха перед инъекциями кода, которые могут сломать интерфейс чтения.',
141
+ },
142
+ {
143
+ type: 'tip',
144
+ html: 'Для рассылок или транзакционных писем (чеки, подтверждения аккаунта) использование таблиц и <em>встроченного CSS</em> - это золотой стандарт в индустрии email маркетинга.',
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Как Этот Инструмент Работает в Вашем Браузере',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>Безопасный Парсинг:</strong> Использует <code>API DOMParser</code> для временного преобразования входного HTML в безопасный виртуальный DOM внутри вашего браузера.',
155
+ '<strong>Имитация Каскада:</strong> Анализирует ваши CSS правила, применяет веса специфичности к селекторам и мутирует атрибуты <code>style</code> выбранных HTML элементов путём внедрения кода.',
156
+ '<strong>100% Offline:</strong> Ни один байт вашего кода не покидает ваше устройство. Полная приватность для шаблонов с чувствительным содержимым.',
157
+ ],
158
+ },
159
+ ],
160
+ };
@@ -0,0 +1,160 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CssToInlineConverterUI } from '../ui';
4
+
5
+ const slug = 'css-till-inline-html-konverterare';
6
+ const title = 'CSS till Inline HTML Konverterare. Inliner för Epost';
7
+ const description =
8
+ 'Transformera dina stilmallar och CSS-klasser till automatiskt infogade stilar i din HTML. Perfekt för nyhetsbrev, transaktionsmeddelanden och säker webblayout.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Varför behöver e-post infogad CSS istället för externa stilmallar?',
13
+ answer:
14
+ 'Epostklienter som Outlook, Gmail eller Apple Mail filtrerar eller ignorerar <link> och <style>-taggar av säkerhetsskäl. Det enda garanterade sättet för en stil att tillämpas korrekt i ett e-postmeddelande är att bädda in den direkt i style-attributet för varje HTML-element.',
15
+ },
16
+ {
17
+ question: 'Vad händer om ett element redan har sitt eget style-attribut?',
18
+ answer:
19
+ 'Verktyget respekterar befintliga infogade stilar och lägger till nya egenskaper, simulerar CSS-överskridningsbeteendet: egenskaper som deklareras senare åsidosätter tidigare i händelse av konflikt.',
20
+ },
21
+ {
22
+ question: 'Fungerar det med komplexa väljare som :hover eller media queries?',
23
+ answer:
24
+ 'Verktyget behandlar klass-, id-, attribut- och strukturell pseudoklassväljare som DOMParser kan lösa. Tillståndsberoendeväljare som :hover och media queries kan inte infogas (de beror på körningsmiljön) och ignoreras.',
25
+ },
26
+ {
27
+ question: 'Skickas min HTML och CSS till någon server?',
28
+ answer:
29
+ 'Nej. All bearbetning sker 100% i din webbläsare med använt av det inbyggda DOMParser API:t. Ingen del av din kod lämnar din enhet, vilket garanterar fullständig integritet för mallar med känsligt innehål.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Klistra in din original HTML',
36
+ text: 'Skriv eller klistra in HTML-koden du vill bearbeta i fältet "Original HTML". Det kan vara ett fragment eller ett fullständigt dokument.',
37
+ },
38
+ {
39
+ name: 'Lägg till dina CSS-regler',
40
+ text: 'Klistra in klasserna och id:na du vill injicera i fältet "CSS-regler". Verktyget tillämpar dem med respekt för väljarespecificitet.',
41
+ },
42
+ {
43
+ name: 'Konvertera och kopiera',
44
+ text: 'Klicka på "Injicera CSS i HTML". Resultatet med alla infogade stilar visas nedan, redo att kopiera och klistra in i din e-posthanterare eller CMS.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, i) => ({
64
+ '@type': 'HowToStep',
65
+ position: i + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilityApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'sv',
80
+ };
81
+
82
+ const ui: CssToInlineConverterUI = {
83
+ labelHtml: 'Original HTML',
84
+ labelCss: 'CSS Regler',
85
+ labelOutput: 'Inline HTML Resultat',
86
+ placeholderHtml: '<div class="my-class">Hello World</div>',
87
+ placeholderCss: '.my-class { color: red; padding: 10px; }',
88
+ placeholderOutput: 'Din HTML med infogade stilar kommer att visas här...',
89
+ btnConvert: 'Injicera CSS i HTML',
90
+ btnCopy: 'Kopiera Kod',
91
+ btnCopied: 'Kopierad!',
92
+ msgError: 'Bearbetningsfel. Kontrollera att din HTML och CSS är giltiga.',
93
+ };
94
+
95
+ export const content: ToolLocaleContent<CssToInlineConverterUI> = {
96
+ slug,
97
+ title,
98
+ description,
99
+ ui,
100
+ faqTitle: 'Vanliga Frågor',
101
+ faq: faqData,
102
+ bibliographyTitle: 'Referenser och Dokumentation',
103
+ bibliography: [
104
+ {
105
+ name: 'Can I email: HTML och CSS-stödmatris för Epost',
106
+ url: 'https://www.caniemail.com/',
107
+ },
108
+ {
109
+ name: 'MDN Web Docs: Det globala style-attributet',
110
+ url: 'https://developer.mozilla.org/en/docs/Web/HTML/Global_attributes/style',
111
+ },
112
+ {
113
+ name: 'DOMParser API: Säker parsning i webbläsaren',
114
+ url: 'https://developer.mozilla.org/en/docs/Web/API/DOMParser',
115
+ },
116
+ ],
117
+ howTo: howToData,
118
+ schemas: [faqSchema, howToSchema, appSchema],
119
+ seo: [
120
+ {
121
+ type: 'title',
122
+ text: 'Vad är en CSS Inliner och varför behöver du en?',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Vid utveckling av moderna webbapplikationer är vi vana vid att separera ansvaret: HTML bygger strukturen och en extern CSS-fil tillhandahåller all visuell styling. Dock inte alla miljöer litar på externa stilmallar eller globala <code>&lt;style&gt;</code>-taggar.',
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Det mest populära och strikta användningsfallet där extern CSS misslyckas är <strong>Epostmallsutveckling</strong>. I dessa miljöer är det enda pålitliga sättet för en typsnitt, färg eller marginal att renderas korrekt att vara inbäddad direkt i taggen: <code>&lt;span style="color: red;"&gt;</code>.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'CSS-problemet i Epostklienter',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Epostklienter som Microsoft Outlook, Apple Mail eller Gmail har infamösa historier med sina restriktiva CSS-renderingsmotorer. De flesta filtrerar eller förkastas <code>&lt;link&gt;</code> eller <code>&lt;style&gt;</code>-taggar av rädsla för kodinjektioner som kan bryta läsgränssnittet.',
141
+ },
142
+ {
143
+ type: 'tip',
144
+ html: 'För nyhetsbrev eller transaktionsmeddelanden (kvitton, kontobekräftelser) är det att använda tabeller och <em>infogad CSS</em> som är guldstandarden i e-postmarknadsföringsindustrin.',
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Hur detta verktyg fungerar i din webbläsare',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>Säker Parsning:</strong> Använder <code>DOMParser API</code> för att temporärt omvandla den inmatade HTML:n till en säker virtuell DOM i din webbläsare.',
155
+ '<strong>Kaskadsimulering:</strong> Analyserar dina CSS-regler, tillämpar specificitetsvolymer på väljare och muterar <code>style</code>-attributen för valda HTML-element genom att injicera koden.',
156
+ '<strong>100% Offline:</strong> Ingen del av din kod lämnar din enhet. Total integritet för mallar med känsligt innehål.',
157
+ ],
158
+ },
159
+ ],
160
+ };
@@ -0,0 +1,160 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CssToInlineConverterUI } from '../ui';
4
+
5
+ const slug = 'css-satir-ici-html-donusturucu';
6
+ const title = 'CSS Satır İçi HTML Dönüştürücü. Epostaları İçin Satır İçi Işlemci';
7
+ const description =
8
+ 'Stil sayfalarınızı ve CSS sınıflarınızı otomatik olarak satır içi stillerle HTML\'ye dönüştürün. E-bültenleri, işlemsel e-postaları ve güvenli web düzeni için ideal.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Epostalar dış stil sayfaları yerine neden satır içi CSS\'ye ihtiyaç duyar?',
13
+ answer:
14
+ 'Outlook, Gmail veya Apple Mail gibi e-posta istemcileri güvenlik nedenleriyle <link> ve <style> etiketlerini filtreler veya görmezden gelir. Bir stilin bir e-postada doğru şekilde uygulanmasının tek garantili yolu, onu doğrudan her HTML öğesinin style özniteliğine gömmektir.',
15
+ },
16
+ {
17
+ question: 'Bir öğenin zaten kendi style özniteliği varsa ne olur?',
18
+ answer:
19
+ 'Araç mevcut satır içi stilleri saygıyla karşılar ve yeni özellikler ekler, CSS kaskad davranışını simüle eder: daha sonra bildirilen özellikler, çakışma durumunda öncekini geçersiz kılar.',
20
+ },
21
+ {
22
+ question: ':hover veya media queries gibi karmaşık seçicilerle çalışır mı?',
23
+ answer:
24
+ 'Araç, DOMParser\'ın çözebildiği sınıf, id, öznitelik ve yapısal sahte sınıf seçicilerini işler. :hover gibi durum bağımlı seçicileri ve media queries satır içine alınamaz (çalışma zamanı ortamına bağlıdır) ve göz ardı edilir.',
25
+ },
26
+ {
27
+ question: 'HTML ve CSS kodum herhangi bir sunucuya gönderilir mi?',
28
+ answer:
29
+ 'Hayır. Tüm işlemler, yerel DOMParser API\'si kullanılarak %100 tarayıcınızda gerçekleşir. Kodunuzun hiçbir baytı cihazınızdan ayrılmaz, hassas içerik içeren şablonlar için tam gizliliği garantiler.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Orijinal HTML\'inizi yapıştırın',
36
+ text: '"Orijinal HTML" alanına işlemek istediğiniz HTML\'i yazın veya yapıştırın. Bir parça veya tam bir belge olabilir.',
37
+ },
38
+ {
39
+ name: 'CSS kurallarınızı ekleyin',
40
+ text: '"CSS Kuralları" alanına enjekte etmek istediğiniz sınıfları ve id\'leri yapıştırın. Araç bunları seçici özgüllüğüne saygı göstererek uygular.',
41
+ },
42
+ {
43
+ name: 'Dönüştürün ve kopyalayın',
44
+ text: '"CSS\'yi HTML\'ye Enjekte Et" düğmesini tıklayın. Tüm satır içi stillerle sonuç aşağıda görünür, e-posta yöneticinize veya CMS\'nize kopyalayıp yapıştırmaya hazırdır.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowToThing> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, i) => ({
64
+ '@type': 'HowToStep',
65
+ position: i + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilityApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'tr',
80
+ };
81
+
82
+ const ui: CssToInlineConverterUI = {
83
+ labelHtml: 'Orijinal HTML',
84
+ labelCss: 'CSS Kuralları',
85
+ labelOutput: 'Satır İçi HTML Sonucu',
86
+ placeholderHtml: '<div class="my-class">Hello World</div>',
87
+ placeholderCss: '.my-class { color: red; padding: 10px; }',
88
+ placeholderOutput: 'Gömülü stillerle HTML\'iniz burada görünecek...',
89
+ btnConvert: 'CSS\'yi HTML\'ye Enjekte Et',
90
+ btnCopy: 'Kodu Kopyala',
91
+ btnCopied: 'Kopyalandı!',
92
+ msgError: 'İşleme hatası. HTML ve CSS\'niz geçerli olup olmadığını kontrol edin.',
93
+ };
94
+
95
+ export const content: ToolLocaleContent<CssToInlineConverterUI> = {
96
+ slug,
97
+ title,
98
+ description,
99
+ ui,
100
+ faqTitle: 'Sık Sorulan Sorular',
101
+ faq: faqData,
102
+ bibliographyTitle: 'Referanslar ve Belgeler',
103
+ bibliography: [
104
+ {
105
+ name: 'Can I email: Epostalar İçin HTML ve CSS Destek Matrisi',
106
+ url: 'https://www.caniemail.com/',
107
+ },
108
+ {
109
+ name: 'MDN Web Docs: Genel style özniteliği',
110
+ url: 'https://developer.mozilla.org/en/docs/Web/HTML/Global_attributes/style',
111
+ },
112
+ {
113
+ name: 'DOMParser API: Tarayıcıda Güvenli Ayrıştırma',
114
+ url: 'https://developer.mozilla.org/en/docs/Web/API/DOMParser',
115
+ },
116
+ ],
117
+ howTo: howToData,
118
+ schemas: [faqSchema, howToSchema, appSchema],
119
+ seo: [
120
+ {
121
+ type: 'title',
122
+ text: 'CSS Satır İçi Işlemci Nedir ve Neden Biri\'ye İhtiyacınız Vardır?',
123
+ level: 2,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'Modern web uygulamaları geliştirirken, kaygıları ayırmaya alışkınız: HTML yapıyı oluşturur ve harici bir CSS dosyası tüm görsel stilleri sağlar. Ancak, tüm ortamlar harici stil sayfalarına veya genel <code>&lt;style&gt;</code> etiketlerine güvenmez.',
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Harici CSS başarısız olduğu en popüler ve katı kullanım durumu <strong>Eposta Şablonu Geliştirmedir</strong>. Bu ortamlarda, bir yazı tipinin, rengin veya kenarboşluğunun doğru şekilde işlenmesinin tek güvenilir yolu, onu doğrudan etiketin içine yerleştirmektir: <code>&lt;span style="color: red;"&gt;</code>.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: 'Eposta İstemcilerinde CSS Sorunu',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Microsoft Outlook, Apple Mail veya Gmail gibi e-posta istemcileri kısıtlayıcı CSS işleme motorlarıyla ödünü unutulmayan bir geçmişe sahiptir. Çoğu, okuma arayüzünü bozabilecek kod enjeksiyonları korkusundan <code>&lt;link&gt;</code> veya <code>&lt;style&gt;</code> etiketlerini filtreler veya atar.',
141
+ },
142
+ {
143
+ type: 'tip',
144
+ html: 'E-bültenleri veya işlemsel e-postalar (makbuzlar, hesap onaylamaları) için tablolar ve <em>satır içi CSS</em> kullanımı e-posta pazarlaması endüstrisinde altın standarttır.',
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Bu Araç Tarayıcınızda Nasıl Çalışır',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>Güvenli Ayrıştırma:</strong> Giriş HTML\'sini tarayıcınızın içinde güvenli bir sanal DOM\'a dönüştürmek için <code>DOMParser API</code> kullanır.',
155
+ '<strong>Kaskad Simülasyonu:</strong> CSS kurallarınızı analiz eder, seçicilere özgüllük ağırlıkları uygular ve kodu enjekte ederek seçilen HTML öğelerinin <code>style</code> özniteliklerini değiştirir.',
156
+ '<strong>%100 Çevrimdışı:</strong> Kodunuzun hiçbir baytı cihazınızdan ayrılmaz. Hassas içerik içeren şablonlar için tam gizlilik.',
157
+ ],
158
+ },
159
+ ],
160
+ };