@jjlmoya/utils-developer 1.28.0 → 1.29.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 (455) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +4 -1
  3. package/src/tests/i18n_coverage.test.ts +5 -2
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/qa-test-helpers.ts +32 -0
  6. package/src/tests/qa_bibliography_links.test.ts +43 -0
  7. package/src/tests/qa_claim_evidence.test.ts +69 -0
  8. package/src/tests/qa_logic_reference_coverage.test.ts +46 -0
  9. package/src/tests/qa_runtime_i18n.test.ts +115 -0
  10. package/src/tests/tool_validation.test.ts +1 -1
  11. package/src/tool/aspectRatio/bibliography.astro +2 -10
  12. package/src/tool/aspectRatio/bibliography.ts +7 -0
  13. package/src/tool/aspectRatio/i18n/de.ts +2 -14
  14. package/src/tool/aspectRatio/i18n/en.ts +2 -14
  15. package/src/tool/aspectRatio/i18n/es.ts +2 -14
  16. package/src/tool/aspectRatio/i18n/fr.ts +2 -14
  17. package/src/tool/aspectRatio/i18n/id.ts +2 -14
  18. package/src/tool/aspectRatio/i18n/it.ts +2 -14
  19. package/src/tool/aspectRatio/i18n/ja.ts +2 -14
  20. package/src/tool/aspectRatio/i18n/ko.ts +2 -14
  21. package/src/tool/aspectRatio/i18n/nl.ts +2 -14
  22. package/src/tool/aspectRatio/i18n/pl.ts +2 -14
  23. package/src/tool/aspectRatio/i18n/pt.ts +2 -14
  24. package/src/tool/aspectRatio/i18n/ru.ts +2 -14
  25. package/src/tool/aspectRatio/i18n/sv.ts +2 -14
  26. package/src/tool/aspectRatio/i18n/tr.ts +2 -14
  27. package/src/tool/aspectRatio/i18n/zh.ts +2 -14
  28. package/src/tool/calculadoraTiempoDatos/bibliography.astro +2 -10
  29. package/src/tool/calculadoraTiempoDatos/bibliography.ts +8 -0
  30. package/src/tool/calculadoraTiempoDatos/component.astro +6 -2
  31. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +2 -6
  32. package/src/tool/calculadoraTiempoDatos/i18n/en.ts +2 -6
  33. package/src/tool/calculadoraTiempoDatos/i18n/es.ts +2 -6
  34. package/src/tool/calculadoraTiempoDatos/i18n/fr.ts +2 -6
  35. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +2 -6
  36. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +2 -6
  37. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +2 -6
  38. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +2 -6
  39. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +2 -6
  40. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +2 -6
  41. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +2 -6
  42. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +2 -6
  43. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +2 -6
  44. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +2 -6
  45. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +2 -6
  46. package/src/tool/colorConverter/bibliography.astro +2 -10
  47. package/src/tool/colorConverter/bibliography.ts +7 -0
  48. package/src/tool/colorConverter/i18n/de.ts +2 -5
  49. package/src/tool/colorConverter/i18n/en.ts +5 -8
  50. package/src/tool/colorConverter/i18n/es.ts +4 -7
  51. package/src/tool/colorConverter/i18n/fr.ts +2 -5
  52. package/src/tool/colorConverter/i18n/id.ts +2 -5
  53. package/src/tool/colorConverter/i18n/it.ts +2 -5
  54. package/src/tool/colorConverter/i18n/ja.ts +2 -5
  55. package/src/tool/colorConverter/i18n/ko.ts +2 -5
  56. package/src/tool/colorConverter/i18n/nl.ts +2 -5
  57. package/src/tool/colorConverter/i18n/pl.ts +2 -5
  58. package/src/tool/colorConverter/i18n/pt.ts +2 -5
  59. package/src/tool/colorConverter/i18n/ru.ts +2 -5
  60. package/src/tool/colorConverter/i18n/sv.ts +2 -5
  61. package/src/tool/colorConverter/i18n/tr.ts +2 -5
  62. package/src/tool/colorConverter/i18n/zh.ts +2 -5
  63. package/src/tool/conversorExcelCsvHtml/bibliography.astro +2 -10
  64. package/src/tool/conversorExcelCsvHtml/bibliography.ts +8 -0
  65. package/src/tool/conversorExcelCsvHtml/component.astro +4 -3
  66. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +2 -6
  67. package/src/tool/conversorExcelCsvHtml/i18n/en.ts +2 -6
  68. package/src/tool/conversorExcelCsvHtml/i18n/es.ts +2 -6
  69. package/src/tool/conversorExcelCsvHtml/i18n/fr.ts +2 -6
  70. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +2 -6
  71. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +2 -6
  72. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +2 -6
  73. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +2 -6
  74. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +2 -6
  75. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +2 -6
  76. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +2 -6
  77. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +2 -6
  78. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +2 -6
  79. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +2 -6
  80. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +2 -6
  81. package/src/tool/cronGenerator/bibliography.astro +2 -10
  82. package/src/tool/cronGenerator/bibliography.ts +6 -0
  83. package/src/tool/cronGenerator/component.astro +5 -1
  84. package/src/tool/cronGenerator/i18n/de.ts +2 -10
  85. package/src/tool/cronGenerator/i18n/en.ts +2 -10
  86. package/src/tool/cronGenerator/i18n/es.ts +2 -10
  87. package/src/tool/cronGenerator/i18n/fr.ts +2 -10
  88. package/src/tool/cronGenerator/i18n/id.ts +2 -10
  89. package/src/tool/cronGenerator/i18n/it.ts +2 -10
  90. package/src/tool/cronGenerator/i18n/ja.ts +2 -10
  91. package/src/tool/cronGenerator/i18n/ko.ts +2 -10
  92. package/src/tool/cronGenerator/i18n/nl.ts +2 -10
  93. package/src/tool/cronGenerator/i18n/pl.ts +2 -10
  94. package/src/tool/cronGenerator/i18n/pt.ts +2 -10
  95. package/src/tool/cronGenerator/i18n/ru.ts +2 -10
  96. package/src/tool/cronGenerator/i18n/sv.ts +2 -10
  97. package/src/tool/cronGenerator/i18n/tr.ts +2 -10
  98. package/src/tool/cronGenerator/i18n/zh.ts +2 -10
  99. package/src/tool/cssBoxShadowGenerator/component.astro +2 -1
  100. package/src/tool/cssBoxShadowGenerator/logic.test.ts +28 -0
  101. package/src/tool/cssSpecificityCalculator/bibliography.astro +2 -10
  102. package/src/tool/cssSpecificityCalculator/bibliography.ts +6 -0
  103. package/src/tool/cssSpecificityCalculator/i18n/de.ts +2 -10
  104. package/src/tool/cssSpecificityCalculator/i18n/en.ts +2 -10
  105. package/src/tool/cssSpecificityCalculator/i18n/es.ts +2 -10
  106. package/src/tool/cssSpecificityCalculator/i18n/fr.ts +2 -10
  107. package/src/tool/cssSpecificityCalculator/i18n/id.ts +2 -10
  108. package/src/tool/cssSpecificityCalculator/i18n/it.ts +2 -10
  109. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +2 -10
  110. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +2 -10
  111. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +2 -10
  112. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +2 -10
  113. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +2 -10
  114. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +2 -10
  115. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +2 -10
  116. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +2 -10
  117. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +2 -10
  118. package/src/tool/cssToInlineConverter/bibliography.astro +2 -10
  119. package/src/tool/cssToInlineConverter/bibliography.ts +7 -0
  120. package/src/tool/cssToInlineConverter/i18n/de.ts +2 -14
  121. package/src/tool/cssToInlineConverter/i18n/en.ts +4 -16
  122. package/src/tool/cssToInlineConverter/i18n/es.ts +5 -17
  123. package/src/tool/cssToInlineConverter/i18n/fr.ts +2 -14
  124. package/src/tool/cssToInlineConverter/i18n/id.ts +2 -14
  125. package/src/tool/cssToInlineConverter/i18n/it.ts +2 -14
  126. package/src/tool/cssToInlineConverter/i18n/ja.ts +2 -14
  127. package/src/tool/cssToInlineConverter/i18n/ko.ts +2 -14
  128. package/src/tool/cssToInlineConverter/i18n/nl.ts +2 -14
  129. package/src/tool/cssToInlineConverter/i18n/pl.ts +2 -14
  130. package/src/tool/cssToInlineConverter/i18n/pt.ts +2 -14
  131. package/src/tool/cssToInlineConverter/i18n/ru.ts +2 -14
  132. package/src/tool/cssToInlineConverter/i18n/sv.ts +2 -14
  133. package/src/tool/cssToInlineConverter/i18n/tr.ts +2 -14
  134. package/src/tool/cssToInlineConverter/i18n/zh.ts +2 -14
  135. package/src/tool/duplicateCssRemover/bibliography.astro +2 -10
  136. package/src/tool/duplicateCssRemover/bibliography.ts +7 -0
  137. package/src/tool/duplicateCssRemover/i18n/de.ts +2 -14
  138. package/src/tool/duplicateCssRemover/i18n/en.ts +4 -16
  139. package/src/tool/duplicateCssRemover/i18n/es.ts +4 -16
  140. package/src/tool/duplicateCssRemover/i18n/fr.ts +2 -14
  141. package/src/tool/duplicateCssRemover/i18n/id.ts +2 -14
  142. package/src/tool/duplicateCssRemover/i18n/it.ts +2 -14
  143. package/src/tool/duplicateCssRemover/i18n/ja.ts +2 -14
  144. package/src/tool/duplicateCssRemover/i18n/ko.ts +2 -14
  145. package/src/tool/duplicateCssRemover/i18n/nl.ts +2 -14
  146. package/src/tool/duplicateCssRemover/i18n/pl.ts +2 -14
  147. package/src/tool/duplicateCssRemover/i18n/pt.ts +2 -14
  148. package/src/tool/duplicateCssRemover/i18n/ru.ts +2 -14
  149. package/src/tool/duplicateCssRemover/i18n/sv.ts +2 -14
  150. package/src/tool/duplicateCssRemover/i18n/tr.ts +2 -14
  151. package/src/tool/duplicateCssRemover/i18n/zh.ts +2 -14
  152. package/src/tool/generadorSecurityTxt/bibliography.astro +2 -10
  153. package/src/tool/generadorSecurityTxt/bibliography.ts +7 -0
  154. package/src/tool/generadorSecurityTxt/component.astro +1 -2
  155. package/src/tool/generadorSecurityTxt/i18n/de.ts +2 -5
  156. package/src/tool/generadorSecurityTxt/i18n/en.ts +2 -5
  157. package/src/tool/generadorSecurityTxt/i18n/es.ts +2 -5
  158. package/src/tool/generadorSecurityTxt/i18n/fr.ts +2 -5
  159. package/src/tool/generadorSecurityTxt/i18n/id.ts +2 -5
  160. package/src/tool/generadorSecurityTxt/i18n/it.ts +2 -5
  161. package/src/tool/generadorSecurityTxt/i18n/ja.ts +2 -5
  162. package/src/tool/generadorSecurityTxt/i18n/ko.ts +2 -5
  163. package/src/tool/generadorSecurityTxt/i18n/nl.ts +2 -5
  164. package/src/tool/generadorSecurityTxt/i18n/pl.ts +2 -5
  165. package/src/tool/generadorSecurityTxt/i18n/pt.ts +2 -5
  166. package/src/tool/generadorSecurityTxt/i18n/ru.ts +2 -5
  167. package/src/tool/generadorSecurityTxt/i18n/sv.ts +2 -5
  168. package/src/tool/generadorSecurityTxt/i18n/tr.ts +2 -5
  169. package/src/tool/generadorSecurityTxt/i18n/zh.ts +2 -5
  170. package/src/tool/hashGenerator/bibliography.astro +2 -10
  171. package/src/tool/hashGenerator/bibliography.ts +7 -0
  172. package/src/tool/hashGenerator/i18n/de.ts +2 -5
  173. package/src/tool/hashGenerator/i18n/en.ts +2 -5
  174. package/src/tool/hashGenerator/i18n/es.ts +2 -5
  175. package/src/tool/hashGenerator/i18n/fr.ts +2 -5
  176. package/src/tool/hashGenerator/i18n/id.ts +2 -5
  177. package/src/tool/hashGenerator/i18n/it.ts +2 -5
  178. package/src/tool/hashGenerator/i18n/ja.ts +2 -5
  179. package/src/tool/hashGenerator/i18n/ko.ts +2 -5
  180. package/src/tool/hashGenerator/i18n/nl.ts +2 -5
  181. package/src/tool/hashGenerator/i18n/pl.ts +2 -5
  182. package/src/tool/hashGenerator/i18n/pt.ts +2 -5
  183. package/src/tool/hashGenerator/i18n/ru.ts +2 -5
  184. package/src/tool/hashGenerator/i18n/sv.ts +2 -5
  185. package/src/tool/hashGenerator/i18n/tr.ts +2 -5
  186. package/src/tool/hashGenerator/i18n/zh.ts +2 -5
  187. package/src/tool/inspectorCertificadosSsl/bibliography.astro +2 -10
  188. package/src/tool/inspectorCertificadosSsl/bibliography.ts +8 -0
  189. package/src/tool/inspectorCertificadosSsl/component.astro +4 -3
  190. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +2 -6
  191. package/src/tool/inspectorCertificadosSsl/i18n/en.ts +2 -6
  192. package/src/tool/inspectorCertificadosSsl/i18n/es.ts +2 -6
  193. package/src/tool/inspectorCertificadosSsl/i18n/fr.ts +2 -6
  194. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +2 -6
  195. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +2 -6
  196. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +2 -6
  197. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +2 -6
  198. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +2 -6
  199. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +2 -6
  200. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +2 -6
  201. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +2 -6
  202. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +2 -6
  203. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +2 -6
  204. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +2 -6
  205. package/src/tool/jsonFormatter/bibliography.astro +2 -10
  206. package/src/tool/jsonFormatter/bibliography.ts +8 -0
  207. package/src/tool/jsonFormatter/i18n/de.ts +2 -18
  208. package/src/tool/jsonFormatter/i18n/en.ts +2 -18
  209. package/src/tool/jsonFormatter/i18n/es.ts +2 -18
  210. package/src/tool/jsonFormatter/i18n/fr.ts +2 -18
  211. package/src/tool/jsonFormatter/i18n/id.ts +2 -18
  212. package/src/tool/jsonFormatter/i18n/it.ts +2 -18
  213. package/src/tool/jsonFormatter/i18n/ja.ts +2 -18
  214. package/src/tool/jsonFormatter/i18n/ko.ts +2 -18
  215. package/src/tool/jsonFormatter/i18n/nl.ts +2 -18
  216. package/src/tool/jsonFormatter/i18n/pl.ts +2 -18
  217. package/src/tool/jsonFormatter/i18n/pt.ts +2 -18
  218. package/src/tool/jsonFormatter/i18n/ru.ts +2 -18
  219. package/src/tool/jsonFormatter/i18n/sv.ts +2 -18
  220. package/src/tool/jsonFormatter/i18n/tr.ts +2 -18
  221. package/src/tool/jsonFormatter/i18n/zh.ts +2 -18
  222. package/src/tool/jwtDecoder/component.astro +2 -1
  223. package/src/tool/jwtDecoder/logic.test.ts +32 -0
  224. package/src/tool/keycode/bibliography.astro +2 -10
  225. package/src/tool/keycode/bibliography.ts +7 -0
  226. package/src/tool/keycode/i18n/de.ts +2 -14
  227. package/src/tool/keycode/i18n/en.ts +2 -14
  228. package/src/tool/keycode/i18n/es.ts +2 -14
  229. package/src/tool/keycode/i18n/fr.ts +2 -14
  230. package/src/tool/keycode/i18n/id.ts +2 -14
  231. package/src/tool/keycode/i18n/it.ts +2 -14
  232. package/src/tool/keycode/i18n/ja.ts +2 -14
  233. package/src/tool/keycode/i18n/ko.ts +2 -14
  234. package/src/tool/keycode/i18n/nl.ts +2 -14
  235. package/src/tool/keycode/i18n/pl.ts +2 -14
  236. package/src/tool/keycode/i18n/pt.ts +2 -14
  237. package/src/tool/keycode/i18n/ru.ts +2 -14
  238. package/src/tool/keycode/i18n/sv.ts +2 -14
  239. package/src/tool/keycode/i18n/tr.ts +2 -14
  240. package/src/tool/keycode/i18n/zh.ts +2 -14
  241. package/src/tool/llmCostCalculator/bibliography.astro +2 -10
  242. package/src/tool/llmCostCalculator/bibliography.ts +8 -0
  243. package/src/tool/llmCostCalculator/i18n/de.ts +2 -18
  244. package/src/tool/llmCostCalculator/i18n/en.ts +2 -18
  245. package/src/tool/llmCostCalculator/i18n/es.ts +2 -18
  246. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -18
  247. package/src/tool/llmCostCalculator/i18n/id.ts +2 -18
  248. package/src/tool/llmCostCalculator/i18n/it.ts +2 -18
  249. package/src/tool/llmCostCalculator/i18n/ja.ts +2 -18
  250. package/src/tool/llmCostCalculator/i18n/ko.ts +2 -18
  251. package/src/tool/llmCostCalculator/i18n/nl.ts +2 -18
  252. package/src/tool/llmCostCalculator/i18n/pl.ts +2 -18
  253. package/src/tool/llmCostCalculator/i18n/pt.ts +2 -18
  254. package/src/tool/llmCostCalculator/i18n/ru.ts +2 -18
  255. package/src/tool/llmCostCalculator/i18n/sv.ts +2 -18
  256. package/src/tool/llmCostCalculator/i18n/tr.ts +2 -18
  257. package/src/tool/llmCostCalculator/i18n/zh.ts +2 -18
  258. package/src/tool/mobileMockupGenerator/bibliography.astro +2 -10
  259. package/src/tool/mobileMockupGenerator/bibliography.ts +6 -0
  260. package/src/tool/mobileMockupGenerator/i18n/de.ts +2 -4
  261. package/src/tool/mobileMockupGenerator/i18n/en.ts +2 -4
  262. package/src/tool/mobileMockupGenerator/i18n/es.ts +2 -4
  263. package/src/tool/mobileMockupGenerator/i18n/fr.ts +2 -4
  264. package/src/tool/mobileMockupGenerator/i18n/id.ts +2 -4
  265. package/src/tool/mobileMockupGenerator/i18n/it.ts +2 -4
  266. package/src/tool/mobileMockupGenerator/i18n/ja.ts +2 -4
  267. package/src/tool/mobileMockupGenerator/i18n/ko.ts +2 -4
  268. package/src/tool/mobileMockupGenerator/i18n/nl.ts +2 -4
  269. package/src/tool/mobileMockupGenerator/i18n/pl.ts +2 -1
  270. package/src/tool/mobileMockupGenerator/i18n/pt.ts +2 -4
  271. package/src/tool/mobileMockupGenerator/i18n/ru.ts +2 -4
  272. package/src/tool/mobileMockupGenerator/i18n/sv.ts +2 -4
  273. package/src/tool/mobileMockupGenerator/i18n/tr.ts +2 -4
  274. package/src/tool/mobileMockupGenerator/i18n/zh.ts +2 -4
  275. package/src/tool/musicalTypography/bibliography.astro +2 -10
  276. package/src/tool/musicalTypography/bibliography.ts +7 -0
  277. package/src/tool/musicalTypography/i18n/de.ts +2 -14
  278. package/src/tool/musicalTypography/i18n/en.ts +3 -15
  279. package/src/tool/musicalTypography/i18n/es.ts +3 -15
  280. package/src/tool/musicalTypography/i18n/fr.ts +2 -14
  281. package/src/tool/musicalTypography/i18n/id.ts +2 -14
  282. package/src/tool/musicalTypography/i18n/it.ts +2 -14
  283. package/src/tool/musicalTypography/i18n/ja.ts +2 -14
  284. package/src/tool/musicalTypography/i18n/ko.ts +2 -14
  285. package/src/tool/musicalTypography/i18n/nl.ts +2 -14
  286. package/src/tool/musicalTypography/i18n/pl.ts +2 -14
  287. package/src/tool/musicalTypography/i18n/pt.ts +2 -5
  288. package/src/tool/musicalTypography/i18n/ru.ts +2 -5
  289. package/src/tool/musicalTypography/i18n/sv.ts +2 -1
  290. package/src/tool/musicalTypography/i18n/tr.ts +2 -1
  291. package/src/tool/musicalTypography/i18n/zh.ts +2 -1
  292. package/src/tool/placeholderGenerator/bibliography.astro +2 -10
  293. package/src/tool/placeholderGenerator/bibliography.ts +7 -0
  294. package/src/tool/placeholderGenerator/i18n/de.ts +2 -14
  295. package/src/tool/placeholderGenerator/i18n/en.ts +4 -16
  296. package/src/tool/placeholderGenerator/i18n/es.ts +4 -16
  297. package/src/tool/placeholderGenerator/i18n/fr.ts +2 -14
  298. package/src/tool/placeholderGenerator/i18n/id.ts +2 -14
  299. package/src/tool/placeholderGenerator/i18n/it.ts +2 -14
  300. package/src/tool/placeholderGenerator/i18n/ja.ts +2 -14
  301. package/src/tool/placeholderGenerator/i18n/ko.ts +2 -14
  302. package/src/tool/placeholderGenerator/i18n/nl.ts +2 -14
  303. package/src/tool/placeholderGenerator/i18n/pl.ts +2 -14
  304. package/src/tool/placeholderGenerator/i18n/pt.ts +2 -14
  305. package/src/tool/placeholderGenerator/i18n/ru.ts +2 -14
  306. package/src/tool/placeholderGenerator/i18n/sv.ts +2 -14
  307. package/src/tool/placeholderGenerator/i18n/tr.ts +2 -14
  308. package/src/tool/placeholderGenerator/i18n/zh.ts +2 -14
  309. package/src/tool/promoteThisWebsite/asset-bindings.ts +73 -0
  310. package/src/tool/promoteThisWebsite/bibliography.astro +14 -0
  311. package/src/tool/promoteThisWebsite/bibliography.ts +14 -0
  312. package/src/tool/promoteThisWebsite/component.astro +136 -0
  313. package/src/tool/promoteThisWebsite/control-views.ts +83 -0
  314. package/src/tool/promoteThisWebsite/controller.ts +232 -0
  315. package/src/tool/promoteThisWebsite/dom-views.ts +322 -0
  316. package/src/tool/promoteThisWebsite/entry.ts +15 -0
  317. package/src/tool/promoteThisWebsite/evaluator.ts +9 -0
  318. package/src/tool/promoteThisWebsite/i18n/en.ts +111 -0
  319. package/src/tool/promoteThisWebsite/index.ts +11 -0
  320. package/src/tool/promoteThisWebsite/jjlmoya-overlay.png +0 -0
  321. package/src/tool/promoteThisWebsite/logic.test.ts +29 -0
  322. package/src/tool/promoteThisWebsite/logic.ts +108 -0
  323. package/src/tool/promoteThisWebsite/pixel-cat.png +0 -0
  324. package/src/tool/promoteThisWebsite/promote-this-website.css +322 -0
  325. package/src/tool/promoteThisWebsite/seo.astro +15 -0
  326. package/src/tool/promoteThisWebsite/storage.ts +28 -0
  327. package/src/tool/promoteThisWebsite/title-view.ts +206 -0
  328. package/src/tool/promoteThisWebsite/ui.ts +59 -0
  329. package/src/tool/promptLibrary/bibliography.astro +2 -10
  330. package/src/tool/promptLibrary/bibliography.ts +6 -0
  331. package/src/tool/promptLibrary/i18n/de.ts +2 -4
  332. package/src/tool/promptLibrary/i18n/en.ts +2 -4
  333. package/src/tool/promptLibrary/i18n/es.ts +2 -4
  334. package/src/tool/promptLibrary/i18n/fr.ts +2 -4
  335. package/src/tool/promptLibrary/i18n/id.ts +2 -4
  336. package/src/tool/promptLibrary/i18n/it.ts +2 -4
  337. package/src/tool/promptLibrary/i18n/ja.ts +2 -4
  338. package/src/tool/promptLibrary/i18n/ko.ts +2 -4
  339. package/src/tool/promptLibrary/i18n/nl.ts +2 -4
  340. package/src/tool/promptLibrary/i18n/pl.ts +2 -1
  341. package/src/tool/promptLibrary/i18n/pt.ts +2 -4
  342. package/src/tool/promptLibrary/i18n/ru.ts +2 -4
  343. package/src/tool/promptLibrary/i18n/sv.ts +2 -4
  344. package/src/tool/promptLibrary/i18n/tr.ts +2 -4
  345. package/src/tool/promptLibrary/i18n/zh.ts +2 -4
  346. package/src/tool/readabilityCalculator/bibliography.astro +2 -10
  347. package/src/tool/readabilityCalculator/bibliography.ts +7 -0
  348. package/src/tool/readabilityCalculator/i18n/de.ts +2 -5
  349. package/src/tool/readabilityCalculator/i18n/en.ts +2 -5
  350. package/src/tool/readabilityCalculator/i18n/es.ts +2 -5
  351. package/src/tool/readabilityCalculator/i18n/fr.ts +2 -5
  352. package/src/tool/readabilityCalculator/i18n/id.ts +2 -5
  353. package/src/tool/readabilityCalculator/i18n/it.ts +2 -5
  354. package/src/tool/readabilityCalculator/i18n/ja.ts +2 -5
  355. package/src/tool/readabilityCalculator/i18n/ko.ts +2 -5
  356. package/src/tool/readabilityCalculator/i18n/nl.ts +2 -5
  357. package/src/tool/readabilityCalculator/i18n/pl.ts +2 -1
  358. package/src/tool/readabilityCalculator/i18n/pt.ts +2 -5
  359. package/src/tool/readabilityCalculator/i18n/ru.ts +2 -5
  360. package/src/tool/readabilityCalculator/i18n/sv.ts +2 -5
  361. package/src/tool/readabilityCalculator/i18n/tr.ts +2 -5
  362. package/src/tool/readabilityCalculator/i18n/zh.ts +2 -5
  363. package/src/tool/serpPixelSimulator/controller.ts +1 -0
  364. package/src/tool/serpPixelSimulator/i18n/en.ts +2 -2
  365. package/src/tool/serpPixelSimulator/i18n/es.ts +2 -2
  366. package/src/tool/serpPixelSimulator/logic.test.ts +25 -0
  367. package/src/tool/svgSanitizer/bibliography.astro +2 -10
  368. package/src/tool/svgSanitizer/bibliography.ts +7 -0
  369. package/src/tool/svgSanitizer/i18n/de.ts +2 -5
  370. package/src/tool/svgSanitizer/i18n/en.ts +2 -5
  371. package/src/tool/svgSanitizer/i18n/es.ts +2 -5
  372. package/src/tool/svgSanitizer/i18n/fr.ts +2 -5
  373. package/src/tool/svgSanitizer/i18n/id.ts +2 -5
  374. package/src/tool/svgSanitizer/i18n/it.ts +2 -5
  375. package/src/tool/svgSanitizer/i18n/ja.ts +2 -5
  376. package/src/tool/svgSanitizer/i18n/ko.ts +2 -5
  377. package/src/tool/svgSanitizer/i18n/nl.ts +2 -5
  378. package/src/tool/svgSanitizer/i18n/pl.ts +2 -5
  379. package/src/tool/svgSanitizer/i18n/pt.ts +2 -1
  380. package/src/tool/svgSanitizer/i18n/ru.ts +2 -5
  381. package/src/tool/svgSanitizer/i18n/sv.ts +2 -5
  382. package/src/tool/svgSanitizer/i18n/tr.ts +2 -5
  383. package/src/tool/svgSanitizer/i18n/zh.ts +2 -5
  384. package/src/tool/svgToCss/bibliography.astro +2 -10
  385. package/src/tool/svgToCss/bibliography.ts +8 -0
  386. package/src/tool/svgToCss/i18n/de.ts +2 -18
  387. package/src/tool/svgToCss/i18n/en.ts +2 -18
  388. package/src/tool/svgToCss/i18n/es.ts +2 -18
  389. package/src/tool/svgToCss/i18n/fr.ts +2 -18
  390. package/src/tool/svgToCss/i18n/id.ts +2 -18
  391. package/src/tool/svgToCss/i18n/it.ts +2 -18
  392. package/src/tool/svgToCss/i18n/ja.ts +2 -18
  393. package/src/tool/svgToCss/i18n/ko.ts +2 -18
  394. package/src/tool/svgToCss/i18n/nl.ts +2 -18
  395. package/src/tool/svgToCss/i18n/pl.ts +2 -18
  396. package/src/tool/svgToCss/i18n/pt.ts +2 -18
  397. package/src/tool/svgToCss/i18n/ru.ts +2 -18
  398. package/src/tool/svgToCss/i18n/sv.ts +2 -18
  399. package/src/tool/svgToCss/i18n/tr.ts +2 -18
  400. package/src/tool/svgToCss/i18n/zh.ts +2 -18
  401. package/src/tool/urlCleaner/bibliography.astro +2 -10
  402. package/src/tool/urlCleaner/bibliography.ts +7 -0
  403. package/src/tool/urlCleaner/i18n/de.ts +2 -5
  404. package/src/tool/urlCleaner/i18n/en.ts +2 -5
  405. package/src/tool/urlCleaner/i18n/es.ts +2 -5
  406. package/src/tool/urlCleaner/i18n/fr.ts +2 -5
  407. package/src/tool/urlCleaner/i18n/id.ts +2 -5
  408. package/src/tool/urlCleaner/i18n/it.ts +2 -5
  409. package/src/tool/urlCleaner/i18n/ja.ts +2 -5
  410. package/src/tool/urlCleaner/i18n/ko.ts +2 -5
  411. package/src/tool/urlCleaner/i18n/nl.ts +2 -5
  412. package/src/tool/urlCleaner/i18n/pl.ts +2 -1
  413. package/src/tool/urlCleaner/i18n/pt.ts +2 -5
  414. package/src/tool/urlCleaner/i18n/ru.ts +2 -5
  415. package/src/tool/urlCleaner/i18n/sv.ts +2 -5
  416. package/src/tool/urlCleaner/i18n/tr.ts +2 -5
  417. package/src/tool/urlCleaner/i18n/zh.ts +2 -5
  418. package/src/tool/urlEncoderDecoder/bibliography.astro +2 -10
  419. package/src/tool/urlEncoderDecoder/bibliography.ts +7 -0
  420. package/src/tool/urlEncoderDecoder/i18n/de.ts +2 -14
  421. package/src/tool/urlEncoderDecoder/i18n/en.ts +3 -15
  422. package/src/tool/urlEncoderDecoder/i18n/es.ts +3 -15
  423. package/src/tool/urlEncoderDecoder/i18n/fr.ts +2 -14
  424. package/src/tool/urlEncoderDecoder/i18n/id.ts +2 -14
  425. package/src/tool/urlEncoderDecoder/i18n/it.ts +2 -14
  426. package/src/tool/urlEncoderDecoder/i18n/ja.ts +2 -14
  427. package/src/tool/urlEncoderDecoder/i18n/ko.ts +2 -14
  428. package/src/tool/urlEncoderDecoder/i18n/nl.ts +2 -14
  429. package/src/tool/urlEncoderDecoder/i18n/pl.ts +2 -14
  430. package/src/tool/urlEncoderDecoder/i18n/pt.ts +2 -14
  431. package/src/tool/urlEncoderDecoder/i18n/ru.ts +2 -14
  432. package/src/tool/urlEncoderDecoder/i18n/sv.ts +2 -14
  433. package/src/tool/urlEncoderDecoder/i18n/tr.ts +2 -14
  434. package/src/tool/urlEncoderDecoder/i18n/zh.ts +2 -14
  435. package/src/tool/utmGenerator/bibliography.astro +2 -10
  436. package/src/tool/utmGenerator/bibliography.ts +6 -0
  437. package/src/tool/utmGenerator/i18n/de.ts +2 -4
  438. package/src/tool/utmGenerator/i18n/en.ts +2 -4
  439. package/src/tool/utmGenerator/i18n/es.ts +2 -4
  440. package/src/tool/utmGenerator/i18n/fr.ts +2 -4
  441. package/src/tool/utmGenerator/i18n/id.ts +2 -4
  442. package/src/tool/utmGenerator/i18n/it.ts +2 -4
  443. package/src/tool/utmGenerator/i18n/ja.ts +2 -4
  444. package/src/tool/utmGenerator/i18n/ko.ts +2 -4
  445. package/src/tool/utmGenerator/i18n/nl.ts +2 -4
  446. package/src/tool/utmGenerator/i18n/pl.ts +2 -4
  447. package/src/tool/utmGenerator/i18n/pt.ts +2 -4
  448. package/src/tool/utmGenerator/i18n/ru.ts +2 -4
  449. package/src/tool/utmGenerator/i18n/sv.ts +2 -4
  450. package/src/tool/utmGenerator/i18n/tr.ts +2 -4
  451. package/src/tool/utmGenerator/i18n/zh.ts +2 -4
  452. package/src/tool/visualCssGridFlexboxGenerator/component.astro +1 -0
  453. package/src/tool/visualCssGridFlexboxGenerator/logic.test.ts +29 -0
  454. package/src/tool/visualCssGridFlexboxGenerator/workspace.ts +13 -1
  455. package/src/tools.ts +2 -1
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MobileMockupGeneratorUI } from '../ui';
@@ -102,10 +103,7 @@ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
102
103
  faqTitle: 'Vanliga Frågor',
103
104
  faq: faqData,
104
105
  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
- ],
106
+ bibliography,
109
107
  howTo: howToData,
110
108
  schemas: [faqSchema, howToSchema, appSchema],
111
109
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MobileMockupGeneratorUI } from '../ui';
@@ -102,10 +103,7 @@ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
102
103
  faqTitle: 'Sık Sorulan Sorular',
103
104
  faq: faqData,
104
105
  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
- ],
106
+ bibliography,
109
107
  howTo: howToData,
110
108
  schemas: [faqSchema, howToSchema, appSchema],
111
109
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MobileMockupGeneratorUI } from '../ui';
@@ -102,10 +103,7 @@ export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
102
103
  faqTitle: '常见问题',
103
104
  faq: faqData,
104
105
  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
- ],
106
+ bibliography,
109
107
  howTo: howToData,
110
108
  schemas: [faqSchema, howToSchema, appSchema],
111
109
  seo: [
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { musicalTypography } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await musicalTypography.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,7 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' },
5
+ { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' },
6
+ { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' },
7
+ ];
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Häufig gestellte Fragen',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Quellen',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Frequently Asked Questions',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'References',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -155,7 +143,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
155
143
  {
156
144
  type: 'card',
157
145
  title: 'The formula',
158
- html: '<p>The progression is simple: <code>Size = Base × Ratio<sup>n</sup></code>. Step 0 is your base text. Step 1 is a small subtitle. Step 4 or 5 could be your main H1. The same multiplying constant (the ratio) ensures all relationships are consistent.</p>',
146
+ html: '<p>The progression is simple: <code>Size = Base × Ratio<sup>n</sup></code>. Step 0 is your base text. Step 1 is a small subtitle. Step 4 or 5 could be your main H1. The same multiplying constant (the ratio) keeps the relationships consistent.</p>',
159
147
  },
160
148
  {
161
149
  type: 'card',
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Preguntas Frecuentes',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Referencias',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -155,7 +143,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
155
143
  {
156
144
  type: 'card',
157
145
  title: 'La fórmula',
158
- html: '<p>La progresión es simple: <code>Tamaño = Base × Ratio<sup>n</sup></code>. El paso 0 es tu texto base. El paso 1 es un subtítulo pequeño. El paso 4 o 5 podría ser tu H1 principal. La misma constante multiplicativa (el ratio) garantiza que todas las relaciones sean consistentes.</p>',
146
+ html: '<p>La progresión es simple: <code>Tamaño = Base × Ratio<sup>n</sup></code>. El paso 0 es tu texto base. El paso 1 es un subtítulo pequeño. El paso 4 o 5 podría ser tu H1 principal. La misma constante multiplicativa (el ratio) mantiene coherentes las relaciones.</p>',
159
147
  },
160
148
  {
161
149
  type: 'card',
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Questions fréquentes',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Références',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Pertanyaan yang Sering Diajukan',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Referensi',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Domande frequenti',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Riferimenti',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'よくある質問',
118
119
  faq: faqData,
119
120
  bibliographyTitle: '参考文献',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: '자주 묻는 질문',
118
119
  faq: faqData,
119
120
  bibliographyTitle: '참고 자료',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Veelgestelde Vragen',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Referenties',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -117,20 +118,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
117
118
  faqTitle: 'Często Zadawane Pytania',
118
119
  faq: faqData,
119
120
  bibliographyTitle: 'Referencje',
120
- bibliography: [
121
- {
122
- name: 'Bringhurst, R. The Elements of Typographic Style',
123
- url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style',
124
- },
125
- {
126
- name: 'Brown, T. More Meaningful Typography. A List Apart',
127
- url: 'https://alistapart.com/article/more-meaningful-typography/',
128
- },
129
- {
130
- name: 'Physics of Music. Musical Intervals and Scales',
131
- url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes',
132
- },
133
- ],
121
+ bibliography,
134
122
  howTo: howToData,
135
123
  schemas: [faqSchema, howToSchema, appSchema],
136
124
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -80,11 +81,7 @@ export const content: ToolLocaleContent<MusicalTypographyUI> = {
80
81
  faqTitle: 'Perguntas Frequentes',
81
82
  faq: faqData,
82
83
  bibliographyTitle: 'Referências',
83
- bibliography: [
84
- { name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' },
85
- { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' },
86
- { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' },
87
- ],
84
+ bibliography,
88
85
  howTo: howToData,
89
86
  schemas: [faqSchema, howToSchema, appSchema],
90
87
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -29,11 +30,7 @@ const ui: MusicalTypographyUI = {
29
30
  };
30
31
 
31
32
  export const content: ToolLocaleContent<MusicalTypographyUI> = {
32
- slug, title, description, ui, faqTitle: 'Часто Задаваемые Вопросы', faq: faqData, bibliographyTitle: 'Ссылки', bibliography: [
33
- { name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' },
34
- { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' },
35
- { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' },
36
- ], howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [
33
+ slug, title, description, ui, faqTitle: 'Часто Задаваемые Вопросы', faq: faqData, bibliographyTitle: 'Ссылки', bibliography, howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [
37
34
  { type: 'title', text: 'Невидимая гармония веб-дизайна', level: 2 },
38
35
  { type: 'paragraph', html: '<strong>Музыкальная Типографическая Шкала</strong> применяет математику музыкальных интервалов к типографическому дизайну. Подобно тому, как музыкальная композиция управляется точными пропорциями, хороший дизайн выигрывает от математической структуры, которая связывает все размеры вместе.' },
39
36
  { type: 'title', text: 'Как работает модульная шкала', level: 3 },
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -26,4 +27,4 @@ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schem
26
27
 
27
28
  const ui: MusicalTypographyUI = { labelConfig: 'Konfiguration', labelBaseSize: 'Basstorlek (px)', hintBaseSize: 'Din styckestextstorlek (vanligtvis 16px).', labelRatio: 'Musikal Skala (Förhållande)', hintRatio: 'Bestämmer hur mycket storleken växer vid varje steg.', labelCalculated: 'Beräknade Värden', labelPreview: 'Förhandsvisning', btnCopyCss: 'Kopiera CSS-Variabler', feedbackCopied: 'Variabler kopierade till urklipp!', previewText: 'Musikal Typografi', previewSubtext: 'En perfekt harmonisk skala för din design.', ratioSecundaMenor: 'Liten Sekund', ratioSegundaMayor: 'Stor Sekund', ratioTerceraMenor: 'Liten Ters', ratioTerceraMayor: 'Stor Ters', ratioCuartaPerfecta: 'Perfekt Fjärdedel', ratioCuartaAumentada: 'Utökad Fjärdedel', ratioQuintaPerfecta: 'Perfekt Kvint', ratioProporcionAurea: 'Gyllene Snitt', ratioSextaMayor: 'Stor Sext', ratioSeptimaMenor: 'Liten Septim', ratioSeptimaMayor: 'Stor Septim', ratioOctava: 'Oktav' };
28
29
 
29
- export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: 'Vanliga Frågor', faq: faqData, bibliographyTitle: 'Referenser', bibliography: [{ name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' }, { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' }, { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' }], howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: 'Den osynliga harmonin inom webdesign', level: 2 }, { type: 'paragraph', html: 'Den <strong>Musikala Typografiska Skalan</strong> tillämpar matematiken för musikaliska intervaller på typografisk design. Precis som en musikkomposition styrs av exakta proportioner, gynnas en solid design av en matematisk struktur som relaterar alla storlekar till varandra.' }, { type: 'title', text: 'Hur den modulära skalan fungerar', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: 'Formeln', html: '<p>Progressionen är enkel: <code>Size = Base × Ratio<sup>n</sup></code>. Steg 0 är din bastex. Steg 1 är en liten undertext. Steg 4 eller 5 kan vara din huvudsakliga H1. Samma multiplikationskonstant (förhållandet) säkerställer att alla relationer är konsekventa.</p>' }, { type: 'card', title: 'Varför "Musikal"', html: '<p>Pythagoreerna upptäckte att delning av en sträng i enkla proportioner (1:2, 2:3, 3:4) producerade konsonanta ljud. Dessa intervaller, oktav, perfekt kvint och perfekt fjärdedel, är exakt de typografiska proportionerna. Du komponerar visuell musik.</p>' }, { type: 'title', text: 'Att välja rätt förhållande', level: 3 }, { type: 'tip', html: 'För täta gränssnitt (instrumentpaneler, tabeller) använd små förhållanden som <code>1.125</code> eller <code>1.2</code>. För redaktionella eller portföljwebbplatser, använd mer uttrycksfulla förhållanden som <code>1.5</code> eller <code>1.618</code>.' }, { type: 'paragraph', html: 'Begränsa inte skalan till bara <code>font-size</code>. Samma CSS-variabler fungerar för <code>margin</code>, <code>padding</code> och <code>gap</code>. När tomt utrymme följer samma matematiska progression som texten, uppnår designen en nivå av sammanhållning som alla känner men få kan förklara.' }] };
30
+ export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: 'Vanliga Frågor', faq: faqData, bibliographyTitle: 'Referenser', bibliography, howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: 'Den osynliga harmonin inom webdesign', level: 2 }, { type: 'paragraph', html: 'Den <strong>Musikala Typografiska Skalan</strong> tillämpar matematiken för musikaliska intervaller på typografisk design. Precis som en musikkomposition styrs av exakta proportioner, gynnas en solid design av en matematisk struktur som relaterar alla storlekar till varandra.' }, { type: 'title', text: 'Hur den modulära skalan fungerar', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: 'Formeln', html: '<p>Progressionen är enkel: <code>Size = Base × Ratio<sup>n</sup></code>. Steg 0 är din bastex. Steg 1 är en liten undertext. Steg 4 eller 5 kan vara din huvudsakliga H1. Samma multiplikationskonstant (förhållandet) säkerställer att alla relationer är konsekventa.</p>' }, { type: 'card', title: 'Varför "Musikal"', html: '<p>Pythagoreerna upptäckte att delning av en sträng i enkla proportioner (1:2, 2:3, 3:4) producerade konsonanta ljud. Dessa intervaller, oktav, perfekt kvint och perfekt fjärdedel, är exakt de typografiska proportionerna. Du komponerar visuell musik.</p>' }, { type: 'title', text: 'Att välja rätt förhållande', level: 3 }, { type: 'tip', html: 'För täta gränssnitt (instrumentpaneler, tabeller) använd små förhållanden som <code>1.125</code> eller <code>1.2</code>. För redaktionella eller portföljwebbplatser, använd mer uttrycksfulla förhållanden som <code>1.5</code> eller <code>1.618</code>.' }, { type: 'paragraph', html: 'Begränsa inte skalan till bara <code>font-size</code>. Samma CSS-variabler fungerar för <code>margin</code>, <code>padding</code> och <code>gap</code>. När tomt utrymme följer samma matematiska progression som texten, uppnår designen en nivå av sammanhållning som alla känner men få kan förklara.' }] };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -26,4 +27,4 @@ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schem
26
27
 
27
28
  const ui: MusicalTypographyUI = { labelConfig: 'Yapılandırma', labelBaseSize: 'Temel Boyut (px)', hintBaseSize: 'Paragraf metin boyutunuz (genellikle 16px).', labelRatio: 'Müzik Ölçeği (Oran)', hintRatio: 'Boyutun her adımda ne kadar büyüdüğünü belirler.', labelCalculated: 'Hesaplanan Değerler', labelPreview: 'Önizleme', btnCopyCss: 'CSS Değişkenlerini Kopyala', feedbackCopied: 'Değişkenler panoya kopyalandı!', previewText: 'Müziksel Tipografi', previewSubtext: 'Tasarımınız için mükemmel uyumlu ölçek.', ratioSecundaMenor: 'Küçük İkinci', ratioSegundaMayor: 'Büyük İkinci', ratioTerceraMenor: 'Küçük Üçüncü', ratioTerceraMayor: 'Büyük Üçüncü', ratioCuartaPerfecta: 'Mükemmel Dördüncü', ratioCuartaAumentada: 'Arttırılmış Dördüncü', ratioQuintaPerfecta: 'Mükemmel Beşinci', ratioProporcionAurea: 'Altın Oran', ratioSextaMayor: 'Büyük Altıncı', ratioSeptimaMenor: 'Küçük Yedinci', ratioSeptimaMayor: 'Büyük Yedinci', ratioOctava: 'Sekizinci' };
28
29
 
29
- export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: 'Sık Sorulan Sorular', faq: faqData, bibliographyTitle: 'Referanslar', bibliography: [{ name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' }, { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' }, { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' }], howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: 'Web Tasarımının Görünmez Uyumu', level: 2 }, { type: 'paragraph', html: '<strong>Müziksel Tipografi Ölçeği</strong> müzik aralıklarının matematiğini tipografik tasarıma uygular. Müzik bestesi kesin oranlarla yönetildiği gibi, iyi tasarım tüm boyutları birbiriyle ilişkilendiren matematiksel bir yapıdan yararlanır.' }, { type: 'title', text: 'Modüler ölçek nasıl çalışır', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: 'Formül', html: '<p>İlerleme basittir: <code>Size = Base × Ratio<sup>n</sup></code>. Adım 0, temel metniniz. Adım 1, küçük bir altyazı. Adım 4 veya 5, ana H1\'iniz olabilir. Aynı çarpma sabiti (oran) tüm ilişkilerin tutarlı olmasını sağlar.</p>' }, { type: 'card', title: 'Neden "Müziksel"', html: '<p>Pythagorası, bir dizeyi basit oranlara (1:2, 2:3, 3:4) böldüğünde uyumlu sesler üretileceğini keşfetti. Bu aralıklar, sekizinci, mükemmel beşinci ve mükemmel dördüncü, tam olarak tipografik oranlarıdır. Görsel müzik besteliyorsunuz.</p>' }, { type: 'title', text: 'Doğru oranı seçme', level: 3 }, { type: 'tip', html: 'Yoğun arayüzler (panolar, tablolar) için <code>1.125</code> veya <code>1.2</code> gibi küçük oranlar kullanın. Editoryal veya portföy siteleri için <code>1.5</code> veya <code>1.618</code> gibi daha anlatımlı oranlar kullanın.' }, { type: 'paragraph', html: 'Ölçeği sadece <code>font-size</code> ile sınırlamayın. Aynı CSS değişkenleri <code>margin</code>, <code>padding</code> ve <code>gap</code> için çalışır. Boş alan, metin ile aynı matematiksel ilerlemeyi takip ettiğinde, tasarım herkesin hissettiği ancak çok azının açıklayabileceği bir tutarlılık düzeyine ulaşır.' }] };
30
+ export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: 'Sık Sorulan Sorular', faq: faqData, bibliographyTitle: 'Referanslar', bibliography, howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: 'Web Tasarımının Görünmez Uyumu', level: 2 }, { type: 'paragraph', html: '<strong>Müziksel Tipografi Ölçeği</strong> müzik aralıklarının matematiğini tipografik tasarıma uygular. Müzik bestesi kesin oranlarla yönetildiği gibi, iyi tasarım tüm boyutları birbiriyle ilişkilendiren matematiksel bir yapıdan yararlanır.' }, { type: 'title', text: 'Modüler ölçek nasıl çalışır', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: 'Formül', html: '<p>İlerleme basittir: <code>Size = Base × Ratio<sup>n</sup></code>. Adım 0, temel metniniz. Adım 1, küçük bir altyazı. Adım 4 veya 5, ana H1\'iniz olabilir. Aynı çarpma sabiti (oran) tüm ilişkilerin tutarlı olmasını sağlar.</p>' }, { type: 'card', title: 'Neden "Müziksel"', html: '<p>Pythagorası, bir dizeyi basit oranlara (1:2, 2:3, 3:4) böldüğünde uyumlu sesler üretileceğini keşfetti. Bu aralıklar, sekizinci, mükemmel beşinci ve mükemmel dördüncü, tam olarak tipografik oranlarıdır. Görsel müzik besteliyorsunuz.</p>' }, { type: 'title', text: 'Doğru oranı seçme', level: 3 }, { type: 'tip', html: 'Yoğun arayüzler (panolar, tablolar) için <code>1.125</code> veya <code>1.2</code> gibi küçük oranlar kullanın. Editoryal veya portföy siteleri için <code>1.5</code> veya <code>1.618</code> gibi daha anlatımlı oranlar kullanın.' }, { type: 'paragraph', html: 'Ölçeği sadece <code>font-size</code> ile sınırlamayın. Aynı CSS değişkenleri <code>margin</code>, <code>padding</code> ve <code>gap</code> için çalışır. Boş alan, metin ile aynı matematiksel ilerlemeyi takip ettiğinde, tasarım herkesin hissettiği ancak çok azının açıklayabileceği bir tutarlılık düzeyine ulaşır.' }] };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { MusicalTypographyUI } from '../ui';
@@ -26,5 +27,5 @@ const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schem
26
27
 
27
28
  const ui: MusicalTypographyUI = { labelConfig: '配置', labelBaseSize: '基础大小 (px)', hintBaseSize: '您的段落文本大小(通常16px)。', labelRatio: '音乐秤(比例)', hintRatio: '确定每个步骤的大小增长程度。', labelCalculated: '计算值', labelPreview: '预览', btnCopyCss: '复制CSS变量', feedbackCopied: '变量已复制到剪贴板!', previewText: '音乐排版', previewSubtext: '为您的设计提供完美的和谐秤。', ratioSecundaMenor: '小二度', ratioSegundaMayor: '大二度', ratioTerceraMenor: '小三度', ratioTerceraMayor: '大三度', ratioCuartaPerfecta: '完全四度', ratioCuartaAumentada: '增大四度', ratioQuintaPerfecta: '完全五度', ratioProporcionAurea: '黄金比例', ratioSextaMayor: '大六度', ratioSeptimaMenor: '小七度', ratioSeptimaMayor: '大七度', ratioOctava: '八度' };
28
29
 
29
- export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: '常见问题', faq: faqData, bibliographyTitle: '参考', bibliography: [{ name: 'Bringhurst, R. The Elements of Typographic Style', url: 'https://en.wikipedia.org/wiki/The_Elements_of_Typographic_Style' }, { name: 'Brown, T. More Meaningful Typography. A List Apart', url: 'https://alistapart.com/article/more-meaningful-typography/' }, { name: 'Physics of Music. Musical Intervals and Scales', url: 'https://es.scribd.com/document/199729396/Physics-of-Music-Notes' }], howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: '网页设计中看不见的和谐', level: 2 }, { type: 'paragraph', html: '<strong>音乐排版秤</strong>将音乐间隔的数学应用于排版设计。就像音乐作品受精确比例支配一样,一个好的设计受益于一个将所有大小联系起来的数学结构。' }, { type: 'title', text: '模块化秤如何工作', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: '公式', html: '<p>进度很简单:<code>Size = Base × Ratio<sup>n</sup></code>。第0步是您的基础文本。第1步是小字幕。第4或5步可能是您的主H1。相同的乘法常数(比例)确保所有关系一致。</p>' }, { type: 'card', title: '为什么是"音乐的"', html: '<p>毕达哥拉斯发现,将弦分成简单比例(1:2、2:3、3:4)会产生辅音。这些间隔、八度、完全五度和完全四度,正是排版比例。您正在组成视觉音乐。</p>' }, { type: 'title', text: '选择正确的比例', level: 3 }, { type: 'tip', html: '对于密集界面(仪表板、表格),使用小比例(如<code>1.125</code>或<code>1.2</code>)。对于编辑或投资组合网站,使用更富表现力的比例(如<code>1.5</code>或<code>1.618</code>)。' }, { type: 'paragraph', html: '不要将秤限制在仅<code>font-size</code>。相同的CSS变量适用于<code>margin</code>、<code>padding</code>和<code>gap</code>。当空白遵循与文本相同的数学进度时,设计达到所有人都能感受但很少有人能解释的凝聚力。' }] };
30
+ export const content: ToolLocaleContent<MusicalTypographyUI> = { slug, title, description, ui, faqTitle: '常见问题', faq: faqData, bibliographyTitle: '参考', bibliography, howTo: howToData, schemas: [faqSchema, howToSchema, appSchema], seo: [{ type: 'title', text: '网页设计中看不见的和谐', level: 2 }, { type: 'paragraph', html: '<strong>音乐排版秤</strong>将音乐间隔的数学应用于排版设计。就像音乐作品受精确比例支配一样,一个好的设计受益于一个将所有大小联系起来的数学结构。' }, { type: 'title', text: '模块化秤如何工作', level: 3 }, { type: 'grid', columns: 2 }, { type: 'card', title: '公式', html: '<p>进度很简单:<code>Size = Base × Ratio<sup>n</sup></code>。第0步是您的基础文本。第1步是小字幕。第4或5步可能是您的主H1。相同的乘法常数(比例)确保所有关系一致。</p>' }, { type: 'card', title: '为什么是"音乐的"', html: '<p>毕达哥拉斯发现,将弦分成简单比例(1:2、2:3、3:4)会产生辅音。这些间隔、八度、完全五度和完全四度,正是排版比例。您正在组成视觉音乐。</p>' }, { type: 'title', text: '选择正确的比例', level: 3 }, { type: 'tip', html: '对于密集界面(仪表板、表格),使用小比例(如<code>1.125</code>或<code>1.2</code>)。对于编辑或投资组合网站,使用更富表现力的比例(如<code>1.5</code>或<code>1.618</code>)。' }, { type: 'paragraph', html: '不要将秤限制在仅<code>font-size</code>。相同的CSS变量适用于<code>margin</code>、<code>padding</code>和<code>gap</code>。当空白遵循与文本相同的数学进度时,设计达到所有人都能感受但很少有人能解释的凝聚力。' }] };
30
31
 
@@ -1,14 +1,6 @@
1
1
  ---
2
2
  import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
3
- import { placeholderGenerator } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await placeholderGenerator.i18n[locale]?.();
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <SharedBibliography links={content.bibliography} />}
6
+ <SharedBibliography links={bibliography} />
@@ -0,0 +1,7 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'MDN Web Docs: HTMLCanvasElement.toDataURL()', url: 'https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL' },
5
+ { name: 'MDN Web Docs: CanvasRenderingContext2D', url: 'https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D' },
6
+ { name: 'W3C: HTML Canvas 2D Context', url: 'https://www.w3.org/TR/2dcontext/' },
7
+ ];
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { PlaceholderGeneratorUI } from '../ui';
@@ -106,20 +107,7 @@ export const content: ToolLocaleContent<PlaceholderGeneratorUI> = {
106
107
  faqTitle: 'Häufig gestellte Fragen',
107
108
  faq: faqData,
108
109
  bibliographyTitle: 'Referenzen und Dokumentation',
109
- bibliography: [
110
- {
111
- name: 'MDN Web Docs: HTMLCanvasElement.toDataURL()',
112
- url: 'https://developer.mozilla.org/de/docs/Web/API/HTMLCanvasElement/toDataURL',
113
- },
114
- {
115
- name: 'MDN Web Docs: CanvasRenderingContext2D',
116
- url: 'https://developer.mozilla.org/de/docs/Web/API/CanvasRenderingContext2D',
117
- },
118
- {
119
- name: 'W3C: HTML Canvas 2D Context',
120
- url: 'https://www.w3.org/TR/2dcontext/',
121
- },
122
- ],
110
+ bibliography,
123
111
  howTo: howToData,
124
112
  schemas: [faqSchema, howToSchema, appSchema],
125
113
  seo: [
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { PlaceholderGeneratorUI } from '../ui';
@@ -106,20 +107,7 @@ export const content: ToolLocaleContent<PlaceholderGeneratorUI> = {
106
107
  faqTitle: 'Frequently Asked Questions',
107
108
  faq: faqData,
108
109
  bibliographyTitle: 'References and Documentation',
109
- bibliography: [
110
- {
111
- name: 'MDN Web Docs: HTMLCanvasElement.toDataURL()',
112
- url: 'https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL',
113
- },
114
- {
115
- name: 'MDN Web Docs: CanvasRenderingContext2D',
116
- url: 'https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D',
117
- },
118
- {
119
- name: 'W3C: HTML Canvas 2D Context',
120
- url: 'https://www.w3.org/TR/2dcontext/',
121
- },
122
- ],
110
+ bibliography,
123
111
  howTo: howToData,
124
112
  schemas: [faqSchema, howToSchema, appSchema],
125
113
  seo: [
@@ -158,9 +146,9 @@ export const content: ToolLocaleContent<PlaceholderGeneratorUI> = {
158
146
  {
159
147
  type: 'list',
160
148
  items: [
161
- '<strong>Pixel Perfect Resolution:</strong> Native HTML5 Canvas ensures the exported canvas corresponds arithmetically to the coordinates stipulated by the user.',
149
+ '<strong>Pixel Perfect Resolution:</strong> Native HTML5 Canvas keeps the exported canvas aligned with the coordinates stipulated by the user.',
162
150
  '<strong>Typographic Autoscaling:</strong> In Automatic mode, the font size calculates the perimeter area and number of characters to elegantly fit the text without causing unwanted <em>overflows</em>.',
163
- '<strong>Hexadecimal Fusion:</strong> Bidirectional state control between native HTML ecosystem selectors and typed inputs, guaranteeing precise contrasts dictated by your Figma or Penpot UI/UX palette.',
151
+ '<strong>Hexadecimal Fusion:</strong> Bidirectional state control between native HTML ecosystem selectors and typed inputs, so you can match the contrast values from your Figma or Penpot UI/UX palette.',
164
152
  ],
165
153
  },
166
154
  {
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
3
  import type { ToolLocaleContent } from '../../../types';
3
4
  import type { PlaceholderGeneratorUI } from '../ui';
@@ -106,20 +107,7 @@ export const content: ToolLocaleContent<PlaceholderGeneratorUI> = {
106
107
  faqTitle: 'Preguntas Frecuentes',
107
108
  faq: faqData,
108
109
  bibliographyTitle: 'Referencias y Documentación',
109
- bibliography: [
110
- {
111
- name: 'MDN Web Docs: HTMLCanvasElement.toDataURL()',
112
- url: 'https://developer.mozilla.org/es/docs/Web/API/HTMLCanvasElement/toDataURL',
113
- },
114
- {
115
- name: 'MDN Web Docs: CanvasRenderingContext2D',
116
- url: 'https://developer.mozilla.org/es/docs/Web/API/CanvasRenderingContext2D',
117
- },
118
- {
119
- name: 'W3C: HTML Canvas 2D Context',
120
- url: 'https://www.w3.org/TR/2dcontext/',
121
- },
122
- ],
110
+ bibliography,
123
111
  howTo: howToData,
124
112
  schemas: [faqSchema, howToSchema, appSchema],
125
113
  seo: [
@@ -158,9 +146,9 @@ export const content: ToolLocaleContent<PlaceholderGeneratorUI> = {
158
146
  {
159
147
  type: 'list',
160
148
  items: [
161
- '<strong>Resolución Pixel Perfect:</strong> HTML5 Canvas nativo asegura que el lienzo exportado corresponde aritméticamente a las coordenadas estipuladas por el usuario.',
149
+ '<strong>Resolución Pixel Perfect:</strong> HTML5 Canvas nativo mantiene el lienzo exportado alineado con las coordenadas indicadas por el usuario.',
162
150
  '<strong>Autoscaling Tipográfico:</strong> En el modo Automático, la dimensión de la fuente calcula el área perimetral y el número de caracteres para acoplar con elegancia el texto a lo largo y ancho sin provocar <em>overflows</em> indeseados.',
163
- '<strong>Fusión Hexadecimal:</strong> Control de estado bidireccional entre selectores de ecosistema nativo HTML e inputs mecanografiados garantizando contrastes precisos dictados por la paleta del UI/UX de tu Figma o Penpot original.',
151
+ '<strong>Fusión Hexadecimal:</strong> Control de estado bidireccional entre selectores de ecosistema nativo HTML e inputs mecanografiados para ajustar los contrastes de la paleta de tu Figma o Penpot original.',
164
152
  ],
165
153
  },
166
154
  {