@jjlmoya/utils-developer 1.3.0 → 1.5.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/index.ts +12 -0
  16. package/src/tests/faq_count.test.ts +1 -1
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/locale_completeness.test.ts +2 -2
  19. package/src/tests/slug_uniqueness.test.ts +81 -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 +2 -1
  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 +2 -1
  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 +2 -1
  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,43 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlCleanerUI } from '../ui';
4
+ const slug = 'limpador-url-rastreamento';
5
+ const title = 'Limpador de URL de Rastreamento: Remover UTM, FBCLID e GCLID';
6
+ const description = 'Remova automaticamente parâmetros de rastreamento e publicidade de suas URLs. Compartilhe links limpos e proteja sua privacidade digital instantaneamente.';
7
+ const faqData = [
8
+ { question: 'Quais tipos de parâmetros de rastreamento essa ferramenta remove?', answer: 'Nossa ferramenta detecta e remove automaticamente parâmetros de rastreamento mais comuns, incluindo UTM (utm_source, utm_medium, etc.), identificadores de cliques publicitários (fbclid, gclid, msclkid) e identificadores de campanhas de email marketing (mc_cid, _hsenc).' },
9
+ { question: 'Isso afeta a funcionalidade do site?', answer: 'Geralmente não. Esses parâmetros são usados quase exclusivamente para análise e marketing. Quando você os remove, a página carregará normalmente, mas o proprietário do site não conseguirá rastrear a origem exata do seu clique.' },
10
+ { question: 'É seguro processar meus links aqui?', answer: 'Absolutamente. Como todas as nossas ferramentas, o processo é 100% client-side. Seus links nunca são enviados para nossos servidores; tudo acontece de forma privada no seu próprio navegador.' },
11
+ { question: 'Por que meus links do Facebook são tão longos?', answer: 'Facebook adiciona um parâmetro chamado "fbclid" a todos os links que saem de sua plataforma. Isso permite que eles rastreiem sua atividade em outros sites, mesmo se você tiver publicidade de terceiros bloqueada.' },
12
+ ];
13
+ const howToData = [
14
+ { name: 'Cole sua URL', text: 'Digite a URL completa que contém parâmetros de rastreamento' },
15
+ { name: 'Clique em Limpar', text: 'A ferramenta analisará a URL automaticamente' },
16
+ { name: 'Revise resultados', text: 'Você verá a URL limpa e uma lista de parâmetros removidos' },
17
+ { name: 'Copie e compartilhe', text: 'Use a URL limpa em seus emails, mídia social ou mensagens' },
18
+ ];
19
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
20
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })) };
21
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'pt' };
22
+ const ui: UrlCleanerUI = { labelInput: 'Cole a URL com parâmetros de rastreamento', btnClean: 'Limpar', labelCleaned: 'URL Limpa', labelRemoved: 'Rastreadores Removidos', countLabel: 'Parâmetros removidos', reductionLabel: 'Redução de comprimento', noneDetected: 'Nenhum parâmetro de rastreamento comum detectado.', errorInvalid: 'Digite uma URL válida.', btnCopy: 'Copiar', btnCopied: 'Copiado' };
23
+ export const content: ToolLocaleContent<UrlCleanerUI> = {
24
+ slug, title, description, ui,
25
+ faqTitle: 'Perguntas Frequentes',
26
+ faq: faqData,
27
+ bibliographyTitle: 'Recursos sobre Privacidade e Rastreamento Web',
28
+ bibliography: [
29
+ { name: 'Electronic Frontier Foundation (EFF): Guia para Rastreamento Online', url: 'https://www.eff.org/issues/online-behavioral-tracking' },
30
+ { name: 'Google Analytics: Documentação de Parâmetro UTM', url: 'https://support.google.com/analytics/answer/1033863' },
31
+ { name: 'Web Privacy: O Impacto de Click IDs', url: 'https://www.w3.org/community/web-advertising/wiki/Click_Identifiers' },
32
+ ],
33
+ howTo: howToData,
34
+ schemas: [faqSchema, howToSchema, appSchema],
35
+ seo: [
36
+ { type: 'title', text: 'Limpador de URL de Rastreamento: Remover UTM, FBCLID e GCLID', level: 2 },
37
+ { type: 'paragraph', html: 'Remova rastreadores invisíveis de seus links para compartilhá-los de forma limpa, privada e profissional. Descubra o que esses códigos estranhos em suas URLs significam.' },
38
+ { type: 'title', text: 'O que é um Limpador de URL de Rastreamento e por que você precisa de um?', level: 3 },
39
+ { type: 'paragraph', html: 'Já copiou um link para enviar a um amigo e percebeu que é três vezes mais longo do que deveria ser? Esse "ruído" extra são parâmetros de rastreamento. Um <strong>limpador de rastreamento</strong> é uma ferramenta projetada para "eliminar" a URL de todas as informações de publicidade e rastreamento que as grandes plataformas injetam em cada clique que você faz.' },
40
+ { type: 'title', text: 'Parâmetros de rastreamento mais comuns', level: 3 },
41
+ { type: 'list', items: [ '<strong>UTM (Google Analytics):</strong> utm_source, utm_medium, utm_campaign para rastrear campanhas', '<strong>FBCLID:</strong> Identificador de clique do Facebook para contornar restrições de cookies', '<strong>GCLID / DCLID:</strong> Google Click ID para vincular visitas com campanhas do Google Ads', '<strong>MSCLKID:</strong> Identificador de clique do Microsoft Advertising e Bing', '<strong>HubSpot & Mailchimp:</strong> Parâmetros de automação de marketing como _hsenc, mc_cid', '<strong>LinkedIn & Others:</strong> li_fat_id e outros rastreadores de mídia social' ] },
42
+ ],
43
+ };
@@ -0,0 +1,43 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlCleanerUI } from '../ui';
4
+ const slug = 'ochishchatel-url-otsledzivaniya';
5
+ const title = 'Очиститель URL Отслеживания: Удалить UTM, FBCLID и GCLID';
6
+ const description = 'Автоматически удаляйте параметры отслеживания и рекламы из своих URL-адресов. Делитесь чистыми ссылками и защищайте свою цифровую приватность мгновенно.';
7
+ const faqData = [
8
+ { question: 'Какие типы параметров отслеживания удаляет эта инструмент?', answer: 'Наша инструмент автоматически обнаруживает и удаляет наиболее распространенные параметры отслеживания, включая UTM (utm_source, utm_medium и т.д.), идентификаторы клика рекламы (fbclid, gclid, msclkid) и идентификаторы кампаний email маркетинга (mc_cid, _hsenc).' },
9
+ { question: 'Влияет ли это на функциональность веб-сайта?', answer: 'Обычно нет. Эти параметры используются почти исключительно для аналитики и маркетинга. Когда вы их удаляете, страница загружается нормально, но владелец веб-сайта не сможет отследить точный источник вашего клика.' },
10
+ { question: 'Безопасно ли обрабатывать мои ссылки здесь?', answer: 'Абсолютно. Как и все наши инструменты, процесс 100% на стороне клиента. Ваши ссылки никогда не отправляются на наши серверы; все происходит приватно в вашем собственном браузере.' },
11
+ { question: 'Почему мои ссылки Facebook такие длинные?', answer: 'Facebook добавляет параметр "fbclid" ко всем ссылкам, которые покидают их платформу. Это позволяет им отслеживать вашу активность на других веб-сайтах, даже если у вас заблокирована сторонняя реклама.' },
12
+ ];
13
+ const howToData = [
14
+ { name: 'Вставьте URL', text: 'Введите полный URL-адрес, содержащий параметры отслеживания' },
15
+ { name: 'Нажмите Очистить', text: 'Инструмент автоматически проанализирует URL-адрес' },
16
+ { name: 'Просмотрите результаты', text: 'Вы увидите очищенный URL-адрес и список удаленных параметров' },
17
+ { name: 'Копируйте и делитесь', text: 'Используйте чистый URL-адрес в своих письмах, социальных сетях или сообщениях' },
18
+ ];
19
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
20
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })) };
21
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'ru' };
22
+ const ui: UrlCleanerUI = { labelInput: 'Вставьте URL с параметрами отслеживания', btnClean: 'Очистить', labelCleaned: 'Очищенный URL', labelRemoved: 'Удаленные Трекеры', countLabel: 'Удалено параметров', reductionLabel: 'Сокращение длины', noneDetected: 'Не обнаружены распространенные параметры отслеживания.', errorInvalid: 'Пожалуйста, введите действительный URL.', btnCopy: 'Копировать', btnCopied: 'Скопировано' };
23
+ export const content: ToolLocaleContent<UrlCleanerUI> = {
24
+ slug, title, description, ui,
25
+ faqTitle: 'Часто Задаваемые Вопросы',
26
+ faq: faqData,
27
+ bibliographyTitle: 'Ресурсы по Приватности и Веб-Отслеживанию',
28
+ bibliography: [
29
+ { name: 'Electronic Frontier Foundation (EFF): Руководство по Онлайн-отслеживанию', url: 'https://www.eff.org/issues/online-behavioral-tracking' },
30
+ { name: 'Google Analytics: Документация по Параметру UTM', url: 'https://support.google.com/analytics/answer/1033863' },
31
+ { name: 'Web Privacy: Влияние Click ID', url: 'https://www.w3.org/community/web-advertising/wiki/Click_Identifiers' },
32
+ ],
33
+ howTo: howToData,
34
+ schemas: [faqSchema, howToSchema, appSchema],
35
+ seo: [
36
+ { type: 'title', text: 'Очиститель URL Отслеживания: Удалить UTM, FBCLID и GCLID', level: 2 },
37
+ { type: 'paragraph', html: 'Удаляйте невидимые трекеры из своих ссылок, чтобы делиться ими чистым, приватным и профессиональным образом. Узнайте, что означают эти странные коды в ваших URL-адресах.' },
38
+ { type: 'title', text: 'Что такое Очиститель URL Отслеживания и почему вам нужен?', level: 3 },
39
+ { type: 'paragraph', html: 'Когда-нибудь скопировали ссылку, чтобы отправить другу, и заметили, что она в три раза длиннее, чем должна быть? Этот лишний "шум" - это параметры отслеживания. <strong>Очиститель отслеживания</strong> - это инструмент, предназначенный для "удаления" URL-адреса со всей информации об объявлениях и отслеживании, которую крупные платформы внедряют в каждый ваш клик.' },
40
+ { type: 'title', text: 'Наиболее распространенные параметры отслеживания', level: 3 },
41
+ { type: 'list', items: [ '<strong>UTM (Google Analytics):</strong> utm_source, utm_medium, utm_campaign для отслеживания кампаний', '<strong>FBCLID:</strong> Идентификатор клика Facebook для обхода ограничений печенья', '<strong>GCLID / DCLID:</strong> Google Click ID для связи посещений с кампаниями Google Ads', '<strong>MSCLKID:</strong> Идентификатор клика Microsoft Advertising и Bing', '<strong>HubSpot & Mailchimp:</strong> Параметры автоматизации маркетинга, такие как _hsenc, mc_cid', '<strong>LinkedIn & Others:</strong> li_fat_id и другие трекеры социальных сетей' ] },
42
+ ],
43
+ };
@@ -0,0 +1,43 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlCleanerUI } from '../ui';
4
+ const slug = 'url-sponingsstoppare';
5
+ const title = 'URL Sponings Rengörare: Ta bort UTM, FBCLID och GCLID';
6
+ const description = 'Ta bort spårnings- och annonsparametrar från dina URL:er automatiskt. Dela rena länkar och skydda din digitala integritet omedelbar.';
7
+ const faqData = [
8
+ { question: 'Vilka typer av spårningsparametrar tar detta verktyg bort?', answer: 'Vårt verktyg identifierar och tar automatiskt bort de vanligaste spårningsparametrarna, inklusive UTM (utm_source, utm_medium, etc.), annonseringsklickidentifierare (fbclid, gclid, msclkid) och e-postmarknadsföringskampanjidentifierare (mc_cid, _hsenc).' },
9
+ { question: 'Påverkar det webbplatsfunktionaliteten?', answer: 'I allmänhet inte. Dessa parametrar används nästan uteslutande för analys och marknadsföring. När du tar bort dem läses sidan in normalt, men webbplatsägaren kan inte spåra den exakta källan till ditt klick.' },
10
+ { question: 'Är det säkert att bearbeta mina länkar här?', answer: 'Absolut. Som alla våra verktyg är processen 100% på klientsidan. Dina länkar skickas aldrig till våra servrar; allt sker privat i din egen webbläsare.' },
11
+ { question: 'Varför är mina Facebook-länkar så långa?', answer: 'Facebook lägger till en parameter som kallas "fbclid" till alla länkar som lämnar deras plattform. Detta låter dem spåra din aktivitet på andra webbplatser även om du har tredjepartsannonser blockerade.' },
12
+ ];
13
+ const howToData = [
14
+ { name: 'Klistra in URL', text: 'Ange den kompletta URL som innehåller spårningsparametrar' },
15
+ { name: 'Klicka Rengör', text: 'Verktyget analyserar URL:en automatiskt' },
16
+ { name: 'Granska resultat', text: 'Du ser den rena URL:en och en lista över borttagna parametrar' },
17
+ { name: 'Kopiera och dela', text: 'Använd ren URL i dina e-postmeddelanden, sociala medier eller meddelanden' },
18
+ ];
19
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
20
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })) };
21
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'sv' };
22
+ const ui: UrlCleanerUI = { labelInput: 'Klistra in URL med spårningsparametrar', btnClean: 'Rengör', labelCleaned: 'Ren URL', labelRemoved: 'Borttagna Spårare', countLabel: 'Parametrar borttagna', reductionLabel: 'Längdminskning', noneDetected: 'Inga vanliga spårningsparametrar hittades.', errorInvalid: 'Vänligen ange en giltig URL.', btnCopy: 'Kopiera', btnCopied: 'Kopierad' };
23
+ export const content: ToolLocaleContent<UrlCleanerUI> = {
24
+ slug, title, description, ui,
25
+ faqTitle: 'Vanliga Frågor',
26
+ faq: faqData,
27
+ bibliographyTitle: 'Resurser om Integritet och Webbspårning',
28
+ bibliography: [
29
+ { name: 'Electronic Frontier Foundation (EFF): Vägledning till Online-spårning', url: 'https://www.eff.org/issues/online-behavioral-tracking' },
30
+ { name: 'Google Analytics: UTM-parameterdokumentation', url: 'https://support.google.com/analytics/answer/1033863' },
31
+ { name: 'Web Privacy: Effekten av Klick-ID:n', url: 'https://www.w3.org/community/web-advertising/wiki/Click_Identifiers' },
32
+ ],
33
+ howTo: howToData,
34
+ schemas: [faqSchema, howToSchema, appSchema],
35
+ seo: [
36
+ { type: 'title', text: 'URL Sponings Rengörare: Ta bort UTM, FBCLID och GCLID', level: 2 },
37
+ { type: 'paragraph', html: 'Ta bort osynliga spårare från dina länkar för att dela dem rent, privat och professionellt. Upptäck vad dessa konstiga koder i dina URL:er betyder.' },
38
+ { type: 'title', text: 'Vad är en URL Sponings Rengörare och varför behöver du den?', level: 3 },
39
+ { type: 'paragraph', html: 'Har du någonsin kopierat en länk för att skicka till en vän och insett att den är tre gånger längre än den borde vara? Det extra "bullret" är spårningsparametrar. En <strong>spårningsrengörare</strong> är ett verktyg designat för att "ta bort" URL:en från all reklam- och spårningsinformation som stora plattformar injicerar i varje klick du gör.' },
40
+ { type: 'title', text: 'De vanligaste spårningsparametrarna', level: 3 },
41
+ { type: 'list', items: [ '<strong>UTM (Google Analytics):</strong> utm_source, utm_medium, utm_campaign för att spåra kampanjer', '<strong>FBCLID:</strong> Facebooks klick-identifierare för att kringgå cookie-begränsningar', '<strong>GCLID / DCLID:</strong> Googles klick-ID för att länka besök med Google Ads-kampanjer', '<strong>MSCLKID:</strong> Microsofts annons- och Bing-klick-identifierare', '<strong>HubSpot & Mailchimp:</strong> Marknadsautomationsparametrar som _hsenc, mc_cid', '<strong>LinkedIn & Others:</strong> li_fat_id och andra sociala medier-spårare' ] },
42
+ ],
43
+ };
@@ -0,0 +1,43 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlCleanerUI } from '../ui';
4
+ const slug = 'url-izleme-temizleyicisi';
5
+ const title = 'URL İzleme Temizleyicisi: UTM, FBCLID ve GCLID Kaldırın';
6
+ const description = 'URL\'lerinizden izleme ve reklam parametrelerini otomatik olarak kaldırın. Temiz bağlantıları paylaşın ve dijital gizliliğinizi anında koruyun.';
7
+ const faqData = [
8
+ { question: 'Bu araç hangi tür izleme parametrelerini kaldırır?', answer: 'Aracımız, UTM (utm_source, utm_medium, vb.), reklam tıklatma tanımlayıcıları (fbclid, gclid, msclkid) ve e-posta pazarlama kampanyası tanımlayıcıları (mc_cid, _hsenc) dahil olmak üzere en yaygın izleme parametrelerini otomatik olarak algılar ve kaldırır.' },
9
+ { question: 'Bu, web sitesi işlevselliğini etkiler mi?', answer: 'Genel olarak hayır. Bu parametreler neredeyse yalnızca analitik ve pazarlama için kullanılır. Bunları kaldırdığınızda sayfa normal şekilde yüklenir, ancak web sitesi sahibi tıklatmanızın tam kaynağını takip edemez.' },
10
+ { question: 'Buradaki bağlantılarımı işlemek güvenli mi?', answer: 'Kesinlikle. Tüm araçlarımız gibi, işlem % 100 istemci tarafıdır. Bağlantılarınız hiçbir zaman sunucularımıza gönderilmez; her şey kendi tarayıcınızda özel olarak gerçekleşir.' },
11
+ { question: 'Facebook bağlantılarım neden bu kadar uzun?', answer: 'Facebook, platformlarından ayrılan tüm bağlantılara "fbclid" adlı bir parametre ekler. Bu, üçüncü taraf reklamlarını engellemiş olsanız bile, diğer web sitelerindeki etkinliğinizi izlemelerine izin verir.' },
12
+ ];
13
+ const howToData = [
14
+ { name: 'URL\'nizi yapıştırın', text: 'İzleme parametreleri içeren tam URL\'yi girin' },
15
+ { name: 'Temizle\'ye tıklayın', text: 'Araç URL\'yi otomatik olarak analiz edecektir' },
16
+ { name: 'Sonuçları gözden geçirin', text: 'Temiz URL\'yi ve kaldırılan parametrelerin bir listesini göreceksiniz' },
17
+ { name: 'Kopyala ve paylaş', text: 'E-postalarınızda, sosyal medyada veya mesajlarda temiz URL\'yi kullanın' },
18
+ ];
19
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
20
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })) };
21
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'tr' };
22
+ const ui: UrlCleanerUI = { labelInput: 'İzleme parametreleri içeren URL\'yi yapıştırın', btnClean: 'Temizle', labelCleaned: 'Temiz URL', labelRemoved: 'Kaldırılan İzleyiciler', countLabel: 'Kaldırılan parametreler', reductionLabel: 'Uzunluk azalması', noneDetected: 'Ortak izleme parametreleri algılanmadı.', errorInvalid: 'Lütfen geçerli bir URL girin.', btnCopy: 'Kopyala', btnCopied: 'Kopyalandı' };
23
+ export const content: ToolLocaleContent<UrlCleanerUI> = {
24
+ slug, title, description, ui,
25
+ faqTitle: 'Sık Sorulan Sorular',
26
+ faq: faqData,
27
+ bibliographyTitle: 'Gizlilik ve Web İzlemesi Kaynakları',
28
+ bibliography: [
29
+ { name: 'Electronic Frontier Foundation (EFF): Çevrimiçi İzleme Rehberi', url: 'https://www.eff.org/issues/online-behavioral-tracking' },
30
+ { name: 'Google Analytics: UTM Parametre Belgeleri', url: 'https://support.google.com/analytics/answer/1033863' },
31
+ { name: 'Web Gizliliği: Tıklatma Kimliklerinin Etkisi', url: 'https://www.w3.org/community/web-advertising/wiki/Click_Identifiers' },
32
+ ],
33
+ howTo: howToData,
34
+ schemas: [faqSchema, howToSchema, appSchema],
35
+ seo: [
36
+ { type: 'title', text: 'URL İzleme Temizleyicisi: UTM, FBCLID ve GCLID Kaldırın', level: 2 },
37
+ { type: 'paragraph', html: 'Bağlantılarınızdan görünmez izleyicileri kaldırarak temiz, özel ve profesyonel bir şekilde paylaşın. URL\'lerinizde bu garip kodların ne anlama geldiğini öğrenin.' },
38
+ { type: 'title', text: 'URL İzleme Temizleyicisi Nedir ve Neden Biri\'ye İhtiyacınız Var?', level: 3 },
39
+ { type: 'paragraph', html: 'Hiç bir arkadaşınıza göndermek için bir bağlantı kopyaladınız ve bunun olması gerekenden üç kat uzun olduğunu fark ettiniz mi? Bu ekstra "gürültü", izleme parametreleridir. <strong>İzleme temizleyicisi</strong>, URL\'yi, büyük platformların yaptığınız her tıklatmaya enjekte ettiği tüm reklam ve izleme bilgilerinden "şeritlendirmek" için tasarlanmış bir araçtır.' },
40
+ { type: 'title', text: 'En Yaygın İzleme Parametreleri', level: 3 },
41
+ { type: 'list', items: [ '<strong>UTM (Google Analytics):</strong> utm_source, utm_medium, utm_campaign kampanyaları izlemek için', '<strong>FBCLID:</strong> Facebook tıklatma tanımlayıcısı çerez kısıtlamalarını atlamak için', '<strong>GCLID / DCLID:</strong> Ziyaretleri Google Ads kampanyalarıyla bağlamak için Google Tıklatma Kimliği', '<strong>MSCLKID:</strong> Microsoft Advertising ve Bing tıklatma tanımlayıcısı', '<strong>HubSpot & Mailchimp:</strong> _hsenc, mc_cid gibi pazarlama otomasyon parametreleri', '<strong>LinkedIn & Others:</strong> li_fat_id ve diğer sosyal medya izleyicileri' ] },
42
+ ],
43
+ };
@@ -0,0 +1,44 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlCleanerUI } from '../ui';
4
+ const slug = 'url-tracking-cleaner';
5
+ const title = 'URL 追踪清理器:移除 UTM、FBCLID 和 GCLID';
6
+ const description = '自动从 URL 中移除追踪和广告参数。分享干净的链接并立即保护您的数字隐私。';
7
+ const faqData = [
8
+ { question: '此工具移除哪些类型的跟踪参数?', answer: '我们的工具自动检测并移除最常见的跟踪参数,包括 UTM(utm_source、utm_medium 等)、广告点击标识符(fbclid、gclid、msclkid)和电子邮件营销活动标识符(mc_cid、_hsenc)。' },
9
+ { question: '这会影响网站功能吗?', answer: '通常不会。这些参数几乎完全用于分析和营销。移除它们时,页面会正常加载,但网站所有者将无法追踪您点击的确切来源。' },
10
+ { question: '在此处处理我的链接安全吗?', answer: '绝对安全。与我们所有工具一样,该过程 100% 在客户端进行。您的链接永远不会发送到我们的服务器;一切都在您自己的浏览器中私密进行。' },
11
+ { question: '为什么我的 Facebook 链接这么长?', answer: 'Facebook 会向离开其平台的所有链接添加名为 "fbclid" 的参数。这使他们即使在您阻止第三方广告的情况下也能追踪您在其他网站上的活动。' },
12
+ ];
13
+ const howToData = [
14
+ { name: '粘贴您的 URL', text: '输入包含跟踪参数的完整 URL' },
15
+ { name: '点击清理', text: '该工具将自动分析 URL' },
16
+ { name: '查看结果', text: '您将看到干净的 URL 和已移除参数的列表' },
17
+ { name: '复制并分享', text: '在电子邮件、社交媒体或消息中使用干净的 URL' },
18
+ ];
19
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
20
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })) };
21
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'zh' };
22
+ const ui: UrlCleanerUI = { labelInput: '粘贴包含追踪参数的 URL', btnClean: '清理', labelCleaned: '干净的 URL', labelRemoved: '已移除的追踪器', countLabel: '已移除参数', reductionLabel: '长度减少', noneDetected: '未检测到常见跟踪参数。', errorInvalid: '请输入有效的 URL。', btnCopy: '复制', btnCopied: '已复制' };
23
+ export const content: ToolLocaleContent<UrlCleanerUI> = {
24
+ slug, title, description, ui,
25
+ faqTitle: '常见问题',
26
+ faq: faqData,
27
+ bibliographyTitle: '隐私和网络跟踪资源',
28
+ bibliography: [
29
+ { name: '电子前沿基金会 (EFF):在线追踪指南', url: 'https://www.eff.org/issues/online-behavioral-tracking' },
30
+ { name: 'Google Analytics:UTM 参数文档', url: 'https://support.google.com/analytics/answer/1033863' },
31
+ { name: '网络隐私:点击 ID 的影响', url: 'https://www.w3.org/community/web-advertising/wiki/Click_Identifiers' },
32
+ ],
33
+ howTo: howToData,
34
+ schemas: [faqSchema, howToSchema, appSchema],
35
+ seo: [
36
+ { type: 'title', text: 'URL 追踪清理器:移除 UTM、FBCLID 和 GCLID', level: 2 },
37
+ { type: 'paragraph', html: '从链接中移除不可见的追踪器,以干净、私密和专业的方式共享。了解 URL 中这些奇怪代码的含义。' },
38
+ { type: 'title', text: '什么是 URL 追踪清理器,为什么需要它?', level: 3 },
39
+ { type: 'paragraph', html: '您是否曾经复制过一个链接来发送给朋友,结果发现它的长度是应有长度的三倍?那个额外的"噪音"是追踪参数。<strong>追踪清理器</strong>是一个工具,用于从 URL 中"剥离"大型平台注入您进行的每次点击中的所有广告和追踪信息。' },
40
+ { type: 'title', text: '最常见的追踪参数', level: 3 },
41
+ { type: 'list', items: [ '<strong>UTM (Google Analytics):</strong>utm_source、utm_medium、utm_campaign 用于追踪活动', '<strong>FBCLID:</strong>Facebook 点击识别符,用于绕过 Cookie 限制', '<strong>GCLID / DCLID:</strong>Google 点击 ID,用于将访问与 Google Ads 活动关联', '<strong>MSCLKID:</strong>Microsoft 广告和 Bing 点击识别符', '<strong>HubSpot & Mailchimp:</strong>营销自动化参数,如 _hsenc、mc_cid', '<strong>LinkedIn 和其他:</strong>li_fat_id 和其他社交媒体追踪器' ] },
42
+ ],
43
+ };
44
+
@@ -9,6 +9,18 @@ export type UrlCleanerLocaleContent = ToolLocaleContent<UrlCleanerUI>;
9
9
  import { content as es } from './i18n/es';
10
10
  import { content as en } from './i18n/en';
11
11
  import { content as fr } from './i18n/fr';
12
+ import { content as de } from './i18n/de';
13
+ import { content as id } from './i18n/id';
14
+ import { content as it } from './i18n/it';
15
+ import { content as ja } from './i18n/ja';
16
+ import { content as ko } from './i18n/ko';
17
+ import { content as nl } from './i18n/nl';
18
+ import { content as pl } from './i18n/pl';
19
+ import { content as pt } from './i18n/pt';
20
+ import { content as ru } from './i18n/ru';
21
+ import { content as sv } from './i18n/sv';
22
+ import { content as tr } from './i18n/tr';
23
+ import { content as zh } from './i18n/zh';
12
24
 
13
25
  export const urlCleaner: DeveloperToolEntry<UrlCleanerUI> = {
14
26
  id: 'url-cleaner',
@@ -20,6 +32,18 @@ export const urlCleaner: DeveloperToolEntry<UrlCleanerUI> = {
20
32
  es: async () => es,
21
33
  en: async () => en,
22
34
  fr: async () => fr,
35
+ de: async () => de,
36
+ id: async () => id,
37
+ it: async () => it,
38
+ ja: async () => ja,
39
+ ko: async () => ko,
40
+ nl: async () => nl,
41
+ pl: async () => pl,
42
+ pt: async () => pt,
43
+ ru: async () => ru,
44
+ sv: async () => sv,
45
+ tr: async () => tr,
46
+ zh: async () => zh,
23
47
  },
24
48
  };
25
49
 
@@ -0,0 +1,163 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlEncoderDecoderUI } from '../ui';
4
+
5
+ const slug = 'url-encoder-decoder-de';
6
+ const title = 'URL Encoder und Decoder Online';
7
+ const description =
8
+ 'Konvertieren Sie Sonderzeichen aus jedem Link in ein sicheres Format (Percent-Encoding) oder stellen Sie sie sofort und lokal in ihren ursprünglichen lesbaren Zustand zurück.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Welche Zeichen werden in einer URL kodiert?',
13
+ answer:
14
+ 'Alle Zeichen, die im ASCII-Standard für URLs nicht zulässig sind, werden kodiert: Leerzeichen, Umlaute, Symbole wie &, =, +, #, ?, / und andere. Zum Beispiel wird ein Leerzeichen zu %20 und ein ä zu %C3%A4.',
15
+ },
16
+ {
17
+ question: 'Was ist der Unterschied zwischen encodeURI und encodeURIComponent?',
18
+ answer:
19
+ 'encodeURI kodiert eine vollständige URL und lässt reservierte Zeichen wie / und ? intakt. encodeURIComponent kodiert alle Sonderzeichen einschließlich reservierter Zeichen, was ideal für die Kodierung einzelner Query-Parameter-Werte ist.',
20
+ },
21
+ {
22
+ question: 'Warum hat meine URL %20 anstelle von Leerzeichen?',
23
+ answer:
24
+ 'Das HTTP-Protokoll erlaubt keine Leerzeichen in URLs. %20 ist die Percent-Encoding-Darstellung eines Leerzeichens gemäß dem ASCII-Standard. Einige Systeme verwenden das +-Zeichen als Alternative, aber %20 ist am universellsten und sichersten.',
25
+ },
26
+ {
27
+ question: 'Ist die Verwendung dieses Tools mit privaten URLs sicher?',
28
+ answer:
29
+ 'Ja, absolut sicher. Die gesamte Verarbeitung findet in Ihrem Browser mit nativem JavaScript (encodeURIComponent/decodeURIComponent) statt. Keine Ihrer URLs oder Parameter wird an einen externen Server gesendet.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Rohtext einfügen',
36
+ text: 'Geben Sie Ihre URL oder Zeichenfolge in das obere Feld „Rohtext (lesbar)“ ein oder fügen Sie sie ein.',
37
+ },
38
+ {
39
+ name: 'Kodieren oder Dekodieren',
40
+ text: 'Klicken Sie auf „URL kodieren“, um den Text in das sichere Percent-Encoding-Format zu konvertieren, oder auf „Dekodieren“, um eine kodierte URL wieder in ihre lesbare Form zu bringen.',
41
+ },
42
+ {
43
+ name: 'Ergebnis kopieren',
44
+ text: 'Verwenden Sie die Schaltfläche „Kopieren“ des entsprechenden Feldes, um das Ergebnis in Ihre Zwischenablage zu übernehmen.',
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: 'de',
80
+ };
81
+
82
+ const ui: UrlEncoderDecoderUI = {
83
+ labelRaw: 'Rohtext (lesbar)',
84
+ labelEncoded: 'Formatierte URL (kodiert)',
85
+ btnClear: 'Löschen',
86
+ btnCopy: 'Kopieren',
87
+ btnCopied: 'Kopiert!',
88
+ btnEncode: 'URL kodieren',
89
+ btnDecode: 'Dekodieren',
90
+ placeholderRaw: 'https://example.com/search?q=rote schuhe&size=38',
91
+ placeholderEncoded: 'https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Drote%20schuhe%26size%3D38',
92
+ };
93
+
94
+ export const content: ToolLocaleContent<UrlEncoderDecoderUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui,
99
+ faqTitle: 'Häufig gestellte Fragen',
100
+ faq: faqData,
101
+ bibliographyTitle: 'Referenzen und Dokumentation',
102
+ bibliography: [
103
+ {
104
+ name: 'MDN Web Docs: encodeURIComponent()',
105
+ url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent',
106
+ },
107
+ {
108
+ name: 'IETF RFC 3986: URI Generic Syntax',
109
+ url: 'https://datatracker.ietf.org/doc/html/rfc3986',
110
+ },
111
+ {
112
+ name: 'W3C: URL Living Standard',
113
+ url: 'https://url.spec.whatwg.org/',
114
+ },
115
+ ],
116
+ howTo: howToData,
117
+ schemas: [faqSchema, howToSchema, appSchema],
118
+ seo: [
119
+ {
120
+ type: 'title',
121
+ text: 'Was ist URL-Kodierung?',
122
+ level: 2,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Beim Surfen im Internet oder beim Senden von Anfragen an Server betrachtet man eine URL (Uniform Resource Locator) oft einfach als „Webadresse“. Das Internetprotokoll schreibt jedoch vor, dass URLs nur mit einem sehr eingeschränkten Satz von <strong>Standard-ASCII</strong>-Zeichen übertragen werden dürfen.',
127
+ },
128
+ {
129
+ type: 'paragraph',
130
+ html: 'Was passiert, wenn die URL ein Leerzeichen, Umlaute oder Sonderparameter wie Plus- (<code>+</code>) oder Gleichheitszeichen (<code>=</code>) enthält? Um zu verhindern, dass Systeme beim Versuch, ungültige Zeichen zu lesen, abstürzen, müssen diese mittels <strong>Percent-Encoding</strong> in ihre sichere, kompatible Form übersetzt werden.',
131
+ },
132
+ {
133
+ type: 'title',
134
+ text: 'Wie Percent-Encoding funktioniert',
135
+ level: 3,
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Wenn Sie dieses Tool verwenden, nimmt der Algorithmus jedes „unsichere“ Zeichen (wie ein Leerzeichen oder einen Umlaut wie ä) und ersetzt es durch ein Prozentzeichen <code>%</code> gefolgt von zwei hexadezimalen Ziffern, die seinem Wert im UTF-8-Standard entsprechen.',
140
+ },
141
+ {
142
+ type: 'list',
143
+ items: [
144
+ '<strong>Grundbeispiel:</strong> Ein einfaches Leerzeichen wird durch sein sicheres Äquivalent ersetzt: <code>%20</code>.',
145
+ '<strong>Erweiterte Unterstützung:</strong> Der Buchstabe <code>ä</code> wird zu <code>%C3%A4</code> und <code>ß</code> zu <code>%C3%9F</code>.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Bedeutung in APIs und GET-Anfragen',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'paragraph',
155
+ html: 'Bei der Entwicklung von Integrationen ist es ein typischer Fehler, eine Rohzeichenfolge an URL-Parameter zu übergeben. Wenn Sie <code>hemd&blau</code> im Rohzustand in Ihr Backend einfugen (<code>/search?q=hemd&blau</code>), interpretiert der Server <code>blau</code> als neuen Parameter, was die gesamte Logik bricht.',
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'Dieses Tool garantiert saubere, automatische Berechnungen mit 100 %iger Ausführung in Ihrem lokalen Browser. Keine Ihrer URL-Zeichenfolgen wird an Server von Drittanbietern übertragen, was die Privatsphäre Ihrer Token und Analyseparameter gewährleistet.',
160
+ },
161
+ ],
162
+ };
163
+
@@ -0,0 +1,163 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { UrlEncoderDecoderUI } from '../ui';
4
+
5
+ const slug = 'url-encoder-decoder-id';
6
+ const title = 'Pengode dan Pendekode URL Online';
7
+ const description =
8
+ 'Konversikan karakter khusus dari tautan apa pun ke dalam format aman (Percent-Encoding) atau kembalikan ke keadaan aslinya yang dapat dibaca secara instan dan lokal.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Karakter mana saja yang dikodekan dalam URL?',
13
+ answer:
14
+ 'Semua karakter yang tidak diperbolehkan dalam standar ASCII untuk URL dikodekan: spasi, huruf beraksen, simbol seperti &, =, +, #, ?, / dan lainnya. Sebagai contoh, spasi menjadi %20 dan ñ menjadi %C3%B1.',
15
+ },
16
+ {
17
+ question: 'Apa perbedaan antara encodeURI dan encodeURIComponent?',
18
+ answer:
19
+ 'encodeURI mengodekan URL lengkap dan membiarkan karakter khusus seperti / dan ? tetap utuh. encodeURIComponent mengodekan semua karakter khusus termasuk karakter yang dicadangkan, menjadikannya ideal untuk mengodekan nilai parameter kueri individual.',
20
+ },
21
+ {
22
+ question: 'Mengapa URL saya memiliki %20 alih-alih spasi?',
23
+ answer:
24
+ 'Protokol HTTP tidak mengizinkan spasi dalam URL. %20 adalah representasi Percent-Encoding dari spasi menurut standar ASCII. Beberapa sistem menggunakan tanda + sebagai alternatif, tetapi %20 adalah yang paling universal dan aman.',
25
+ },
26
+ {
27
+ question: 'Apakah aman menggunakan alat ini dengan URL pribadi?',
28
+ answer:
29
+ 'Ya, sepenuhnya aman. Semua pemrosesan terjadi di browser Anda menggunakan JavaScript asli (encodeURIComponent/decodeURIComponent). Tidak ada URL atau parameter Anda yang dikirim ke server eksternal mana pun.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Tempel teks mentah',
36
+ text: 'Ketik atau tempelkan URL atau string teks Anda ke bidang atas "Teks Mentah (Dapat Dibaca)".',
37
+ },
38
+ {
39
+ name: 'Kodekan atau dekodekan',
40
+ text: 'Klik "Kodekan URL" untuk mengonversi teks ke format Percent-Encoding yang aman, atau "Dekodekan" untuk mengembalikan URL yang dikodekan ke bentuk yang dapat dibaca.',
41
+ },
42
+ {
43
+ name: 'Salin hasilnya',
44
+ text: 'Gunakan tombol "Salin" pada bidang yang sesuai untuk mengambil hasilnya ke papan klip Anda.',
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: 'id',
80
+ };
81
+
82
+ const ui: UrlEncoderDecoderUI = {
83
+ labelRaw: 'Teks Mentah (Dapat Dibaca)',
84
+ labelEncoded: 'URL Berformat (Dikodekan)',
85
+ btnClear: 'Bersihkan',
86
+ btnCopy: 'Salin',
87
+ btnCopied: 'Tersalin!',
88
+ btnEncode: 'Kodekan URL',
89
+ btnDecode: 'Dekodekan',
90
+ placeholderRaw: 'https://example.com/search?q=sepatu merah&size=38',
91
+ placeholderEncoded: 'https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dsepatu%20merah%26size%3D38',
92
+ };
93
+
94
+ export const content: ToolLocaleContent<UrlEncoderDecoderUI> = {
95
+ slug,
96
+ title,
97
+ description,
98
+ ui,
99
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
100
+ faq: faqData,
101
+ bibliographyTitle: 'Referensi dan Dokumentasi',
102
+ bibliography: [
103
+ {
104
+ name: 'MDN Web Docs: encodeURIComponent()',
105
+ url: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent',
106
+ },
107
+ {
108
+ name: 'IETF RFC 3986: URI Generic Syntax',
109
+ url: 'https://datatracker.ietf.org/doc/html/rfc3986',
110
+ },
111
+ {
112
+ name: 'W3C: URL Living Standard',
113
+ url: 'https://url.spec.whatwg.org/',
114
+ },
115
+ ],
116
+ howTo: howToData,
117
+ schemas: [faqSchema, howToSchema, appSchema],
118
+ seo: [
119
+ {
120
+ type: 'title',
121
+ text: 'Apa itu Pengodean URL?',
122
+ level: 2,
123
+ },
124
+ {
125
+ type: 'paragraph',
126
+ html: 'Saat menjelajahi internet atau mengirim permintaan ke server, umum bagi kita untuk menganggap URL (Uniform Resource Locator) hanya sebagai "alamat web". Namun, protokol internet menentukan bahwa URL hanya dapat dikirimkan menggunakan set karakter <strong>ASCII standar</strong> yang sangat terbatas.',
127
+ },
128
+ {
129
+ type: 'paragraph',
130
+ html: 'Apa yang terjadi jika URL mengandung spasi, huruf beraksen, atau parameter khusus seperti tanda tambah (<code>+</code>) atau sama dengan (<code>=</code>)? Untuk mencegah sistem mengalami kegagalan saat mencoba membaca karakter ilegal, karakter tersebut harus diterjemahkan ke dalam bentuk aman yang kompatibel menggunakan <strong>Percent-Encoding</strong>.',
131
+ },
132
+ {
133
+ type: 'title',
134
+ text: 'Cara Kerja Percent-Encoding',
135
+ level: 3,
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Saat Anda menggunakan alat ini, algoritma akan mengambil karakter apa pun yang "tidak aman" (seperti spasi atau huruf beraksen seperti ñ) dan menggantinya dengan tanda persen <code>%</code> diikuti oleh dua digit heksadesimal yang sesuai dengan nilainya dalam standar UTF-8.',
140
+ },
141
+ {
142
+ type: 'list',
143
+ items: [
144
+ '<strong>Contoh Dasar:</strong> Spasi sederhana akan digantikan oleh padanan amannya: <code>%20</code>.',
145
+ '<strong>Dukungan Lanjutan:</strong> Huruf <code>á</code> menjadi <code>%C3%A1</code>, dan <code>ñ</code> menjadi <code>%C3%B1</code>.',
146
+ ],
147
+ },
148
+ {
149
+ type: 'title',
150
+ text: 'Pentingnya dalam API dan Permintaan GET',
151
+ level: 3,
152
+ },
153
+ {
154
+ type: 'paragraph',
155
+ html: 'Saat mengembangkan integrasi, kesalahan umum yang sering terjadi adalah memasukkan string mentah ke dalam parameter URL. Jika Anda memasukkan <code>kaos&biru</code> secara mentah ke dalam backend Anda (<code>/search?q=kaos&biru</code>), server akan menafsirkan <code>biru</code> sebagai parameter baru, sehingga merusak semua logika.',
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'Alat ini menjamin perhitungan otomatis yang bersih dengan eksekusi 100% di browser lokal Anda. Tidak ada string URL Anda yang dikirimkan ke server pihak ketiga, sehingga menjamin privasi token dan parameter analitik Anda.',
160
+ },
161
+ ],
162
+ };
163
+