@jjlmoya/utils-developer 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +34 -0
  3. package/src/category/i18n/id.ts +34 -0
  4. package/src/category/i18n/it.ts +34 -0
  5. package/src/category/i18n/ja.ts +34 -0
  6. package/src/category/i18n/ko.ts +34 -0
  7. package/src/category/i18n/nl.ts +34 -0
  8. package/src/category/i18n/pl.ts +34 -0
  9. package/src/category/i18n/pt.ts +34 -0
  10. package/src/category/i18n/ru.ts +34 -0
  11. package/src/category/i18n/sv.ts +34 -0
  12. package/src/category/i18n/tr.ts +34 -0
  13. package/src/category/i18n/zh.ts +34 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/index.ts +12 -0
  16. package/src/tests/faq_count.test.ts +1 -1
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/locale_completeness.test.ts +2 -2
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  23. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  26. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  31. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  32. package/src/tool/aspectRatio/index.ts +15 -7
  33. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  44. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  45. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  46. package/src/tool/colorConverter/i18n/de.ts +126 -0
  47. package/src/tool/colorConverter/i18n/id.ts +126 -0
  48. package/src/tool/colorConverter/i18n/it.ts +126 -0
  49. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  50. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  51. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  53. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  54. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  55. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  56. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  57. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  58. package/src/tool/colorConverter/index.ts +15 -7
  59. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  70. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  71. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  72. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  73. package/src/tool/cronGenerator/i18n/es.ts +2 -1
  74. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  75. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  85. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  86. package/src/tool/cronGenerator/index.ts +15 -7
  87. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  98. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  99. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  100. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  103. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  105. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  111. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  112. package/src/tool/cssToInlineConverter/index.ts +15 -7
  113. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  116. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  118. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  124. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  125. package/src/tool/duplicateCssRemover/index.ts +15 -7
  126. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  138. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  139. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  141. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  142. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  145. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  147. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  149. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  150. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  151. package/src/tool/hashGenerator/index.ts +15 -7
  152. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  164. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  165. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  166. package/src/tool/jsonFormatter/i18n/es.ts +2 -1
  167. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  168. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  169. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  170. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  173. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  175. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  178. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  179. package/src/tool/jsonFormatter/index.ts +15 -7
  180. package/src/tool/keycode/i18n/de.ts +161 -0
  181. package/src/tool/keycode/i18n/es.ts +2 -1
  182. package/src/tool/keycode/i18n/fr.ts +2 -1
  183. package/src/tool/keycode/i18n/id.ts +161 -0
  184. package/src/tool/keycode/i18n/it.ts +161 -0
  185. package/src/tool/keycode/i18n/ja.ts +161 -0
  186. package/src/tool/keycode/i18n/ko.ts +161 -0
  187. package/src/tool/keycode/i18n/nl.ts +161 -0
  188. package/src/tool/keycode/i18n/pl.ts +161 -0
  189. package/src/tool/keycode/i18n/pt.ts +160 -0
  190. package/src/tool/keycode/i18n/ru.ts +160 -0
  191. package/src/tool/keycode/i18n/sv.ts +160 -0
  192. package/src/tool/keycode/i18n/tr.ts +160 -0
  193. package/src/tool/keycode/i18n/zh.ts +161 -0
  194. package/src/tool/keycode/index.ts +15 -7
  195. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  196. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  197. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  202. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  207. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  208. package/src/tool/llmCostCalculator/index.ts +24 -0
  209. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  214. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  216. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  220. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  221. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  222. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  225. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  227. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  229. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  230. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  231. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  233. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  234. package/src/tool/musicalTypography/index.ts +15 -7
  235. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  238. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  240. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  246. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  247. package/src/tool/placeholderGenerator/index.ts +24 -0
  248. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  251. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  253. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  254. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  255. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  257. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  259. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  260. package/src/tool/promptLibrary/index.ts +24 -0
  261. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  264. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  266. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  267. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  268. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  270. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  272. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  273. package/src/tool/readabilityCalculator/index.ts +24 -0
  274. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  277. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  279. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  281. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  282. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  285. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  286. package/src/tool/svgSanitizer/index.ts +24 -0
  287. package/src/tool/svgToCss/i18n/de.ts +174 -0
  288. package/src/tool/svgToCss/i18n/id.ts +174 -0
  289. package/src/tool/svgToCss/i18n/it.ts +174 -0
  290. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  291. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  292. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  294. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  295. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  296. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  297. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  298. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  299. package/src/tool/svgToCss/index.ts +15 -7
  300. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  303. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  305. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  306. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  307. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  311. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  312. package/src/tool/urlCleaner/index.ts +24 -0
  313. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  321. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  323. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  324. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  325. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  326. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  332. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  333. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  336. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  337. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  338. package/src/tool/utmGenerator/index.ts +15 -7
  339. package/src/types.ts +1 -2
@@ -0,0 +1,31 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MobileMockupGeneratorUI } from '../ui';
4
+
5
+ const slug = 'generator-makiety-mobilne-aplikacji';
6
+ const title = 'Generator Makiet Mobilnych dla App Store. iPhone i Google Pixel';
7
+ const description = 'Twórz profesjonalne prezentacje dla App Store i Google Play. Makiety iPhone i Pixel z niestandardowymi tłami, układami panoramicznymi i masowym eksportem w wysokiej rozdzielczości.';
8
+
9
+ const faqData = [
10
+ { question: 'Czy te zrzuty ekranu są ważne dla App Store i Google Play?', answer: 'Tak, wygenerowane obrazy spełniają wymagania proporcji i jakości sklepów aplikacji. Wystarczy wybrać właściwe urządzenie (iPhone dla iOS, Pixel dla Androida) przed eksportowaniem.' },
11
+ { question: 'Czy mogę używać niestandardowych teł?', answer: 'Oczywiście. Oprócz naszej biblioteki gradientów premium możesz przesłać dowolny obraz ze swojego komputera, aby służył jako środowisko tła dla twoich makiet.' },
12
+ { question: 'Czy jest darmowe do użytku komercyjnego?', answer: 'Tak, możesz używać wygenerowanych makiet do projektów komercyjnych, portfeli lub prezentacji bez opłat i bez znaków wodnych.' },
13
+ { question: 'Czy moje zrzuty ekranu są zapisywane na jakimś serwerze?', answer: 'Nie. Generator działa 100% lokalnie w Twojej przeglądarce. Twoje prywatne obrazy nigdy nie opuszczają Twojego komputera.' },
14
+ ];
15
+
16
+ const howToData = [
17
+ { name: 'Przesyłaj zrzuty ekranu', text: 'Przeciągnij lub wybierz zrzuty ekranu Twojej aplikacji mobilnej, którą chcesz zaprezentować.' },
18
+ { name: 'Wybierz urządzenie', text: 'Wybierz model smartfona (iPhone 15 Pro Max lub Google Pixel 8) zgodnie z docelowym sklepem.' },
19
+ { name: 'Dostosuj środowisko', text: 'Dostosuj tło, kąt urządzenia, dodaj tekst marketingowy i wybierz układ kompozycji.' },
20
+ { name: 'Pobierz w HD', text: 'Eksportuj wszystkie wyniki w formacie WebP wysokiej rozdzielczości gotowym do przesłania do sklepu aplikacji.' },
21
+ ];
22
+
23
+ const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
24
+ const howToSchema: WithContext<HowToThing> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })) };
25
+ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'DesignApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' }, inLanguage: 'pl' };
26
+
27
+ const ui: MobileMockupGeneratorUI = {
28
+ labelUpload: 'Przesyłaj Zrzuty Ekranu', dropHint: 'Przeciągnij tutaj swoje obrazy', dropFormats: 'PNG, JPG lub WEBP', btnMassReplace: 'Masowa Zamiana (Batch)', massReplaceHint: 'Zastępuje bieżące obrazy, zachowując ustawienia i tekst. Idealne do szybkich iteracji.', labelSettings: 'Ustawienia Globalne', labelDevice: 'Urządzenie', labelFont: 'Typografia', labelBackground: 'Tło', titleSwapColors: 'Zamień kolory', labelAngle: 'Kąt', labelSafeArea: 'Bezpieczny Obszar (Góra/Dół)', labelSafeAreaColor: 'Kolor obszaru', emptyTitle: 'Brak obrazów', emptySubtitle: 'Przesyłaj swoje zrzuty ekranu, aby zacząć projektowanie', btnClearAll: 'Wyczyść Kanwę', btnExport: 'Eksportuj Wszystko (.zip)', cardTitleDuplicate: 'Duplikuj Scenę', cardTitleReplace: 'Zastąp Bieżący Zrzut Ekranu', cardSectionLayouts: 'Główne Układy', cardSectionBranding: 'Branding i Kopia', cardTitleResetText: 'Resetuj Tekst', cardLabelColor: 'Kolor', cardTextPlaceholder: 'Wpisz swoją kopię tutaj...', cardSectionDevice: 'Układ Urządzenia', cardTitleResetDevice: 'Resetuj Pozycję', cardSectionScene: 'Właściwości i Tło', cardBtnSpecialBg: 'Specjalne Tło', cardBtnDeleteScene: 'Usuń Scenę', cardRangeLabelSize: 'Rozmiar', cardRangeLabelX: 'Oś X', cardRangeLabelY: 'Oś Y', cardRangeLabelRotation: 'Rotacja', cardRangeLabelScale: 'Skala', presetClassic: 'Klasyczne', presetMobileBottom: 'Dół Mobilny', presetMobileTop: 'Góra Mobilna', presetFocus: 'Fokus', presetDynamic: 'Dynamiczne', presetSplitLeft: 'Podziel Lewo', presetSplitRight: 'Podziel Prawo', presetImageLeft: 'Obraz Lewo', presetImageRight: 'Obraz Prawo', confirmClear: 'Czy na pewno chcesz usunąć wszystkie makiet?', processingExport: 'Przetwarzanie...', exportDone: 'Gotowe!',
29
+ };
30
+
31
+ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = { slug, title, description, ui, faqTitle: 'Często Zadawane Pytania', faq: faqData, bibliographyTitle: 'Referencje', bibliography: [{ name: 'Wymagania dotyczące zrzutów ekranu Apple App Store', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' }, { name: 'Wymagania dotyczące zrzutów ekranu Google Play', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' }], howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: 'Podnieś swoje zrzuty ekranu na wyższy poziom', level: 2 }, { type: 'paragraph', html: 'Nie ograniczaj się do płaskich zrzutów ekranu. Nasze narzędzie do makiet pozwala programistom i projektantom tworzyć efektowne zasoby wizualne bez potrzeby Photoshopa czy Figmy.' }, { type: 'title', text: 'Moc z Głównymi Układami', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: 'App Store i Google Play', html: '<p>Optymalizuj swoją stopę konwersji. Makiety iPhone 15 Pro Max i Pixel 8 to światowy standard listy sklepów aplikacji.</p>' }, { type: 'card', title: 'Pitch Decks i Marketing', html: '<p>Zaprezentuj swoje pomysły z władzą. Idealne dla prezentacji inwestorów, kampanii mediów społecznych i profesjonalnych portfeli projektowania UI/UX.</p>' }, { type: 'title', text: 'Profesjonalny przepływ pracy', level: 3 }, { type: 'tip', html: 'Używaj presetów "Podziel Lewo" i "Podziel Prawo", aby tworzyć ciągłe makiet, które przesuwają się z jednego obrazu do drugiego w karuzeli Instagrama lub zrzutach ekranu App Store.' }] };
@@ -0,0 +1,121 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MobileMockupGeneratorUI } from '../ui';
4
+
5
+ const slug = 'gerador-mockup-mobile';
6
+ const title = 'Gerador de Mockups Mobile para App Store. iPhone e Google Pixel';
7
+ const description = 'Crie apresentações profissionais para App Store e Google Play. Mockups de iPhone e Pixel com fundos personalizados, layouts panorâmicos e exportação em alta resolução.';
8
+
9
+ const faqData = [
10
+ { question: 'Essas screenshots são válidas para App Store e Google Play?', answer: 'Sim, as imagens geradas atendem aos requisitos de proporção e qualidade das lojas de aplicativos. Basta escolher o dispositivo correto (iPhone para iOS, Pixel para Android) antes de exportar.' },
11
+ { question: 'Posso usar meus próprios fundos personalizados?', answer: 'Absolutamente. Além de nossa biblioteca premium de gradientes, você pode fazer upload de qualquer imagem do seu computador para servir como fundo ambiente para seus mockups.' },
12
+ { question: 'É grátis para uso comercial?', answer: 'Sim, você pode usar os mockups gerados para projetos comerciais, portfólios ou apresentações sem custo e sem marcas d\'água.' },
13
+ { question: 'Minhas screenshots são salvas em algum servidor?', answer: 'Não. O gerador funciona 100% localmente em seu navegador. Suas imagens privadas nunca deixam seu computador.' },
14
+ ];
15
+
16
+ const howToData = [
17
+ { name: 'Envie screenshots', text: 'Arraste ou selecione as screenshots do seu aplicativo móvel que deseja apresentar.' },
18
+ { name: 'Escolha dispositivo', text: 'Selecione o modelo de smartphone (iPhone 15 Pro Max ou Google Pixel 8) conforme a loja de destino.' },
19
+ { name: 'Personalize ambiente', text: 'Ajuste o fundo, ângulo do dispositivo, adicione texto de marketing e escolha o layout de composição.' },
20
+ { name: 'Download em HD', text: 'Exporte todos os resultados em formato WebP de alta resolução pronto para upload na loja de aplicativos.' },
21
+ ];
22
+
23
+ const faqSchema: WithContext<FAQPage> = {
24
+ '@context': 'https://schema.org',
25
+ '@type': 'FAQPage',
26
+ mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
27
+ };
28
+
29
+ const howToSchema: WithContext<HowToThing> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'HowTo',
32
+ name: title,
33
+ description,
34
+ step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
35
+ };
36
+
37
+ const appSchema: WithContext<SoftwareApplication> = {
38
+ '@context': 'https://schema.org',
39
+ '@type': 'SoftwareApplication',
40
+ name: title,
41
+ description,
42
+ applicationCategory: 'DesignApplication',
43
+ operatingSystem: 'All',
44
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
45
+ inLanguage: 'pt',
46
+ };
47
+
48
+ const ui: MobileMockupGeneratorUI = {
49
+ labelUpload: 'Enviar Screenshots',
50
+ dropHint: 'Arraste suas imagens aqui',
51
+ dropFormats: 'PNG, JPG ou WEBP',
52
+ btnMassReplace: 'Substituição em Massa (Lote)',
53
+ massReplaceHint: 'Substitui as imagens atuais mantendo presets e texto. Ideal para iterações rápidas.',
54
+ labelSettings: 'Configurações Globais',
55
+ labelDevice: 'Dispositivo',
56
+ labelFont: 'Tipografia',
57
+ labelBackground: 'Fundo',
58
+ titleSwapColors: 'Trocar cores',
59
+ labelAngle: 'Ângulo',
60
+ labelSafeArea: 'Área Segura (Superior/Inferior)',
61
+ labelSafeAreaColor: 'Cor da área',
62
+ emptyTitle: 'Nenhuma imagem ainda',
63
+ emptySubtitle: 'Envie suas screenshots para começar a projetar',
64
+ btnClearAll: 'Limpar Canvas',
65
+ btnExport: 'Exportar Tudo (.zip)',
66
+ cardTitleDuplicate: 'Duplicar Cena',
67
+ cardTitleReplace: 'Substituir Screenshot Atual',
68
+ cardSectionLayouts: 'Layouts Principais',
69
+ cardSectionBranding: 'Marca e Texto',
70
+ cardTitleResetText: 'Redefinir Texto',
71
+ cardLabelColor: 'Cor',
72
+ cardTextPlaceholder: 'Escreva seu texto aqui...',
73
+ cardSectionDevice: 'Layout do Dispositivo',
74
+ cardTitleResetDevice: 'Redefinir Posição',
75
+ cardSectionScene: 'Props e Fundo',
76
+ cardBtnSpecialBg: 'Fundo Especial',
77
+ cardBtnDeleteScene: 'Deletar Cena',
78
+ cardRangeLabelSize: 'Tamanho',
79
+ cardRangeLabelX: 'Eixo X',
80
+ cardRangeLabelY: 'Eixo Y',
81
+ cardRangeLabelRotation: 'Rotação',
82
+ cardRangeLabelScale: 'Escala',
83
+ presetClassic: 'Clássico',
84
+ presetMobileBottom: 'Mobile Inferior',
85
+ presetMobileTop: 'Mobile Superior',
86
+ presetFocus: 'Foco',
87
+ presetDynamic: 'Dinâmico',
88
+ presetSplitLeft: 'Divisão Esquerda',
89
+ presetSplitRight: 'Divisão Direita',
90
+ presetImageLeft: 'Imagem Esquerda',
91
+ presetImageRight: 'Imagem Direita',
92
+ confirmClear: 'Tem certeza de que deseja deletar todos os mockups?',
93
+ processingExport: 'Processando...',
94
+ exportDone: 'Pronto!',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Perguntas Frequentes',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Referências',
105
+ bibliography: [
106
+ { name: 'Requisitos de Screenshot da Apple App Store', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
107
+ { name: 'Requisitos de Screenshot do Google Play', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
108
+ ],
109
+ howTo: howToData,
110
+ schemas: [faqSchema, howToSchema, appSchema],
111
+ seo: [
112
+ { type: 'title', text: 'Eleve suas screenshots para o próximo nível', level: 2 },
113
+ { type: 'paragraph', html: 'Não se limite a screenshots simples. Nossa ferramenta de mockup permite que desenvolvedores e designers criem ativos visuais de alto impacto sem precisar de Photoshop ou Figma.' },
114
+ { type: 'title', text: 'Poder com Layouts Principais', level: 3 },
115
+ { type: 'grid', columns: 2 },
116
+ { type: 'card', title: 'App Store e Google Play', html: '<p>Otimize sua taxa de conversão. Mockups de iPhone 15 Pro Max e Pixel 8 são o padrão mundial para listagens de lojas de aplicativos.</p>' },
117
+ { type: 'card', title: 'Pitch Decks e Marketing', html: '<p>Apresente suas ideias com autoridade. Perfeito para apresentações de investidores, campanhas de mídia social e portfólios profissionais de design UI/UX.</p>' },
118
+ { type: 'title', text: 'Fluxo de trabalho profissional', level: 3 },
119
+ { type: 'tip', html: 'Use os presets "Divisão Esquerda" e "Divisão Direita" para criar mockups contínuos que deslizam de uma imagem para outra em carrosséis do Instagram ou screenshots da App Store.' },
120
+ ],
121
+ };
@@ -0,0 +1,121 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MobileMockupGeneratorUI } from '../ui';
4
+
5
+ const slug = 'generator-mobilnykh-maketov';
6
+ const title = 'Генератор Мобильных Макетов для App Store. iPhone и Google Pixel';
7
+ const description = 'Создавайте профессиональные презентации для App Store и Google Play. Макеты iPhone и Pixel с пользовательскими фонами, панорамными макетами и массовым экспортом высокого разрешения.';
8
+
9
+ const faqData = [
10
+ { question: 'Эти скриншоты действительны для App Store и Google Play?', answer: 'Да, созданные изображения соответствуют требованиям пропорций и качества магазинов приложений. Просто выберите правильное устройство (iPhone для iOS, Pixel для Android) перед экспортом.' },
11
+ { question: 'Могу ли я использовать свои собственные пользовательские фоны?', answer: 'Конечно. Помимо нашей премиум-библиотеки градиентов, вы можете загрузить любое изображение с вашего компьютера в качестве фона окружения для ваших макетов.' },
12
+ { question: 'Это бесплатно для коммерческого использования?', answer: 'Да, вы можете использовать созданные макеты для коммерческих проектов, портфолио или презентаций без затрат и без водяных знаков.' },
13
+ { question: 'Мои скриншоты сохраняются на каком-либо сервере?', answer: 'Нет. Генератор работает 100% локально в вашем браузере. Ваши частные изображения никогда не покидают ваш компьютер.' },
14
+ ];
15
+
16
+ const howToData = [
17
+ { name: 'Загрузите скриншоты', text: 'Перетащите или выберите скриншоты вашего мобильного приложения, которые вы хотите представить.' },
18
+ { name: 'Выберите устройство', text: 'Выберите модель смартфона (iPhone 15 Pro Max или Google Pixel 8) в соответствии с целевым магазином.' },
19
+ { name: 'Настройте окружение', text: 'Отрегулируйте фон, угол устройства, добавьте текст маркетинга и выберите макет композиции.' },
20
+ { name: 'Загрузите в HD', text: 'Экспортируйте все результаты в формате WebP высокого разрешения, готовые для загрузки в магазин приложений.' },
21
+ ];
22
+
23
+ const faqSchema: WithContext<FAQPage> = {
24
+ '@context': 'https://schema.org',
25
+ '@type': 'FAQPage',
26
+ mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
27
+ };
28
+
29
+ const howToSchema: WithContext<HowToThing> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'HowTo',
32
+ name: title,
33
+ description,
34
+ step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
35
+ };
36
+
37
+ const appSchema: WithContext<SoftwareApplication> = {
38
+ '@context': 'https://schema.org',
39
+ '@type': 'SoftwareApplication',
40
+ name: title,
41
+ description,
42
+ applicationCategory: 'DesignApplication',
43
+ operatingSystem: 'All',
44
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
45
+ inLanguage: 'ru',
46
+ };
47
+
48
+ const ui: MobileMockupGeneratorUI = {
49
+ labelUpload: 'Загрузить Скриншоты',
50
+ dropHint: 'Перетащите ваши изображения сюда',
51
+ dropFormats: 'PNG, JPG или WEBP',
52
+ btnMassReplace: 'Массовая Замена (Пакет)',
53
+ massReplaceHint: 'Заменяет текущие изображения, сохраняя ваши предустановки и текст. Идеально для быстрых итераций.',
54
+ labelSettings: 'Глобальные Параметры',
55
+ labelDevice: 'Устройство',
56
+ labelFont: 'Типографика',
57
+ labelBackground: 'Фон',
58
+ titleSwapColors: 'Поменять цвета',
59
+ labelAngle: 'Угол',
60
+ labelSafeArea: 'Безопасная Зона (Верх/Низ)',
61
+ labelSafeAreaColor: 'Цвет зоны',
62
+ emptyTitle: 'Изображений еще нет',
63
+ emptySubtitle: 'Загрузите ваши скриншоты для начала проектирования',
64
+ btnClearAll: 'Очистить Canvas',
65
+ btnExport: 'Экспортировать Все (.zip)',
66
+ cardTitleDuplicate: 'Дублировать Сцену',
67
+ cardTitleReplace: 'Заменить Текущий Скриншот',
68
+ cardSectionLayouts: 'Главные Макеты',
69
+ cardSectionBranding: 'Брендинг и Копия',
70
+ cardTitleResetText: 'Сбросить Текст',
71
+ cardLabelColor: 'Цвет',
72
+ cardTextPlaceholder: 'Напишите текст здесь...',
73
+ cardSectionDevice: 'Макет Устройства',
74
+ cardTitleResetDevice: 'Сбросить Позицию',
75
+ cardSectionScene: 'Реквизит и Фон',
76
+ cardBtnSpecialBg: 'Специальный Фон',
77
+ cardBtnDeleteScene: 'Удалить Сцену',
78
+ cardRangeLabelSize: 'Размер',
79
+ cardRangeLabelX: 'Ось X',
80
+ cardRangeLabelY: 'Ось Y',
81
+ cardRangeLabelRotation: 'Вращение',
82
+ cardRangeLabelScale: 'Масштаб',
83
+ presetClassic: 'Классический',
84
+ presetMobileBottom: 'Мобильный Низ',
85
+ presetMobileTop: 'Мобильный Верх',
86
+ presetFocus: 'Фокус',
87
+ presetDynamic: 'Динамический',
88
+ presetSplitLeft: 'Разделение Слева',
89
+ presetSplitRight: 'Разделение Справа',
90
+ presetImageLeft: 'Изображение Слева',
91
+ presetImageRight: 'Изображение Справа',
92
+ confirmClear: 'Вы уверены, что хотите удалить все макеты?',
93
+ processingExport: 'Обработка...',
94
+ exportDone: 'Готово!',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Часто Задаваемые Вопросы',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Справки',
105
+ bibliography: [
106
+ { name: 'Требования к скриншотам Apple App Store', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
107
+ { name: 'Требования к скриншотам Google Play', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
108
+ ],
109
+ howTo: howToData,
110
+ schemas: [faqSchema, howToSchema, appSchema],
111
+ seo: [
112
+ { type: 'title', text: 'Поднимите ваши скриншоты на следующий уровень', level: 2 },
113
+ { type: 'paragraph', html: 'Не ограничивайте себя простыми скриншотами. Наш инструмент макета позволяет разработчикам и дизайнерам создавать высокоударные визуальные активы без необходимости Photoshop или Figma.' },
114
+ { type: 'title', text: 'Мощь главных макетов', level: 3 },
115
+ { type: 'grid', columns: 2 },
116
+ { type: 'card', title: 'App Store и Google Play', html: '<p>Оптимизируйте коэффициент конверсии. Макеты iPhone 15 Pro Max и Pixel 8 - мировой стандарт для листинга магазинов приложений.</p>' },
117
+ { type: 'card', title: 'Pitch Decks и Маркетинг', html: '<p>Представьте свои идеи с авторитетом. Идеально для презентаций инвесторов, кампаний социальных сетей и профессиональных портфолио UI/UX дизайна.</p>' },
118
+ { type: 'title', text: 'Профессиональный рабочий процесс', level: 3 },
119
+ { type: 'tip', html: 'Используйте предустановки "Разделение слева" и "Разделение справа" для создания непрерывных макетов, которые скользят от одного изображения к другому в карусялях Instagram или скриншотах App Store.' },
120
+ ],
121
+ };
@@ -0,0 +1,121 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MobileMockupGeneratorUI } from '../ui';
4
+
5
+ const slug = 'mobil-mockup-generator';
6
+ const title = 'Mobil Mockup Generator för App Store. iPhone och Google Pixel';
7
+ const description = 'Skapa professionella presentationer för App Store och Google Play. iPhone och Pixel mockups med anpassade bakgrunder, panoramalayouter och export i höga upplösningar.';
8
+
9
+ const faqData = [
10
+ { question: 'Är dessa skärmbilder giltiga för App Store och Google Play?', answer: 'Ja, de genererade bilderna uppfyller proportions- och kvalitetskraven för appbutikerna. Välj bara rätt enhet (iPhone för iOS, Pixel för Android) innan du exporterar.' },
11
+ { question: 'Kan jag använda mina egna anpassade bakgrunder?', answer: 'Helt enkelt. Förutom våra premium-gradienter kan du ladda upp vilken bild som helst från din dator för att fungera som bakgrundsmiljö för dina mockups.' },
12
+ { question: 'Är det gratis för kommersiell användning?', answer: 'Ja, du kan använda de genererade mockups för kommersiella projekt, portföljer eller presentationer utan kostnad och utan vattenstämplar.' },
13
+ { question: 'Sparas mina skärmbilder på någon server?', answer: 'Nej. Generatorn fungerar 100% lokalt i din webbläsare. Dina privata bilder lämnar aldrig din dator.' },
14
+ ];
15
+
16
+ const howToData = [
17
+ { name: 'Ladda upp skärmbilder', text: 'Dra eller välj skärmbilderna från din mobilapp som du vill presentera.' },
18
+ { name: 'Välj enhet', text: 'Välj smartphonemodell (iPhone 15 Pro Max eller Google Pixel 8) enligt målbutik.' },
19
+ { name: 'Anpassa miljö', text: 'Justera bakgrund, enhetvinkel, lägg till marknadsföringstext och välj kompositionslayout.' },
20
+ { name: 'Ladda ned i HD', text: 'Exportera alla resultat i WebP-format med höga upplösningar, klara för app store-uppladdning.' },
21
+ ];
22
+
23
+ const faqSchema: WithContext<FAQPage> = {
24
+ '@context': 'https://schema.org',
25
+ '@type': 'FAQPage',
26
+ mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
27
+ };
28
+
29
+ const howToSchema: WithContext<HowToThing> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'HowTo',
32
+ name: title,
33
+ description,
34
+ step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
35
+ };
36
+
37
+ const appSchema: WithContext<SoftwareApplication> = {
38
+ '@context': 'https://schema.org',
39
+ '@type': 'SoftwareApplication',
40
+ name: title,
41
+ description,
42
+ applicationCategory: 'DesignApplication',
43
+ operatingSystem: 'All',
44
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
45
+ inLanguage: 'sv',
46
+ };
47
+
48
+ const ui: MobileMockupGeneratorUI = {
49
+ labelUpload: 'Ladda upp Skärmbilder',
50
+ dropHint: 'Dra dina bilder här',
51
+ dropFormats: 'PNG, JPG eller WEBP',
52
+ btnMassReplace: 'Massbyte (Batch)',
53
+ massReplaceHint: 'Ersätter aktuella bilder samtidigt som du behåller dina förinställningar och text. Perfekt för snabba iterationer.',
54
+ labelSettings: 'Globala Inställningar',
55
+ labelDevice: 'Enhet',
56
+ labelFont: 'Typografi',
57
+ labelBackground: 'Bakgrund',
58
+ titleSwapColors: 'Byt färger',
59
+ labelAngle: 'Vinkel',
60
+ labelSafeArea: 'Säker Zon (Övre/Nedre)',
61
+ labelSafeAreaColor: 'Zonfärg',
62
+ emptyTitle: 'Inga bilder ännu',
63
+ emptySubtitle: 'Ladda upp dina skärmbilder för att börja designa',
64
+ btnClearAll: 'Rensa Canvas',
65
+ btnExport: 'Exportera Allt (.zip)',
66
+ cardTitleDuplicate: 'Duplicera Scen',
67
+ cardTitleReplace: 'Ersätt Aktuell Skärmbilds',
68
+ cardSectionLayouts: 'Huvudlayouter',
69
+ cardSectionBranding: 'Varumärke och Text',
70
+ cardTitleResetText: 'Återställ Text',
71
+ cardLabelColor: 'Färg',
72
+ cardTextPlaceholder: 'Skriv din text här...',
73
+ cardSectionDevice: 'Enhetslayout',
74
+ cardTitleResetDevice: 'Återställ Position',
75
+ cardSectionScene: 'Rekvisita och Bakgrund',
76
+ cardBtnSpecialBg: 'Speciell Bakgrund',
77
+ cardBtnDeleteScene: 'Ta bort Scen',
78
+ cardRangeLabelSize: 'Storlek',
79
+ cardRangeLabelX: 'X-axel',
80
+ cardRangeLabelY: 'Y-axel',
81
+ cardRangeLabelRotation: 'Rotation',
82
+ cardRangeLabelScale: 'Skala',
83
+ presetClassic: 'Klassisk',
84
+ presetMobileBottom: 'Mobil Nere',
85
+ presetMobileTop: 'Mobil Uppe',
86
+ presetFocus: 'Fokus',
87
+ presetDynamic: 'Dynamisk',
88
+ presetSplitLeft: 'Delning Vänster',
89
+ presetSplitRight: 'Delning Höger',
90
+ presetImageLeft: 'Bild Vänster',
91
+ presetImageRight: 'Bild Höger',
92
+ confirmClear: 'Är du säker på att du vill ta bort alla mockups?',
93
+ processingExport: 'Bearbetar...',
94
+ exportDone: 'Klart!',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Vanliga Frågor',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Referenser',
105
+ bibliography: [
106
+ { name: 'Apple App Store Skärmbildskrav', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
107
+ { name: 'Google Play Skärmbildskrav', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
108
+ ],
109
+ howTo: howToData,
110
+ schemas: [faqSchema, howToSchema, appSchema],
111
+ seo: [
112
+ { type: 'title', text: 'Höj dina skärmbilder till nästa nivå', level: 2 },
113
+ { type: 'paragraph', html: 'Begränsa dig inte till enkla skärmbilder. Vårt mockup-verktyg låter utvecklare och designers skapa högpåverkande visuella tillgångar utan att behöva Photoshop eller Figma.' },
114
+ { type: 'title', text: 'Kraft med Master Layouts', level: 3 },
115
+ { type: 'grid', columns: 2 },
116
+ { type: 'card', title: 'App Store och Google Play', html: '<p>Optimera din konverteringsgrad. iPhone 15 Pro Max och Pixel 8 mockups är världsstandarden för app store-listningar.</p>' },
117
+ { type: 'card', title: 'Pitch Decks och Marknadsföring', html: '<p>Presentera dina idéer med auktoritet. Perfekt för investerarpresentationer, sociala mediakampanjer och professionella UI/UX-designportföljer.</p>' },
118
+ { type: 'title', text: 'Professionella arbetsflöde', level: 3 },
119
+ { type: 'tip', html: 'Använd förinställningarna "Delning Vänster" och "Delning Höger" för att skapa kontinuerliga mockups som glider från en bild till en annan i Instagram-karuseller eller App Store-skärmbilder.' },
120
+ ],
121
+ };
@@ -0,0 +1,121 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { MobileMockupGeneratorUI } from '../ui';
4
+
5
+ const slug = 'mobil-mockup-uretec';
6
+ const title = 'Mobil Mockup Üreticisi App Store İçin. iPhone ve Google Pixel';
7
+ const description = 'App Store ve Google Play için profesyonel sunumlar oluşturun. iPhone ve Pixel mockup\'ları özel arka planlarla, panoramik düzenlerle ve yüksek çözünürlüklü toplu dışa aktarma.';
8
+
9
+ const faqData = [
10
+ { question: 'Bu ekran görüntüleri App Store ve Google Play için geçerli mi?', answer: 'Evet, oluşturulan görüntüler uygulama mağazalarının oran ve kalite gereksinimlerini karşılıyor. Dışa aktarmadan önce doğru cihazı seçmeniz yeterli (iOS için iPhone, Android için Pixel).' },
11
+ { question: 'Kendi özel arka planlarımı kullanabilir miyim?', answer: 'Kesinlikle. Premium gradyan kütüphanemizin yanı sıra, bilgisayarınızdan herhangi bir resmi yükleyerek mockup\'larınızın arka plan ortamı olarak kullanabilirsiniz.' },
12
+ { question: 'Ticari kullanım için ücretsiz mi?', answer: 'Evet, oluşturulan mockup\'ları ticari projeler, portföyler veya sunumlar için hiçbir maliyet ve filigransız kullanabilirsiniz.' },
13
+ { question: 'Ekran görüntülerim herhangi bir sunucuya kaydediliyor mu?', answer: 'Hayır. Üretici %100 tarayıcınızda yerel olarak çalışır. Özel resimleriniz hiçbir zaman bilgisayarınızdan çıkmaz.' },
14
+ ];
15
+
16
+ const howToData = [
17
+ { name: 'Ekran görüntülerini yükleyin', text: 'Sunmak istediğiniz mobil uygulamanızın ekran görüntülerini sürükleyin veya seçin.' },
18
+ { name: 'Cihaz seçin', text: 'Hedef mağazaya uygun olarak akıllı telefon modelini seçin (iOS için iPhone 15 Pro Max veya Android için Google Pixel 8).' },
19
+ { name: 'Ortamı özelleştirin', text: 'Arka planı ayarlayın, cihaz açısını belirleyin, pazarlama metni ekleyin ve kompozisyon düzenini seçin.' },
20
+ { name: 'HD\'de indirin', text: 'Tüm sonuçları uygulama mağazasında yüklemeye hazır yüksek çözünürlüklü WebP biçiminde dışa aktarın.' },
21
+ ];
22
+
23
+ const faqSchema: WithContext<FAQPage> = {
24
+ '@context': 'https://schema.org',
25
+ '@type': 'FAQPage',
26
+ mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
27
+ };
28
+
29
+ const howToSchema: WithContext<HowToThing> = {
30
+ '@context': 'https://schema.org',
31
+ '@type': 'HowTo',
32
+ name: title,
33
+ description,
34
+ step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
35
+ };
36
+
37
+ const appSchema: WithContext<SoftwareApplication> = {
38
+ '@context': 'https://schema.org',
39
+ '@type': 'SoftwareApplication',
40
+ name: title,
41
+ description,
42
+ applicationCategory: 'DesignApplication',
43
+ operatingSystem: 'All',
44
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
45
+ inLanguage: 'tr',
46
+ };
47
+
48
+ const ui: MobileMockupGeneratorUI = {
49
+ labelUpload: 'Ekran Görüntülerini Yükleyin',
50
+ dropHint: 'Resimlerinizi buraya sürükleyin',
51
+ dropFormats: 'PNG, JPG veya WEBP',
52
+ btnMassReplace: 'Toplu Değiştir',
53
+ massReplaceHint: 'Mevcut resimleri değiştirir ve ön ayarlarınızla metni korur. Hızlı yinelemeler için idealdir.',
54
+ labelSettings: 'Global Ayarlar',
55
+ labelDevice: 'Cihaz',
56
+ labelFont: 'Tipografi',
57
+ labelBackground: 'Arka Plan',
58
+ titleSwapColors: 'Renkleri değiştir',
59
+ labelAngle: 'Açı',
60
+ labelSafeArea: 'Güvenli Alan (Üst/Alt)',
61
+ labelSafeAreaColor: 'Alan rengi',
62
+ emptyTitle: 'Henüz resim yok',
63
+ emptySubtitle: 'Tasarlamaya başlamak için ekran görüntülerinizi yükleyin',
64
+ btnClearAll: 'Canvas\'ı Temizle',
65
+ btnExport: 'Tümünü Dışa Aktar (.zip)',
66
+ cardTitleDuplicate: 'Sahneyi Çoğalt',
67
+ cardTitleReplace: 'Geçerli Ekran Görüntüsünü Değiştir',
68
+ cardSectionLayouts: 'Ana Düzenler',
69
+ cardSectionBranding: 'Marka ve Metin',
70
+ cardTitleResetText: 'Metni Sıfırla',
71
+ cardLabelColor: 'Renk',
72
+ cardTextPlaceholder: 'Metninizi buraya yazın...',
73
+ cardSectionDevice: 'Cihaz Düzeni',
74
+ cardTitleResetDevice: 'Konumu Sıfırla',
75
+ cardSectionScene: 'Rekvisitalar ve Arka Plan',
76
+ cardBtnSpecialBg: 'Özel Arka Plan',
77
+ cardBtnDeleteScene: 'Sahneyi Sil',
78
+ cardRangeLabelSize: 'Boyut',
79
+ cardRangeLabelX: 'X Ekseni',
80
+ cardRangeLabelY: 'Y Ekseni',
81
+ cardRangeLabelRotation: 'Rotasyon',
82
+ cardRangeLabelScale: 'Ölçek',
83
+ presetClassic: 'Klasik',
84
+ presetMobileBottom: 'Mobil Alt',
85
+ presetMobileTop: 'Mobil Üst',
86
+ presetFocus: 'Odak',
87
+ presetDynamic: 'Dinamik',
88
+ presetSplitLeft: 'Sol Bölme',
89
+ presetSplitRight: 'Sağ Bölme',
90
+ presetImageLeft: 'Sol Resim',
91
+ presetImageRight: 'Sağ Resim',
92
+ confirmClear: 'Tüm mockup\'ları silmek istediğinizden emin misiniz?',
93
+ processingExport: 'İşleniyor...',
94
+ exportDone: 'Bitti!',
95
+ };
96
+
97
+ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
98
+ slug,
99
+ title,
100
+ description,
101
+ ui,
102
+ faqTitle: 'Sık Sorulan Sorular',
103
+ faq: faqData,
104
+ bibliographyTitle: 'Referanslar',
105
+ bibliography: [
106
+ { name: 'Apple App Store Ekran Görüntüsü Gereksinimleri', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
107
+ { name: 'Google Play Ekran Görüntüsü Gereksinimleri', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
108
+ ],
109
+ howTo: howToData,
110
+ schemas: [faqSchema, howToSchema, appSchema],
111
+ seo: [
112
+ { type: 'title', text: 'Ekran görüntülerinizi sonraki seviyeye taşıyın', level: 2 },
113
+ { type: 'paragraph', html: 'Kendinizi basit ekran görüntüleriyle sınırlamayın. Mockup aracımız, geliştericilerin ve tasarımcıların Photoshop veya Figma\'ya ihtiyaç duymadan yüksek etkili görsel varlıklar oluşturmasını sağlar.' },
114
+ { type: 'title', text: 'Ana Düzenler ile Güç', level: 3 },
115
+ { type: 'grid', columns: 2 },
116
+ { type: 'card', title: 'App Store ve Google Play', html: '<p>Dönüşüm hızınızı optimize edin. iPhone 15 Pro Max ve Pixel 8 mockup\'ları uygulama mağazası listeleri için dünya standardıdır.</p>' },
117
+ { type: 'card', title: 'Pitch Deck\'ler ve Pazarlama', html: '<p>Fikirlerinizi yetkiyle sunun. Yatırımcı sunumları, sosyal medya kampanyaları ve profesyonel UI/UX tasarım portföyleri için mükemmeldir.</p>' },
118
+ { type: 'title', text: 'Profesyonel iş akışı', level: 3 },
119
+ { type: 'tip', html: 'Instagram karuselleriyle Instagram\'da veya App Store\'da ekran görüntülerinde bir görüntüden diğerine kayan sürekli mockup\'lar oluşturmak için "Sol Bölme" ve "Sağ Bölme" ön ayarlarını kullanın.' },
120
+ ],
121
+ };