@jjlmoya/utils-developer 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +34 -0
  3. package/src/category/i18n/id.ts +34 -0
  4. package/src/category/i18n/it.ts +34 -0
  5. package/src/category/i18n/ja.ts +34 -0
  6. package/src/category/i18n/ko.ts +34 -0
  7. package/src/category/i18n/nl.ts +34 -0
  8. package/src/category/i18n/pl.ts +34 -0
  9. package/src/category/i18n/pt.ts +34 -0
  10. package/src/category/i18n/ru.ts +34 -0
  11. package/src/category/i18n/sv.ts +34 -0
  12. package/src/category/i18n/tr.ts +34 -0
  13. package/src/category/i18n/zh.ts +34 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/slug_language_code_format.test.ts +25 -0
  19. package/src/tests/slug_uniqueness.test.ts +87 -0
  20. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  23. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  26. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  31. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  32. package/src/tool/aspectRatio/index.ts +15 -7
  33. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  44. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  45. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  46. package/src/tool/colorConverter/i18n/de.ts +126 -0
  47. package/src/tool/colorConverter/i18n/id.ts +126 -0
  48. package/src/tool/colorConverter/i18n/it.ts +126 -0
  49. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  50. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  51. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  53. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  54. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  55. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  56. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  57. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  58. package/src/tool/colorConverter/index.ts +15 -7
  59. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  70. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  71. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  72. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  73. package/src/tool/cronGenerator/i18n/es.ts +1 -0
  74. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  75. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  85. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  86. package/src/tool/cronGenerator/index.ts +15 -7
  87. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  98. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  99. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  100. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  103. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  105. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  111. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  112. package/src/tool/cssToInlineConverter/index.ts +15 -7
  113. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  116. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  118. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  124. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  125. package/src/tool/duplicateCssRemover/index.ts +15 -7
  126. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  138. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  139. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  141. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  142. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  145. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  147. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  149. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  150. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  151. package/src/tool/hashGenerator/index.ts +15 -7
  152. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  164. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  165. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  166. package/src/tool/jsonFormatter/i18n/es.ts +1 -0
  167. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  168. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  169. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  170. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  173. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  175. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  178. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  179. package/src/tool/jsonFormatter/index.ts +15 -7
  180. package/src/tool/keycode/i18n/de.ts +161 -0
  181. package/src/tool/keycode/i18n/es.ts +1 -0
  182. package/src/tool/keycode/i18n/fr.ts +2 -1
  183. package/src/tool/keycode/i18n/id.ts +161 -0
  184. package/src/tool/keycode/i18n/it.ts +161 -0
  185. package/src/tool/keycode/i18n/ja.ts +161 -0
  186. package/src/tool/keycode/i18n/ko.ts +161 -0
  187. package/src/tool/keycode/i18n/nl.ts +161 -0
  188. package/src/tool/keycode/i18n/pl.ts +161 -0
  189. package/src/tool/keycode/i18n/pt.ts +160 -0
  190. package/src/tool/keycode/i18n/ru.ts +160 -0
  191. package/src/tool/keycode/i18n/sv.ts +160 -0
  192. package/src/tool/keycode/i18n/tr.ts +160 -0
  193. package/src/tool/keycode/i18n/zh.ts +161 -0
  194. package/src/tool/keycode/index.ts +15 -7
  195. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  196. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  197. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  202. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  207. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  208. package/src/tool/llmCostCalculator/index.ts +24 -0
  209. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  214. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  216. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  220. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  221. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  222. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  225. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  227. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  229. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  230. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  231. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  233. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  234. package/src/tool/musicalTypography/index.ts +15 -7
  235. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  238. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  240. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  246. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  247. package/src/tool/placeholderGenerator/index.ts +24 -0
  248. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  251. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  253. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  254. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  255. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  257. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  259. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  260. package/src/tool/promptLibrary/index.ts +24 -0
  261. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  264. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  266. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  267. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  268. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  270. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  272. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  273. package/src/tool/readabilityCalculator/index.ts +24 -0
  274. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  277. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  279. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  281. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  282. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  285. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  286. package/src/tool/svgSanitizer/index.ts +24 -0
  287. package/src/tool/svgToCss/i18n/de.ts +174 -0
  288. package/src/tool/svgToCss/i18n/id.ts +174 -0
  289. package/src/tool/svgToCss/i18n/it.ts +174 -0
  290. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  291. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  292. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  294. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  295. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  296. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  297. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  298. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  299. package/src/tool/svgToCss/index.ts +15 -7
  300. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  303. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  305. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  306. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  307. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  311. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  312. package/src/tool/urlCleaner/index.ts +24 -0
  313. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  321. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  323. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  324. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  325. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  326. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  332. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  333. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  336. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  337. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  338. package/src/tool/utmGenerator/index.ts +15 -7
  339. package/src/types.ts +1 -2
@@ -0,0 +1,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 = 'daten-zeit-rechner-web-geschwindigkeit-auswirkung';
6
+ const title = 'Datenzeitrechner: Auswirkung der Webgeschwindigkeit';
7
+ const description = 'Entdecken Sie, wie viel Lebenszeit Ihre Nutzer mit dem Warten auf das Laden Ihrer Website bei 3G-, 4G- und 5G-Verbindungen verlieren. Berechnen Sie die realen Auswirkungen Ihres Website-Gewichts.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Warum ist es wichtig, die Ladezeit meiner Website zu kennen?',
12
+ answer: 'Weil sie sich direkt auf die Benutzererfahrung, SEO und Conversions auswirkt. Google hat dokumentiert, dass jede Sekunde Verzögerung die Conversions um 7 % reduziert. Zudem verlassen 53 % der mobilen Besucher eine Seite, die länger als 3 Sekunden zum Laden benötigt.',
13
+ },
14
+ {
15
+ question: 'Was bedeuten diese kleinen Prozentsätze des Lebenszeitverlusts?',
16
+ answer: 'Sie stellen den Prozentsatz der gesamten Lebenszeit einer Person dar (ca. 80 Jahre oder 2,5 Milliarden Sekunden), die mit dem Warten auf das Laden Ihrer Seite verbracht wird. Auch wenn sie einzeln klein erscheinen, summieren sie sich bei Millionen von Nutzern zu enormen Mengen verschwendeter menschlicher Zeit.',
17
+ },
18
+ {
19
+ question: 'Wie hoch ist die durchschnittliche Verbindungsgeschwindigkeit weltweit?',
20
+ answer: '4G ist in Industrieländern Standard. Millionen von Nutzern in Schwellen- und Entwicklungsländern sind jedoch immer noch auf 3G angewiesen. Deshalb ist es entscheidend, Ihre Website für alle Verbindungsgeschwindigkeiten zu optimieren.',
21
+ },
22
+ {
23
+ question: 'Wie schwer sollte meine Website sein?',
24
+ answer: 'Google empfiehlt, dass die Startseite bei einer typischen 4G-Verbindung in weniger als 3 Sekunden lädt. Idealerweise sollte eine Website dafür zwischen 1 und 2 MB wiegen. Der weltweite Durchschnitt liegt jedoch bei fast 2-3 MB.',
25
+ },
26
+ {
27
+ question: 'Wie kann ich das Gewicht meiner Website reduzieren?',
28
+ answer: 'Hauptstrategien: Bilder optimieren (50-80 % des Gewichts), CSS und JavaScript minifizieren, Lazy Loading verwenden, Browser-Cache implementieren und ein CDN nutzen. Die Bildoptimierung ist normalerweise der wirkungsvollste Faktor.',
29
+ },
30
+ {
31
+ question: 'Beeinflusst die Ladegeschwindigkeit das Google-Ranking?',
32
+ answer: 'Ja, absolut. Google betrachtet Core Web Vitals als wichtige Rankingfaktoren. Eine langsamere Website wird schlechter gerankt als eine schnellere, selbst bei ähnlichem Inhalt.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Website-Gewicht eingeben', text: 'Verwenden Sie Browser-Entwicklertools oder WebPageTest, um das Gewicht Ihrer Seite zu ermitteln. Geben Sie diesen Wert in MB ein.' },
38
+ { name: 'Ladezeiten beobachten', text: 'Der Rechner zeigt an, wie viele Sekunden Ihre Website zum Laden bei 3G, 4G und 5G benötigt. Die realen Zeiten sind meist höher.' },
39
+ { name: 'Lebenszeitauswirkung verstehen', text: 'Der Prozentsatz der „Lebenszeit“ zeigt, wie viel Zeit jemand mit Warten verbringt. Nutzen Sie dies als Motivation zur Optimierung.' },
40
+ { name: 'Optimieren und neu berechnen', text: 'Messen Sie nach der Optimierung erneut und berechnen Sie neu. Sehen Sie, wie kleine Verbesserungen große Auswirkungen haben.' },
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: 'de',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'In Netzwerken verlorene Zeit',
74
+ labelWebSize: 'Website-Gewicht (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: 'REALISTISCHE BEISPIELE',
77
+ labelSpeed: 'Verbindungsgeschwindigkeit',
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: 'Wie oft pro Tag?',
85
+ resultTitle: 'Ergebnisse',
86
+ resultSingleLoad: 'Einzelner Ladevorgang',
87
+ resultDailyTotal: 'Täglich insgesamt',
88
+ resultTimePerYear: 'Wartezeit pro Jahr',
89
+ resultLifeYears: 'in Ihrem Leben',
90
+ resultMessage: 'Sie haben etwa 1 Jahr Lebenszeit verloren',
91
+ copyMessage: 'Kopiert',
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: 'Häufig gestellte Fragen',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Technische Ressourcen zur Web-Optimierung',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - Website-Geschwindigkeit analysieren', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - Web Performance', 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: 'Warum die Ladegeschwindigkeit von Websites kritisch ist', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Im heutigen digitalen Zeitalter ist die Ladegeschwindigkeit von Websites kein Luxus, sondern eine Notwendigkeit. Jede Millisekunde zählt, wenn es darum geht, Nutzer zu binden, das Suchranking zu verbessern und Conversions zu maximieren. Moderne Nutzer erwarten, dass Seiten in weniger als 3 Sekunden laden.',
118
+ },
119
+ { type: 'title', text: 'Auswirkung auf die Benutzererfahrung', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '53 % der mobilen Besucher verlassen eine Seite, wenn sie länger als 3 Sekunden zum Laden benötigt. Die Conversion-Raten sinken pro zusätzliche Sekunde Latenz um 7 %.',
123
+ },
124
+ { type: 'title', text: 'Verbindungsgeschwindigkeiten verstehen', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Mbps - Verbreitet in ländlichen Gebieten und Entwicklungsländern',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - Standard in Industrieländern',
130
+ '<strong>5G:</strong> 100+ Mbps - Wird schrittweise ausgebaut, noch begrenzt',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Strategien zur Reduzierung des Website-Gewichts', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Bildoptimierung:</strong> Macht 50-80 % des Gewichts aus. Reduzieren Sie es um 40-60 % mit Tools wie TinyPNG.',
138
+ '<strong>Minifizierung:</strong> Entfernen Sie unnötigen Code aus CSS und JavaScript. Sparen Sie 30-50 %.',
139
+ '<strong>Lazy Loading:</strong> Laden Sie Bilder erst, wenn Nutzer zu ihnen scrollen.',
140
+ '<strong>Browser-Cache:</strong> Statische Dateien im Browser des Nutzers zwischenspeichern.',
141
+ '<strong>CDN:</strong> Inhalte von geografisch nahegelegenen Servern bereitstellen.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Fazit: Jede Sekunde zählt', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Ihre Website ist oft der erste Eindruck, den Nutzer von Ihrer Marke haben. Eine langsame Website frustriert Nutzer und führt zu Geschäftsverlusten. Eine schnelle, reaktionsschnelle Website schafft eine positive Erfahrung und verbessert all Ihre Kennzahlen.',
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 = 'kalkulator-waktu-data-dampak-kecepatan-web';
6
+ const title = 'Kalkulator Waktu Data: Dampak Kecepatan Web';
7
+ const description = 'Temukan berapa banyak waktu hidup yang hilang dari pengguna Anda saat menunggu situs web Anda dimuat pada koneksi 3G, 4G, dan 5G. Hitung dampak nyata dari berat situs Anda.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Mengapa mengetahui waktu pemuatan situs web saya penting?',
12
+ answer: 'Karena ini berdampak langsung pada pengalaman pengguna, SEO, dan konversi. Google telah mendokumentasikan bahwa setiap detik penundaan mengurangi konversi sebesar 7%. Selain itu, 53% pengunjung seluler meninggalkan halaman yang membutuhkan waktu lebih dari 3 detik untuk memuat.',
13
+ },
14
+ {
15
+ question: 'Apa arti persentase kecil dari kehilangan waktu hidup tersebut?',
16
+ answer: 'Ini mewakili persentase dari total masa hidup seseorang (kurang lebih 80 tahun atau 2,5 miliar detik) yang dihabiskan untuk menunggu halaman Anda dimuat. Meskipun secara individual kecil, jika dikalikan dengan jutaan pengguna, ini mewakili jumlah waktu manusia yang terbuang sia-sia dalam jumlah besar.',
17
+ },
18
+ {
19
+ question: 'Berapakah kecepatan koneksi rata-rata di seluruh dunia?',
20
+ answer: '4G adalah standar di negara-negara maju. Namun, jutaan pengguna di negara-negara berkembang masih mengandalkan 3G. Inilah sebabnya mengapa sangat penting untuk mengoptimalkan situs Anda untuk semua kecepatan koneksi.',
21
+ },
22
+ {
23
+ question: 'Berapakah berat situs web saya seharusnya?',
24
+ answer: 'Google merekomendasikan agar beranda dimuat dalam waktu kurang dari 3 detik pada koneksi 4G pada umumnya. Untuk ini, sebuah situs idealnya memiliki berat antara 1-2 MB. Namun, rata-rata global mendekati 2-3 MB.',
25
+ },
26
+ {
27
+ question: 'Bagaimana cara mengurangi berat situs saya?',
28
+ answer: 'Strategi utama: mengoptimalkan gambar (50-80% dari berat), memperkecil CSS dan JavaScript, menggunakan lazy loading, mengimplementasikan cache browser, dan menggunakan CDN. Pengoptimalan gambar biasanya merupakan faktor yang paling berdampak.',
29
+ },
30
+ {
31
+ question: 'Apakah kecepatan pemuatan memengaruhi peringkat Google?',
32
+ answer: 'Ya, tentu saja. Google menganggap Core Web Vitals sebagai faktor peringkat yang penting. Situs yang lebih lambat akan memiliki peringkat yang lebih buruk daripada situs yang lebih cepat, bahkan dengan konten yang serupa.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Masukkan Berat Situs Anda', text: 'Gunakan alat pengembang browser atau WebPageTest untuk mendeteksi berat halaman Anda. Masukkan nilai tersebut dalam MB.' },
38
+ { name: 'Amati Waktu Pemuatan', text: 'Kalkulator menunjukkan berapa detik waktu yang dibutuhkan situs Anda untuk memuat di 3G, 4G, dan 5G. Waktu di dunia nyata biasanya lebih tinggi.' },
39
+ { name: 'Pahami Dampak Masa Hidup', text: 'Persentase "masa hidup" menunjukkan berapa banyak waktu hidup seseorang yang dihabiskan untuk menunggu. Gunakan ini sebagai motivasi untuk mengoptimalkan.' },
40
+ { name: 'Optimalkan dan Hitung Ulang', text: 'Setelah mengoptimalkan, ukur lagi dan hitung ulang. Lihat bagaimana peningkatan kecil memberikan dampak besar.' },
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: 'id',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'Waktu yang Hilang di Jaringan',
74
+ labelWebSize: 'Berat situs web (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: 'CONTOH REALISTIS',
77
+ labelSpeed: 'Kecepatan koneksi',
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: 'Berapa kali per hari?',
85
+ resultTitle: 'Hasil',
86
+ resultSingleLoad: 'Pemuatan tunggal',
87
+ resultDailyTotal: 'Total harian',
88
+ resultTimePerYear: 'per tahun menunggu',
89
+ resultLifeYears: 'dalam masa hidup Anda',
90
+ resultMessage: 'Anda telah kehilangan sekitar 1 tahun masa hidup',
91
+ copyMessage: 'Tersalin',
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: 'Pertanyaan yang Sering Diajukan',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Sumber Daya Teknis tentang Pengoptimalan Web',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - Analisis Kecepatan Situs Web', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - Performa Web', 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: 'Mengapa Kecepatan Pemuatan Situs Web itu Kritis', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Di era digital saat ini, kecepatan pemuatan situs web bukanlah kemewahan melainkan keharusan. Setiap milidetik sangat berarti dalam mempertahankan pengguna, meningkatkan peringkat pencarian, dan memaksimalkan konversi. Pengguna modern mengharapkan halaman dimuat dalam waktu kurang dari 3 detik.',
118
+ },
119
+ { type: 'title', text: 'Dampak pada Pengalaman Pengguna', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: '53% pengunjung seluler meninggalkan halaman jika memuat lebih dari 3 detik. Tingkat konversi turun 7% untuk setiap detik laten tambahan.',
123
+ },
124
+ { type: 'title', text: 'Memahami Kecepatan Koneksi', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Mbps - Umum di daerah pedesaan dan negara berkembang',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - Standar di negara maju',
130
+ '<strong>5G:</strong> 100+ Mbps - Berkembang secara bertahap, masih terbatas',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Strategi untuk Mengurangi Berat Situs', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Pengoptimalan Gambar:</strong> Mewakili 50-80% berat. Kurangi 40-60% dengan alat seperti TinyPNG.',
138
+ '<strong>Minifikasi:</strong> Hapus kode yang tidak perlu dari CSS dan JavaScript. Hemat 30-50%.',
139
+ '<strong>Lazy Loading:</strong> Muat gambar hanya saat pengguna menggulir ke arahnya.',
140
+ '<strong>Cache Browser:</strong> Cache file statis pada browser pengguna.',
141
+ '<strong>CDN:</strong> Sajikan konten dari server yang secara geografis dekat.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Kesimpulan: Setiap Detik Berarti', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Situs web Anda sering kali merupakan kesan pertama yang dimiliki pengguna tentang merek Anda. Situs yang lambat membuat pengguna frustrasi dan kehilangan bisnis. Situs yang cepat dan responsif menciptakan pengalaman positif dan meningkatkan semua metrik Anda.',
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 = 'calcolatore-tempo-dati-impatto-velocita-web';
6
+ const title = 'Calcolatore Tempo Dati: Impatto della Velocità Web';
7
+ const description = 'Scopri quanto tempo di vita perdono i tuoi utenti aspettando il caricamento del tuo sito web su connessioni 3G, 4G e 5G. Calcola l\'impatto reale del peso del tuo sito.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Perché è importante conoscere il tempo di caricamento del mio sito web?',
12
+ answer: 'Perché influisce direttamente sull\'esperienza utente, sulla SEO e sulle conversioni. Google ha documentato che ogni secondo di ritardo riduce le conversioni del 7%. Inoltre, il 53% dei visitatori da mobile abbandona una pagina che impiega più di 3 secondi per caricarsi.',
13
+ },
14
+ {
15
+ question: 'Cosa rappresentano quelle piccole percentuali di perdita di tempo di vita?',
16
+ answer: 'Rappresentano la percentuale del tempo totale della vita di una persona (circa 80 anni o 2,5 miliardi di secondi) trascorsa aspettando il caricamento della tua pagina. Anche se individualmente piccole, moltiplicate per milioni di utenti, rappresentano enormi quantità di tempo umano sprecato.',
17
+ },
18
+ {
19
+ question: 'Qual è la velocità media di connessione nel mondo?',
20
+ answer: 'Il 4G è lo standard nei paesi sviluppati. Tuttavia, milioni di utenti nei paesi in via di sviluppo si affidano ancora al 3G. Ecco perché è fondamentale ottimizzare il proprio sito per tutte le velocità di connessione.',
21
+ },
22
+ {
23
+ question: 'Quanto dovrebbe pesare il mio sito web?',
24
+ answer: 'Google raccomanda che la homepage si carichi in meno di 3 secondi su una tipica connessione 4G. Per questo, un sito dovrebbe idealmente pesare tra 1 e 2 MB. Tuttavia, la media globale è vicina ai 2-3 MB.',
25
+ },
26
+ {
27
+ question: 'Come posso ridurre il peso del mio sito?',
28
+ answer: 'Strategie principali: ottimizzare le immagini (50-80% del peso), minificare CSS e JavaScript, utilizzare il lazy loading, implementare la cache del browser e usare una CDN. L\'ottimizzazione delle immagini è solitamente il fattore di maggiore impatto.',
29
+ },
30
+ {
31
+ question: 'La velocità di caricamento influisce sul posizionamento su Google?',
32
+ answer: 'Sì, assolutamente. Google considera i Core Web Vitals come importanti fattori di ranking. Un sito più lento si posizionerà peggio di uno più veloce, anche a parità di contenuti.',
33
+ },
34
+ ];
35
+
36
+ const howToData = [
37
+ { name: 'Inserisci il peso del tuo sito', text: 'Usa gli strumenti per sviluppatori del browser o WebPageTest per trovare il peso della tua pagina. Inserisci quel valore in MB.' },
38
+ { name: 'Osserva i tempi di caricamento', text: 'Il calcolatore mostra quanti secondi impiega il tuo sito a caricarsi su 3G, 4G e 5G. I tempi reali sono solitamente più alti.' },
39
+ { name: 'Comprendi l\'impatto sulla vita', text: 'La percentuale "tempo di vita" mostra quanto tempo della vita di qualcuno viene trascorso aspettando. Usalo come motivazione per ottimizzare.' },
40
+ { name: 'Ottimizza e ricalcola', text: 'Dopo l\'ottimizzazione, misura di nuovo e ricalcola. Guarda come i piccoli miglioramenti hanno un grande impatto.' },
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: 'it',
70
+ };
71
+
72
+ const ui: CalculadoraTiempoDatosUI = {
73
+ headerTitle: 'Tempo perso nelle reti',
74
+ labelWebSize: 'Peso del sito web (MB)',
75
+ unit: 'MB',
76
+ presetsLabel: 'ESEMPI REALISTICI',
77
+ labelSpeed: 'Velocità di connessione',
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: 'Quante volte al giorno?',
85
+ resultTitle: 'Risultati',
86
+ resultSingleLoad: 'Singolo caricamento',
87
+ resultDailyTotal: 'Totale giornaliero',
88
+ resultTimePerYear: 'all\'anno in attesa',
89
+ resultLifeYears: 'nella tua vita',
90
+ resultMessage: 'Hai perso circa 1 anno di vita',
91
+ copyMessage: 'Copiato',
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: 'Domande Frequenti',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Risorse tecniche sull\'ottimizzazione web',
105
+ bibliography: [
106
+ { name: 'Google PageSpeed Insights', url: 'https://pagespeed.web.dev/' },
107
+ { name: 'WebPageTest - Analizza la velocità del sito web', url: 'https://www.webpagetest.org/' },
108
+ { name: 'Web.dev - Core Web Vitals', url: 'https://web.dev/vitals/' },
109
+ { name: 'MDN - Prestazioni Web', 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: 'Perché la velocità di caricamento del sito web è fondamentale', level: 2 },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Nell\'era digitale odierna, la velocità di caricamento del sito web non è un lusso ma una necessità. Ogni millisecondo conta per trattenere gli utenti, migliorare il posizionamento nei motori di ricerca e massimizzare le conversioni. Gli utenti moderni si aspettano che le pagine si carichino in meno di 3 secondi.',
118
+ },
119
+ { type: 'title', text: 'Impatto sull\'esperienza utente', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Il 53% dei visitatori da mobile abbandona una pagina se impiega più di 3 secondi per caricarsi. I tassi di conversione calano del 7% per ogni secondo aggiuntivo di latenza.',
123
+ },
124
+ { type: 'title', text: 'Comprendere le velocità di connessione', level: 3 },
125
+ {
126
+ type: 'list',
127
+ items: [
128
+ '<strong>3G:</strong> 0,4 Mbps - Comune nelle aree rurali e nei paesi in via di sviluppo',
129
+ '<strong>4G/LTE:</strong> 10 Mbps - Standard nei paesi sviluppati',
130
+ '<strong>5G:</strong> 100+ Mbps - In graduale espansione, ancora limitato',
131
+ ],
132
+ },
133
+ { type: 'title', text: 'Strategie per ridurre il peso del sito', level: 3 },
134
+ {
135
+ type: 'list',
136
+ items: [
137
+ '<strong>Ottimizzazione delle immagini:</strong> rappresenta il 50-80% del peso. Riducilo del 40-60% con strumenti come TinyPNG.',
138
+ '<strong>Minificazione:</strong> rimuovi il codice non necessario da CSS e JavaScript. Risparmia il 30-50%.',
139
+ '<strong>Lazy Loading:</strong> carica le immagini solo quando gli utenti vi scorrono sopra.',
140
+ '<strong>Cache del browser:</strong> memorizza i file statici nei browser degli utenti.',
141
+ '<strong>CDN:</strong> servi i contenuti da server geograficamente vicini.',
142
+ ],
143
+ },
144
+ { type: 'title', text: 'Conclusione: ogni secondo conta', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'Il tuo sito web è spesso la prima impressione che gli utenti hanno del tuo brand. Un sito lento frustra gli utenti e fa perdere affari. Un sito veloce e reattivo crea un\'esperienza positiva e migliora tutte le tue metriche.',
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の資料によると、1秒の遅延ごとにコンバージョンが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〜2MBに抑えるのが理想的です。しかし、世界平均は2〜3MBに近いです。',
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: 'ja',
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: '1日何回アクセスしますか?',
85
+ resultTitle: '結果',
86
+ resultSingleLoad: '1回の読み込み',
87
+ resultDailyTotal: '1日の合計',
88
+ resultTimePerYear: '1年間の待ち時間',
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/ja/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: '今日のデジタル時代において、ウェブサイトの読み込み速度は贅沢品ではなく必需品です。ユーザーをつなぎ留め、検索順位を上げ、コンバージョンを最大化するために、1ミリ秒の差が重要になります。現代のユーザーは、ページが3秒以内に読み込まれることを期待しています。',
118
+ },
119
+ { type: 'title', text: 'ユーザーエクスペリエンスへの影響', level: 3 },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'モバイル訪問者の53%は、読み込みに3秒以上かかるとページを離脱します。コンバージョン率は、遅延が1秒増えるごとに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>遅延読み込み(Lazy Loading):</strong>ユーザーがスクロールして表示されるまで画像を読み込みません。',
140
+ '<strong>ブラウザキャッシュ:</strong>静的ファイルをユーザーのブラウザにキャッシュします。',
141
+ '<strong>CDN:</strong>地理的に近いサーバーからコンテンツを配信します。',
142
+ ],
143
+ },
144
+ { type: 'title', text: '結論:1秒の重み', level: 2 },
145
+ {
146
+ type: 'paragraph',
147
+ html: 'ウェブサイトは、ユーザーがブランドに対して抱く第一印象となることが多いです。遅いサイトはユーザーを失望させ、ビジネスチャンスを逃します。速くレスポンスの良いサイトは、ポジティブな体験を生み出し、あらゆる指標を向上させます。',
148
+ },
149
+ ],
150
+ };
151
+