@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,178 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { AspectRatioUI } from '../ui';
4
+
5
+ const slug = 'aspect-ratio-calculator';
6
+ const title = 'アスペクト比計算ツール(ピクセル)。オンライン比率計算';
7
+ const description =
8
+ 'グラフィックの歪みを防ぐために、正確な比率を維持したまま画像、ビデオ、Webデザインの新しい解像度を計算します。16:9、4:3、21:9、およびカスタム形式をサポートしています。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'アスペクト比とは何ですか?',
13
+ answer:
14
+ 'アスペクト比は、画像や画面の幅と高さの幾何学的な関係を表します。コロンで区切られた2つの数字(例:16:9)で表され、幅に対して高さが比例してどのように変化するかを示します。',
15
+ },
16
+ {
17
+ question: 'なぜ正しい比率を維持することが重要なのですか?',
18
+ answer:
19
+ 'アスペクト比を無視すると、画像が押しつぶされたり引き伸ばされたり、ビデオに予期しないレターボックス(黒枠)が表示されたり、異なる画面サイズでWebコンポーネントのレイアウトが崩れたりします。正確な比率を維持することは、プロフェッショナルな表示に不可欠です。',
20
+ },
21
+ {
22
+ question: '特定の比率で幅から高さを計算するにはどうすればよいですか?',
23
+ answer:
24
+ '公式は「高さ = 幅 × (比率の高さ / 比率の幅)」です。例えば、アスペクト比16:9で幅が1280pxの場合、高さは「1280 × (9/16) = 720px」になります。',
25
+ },
26
+ {
27
+ question: 'YouTube動画の標準的なアスペクト比は何ですか?',
28
+ answer:
29
+ '16:9は、YouTubeやほとんどの最新ビデオプラットフォームの標準比率です。これは、1280×720 (HD)、1920×1080 (Full HD)、3840×2160 (4K UHD) などの解像度に対応しています。',
30
+ },
31
+ {
32
+ question: '縦型のSNS動画ではどのアスペクト比が使用されますか?',
33
+ answer:
34
+ '9:16です。これはワイドスクリーン形式のちょうど逆になります。TikTok、Instagramリール、YouTubeショートのネイティブな比率であり、スマートフォンを縦に持ってコンテンツを視聴することに由来します。',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: '元の比率を入力する',
41
+ text: '維持したい比率の幅と高さの値(例:ワイドスクリーンの場合は16と9)を入力するか、プリセットから1つ選択します。',
42
+ },
43
+ {
44
+ name: 'スケールを調整する',
45
+ text: '「実際のスケール」セクションで幅または高さの値を変更します。ツールは比率を維持するために、もう一方の値を自動的に計算します。',
46
+ },
47
+ {
48
+ name: 'プレビューを確認する',
49
+ text: 'プレビューパネルには、計算された解像度と簡略化された比率とともに、比例したスケールでの結果の形状が表示されます。',
50
+ },
51
+ {
52
+ name: 'プロジェクトに適用する',
53
+ text: '計算された値をコピーして、CSS(aspect-ratio: 16 / 9)、ビデオの書き出し、またはデザインツールの設定で使用します。',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'ja',
89
+ };
90
+
91
+ const ui: AspectRatioUI = {
92
+ labelConfig: '設定',
93
+ labelRatio: '元の比率',
94
+ labelWidth: '幅',
95
+ labelHeight: '高さ',
96
+ labelScale: '実際のスケール',
97
+ labelPixelWidth: 'ピクセル(幅)',
98
+ labelPixelHeight: 'ピクセル(高さ)',
99
+ labelPreview: '比例プレビュー',
100
+ labelStatus: '完璧な比率',
101
+ labelOffline: '100%オフラインツール',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<AspectRatioUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ ui,
109
+ faqTitle: 'よくある質問',
110
+ faq: faqData,
111
+ bibliographyTitle: '参考文献とドキュメント',
112
+ bibliography: [
113
+ {
114
+ name: 'MDN Web Docs: aspect-ratio (CSS)',
115
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
116
+ },
117
+ {
118
+ name: 'Wikipedia: アスペクト比',
119
+ url: 'https://ja.wikipedia.org/wiki/アスペクト比',
120
+ },
121
+ {
122
+ name: 'W3C: CSS Box Sizing Level 4',
123
+ url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
124
+ },
125
+ ],
126
+ howTo: howToData,
127
+ schemas: [faqSchema, howToSchema, appSchema],
128
+ seo: [
129
+ {
130
+ type: 'title',
131
+ text: 'アスペクト比とは何ですか?',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'グラフィックデザイン、写真、フロントエンド開発において、<strong>アスペクト比</strong>は画像、画面、またはコンテナの幅と高さの幾何学的な関係を表します。通常、コロンで区切られた2つの数字(例:<code>16:9</code>)で表され、幅の変化に応じて高さがどのように比例して増加するかを示します。',
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'アスペクト比の誤った処理は、写真が押しつぶされたり、ビデオに予期しないクロッピング(レターボックス)が発生したり、モバイルからウルトラワイドモニターまで段階的に閲覧したときにWebコンポーネントのレイアウトが崩れたりする一般的な原因です。',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: '業界で一般的な比率',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: '専門分野に応じて、いくつかの世界標準的な比率を常に扱うことになります。',
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>16:9(ワイドスクリーン):</strong> 最新のモニター、テレビ、YouTubeの録画、または標準的な高解像度(1920×1080や4Kなど)における圧倒的な主要形式。',
155
+ '<strong>9:16(垂直):</strong> モバイルデバイスでのネイティブなコンテンツ視聴(TikTok、Instagramリール、YouTubeショート)から生まれました。ワイドスクリーン動画と全く同じ比率ですが、デバイスを物理的に回転させた状態です。',
156
+ '<strong>4:3(クラシック / ヴィンテージ):</strong> 古いテレビやモニター、アナログや特殊なデジタルカメラモデルに見られます。やや正方形に近い外観は、中央の構図軸に直接注意を引き付けます。',
157
+ ],
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Web開発とCSSのaspect-ratioプロパティ',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: '以前のCSSでは、ページの読み込み時に発生するひどい累積レイアウトシフト(CLS)を避けるために、YouTubeのiframeやカバー画像の動的なスペースを確保するために、<strong>パディングハック</strong>(<code>padding-top: 56.25%</code>を注入するなど)を使用した複雑な数学的システムが使われていました。',
167
+ },
168
+ {
169
+ type: 'paragraph',
170
+ html: '現在では、すべてのモダンなレイアウトに<code>aspect-ratio: 16 / 9;</code>のようなプロパティを直接適用することで、セマンティックなコードを実現し、GridやFlexboxで定義された元の幅からブラウザが自動的に欠けている寸法を導き出せるようになっています。',
171
+ },
172
+ {
173
+ type: 'paragraph',
174
+ html: 'このローカルピクセル計算ツールは、デザインの精度を瞬時のスケーリング計算に委ね、壊滅的な誤設定からレンダリングを保護します。',
175
+ },
176
+ ],
177
+ };
178
+
@@ -0,0 +1,178 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { AspectRatioUI } from '../ui';
4
+
5
+ const slug = 'aspect-ratio-calculator';
6
+ const title = '픽셀 단위 화면 비율 계산기. 온라인 비율 계산';
7
+ const description =
8
+ '이미지, 비디오 및 웹 디자인의 새로운 해상도를 계산하고 정확한 비율을 유지하여 그래픽 왜곡을 방지합니다. 16:9, 4:3, 21:9 및 사용자 정의 형식을 지원합니다.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '화면 비율(Aspect Ratio)이란 무엇인가요?',
13
+ answer:
14
+ '화면 비율은 이미지나 화면의 가로와 세로 폭 사이의 기하학적 관계를 설명합니다. 콜론으로 구분된 두 숫자(예: 16:9)로 표시되며, 가로 너비에 따라 세로 높이가 비례하여 어떻게 변하는지를 나타냅니다.',
15
+ },
16
+ {
17
+ question: '왜 정확한 비율을 유지하는 것이 중요한가요?',
18
+ answer:
19
+ '화면 비율을 무시하면 이미지가 찌그러지거나 늘어나 보이고, 비디오에 예기치 않은 레터박스(검은 띠)가 생기며, 다양한 화면 크기에서 웹 구성 요소의 레이아웃이 깨질 수 있습니다. 정확한 비율을 유지하는 것은 전문적인 디스플레이의 핵심입니다.',
20
+ },
21
+ {
22
+ question: '주어진 비율로 가로 너비에서 세로 높이를 어떻게 계산하나요?',
23
+ answer:
24
+ '계산 공식은 다음과 같습니다: 높이 = 너비 × (비율 높이 / 비율 너비). 예를 들어 가로가 1280px이고 비율이 16:9인 경우, 높이는 1280 × (9/16) = 720px가 됩니다.',
25
+ },
26
+ {
27
+ question: 'YouTube 동영상의 표준 화면 비율은 무엇인가요?',
28
+ answer:
29
+ '16:9는 YouTube와 대부분의 현대적인 비디오 플랫폼의 표준 비율입니다. 이는 1280×720(HD), 1920×1080(Full HD) 또는 3840×2160(4K UHD)과 같은 해상도에 해당합니다.',
30
+ },
31
+ {
32
+ question: '세로형 소셜 미디어 동영상은 어떤 화면 비율을 사용하나요?',
33
+ answer:
34
+ '9:16 비율을 사용하며, 이는 와이드스크린 형식의 정확히 반대입니다. TikTok, Instagram Reels 및 YouTube Shorts의 기본 비율로, 모바일 기기를 세로로 들고 콘텐츠를 소비하는 방식에서 기원했습니다.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: '원본 비율 입력',
41
+ text: '유지하려는 비율의 가로 및 세로 값(예: 와이드스크린의 경우 16과 9)을 입력하거나 사전 설정 중 하나를 선택합니다.',
42
+ },
43
+ {
44
+ name: '스케일 조정',
45
+ text: '"실제 스케일" 섹션에서 가로 또는 세로 값을 변경합니다. 툴이 비율을 유지하기 위해 반대편 값을 자동으로 계산합니다.',
46
+ },
47
+ {
48
+ name: '미리보기 확인',
49
+ text: '미리보기 패널은 계산된 해상도 및 요약된 비율과 함께 비례 스케일로 결과 형태를 보여줍니다.',
50
+ },
51
+ {
52
+ name: '프로젝트에 적용',
53
+ text: '계산된 값을 복사하여 CSS(aspect-ratio: 16 / 9), 비디오 내보내기 또는 디자인 도구의 설정에서 사용하세요.',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'ko',
89
+ };
90
+
91
+ const ui: AspectRatioUI = {
92
+ labelConfig: '설정',
93
+ labelRatio: '원본 비율',
94
+ labelWidth: '가로 너비',
95
+ labelHeight: '세로 높이',
96
+ labelScale: '실제 스케일',
97
+ labelPixelWidth: '픽셀 (가로)',
98
+ labelPixelHeight: '픽셀 (세로)',
99
+ labelPreview: '비례 미리보기',
100
+ labelStatus: '완벽한 비율',
101
+ labelOffline: '100% 오프라인 도구',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<AspectRatioUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ ui,
109
+ faqTitle: '자주 묻는 질문',
110
+ faq: faqData,
111
+ bibliographyTitle: '참고 자료 및 문서',
112
+ bibliography: [
113
+ {
114
+ name: 'MDN Web Docs: aspect-ratio (CSS)',
115
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
116
+ },
117
+ {
118
+ name: 'Wikipedia: Aspect ratio',
119
+ url: 'https://ko.wikipedia.org/wiki/가로세로비',
120
+ },
121
+ {
122
+ name: 'W3C: CSS Box Sizing Level 4',
123
+ url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
124
+ },
125
+ ],
126
+ howTo: howToData,
127
+ schemas: [faqSchema, howToSchema, appSchema],
128
+ seo: [
129
+ {
130
+ type: 'title',
131
+ text: '화면 비율(Aspect Ratio)이란 무엇인가요?',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: '그래픽 디자인, 사진 및 프론트엔드 개발에서 <strong>화면 비율</strong>은 이미지, 화면 또는 컨테이너의 가로와 세로 폭 사이의 기하학적 관계를 설명합니다. 일반적으로 콜론으로 구분된 두 숫자(예: <code>16:9</code>)로 표시되며, 가로 너비에 따라 세로 높이가 비례하여 어떻게 증가하는지를 나타냅니다.',
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: '화면 비율을 잘못 처리하면 사진이 찌그러지거나, 비디오에 예기치 않은 크롭(레터박스)이 발생하거나, 모바일에서 울트라 와이드 모니터까지 점진적으로 볼 때 웹 구성 요소의 레이아웃이 깨지는 등의 문제가 흔히 발생합니다.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: '일반적인 산업 표준 비율',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: '전문 분야에 따라 몇 가지 글로벌 표준 비율을 지속적으로 다루게 됩니다.',
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>16:9(와이드스크린):</strong> 현대적인 모니터, TV, YouTube 녹화 또는 표준 고해상도(1920×1080 또는 4K 등)에서 절대적으로 우세한 형식입니다.',
155
+ '<strong>9:16(세로형):</strong> 모바일 기기에서의 기본 콘텐츠 소비(TikTok, Instagram Reels, YouTube Shorts)에서 기원했습니다. 와이드스크린 비디오와 정확히 동일한 비율이지만 기기를 물리적으로 회전시킨 형태입니다.',
156
+ '<strong>4:3(클래식 / 빈티지):</strong> 구형 텔레비전 및 모니터, 아날로그 및 특수 디지털 카메라 모델에서 볼 수 있습니다. 약간 정사각형에 가까운 외관은 중앙 구도 축으로 주의를 직접 집중시킵니다.',
157
+ ],
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: '웹 개발과 CSS aspect-ratio 속성',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: '이전의 CSS에서는 페이지 로드 시 발생하는 심각한 CLS(Cumulative Layout Shift)를 피하기 위해 YouTube iframe이나 커버 이미지의 동적 공간을 확보하려고 <strong>패딩 핵(Padding Hack)</strong>(예: <code>padding-top: 56.25%</code> 주입)과 같은 복잡한 수학적 시스템을 사용했습니다.',
167
+ },
168
+ {
169
+ type: 'paragraph',
170
+ html: '오늘날 모든 현대적인 레이아웃은 <code>aspect-ratio: 16 / 9;</code>와 같은 속성을 직접 적용하여 시맨틱한 코드를 구현하고, 브라우저가 Grid나 Flexbox를 통해 정의된 원래 너비로부터 누락된 치수를 자동으로 도출할 수 있도록 합니다.',
171
+ },
172
+ {
173
+ type: 'paragraph',
174
+ html: '이 로컬 픽셀 계산기는 디자인의 정밀함을 즉각적인 스케일링 계산으로 전환하여 렌더링 결과물이 치명적인 설정 오류로부터 보호받을 수 있게 도와줍니다.',
175
+ },
176
+ ],
177
+ };
178
+
@@ -0,0 +1,178 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { AspectRatioUI } from '../ui';
4
+
5
+ const slug = 'aspect-ratio-calculator-nl';
6
+ const title = 'Aspect Ratio Calculator in Pixels. Online Verhoudingen';
7
+ const description =
8
+ 'Bereken nieuwe resoluties voor afbeeldingen, video en webdesign met behoud van de exacte verhoudingen om vervorming van afbeeldingen te voorkomen. Ondersteunt 16:9, 4:3, 21:9 en aangepaste formaten.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Wat is de Aspect Ratio?',
13
+ answer:
14
+ 'De Aspect Ratio beschrijft de geometrische relatie tussen de breedte en hoogte van een afbeelding of scherm. Het wordt weergegeven door twee getallen gescheiden door een dubbele punt (bijv. 16:9), wat aangeeft hoe de hoogte proportioneel verandert ten opzichte van de breedte.',
15
+ },
16
+ {
17
+ question: 'Waarom is het belangrijk om de juiste verhoudingen te behouden?',
18
+ answer:
19
+ 'Het negeren van de Aspect Ratio veroorzaakt ingedrukte of uitgerekte beelden, onverwachte zwarte balken (letterboxing) in video\'s en webcomponenten die hun lay-out verliezen op verschillende schermgroottes. Het behouden van de juiste verhoudingen is essentieel voor een professionele weergave.',
20
+ },
21
+ {
22
+ question: 'Hoe bereken ik de hoogte uit de breedte met een gegeven verhouding?',
23
+ answer:
24
+ 'De formule is: Hoogte = Breedte × (Verhouding Hoogte / Verhouding Breedte). Bijvoorbeeld, voor een breedte van 1280px met een verhouding van 16:9, is de hoogte: 1280 × (9/16) = 720px.',
25
+ },
26
+ {
27
+ question: 'Wat is de standaard Aspect Ratio voor YouTube-video\'s?',
28
+ answer:
29
+ '16:9 is de standaardverhouding voor YouTube en de meeste moderne videoplatforms. Het komt overeen met resoluties zoals 1280×720 (HD), 1920×1080 (Full HD) of 3840×2160 (4K UHD).',
30
+ },
31
+ {
32
+ question: 'Welke Aspect Ratio gebruiken verticale social media video\'s?',
33
+ answer:
34
+ '9:16, wat precies het omgekeerde is van het breedbeeldformaat. Het is de standaardverhouding voor TikTok, Instagram Reels en YouTube Shorts, ontstaan door het verticaal gebruik van smartphones.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'Voer de originele verhouding in',
41
+ text: 'Voer de breedte- en hoogtewaarden in van de verhouding die u wilt behouden (bijv. 16 en 9 voor breedbeeld) of selecteer een van de presets.',
42
+ },
43
+ {
44
+ name: 'Pas de schaal aan',
45
+ text: 'Wijzig de waarde voor breedte of hoogte in de sectie "Echte Schaal". De tool berekent automatisch de tegenovergestelde waarde om de verhouding te behouden.',
46
+ },
47
+ {
48
+ name: 'Controleer de preview',
49
+ text: 'Het preview-paneel toont de resulterende vorm op proportionele schaal, met de vereenvoudigde verhouding en de berekende resolutie.',
50
+ },
51
+ {
52
+ name: 'Toepassen in uw project',
53
+ text: 'Kopieer de berekende waarden om te gebruiken in uw CSS (aspect-ratio: 16 / 9), bij video-export of in de instellingen van uw ontwerptool.',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'nl',
89
+ };
90
+
91
+ const ui: AspectRatioUI = {
92
+ labelConfig: 'Configuratie',
93
+ labelRatio: 'Originele verhouding',
94
+ labelWidth: 'Breedte',
95
+ labelHeight: 'Hoogte',
96
+ labelScale: 'Echte schaal',
97
+ labelPixelWidth: 'Pixels (Breedte)',
98
+ labelPixelHeight: 'Pixels (Hoogte)',
99
+ labelPreview: 'Proportionele preview',
100
+ labelStatus: 'Perfecte verhouding',
101
+ labelOffline: '100% Offline Tool',
102
+ };
103
+
104
+ export const content: ToolLocaleContent<AspectRatioUI> = {
105
+ slug,
106
+ title,
107
+ description,
108
+ ui,
109
+ faqTitle: 'Veelgestelde Vragen',
110
+ faq: faqData,
111
+ bibliographyTitle: 'Referenties en Documentatie',
112
+ bibliography: [
113
+ {
114
+ name: 'MDN Web Docs: aspect-ratio (CSS)',
115
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
116
+ },
117
+ {
118
+ name: 'Wikipedia: Aspect ratio',
119
+ url: 'https://nl.wikipedia.org/wiki/Beeldverhouding',
120
+ },
121
+ {
122
+ name: 'W3C: CSS Box Sizing Level 4',
123
+ url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
124
+ },
125
+ ],
126
+ howTo: howToData,
127
+ schemas: [faqSchema, howToSchema, appSchema],
128
+ seo: [
129
+ {
130
+ type: 'title',
131
+ text: 'Wat is de Aspect Ratio?',
132
+ level: 2,
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'In grafisch ontwerp, fotografie en frontend-ontwikkeling beschrijft de <strong>Aspect Ratio</strong> de geometrische relatie tussen de breedte en de hoogte van een afbeelding, scherm of container. Het wordt meestal weergegeven met twee getallen gescheiden door een dubbele punt (bijv. <code>16:9</code>), wat aangeeft hoe de hoogte proportioneel toeneemt in reactie op de breedte.',
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Het verkeerd omgaan met aspect ratio\'s is een veelvoorkomende oorzaak van ingedrukte foto\'s, video\'s met onverwachte cropping (letterboxing) of webcomponenten waarvan de lay-out wordt verbroken bij weergave op verschillende schermen, van mobiel tot ultra-wide monitors.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Veelvoorkomende verhoudingen in de branche',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Afhankelijk van uw discipline zult u constant te maken krijgen met een beperkt aantal wereldwijde standaardproporties:',
150
+ },
151
+ {
152
+ type: 'list',
153
+ items: [
154
+ '<strong>16:9 (Widescreen):</strong> Het absoluut dominante formaat voor moderne monitoren, tv\'s, YouTube-opnames of standaard high-definition resoluties (zoals 1920×1080 of 4K).',
155
+ '<strong>9:16 (Verticaal):</strong> Ontstaan door het gebruik van content op mobiele telefoons (TikTok, Instagram Reels, YouTube Shorts). Precies dezelfde verhouding als breedbeeldvideo\'s, maar dan met de fysieke rotatie van het apparaat toegepast.',
156
+ '<strong>4:3 (Klassiek / Vintage):</strong> Aanwezig in oude televisies en monitoren of in analoge en gespecialiseerde digitale cameramodellen. Het licht vierkante uiterlijk trekt de aandacht direct naar de centrale compositie-as.',
157
+ ],
158
+ },
159
+ {
160
+ type: 'title',
161
+ text: 'Webontwikkeling en de CSS aspect-ratio eigenschap',
162
+ level: 3,
163
+ },
164
+ {
165
+ type: 'paragraph',
166
+ html: 'Voorheen werden in CSS complexe wiskundige systemen gebruikt met een <strong>Padding Hack</strong> (zoals het injecteren van een <code>padding-top: 56.25%</code>) om dynamische ruimtes te reserveren in YouTube-iframes of omslagafbeeldingen, om vreselijke Cumulative Layout Shift (CLS) bij het laden van de pagina te voorkomen.',
167
+ },
168
+ {
169
+ type: 'paragraph',
170
+ html: 'Tegenwoordig passen alle moderne lay-outs rechtstreeks eigenschappen toe zoals <code>aspect-ratio: 16 / 9;</code>, wat zorgt voor semantische code en de browser in staat stelt automatisch de ontbrekende dimensie af te leiden uit de oorspronkelijke breedte gedefinieerd via Grid of Flexbox.',
171
+ },
172
+ {
173
+ type: 'paragraph',
174
+ html: 'Deze lokale pixelcalculator brengt de kracht van ontwerp over naar een directe schaalberekening die uw renders beschermt tegen catastrofale misconfiguraties.',
175
+ },
176
+ ],
177
+ };
178
+