@jjlmoya/utils-developer 1.4.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 (338) 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_uniqueness.test.ts +81 -0
  19. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  20. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  23. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  26. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  31. package/src/tool/aspectRatio/index.ts +15 -7
  32. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  33. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  44. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  45. package/src/tool/colorConverter/i18n/de.ts +126 -0
  46. package/src/tool/colorConverter/i18n/id.ts +126 -0
  47. package/src/tool/colorConverter/i18n/it.ts +126 -0
  48. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  49. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  50. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  51. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  53. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  54. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  55. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  56. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  57. package/src/tool/colorConverter/index.ts +15 -7
  58. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  59. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  70. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  71. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  72. package/src/tool/cronGenerator/i18n/es.ts +2 -1
  73. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  74. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  75. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  85. package/src/tool/cronGenerator/index.ts +15 -7
  86. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  87. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  98. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  99. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  100. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  103. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  105. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  111. package/src/tool/cssToInlineConverter/index.ts +15 -7
  112. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  113. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  116. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  118. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  124. package/src/tool/duplicateCssRemover/index.ts +15 -7
  125. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  126. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  138. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  139. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  141. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  142. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  145. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  147. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  149. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  150. package/src/tool/hashGenerator/index.ts +15 -7
  151. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  152. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  164. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  165. package/src/tool/jsonFormatter/i18n/es.ts +2 -1
  166. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  167. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  168. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  169. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  170. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  173. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  175. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  178. package/src/tool/jsonFormatter/index.ts +15 -7
  179. package/src/tool/keycode/i18n/de.ts +161 -0
  180. package/src/tool/keycode/i18n/es.ts +2 -1
  181. package/src/tool/keycode/i18n/fr.ts +2 -1
  182. package/src/tool/keycode/i18n/id.ts +161 -0
  183. package/src/tool/keycode/i18n/it.ts +161 -0
  184. package/src/tool/keycode/i18n/ja.ts +161 -0
  185. package/src/tool/keycode/i18n/ko.ts +161 -0
  186. package/src/tool/keycode/i18n/nl.ts +161 -0
  187. package/src/tool/keycode/i18n/pl.ts +161 -0
  188. package/src/tool/keycode/i18n/pt.ts +160 -0
  189. package/src/tool/keycode/i18n/ru.ts +160 -0
  190. package/src/tool/keycode/i18n/sv.ts +160 -0
  191. package/src/tool/keycode/i18n/tr.ts +160 -0
  192. package/src/tool/keycode/i18n/zh.ts +161 -0
  193. package/src/tool/keycode/index.ts +15 -7
  194. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  195. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  196. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  197. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  202. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  207. package/src/tool/llmCostCalculator/index.ts +24 -0
  208. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  209. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  214. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  216. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  220. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  221. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  222. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  225. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  227. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  229. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  230. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  231. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  233. package/src/tool/musicalTypography/index.ts +15 -7
  234. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  235. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  238. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  240. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  246. package/src/tool/placeholderGenerator/index.ts +24 -0
  247. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  248. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  251. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  253. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  254. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  255. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  257. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  259. package/src/tool/promptLibrary/index.ts +24 -0
  260. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  261. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  264. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  266. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  267. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  268. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  270. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  272. package/src/tool/readabilityCalculator/index.ts +24 -0
  273. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  274. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  277. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  279. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  281. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  282. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  285. package/src/tool/svgSanitizer/index.ts +24 -0
  286. package/src/tool/svgToCss/i18n/de.ts +174 -0
  287. package/src/tool/svgToCss/i18n/id.ts +174 -0
  288. package/src/tool/svgToCss/i18n/it.ts +174 -0
  289. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  290. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  291. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  292. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  294. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  295. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  296. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  297. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  298. package/src/tool/svgToCss/index.ts +15 -7
  299. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  300. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  303. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  305. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  306. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  307. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  311. package/src/tool/urlCleaner/index.ts +24 -0
  312. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  313. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  321. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  323. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  324. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  325. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  326. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  332. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  333. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  336. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  337. package/src/tool/utmGenerator/index.ts +15 -7
  338. package/src/types.ts +1 -2
@@ -0,0 +1,151 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CalculadoraTiempoDatosUI } from '../ui';
4
+
5
+ const slug = 'data-time-calculator-web-speed-impact-ru';
6
+ const title = 'Калькулятор времени данных: Влияние скорости интернета';
7
+ const description = 'Узнайте, сколько времени жизни теряют ваши пользователи, ожидая загрузки вашего сайта на 3G, 4G и 5G соединениях. Рассчитайте реальное влияние веса вашего сайта.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Почему важно знать время загрузки моего сайта?',
12
+ answer: 'Потому что оно напрямую влияет на пользовательский опыт, SEO и конверсию. Google задокументировал, что каждая секунда задержки снижает конверсию на 7%. Кроме того, 53% мобильных посетителей покидают страницу, загрузка которой занимает более 3 секунд.',
13
+ },
14
+ {
15
+ question: 'Что означают эти небольшие проценты потери времени жизни?',
16
+ answer: 'Они представляют собой процент от общей продолжительности жизни человека (примерно 80 лет или 2,5 миллиарда секунд), затрачиваемый на ожидание загрузки вашей страницы. Хотя по отдельности они невелики, в масштабах миллионов пользователей они превращаются в огромные объемы потраченного впустую человеческого времени.',
17
+ },
18
+ {
19
+ question: 'Какова средняя скорость соединения в мире?',
20
+ answer: '4G является стандартом в развитых странах. Однако миллионы пользователей в развивающихся странах по-прежнему полагаются на 3G. Вот почему крайне важно оптимизировать ваш сайт для всех скоростей соединения.',
21
+ },
22
+ {
23
+ question: 'Каким должен быть вес моего сайта?',
24
+ answer: 'Google рекомендует, чтобы главная страница загружалась менее чем за 3 секунды при обычном 4G-соединении. Для этого сайт в идеале должен весить от 1 до 2 МБ. Однако средний мировой показатель близок к 2-3 МБ.',
25
+ },
26
+ {
27
+ question: 'Как я могу уменьшить вес моего сайта?',
28
+ answer: 'Основные стратегии: оптимизация изображений (50-80% веса), минификация CSS и JavaScript, использование ленивой загрузки (lazy loading), внедрение кэширования в браузере и использование CDN. Оптимизация изображений обычно является наиболее эффективным фактором.',
29
+ },
30
+ {
31
+ question: 'Влияет ли скорость загрузки на рейтинг в Google?',
32
+ answer: 'Да, безусловно. Google рассматривает Core Web Vitals как важные факторы ранжирования. Медленный сайт будет ранжироваться хуже, чем быстрый, даже при схожем контенте.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Введите вес вашего сайта', text: 'Используйте инструменты разработчика браузера или WebPageTest, чтобы узнать вес вашей страницы. Введите это значение в МБ.' },
38
+ { name: 'Наблюдайте за временем загрузки', text: 'Калькулятор показывает, сколько секунд требуется вашему сайту для загрузки на 3G, 4G и 5G. Реальное время обычно выше.' },
39
+ { name: 'Поймите влияние на продолжительность жизни', text: 'Процент «времени жизни» показывает, сколько времени чьей-то жизни тратится на ожидание. Используйте это как мотивацию для оптимизации.' },
40
+ { name: 'Оптимизируйте и пересчитайте', text: 'После оптимизации измерьте показатели снова и сделайте перерасчет. Посмотрите, как небольшие улучшения приносят значительный результат.' },
41
+ ];
42
+
43
+ const faqSchema: WithContext<FAQPage> = {
44
+ '@context': 'https://schema.org',
45
+ '@type': 'FAQPage',
46
+ mainEntity: faqData.map((item) => ({
47
+ '@type': 'Question',
48
+ name: item.question,
49
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
50
+ })),
51
+ };
52
+
53
+ const howToSchema: WithContext<HowToThing> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
59
+ };
60
+
61
+ const appSchema: WithContext<SoftwareApplication> = {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'SoftwareApplication',
64
+ name: title,
65
+ description,
66
+ applicationCategory: 'UtilityApplication',
67
+ operatingSystem: 'All',
68
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
69
+ inLanguage: 'ru',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'Время, потерянное в сетях',
74
+ labelWebSize: 'Вес сайта (МБ)',
75
+ unit: 'МБ',
76
+ presetsLabel: 'РЕАЛИСТИЧНЫЕ ПРИМЕРЫ',
77
+ labelSpeed: 'Скорость соединения',
78
+ speedLabel3g: '3G',
79
+ speedValue3g: '0,4 Мбит/с',
80
+ speedLabel4g: '4G/LTE',
81
+ speedValue4g: '10 Мбит/с',
82
+ speedLabel5g: '5G',
83
+ speedValue5g: '100+ Мбит/с',
84
+ labelTimes: 'Сколько раз в день?',
85
+ resultTitle: 'Результаты',
86
+ resultSingleLoad: 'Одна загрузка',
87
+ resultDailyTotal: 'Итого за день',
88
+ resultTimePerYear: 'ожидания в год',
89
+ resultLifeYears: 'за всю жизнь',
90
+ resultMessage: 'Вы потеряли примерно 1 год жизни',
91
+ copyMessage: 'Скопировано',
92
+ preset3g: '3G',
93
+ preset4g: '4G',
94
+ preset5g: '5G',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<CalculadoraTiempoDatosUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Часто задаваемые вопросы',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Технические ресурсы по оптимизации веб-сайтов',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - анализ скорости сайта', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - веб-производительность', url: 'https://developer.mozilla.org/ru/docs/Web/Performance' },
110
+ ],
111
+ howTo: howToData,
112
+ schemas: [faqSchema, howToSchema, appSchema],
113
+ seo: [
114
+ { type: 'title', text: 'Почему скорость загрузки сайта критически важна', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'В сегодняшнюю цифровую эпоху скорость загрузки сайта — это не роскошь, а необходимость. Каждая миллисекунда имеет значение для удержания пользователей, улучшения рейтинга в поиске и максимизации конверсии. Современные пользователи ожидают, что страницы загрузятся менее чем за 3 секунды.',
118
+ },
119
+ { type: 'title', text: 'Влияние на пользовательский опыт', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '53% мобильных посетителей покидают страницу, если ее загрузка занимает более 3 секунд. Коэффициент конверсии падает на 7% при каждой дополнительной секунде задержки.',
123
+ },
124
+ { type: 'title', text: 'Понимание скорости соединения', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Мбит/с — часто встречается в сельской местности и развивающихся странах',
129
+ '<strong>4G/LTE:</strong> 10 Мбит/с — стандарт в развитых странах',
130
+ '<strong>5G:</strong> 100+ Мбит/с — постепенно расширяется, но все еще ограничен',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Стратегии по уменьшению веса сайта', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Оптимизация изображений:</strong> составляет 50-80% веса. Уменьшите его на 40-60% с помощью таких инструментов, как TinyPNG.',
138
+ '<strong>Минификация:</strong> удалите ненужный код из CSS и JavaScript. Экономия 30-50%.',
139
+ '<strong>Ленивая загрузка:</strong> загружайте изображения только тогда, когда пользователи докручивают до них.',
140
+ '<strong>Кэш браузера:</strong> кэшируйте статические файлы в браузерах пользователей.',
141
+ '<strong>CDN:</strong> отдавайте контент с географически близких серверов.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Заключение: важна каждая секунда', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Ваш веб-сайт часто является первым впечатлением пользователей о вашем бренде. Медленный сайт разочаровывает пользователей и ведет к потере прибыли. Быстрый и отзывчивый сайт создает положительный опыт и улучшает все ваши показатели.',
148
+ },
149
+ ],
150
+ };
151
+
@@ -0,0 +1,150 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CalculadoraTiempoDatosUI } from '../ui';
4
+
5
+ const slug = 'data-tids-kalkylator-webbhastighet-paverkan';
6
+ const title = 'Datatidskalkylator: Webbhastighetens påverkan';
7
+ const description = 'Upptäck hur mycket livstid dina användare förlorar på att vänta på att din webbplats ska laddas via 3G-, 4G- och 5G-anslutningar. Beräkna den faktiska påverkan av din webbplats vikt.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Varför är det viktigt att veta laddningstiden för min webbplats?',
12
+ answer: 'Eftersom det direkt påverkar användarupplevelsen, SEO och konverteringar. Google har dokumenterat att varje sekunds fördröjning minskar konverteringarna med 7 %. Dessutom lämnar 53 % av mobilbesökarna en sida som tar mer än 3 sekunder att ladda.',
13
+ },
14
+ {
15
+ question: 'Vad representerar dessa små procentsatser av livstidsförlust?',
16
+ answer: 'De representerar den procentuella andelen av en persons totala livstid (cirka 80 år eller 2,5 miljarder sekunder) som spenderas på att vänta på att din sida ska ladda. Även om de är små individuellt, representerar de enorma mängder bortkastad mänsklig tid när de multipliceras med miljontals användare.',
17
+ },
18
+ {
19
+ question: 'Vad är den genomsnittliga anslutningshastigheten i världen?',
20
+ answer: '4G är standard i utvecklade länder. Miljontals användare i utvecklingsländer är dock fortfarande beroende av 3G. Det är därför det är avgörande att optimera din webbplats för alla anslutningshastigheter.',
21
+ },
22
+ {
23
+ question: 'Hur mycket bör min webbplats väga?',
24
+ answer: 'Google rekommenderar att startsidan laddas på mindre än 3 sekunder via en typisk 4G-anslutning. För detta bör en webbplats helst väga mellan 1 och 2 MB. Det globala genomsnittet ligger dock nära 2–3 MB.',
25
+ },
26
+ {
27
+ question: 'Hur kan jag minska min webbplats vikt?',
28
+ answer: 'Huvudstrategier: optimera bilder (50–80 % av vikten), minifiera CSS och JavaScript, använda lazy loading, implementera webbläsarcache och använda en CDN. Bildoptimering är vanligtvis den mest effektiva faktorn.',
29
+ },
30
+ {
31
+ question: 'Påverkar laddningshastigheten Google-rankningen?',
32
+ answer: 'Ja, absolut. Google betraktar Core Web Vitals som viktiga rankningsfaktorer. En långsammare webbplats kommer att rankas sämre än en snabbare, även med liknande innehåll.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Ange din webbplats vikt', text: 'Använd webbläsarens utvecklarverktyg eller WebPageTest för att hitta din sidas vikt. Ange det värdet i MB.' },
38
+ { name: 'Observera laddningstider', text: 'Kalkylatorn visar hur många sekunder det tar för din webbplats att ladda via 3G, 4G och 5G. Tiderna i verkligheten är vanligtvis högre.' },
39
+ { name: 'Förstå livstidspåverkan', text: 'Procentandelen ”livstid” visar hur mycket av någons liv som spenderas på att vänta. Använd detta som motivation för att optimera.' },
40
+ { name: 'Optimera och beräkna om', text: 'Mät igen och beräkna om efter optimeringen. Se hur små förbättringar har stor betydelse.' },
41
+ ];
42
+
43
+ const faqSchema: WithContext<FAQPage> = {
44
+ '@context': 'https://schema.org',
45
+ '@type': 'FAQPage',
46
+ mainEntity: faqData.map((item) => ({
47
+ '@type': 'Question',
48
+ name: item.question,
49
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
50
+ })),
51
+ };
52
+
53
+ const howToSchema: WithContext<HowToThing> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
59
+ };
60
+
61
+ const appSchema: WithContext<SoftwareApplication> = {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'SoftwareApplication',
64
+ name: title,
65
+ description,
66
+ applicationCategory: 'UtilityApplication',
67
+ operatingSystem: 'All',
68
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
69
+ inLanguage: 'sv',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'Förlorad tid i nätverk',
74
+ labelWebSize: 'Webbplatsvikt (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: 'REALISTISKA EXEMPEL',
77
+ labelSpeed: 'Anslutningshastighet',
78
+ speedLabel3g: '3G',
79
+ speedValue3g: '0,4 Mbps',
80
+ speedLabel4g: '4G/LTE',
81
+ speedValue4g: '10 Mbps',
82
+ speedLabel5g: '5G',
83
+ speedValue5g: '100+ Mbps',
84
+ labelTimes: 'Hur många gånger per dag?',
85
+ resultTitle: 'Resultat',
86
+ resultSingleLoad: 'Enskild laddning',
87
+ resultDailyTotal: 'Daglig total',
88
+ resultTimePerYear: 'väntetid per år',
89
+ resultLifeYears: 'under din livstid',
90
+ resultMessage: 'Du har förlorat ungefär 1 år av ditt liv',
91
+ copyMessage: 'Kopierat',
92
+ preset3g: '3G',
93
+ preset4g: '4G',
94
+ preset5g: '5G',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<CalculadoraTiempoDatosUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Vanliga frågor',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Tekniska resurser för webboptimering',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - Analysera webbplatsens hastighet', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - Webbprestanda', url: 'https://developer.mozilla.org/en-US/docs/Web/Performance' },
110
+ ],
111
+ howTo: howToData,
112
+ schemas: [faqSchema, howToSchema, appSchema],
113
+ seo: [
114
+ { type: 'title', text: 'Varför laddningshastigheten är kritisk', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'I dagens digitala tidsålder är laddningshastigheten på en webbplats inte en lyx, utan en nödvändighet. Varje millisekund räknas när man ska behålla användare, förbättra sökrankningen och maximera konverteringarna. Moderna användare förväntar sig att sidor laddas på mindre än 3 sekunder.',
118
+ },
119
+ { type: 'title', text: 'Påverkan på användarupplevelsen', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '53 % av mobilbesökarna lämnar en sida om det tar mer än 3 sekunder att ladda. Konverteringsgraden sjunker med 7 % för varje extra sekunds fördröjning.',
123
+ },
124
+ { type: 'title', text: 'Förståelse för anslutningshastigheter', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Mbps - Vanligt i landsbygdsområden och utvecklingsländer',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - Standard i utvecklade länder',
130
+ '<strong>5G:</strong> 100+ Mbps - Utökas gradvis, fortfarande begränsat',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Strategier för att minska webbplatsens vikt', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Bildoptimering:</strong> Representerar 50–80 % av vikten. Minska med 40–60 % med verktyg som TinyPNG.',
138
+ '<strong>Minifiering:</strong> Ta bort onödig kod från CSS och JavaScript. Spara 30–50 %.',
139
+ '<strong>Lazy Loading:</strong> Ladda bilder först när användaren scrollar till dem.',
140
+ '<strong>Webbläsarcache:</strong> Cachelagra statiska filer i användarnas webbläsare.',
141
+ '<strong>CDN:</strong> Leverera innehåll från servrar som ligger geografiskt nära.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Slutsats: Varje sekund räknas', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Din webbplats är ofta det första intrycket användarna får av ditt varumärke. En långsam webbplats frustrerar användare och leder till förlorade affärer. En snabb, responsiv webbplats skapar en positiv upplevelse och förbättrar alla dina mätvärden.',
148
+ },
149
+ ],
150
+ };
@@ -0,0 +1,150 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CalculadoraTiempoDatosUI } from '../ui';
4
+
5
+ const slug = 'veri-zamani-hesaplayici-web-hizi-etkisi';
6
+ const title = 'Veri Zamanı Hesaplayıcı: Web Hızının Etkisi';
7
+ const description = 'Kullanıcılarınızın 3G, 4G ve 5G bağlantılarında web sitenizin yüklenmesini beklerken ne kadar yaşam süresi kaybettiğini keşfedin. Sitenizin ağırlığının gerçek etkisini hesaplayın.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Web sitemin yükleme süresini bilmek neden önemlidir?',
12
+ answer: 'Çünkü kullanıcı deneyimini, SEO\'yu ve dönüşümleri doğrudan etkiler. Google, her bir saniyelik gecikmenin dönüşümleri %7 oranında azalttığını belgelemiştir. Ayrıca, mobil ziyaretçilerin %53\'ü 3 saniyeden uzun süren bir sayfayı terk etmektedir.',
13
+ },
14
+ {
15
+ question: 'Yaşam süresi kaybındaki bu küçük yüzdeler ne anlama geliyor?',
16
+ answer: 'Bir kişinin toplam yaşam süresinin (yaklaşık 80 yıl veya 2,5 milyar saniye) sayfanızın yüklenmesini bekleyerek geçirdiği yüzdeyi temsil ederler. Her ne kadar bireysel olarak küçük görünseler de, milyonlarca kullanıcıyla çarpıldığında, çok büyük miktarlarda boşa harcanan insan zamanını temsil ederler.',
17
+ },
18
+ {
19
+ question: 'Dünya genelinde ortalama bağlantı hızı nedir?',
20
+ answer: 'Gelişmiş ülkelerde 4G standarttır. Ancak, gelişmekte olan ülkelerdeki milyonlarca kullanıcı hala 3G\'ye güvenmektedir. Bu nedenle sitenizi tüm bağlantı hızları için optimize etmek çok önemlidir.',
21
+ },
22
+ {
23
+ question: 'Web sitemin ağırlığı ne kadar olmalı?',
24
+ answer: 'Google, ana sayfanın tipik bir 4G bağlantısında 3 saniyeden kısa sürede yüklenmesini önerir. Bunun için bir sitenin ideal olarak 1-2 MB arasında ağırlığa sahip olması gerekir. Bununla birlikte, küresel ortalama 2-3 MB civarındadır.',
25
+ },
26
+ {
27
+ question: 'Sitemin ağırlığını nasıl azaltabilirim?',
28
+ answer: 'Başlıca stratejiler: görselleri optimize etmek (ağırlığın %50-80\'i), CSS ve JavaScript\'i küçültmek, lazy loading kullanmak, tarayıcı önbelleğini uygulamak ve bir CDN kullanmaktır. Görsel optimizasyonu genellikle en etkili faktördür.',
29
+ },
30
+ {
31
+ question: 'Yükleme hızı Google sıralamasını etkiler mi?',
32
+ answer: 'Evet, kesinlikle. Google, Core Web Vitals\'ı önemli sıralama faktörleri olarak görür. Daha yavaş bir site, benzer içeriğe sahip olsa bile daha hızlı bir siteden daha düşük sıralarda yer alacaktır.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Sitenizin Ağırlığını Girin', text: 'Sayfa ağırlığınızı bulmak için tarayıcı geliştirici araçlarını veya WebPageTest\'i kullanın. Bu değeri MB cinsinden girin.' },
38
+ { name: 'Yükleme Sürelerini Gözlemleyin', text: 'Hesaplayıcı, sitenizin 3G, 4G ve 5G\'de yüklenmesinin kaç saniye sürdüğünü gösterir. Gerçek zamanlar genellikle daha yüksektir.' },
39
+ { name: 'Yaşam Süresi Etkisini Anlayın', text: '"Yaşam süresi" yüzdesi, birinin hayatının ne kadarının bekleyerek geçtiğini gösterir. Bunu optimize etmek için bir motivasyon olarak kullanın.' },
40
+ { name: 'Optimize Edin ve Yeniden Hesaplayın', text: 'Optimize ettikten sonra tekrar ölçün ve yeniden hesaplayın. Küçük iyileştirmelerin nasıl büyük etkiler yarattığını görün.' },
41
+ ];
42
+
43
+ const faqSchema: WithContext<FAQPage> = {
44
+ '@context': 'https://schema.org',
45
+ '@type': 'FAQPage',
46
+ mainEntity: faqData.map((item) => ({
47
+ '@type': 'Question',
48
+ name: item.question,
49
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
50
+ })),
51
+ };
52
+
53
+ const howToSchema: WithContext<HowToThing> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
59
+ };
60
+
61
+ const appSchema: WithContext<SoftwareApplication> = {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'SoftwareApplication',
64
+ name: title,
65
+ description,
66
+ applicationCategory: 'UtilityApplication',
67
+ operatingSystem: 'All',
68
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
69
+ inLanguage: 'tr',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'Ağlarda Kaybedilen Zaman',
74
+ labelWebSize: 'Web sitesi ağırlığı (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: 'GERÇEKÇİ ÖRNEKLER',
77
+ labelSpeed: 'Bağlantı hızı',
78
+ speedLabel3g: '3G',
79
+ speedValue3g: '0,4 Mbps',
80
+ speedLabel4g: '4G/LTE',
81
+ speedValue4g: '10 Mbps',
82
+ speedLabel5g: '5G',
83
+ speedValue5g: '100+ Mbps',
84
+ labelTimes: 'Günde kaç kez?',
85
+ resultTitle: 'Sonuçlar',
86
+ resultSingleLoad: 'Tek yükleme',
87
+ resultDailyTotal: 'Günlük toplam',
88
+ resultTimePerYear: 'yıllık bekleme süresi',
89
+ resultLifeYears: 'yaşam süreniz boyunca',
90
+ resultMessage: 'Yaklaşık 1 yıllık yaşam süresi kaybettiniz',
91
+ copyMessage: 'Kopyalandı',
92
+ preset3g: '3G',
93
+ preset4g: '4G',
94
+ preset5g: '5G',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<CalculadoraTiempoDatosUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Sıkça Sorulan Sorular',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Web Optimizasyonu Üzerine Teknik Kaynaklar',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - Web Sitesi Hızını Analiz Edin', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - Web Performansı', url: 'https://developer.mozilla.org/en-US/docs/Web/Performance' },
110
+ ],
111
+ howTo: howToData,
112
+ schemas: [faqSchema, howToSchema, appSchema],
113
+ seo: [
114
+ { type: 'title', text: 'Web Sitesi Yükleme Hızı Neden Kritik?', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Günümüzün dijital çağında web sitesi yükleme hızı bir lüks değil, bir ihtiyaçtır. Kullanıcıları elde tutma, arama sıralamalarını iyileştirme ve dönüşümleri maksimize etme söz konusu olduğunda her milisaniye önemlidir. Modern kullanıcılar sayfaların 3 saniyeden kısa sürede yüklenmesini beklerler.',
118
+ },
119
+ { type: 'title', text: 'Kullanıcı Deneyimi Üzerindeki Etkisi', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Mobil ziyaretçilerin %53\'ü, sayfanın yüklenmesi 3 saniyeden uzun sürerse sayfayı terk eder. Dönüşüm oranları, her bir saniyelik ek gecikme için %7 oranında düşmektedir.',
123
+ },
124
+ { type: 'title', text: 'Bağlantı Hızlarını Anlamak', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Mbps - Kırsal alanlarda ve gelişmekte olan ülkelerde yaygındır',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - Gelişmiş ülkelerde standarttır',
130
+ '<strong>5G:</strong> 100+ Mbps - Kademeli olarak genişliyor, hala sınırlı',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Site Ağırlığını Azaltma Stratejileri', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Görsel Optimizasyonu:</strong> Ağırlığın %50-80\'ini oluşturur. TinyPNG gibi araçlarla %40-60 oranında azaltılabilir.',
138
+ '<strong>Küçültme (Minification):</strong> CSS ve JavaScript\'ten gereksiz kodları kaldırın. %30-50 tasarruf sağlayın.',
139
+ '<strong>Lazy Loading:</strong> Görselleri yalnızca kullanıcılar onlara kaydırdığında yükleyin.',
140
+ '<strong>Tarayıcı Önbelleği:</strong> Statik dosyaları kullanıcı tarayıcılarında önbelleğe alın.',
141
+ '<strong>CDN:</strong> İçeriği coğrafi olarak yakın sunuculardan sunun.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Sonuç: Her Saniye Önemlidir', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Web siteniz genellikle kullanıcıların markanız hakkında edindiği ilk izlenimdir. Yavaş bir site kullanıcıları hayal kırıklığına uğratır ve iş kaybına yol açar. Hızlı ve duyarlı bir site olumlu bir deneyim yaratır ve tüm metriklerinizi iyileştirir.',
148
+ },
149
+ ],
150
+ };
@@ -0,0 +1,151 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CalculadoraTiempoDatosUI } from '../ui';
4
+
5
+ const slug = 'data-time-calculator-web-speed-impact';
6
+ const title = '数据时间计算器:网页速度的影响';
7
+ const description = '了解您的用户在 3G、4G 和 5G 连接下等待网站加载时损失了多少寿命。计算网站权重的真实影响。';
8
+
9
+ const faqData = [
10
+ {
11
+ question: '为什么了解网站加载时间很重要?',
12
+ answer: '因为它直接影响用户体验、SEO 和转化率。Google 的记录显示,每一秒的延迟都会使转化率降低 7%。此外,53% 的移动端访问者会放弃加载时间超过 3 秒的页面。',
13
+ },
14
+ {
15
+ question: '寿命损失的那些微小百分比代表什么?',
16
+ answer: '它们代表了一个人总寿命(约 80 年或 25 亿秒)中用于等待页面加载的时间百分比。虽然单个数值看起来很小,但乘以数百万用户,就代表了巨大的、被浪费的人力时间。',
17
+ },
18
+ {
19
+ question: '全球平均连接速度是多少?',
20
+ answer: '4G 是发达国家的标准。然而,发展中国家的数百万用户仍然依赖 3G。这就是为什么针对所有连接速度优化网站至关重要的原因。',
21
+ },
22
+ {
23
+ question: '网站的权重应该是多少?',
24
+ answer: 'Google 建议首页在典型的 4G 连接下,加载时间应少于 3 秒。为此,网站的权重理想情况下应在 1-2 MB 之间。然而,全球平均水平接近 2-3 MB。',
25
+ },
26
+ {
27
+ question: '如何减轻网站权重?',
28
+ answer: '主要策略:优化图像(占权重的 50-80%)、压缩 CSS 和 JavaScript、使用延迟加载(lazy loading)、实施浏览器缓存以及使用 CDN。图像优化通常是影响最大的因素。',
29
+ },
30
+ {
31
+ question: '加载速度会影响 Google 排名吗?',
32
+ answer: '是的,绝对会。Google 将 Core Web Vitals 视为重要的排名因素。加载缓慢的网站排名会低于加载较快的网站,即使内容相似也是如此。',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: '输入您的网站权重', text: '使用浏览器开发者工具或 WebPageTest 获取页面权重。以 MB 为单位输入该值。' },
38
+ { name: '观察加载时间', text: '计算器显示网站在 3G、4G 和 5G 下加载所需的秒数。现实中的时间通常更高。' },
39
+ { name: '了解对寿命的影响', text: '“寿命”百分比显示了一个人有多少生命花在了等待上。以此作为优化的动力。' },
40
+ { name: '优化并重新计算', text: '优化后,再次测量并重新计算。观察微小的改进如何产生重大影响。' },
41
+ ];
42
+
43
+ const faqSchema: WithContext<FAQPage> = {
44
+ '@context': 'https://schema.org',
45
+ '@type': 'FAQPage',
46
+ mainEntity: faqData.map((item) => ({
47
+ '@type': 'Question',
48
+ name: item.question,
49
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
50
+ })),
51
+ };
52
+
53
+ const howToSchema: WithContext<HowToThing> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
59
+ };
60
+
61
+ const appSchema: WithContext<SoftwareApplication> = {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'SoftwareApplication',
64
+ name: title,
65
+ description,
66
+ applicationCategory: 'UtilityApplication',
67
+ operatingSystem: 'All',
68
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
69
+ inLanguage: 'zh',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: '网络中流逝的时间',
74
+ labelWebSize: '网站权重 (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: '现实案例',
77
+ labelSpeed: '连接速度',
78
+ speedLabel3g: '3G',
79
+ speedValue3g: '0.4 Mbps',
80
+ speedLabel4g: '4G/LTE',
81
+ speedValue4g: '10 Mbps',
82
+ speedLabel5g: '5G',
83
+ speedValue5g: '100+ Mbps',
84
+ labelTimes: '每天访问多少次?',
85
+ resultTitle: '结果',
86
+ resultSingleLoad: '单次加载',
87
+ resultDailyTotal: '每日总计',
88
+ resultTimePerYear: '每年的等待时间',
89
+ resultLifeYears: '一生的等待时间',
90
+ resultMessage: '您已损失了大约 1 年的寿命',
91
+ copyMessage: '已复制',
92
+ preset3g: '3G',
93
+ preset4g: '4G',
94
+ preset5g: '5G',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<CalculadoraTiempoDatosUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: '常见问题',
103
+ faq: faqData,
104
+ bibliographyTitle: '关于网页优化的技术资源',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - 分析网站速度', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - 网页性能', url: 'https://developer.mozilla.org/zh-CN/docs/Web/Performance' },
110
+ ],
111
+ howTo: howToData,
112
+ schemas: [faqSchema, howToSchema, appSchema],
113
+ seo: [
114
+ { type: 'title', text: '为什么网站加载速度至关重要', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: '在当今数字时代,网站加载速度不是一种奢侈品,而是一种必需。在留住用户、提高搜索排名和实现转化最大化方面,每一毫秒都至关重要。现代用户期望页面加载时间少于 3 秒。',
118
+ },
119
+ { type: 'title', text: '对用户体验的影响', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '如果加载时间超过 3 秒,53% 的移动访客会离开页面。每增加一秒的延迟,转化率就会下降 7%。',
123
+ },
124
+ { type: 'title', text: '了解连接速度', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0.4 Mbps - 常见于农村和发展中国家',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - 发达国家的标准',
130
+ '<strong>5G:</strong> 100+ Mbps - 正在逐步扩展,但仍受限',
131
+ ],
132
+ },
133
+ { type: 'title', text: '减轻网站权重的策略', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>图像优化:</strong>占权重的 50-80%。使用 TinyPNG 等工具可减少 40-60%。',
138
+ '<strong>压缩:</strong>删除 CSS 和 JavaScript 中不必要的代码。可节省 30-50%。',
139
+ '<strong>延迟加载:</strong>仅当用户滚动到图像时才加载它们。',
140
+ '<strong>浏览器缓存:</strong>在用户浏览器上缓存静态文件。',
141
+ '<strong>CDN:</strong>从地理位置较近的服务器提供内容。',
142
+ ],
143
+ },
144
+ { type: 'title', text: '结论:每一秒都很重要', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: '您的网站通常是用户对您品牌的第一印象。缓慢的网站会让用户感到沮丧并导致业务流失。快速且响应迅速的网站可以创造积极的体验并改善您的所有指标。',
148
+ },
149
+ ],
150
+ };
151
+
@@ -6,10 +6,6 @@ import type { CalculadoraTiempoDatosUI } from './ui';
6
6
 
7
7
  export type CalculadoraTiempoDatosLocaleContent = ToolLocaleContent<CalculadoraTiempoDatosUI>;
8
8
 
9
- import { content as es } from './i18n/es';
10
- import { content as en } from './i18n/en';
11
- import { content as fr } from './i18n/fr';
12
-
13
9
  export const calculadoraTiempoDatos: DeveloperToolEntry<CalculadoraTiempoDatosUI> = {
14
10
  id: 'calculadora-tiempo-datos',
15
11
  icons: {
@@ -17,9 +13,21 @@ export const calculadoraTiempoDatos: DeveloperToolEntry<CalculadoraTiempoDatosUI
17
13
  fg: 'mdi:clock-outline',
18
14
  },
19
15
  i18n: {
20
- es: async () => es,
21
- en: async () => en,
22
- fr: async () => fr,
16
+ de: async () => (await import('./i18n/de')).content,
17
+ en: async () => (await import('./i18n/en')).content,
18
+ es: async () => (await import('./i18n/es')).content,
19
+ fr: async () => (await import('./i18n/fr')).content,
20
+ id: async () => (await import('./i18n/id')).content,
21
+ it: async () => (await import('./i18n/it')).content,
22
+ ja: async () => (await import('./i18n/ja')).content,
23
+ ko: async () => (await import('./i18n/ko')).content,
24
+ nl: async () => (await import('./i18n/nl')).content,
25
+ pl: async () => (await import('./i18n/pl')).content,
26
+ pt: async () => (await import('./i18n/pt')).content,
27
+ ru: async () => (await import('./i18n/ru')).content,
28
+ sv: async () => (await import('./i18n/sv')).content,
29
+ tr: async () => (await import('./i18n/tr')).content,
30
+ zh: async () => (await import('./i18n/zh')).content,
23
31
  },
24
32
  };
25
33