@jjlmoya/utils-audiovisual 1.17.0 → 1.19.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 (237) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +4 -0
  3. package/src/entries.ts +7 -1
  4. package/src/index.ts +2 -0
  5. package/src/pages/[locale]/[slug].astro +28 -12
  6. package/src/tests/locale_completeness.test.ts +2 -36
  7. package/src/tests/shared-test-helpers.ts +56 -0
  8. package/src/tests/tool_exports.test.ts +34 -0
  9. package/src/tests/tool_validation.test.ts +2 -2
  10. package/src/tool/chromaticLens/bibliography.ts +12 -0
  11. package/src/tool/chromaticLens/entry.ts +2 -0
  12. package/src/tool/chromaticLens/i18n/de.ts +1 -15
  13. package/src/tool/chromaticLens/i18n/en.ts +1 -15
  14. package/src/tool/chromaticLens/i18n/es.ts +1 -13
  15. package/src/tool/chromaticLens/i18n/fr.ts +1 -13
  16. package/src/tool/chromaticLens/i18n/id.ts +1 -15
  17. package/src/tool/chromaticLens/i18n/it.ts +1 -15
  18. package/src/tool/chromaticLens/i18n/ja.ts +1 -15
  19. package/src/tool/chromaticLens/i18n/ko.ts +1 -15
  20. package/src/tool/chromaticLens/i18n/nl.ts +1 -15
  21. package/src/tool/chromaticLens/i18n/pl.ts +1 -15
  22. package/src/tool/chromaticLens/i18n/pt.ts +1 -15
  23. package/src/tool/chromaticLens/i18n/ru.ts +1 -15
  24. package/src/tool/chromaticLens/i18n/sv.ts +1 -15
  25. package/src/tool/chromaticLens/i18n/tr.ts +1 -15
  26. package/src/tool/chromaticLens/i18n/zh.ts +1 -15
  27. package/src/tool/chromaticLens/seo.astro +1 -1
  28. package/src/tool/collageMaker/bibliography.ts +8 -0
  29. package/src/tool/collageMaker/entry.ts +2 -0
  30. package/src/tool/collageMaker/i18n/de.ts +1 -11
  31. package/src/tool/collageMaker/i18n/en.ts +1 -11
  32. package/src/tool/collageMaker/i18n/es.ts +1 -9
  33. package/src/tool/collageMaker/i18n/fr.ts +1 -9
  34. package/src/tool/collageMaker/i18n/id.ts +1 -11
  35. package/src/tool/collageMaker/i18n/it.ts +1 -11
  36. package/src/tool/collageMaker/i18n/ja.ts +1 -11
  37. package/src/tool/collageMaker/i18n/ko.ts +1 -11
  38. package/src/tool/collageMaker/i18n/nl.ts +1 -11
  39. package/src/tool/collageMaker/i18n/pl.ts +1 -11
  40. package/src/tool/collageMaker/i18n/pt.ts +1 -11
  41. package/src/tool/collageMaker/i18n/ru.ts +1 -11
  42. package/src/tool/collageMaker/i18n/sv.ts +1 -11
  43. package/src/tool/collageMaker/i18n/tr.ts +1 -11
  44. package/src/tool/collageMaker/i18n/zh.ts +1 -11
  45. package/src/tool/collageMaker/seo.astro +1 -1
  46. package/src/tool/depthOfFieldCalculator/bibliography.astro +15 -0
  47. package/src/tool/depthOfFieldCalculator/bibliography.ts +20 -0
  48. package/src/tool/depthOfFieldCalculator/component.astro +341 -0
  49. package/src/tool/depthOfFieldCalculator/depth-of-field-calculator.css +417 -0
  50. package/src/tool/depthOfFieldCalculator/entry.ts +52 -0
  51. package/src/tool/depthOfFieldCalculator/i18n/de.ts +141 -0
  52. package/src/tool/depthOfFieldCalculator/i18n/en.ts +141 -0
  53. package/src/tool/depthOfFieldCalculator/i18n/es.ts +141 -0
  54. package/src/tool/depthOfFieldCalculator/i18n/fr.ts +141 -0
  55. package/src/tool/depthOfFieldCalculator/i18n/id.ts +141 -0
  56. package/src/tool/depthOfFieldCalculator/i18n/it.ts +141 -0
  57. package/src/tool/depthOfFieldCalculator/i18n/ja.ts +141 -0
  58. package/src/tool/depthOfFieldCalculator/i18n/ko.ts +141 -0
  59. package/src/tool/depthOfFieldCalculator/i18n/nl.ts +141 -0
  60. package/src/tool/depthOfFieldCalculator/i18n/pl.ts +141 -0
  61. package/src/tool/depthOfFieldCalculator/i18n/pt.ts +141 -0
  62. package/src/tool/depthOfFieldCalculator/i18n/ru.ts +141 -0
  63. package/src/tool/depthOfFieldCalculator/i18n/sv.ts +141 -0
  64. package/src/tool/depthOfFieldCalculator/i18n/tr.ts +141 -0
  65. package/src/tool/depthOfFieldCalculator/i18n/zh.ts +141 -0
  66. package/src/tool/depthOfFieldCalculator/index.ts +10 -0
  67. package/src/tool/depthOfFieldCalculator/logic.ts +91 -0
  68. package/src/tool/depthOfFieldCalculator/seo.astro +15 -0
  69. package/src/tool/exifCleaner/bibliography.ts +12 -0
  70. package/src/tool/exifCleaner/entry.ts +2 -0
  71. package/src/tool/exifCleaner/i18n/de.ts +1 -15
  72. package/src/tool/exifCleaner/i18n/en.ts +1 -15
  73. package/src/tool/exifCleaner/i18n/es.ts +1 -15
  74. package/src/tool/exifCleaner/i18n/fr.ts +1 -15
  75. package/src/tool/exifCleaner/i18n/id.ts +1 -15
  76. package/src/tool/exifCleaner/i18n/it.ts +1 -15
  77. package/src/tool/exifCleaner/i18n/ja.ts +1 -15
  78. package/src/tool/exifCleaner/i18n/ko.ts +1 -15
  79. package/src/tool/exifCleaner/i18n/nl.ts +1 -15
  80. package/src/tool/exifCleaner/i18n/pl.ts +1 -15
  81. package/src/tool/exifCleaner/i18n/pt.ts +1 -15
  82. package/src/tool/exifCleaner/i18n/ru.ts +1 -15
  83. package/src/tool/exifCleaner/i18n/sv.ts +1 -15
  84. package/src/tool/exifCleaner/i18n/tr.ts +1 -15
  85. package/src/tool/exifCleaner/i18n/zh.ts +1 -15
  86. package/src/tool/exifCleaner/seo.astro +2 -5
  87. package/src/tool/imageCompressor/bibliography.ts +12 -0
  88. package/src/tool/imageCompressor/entry.ts +2 -0
  89. package/src/tool/imageCompressor/i18n/de.ts +1 -15
  90. package/src/tool/imageCompressor/i18n/en.ts +1 -15
  91. package/src/tool/imageCompressor/i18n/es.ts +1 -13
  92. package/src/tool/imageCompressor/i18n/fr.ts +1 -13
  93. package/src/tool/imageCompressor/i18n/id.ts +1 -15
  94. package/src/tool/imageCompressor/i18n/it.ts +1 -15
  95. package/src/tool/imageCompressor/i18n/ja.ts +1 -15
  96. package/src/tool/imageCompressor/i18n/ko.ts +1 -15
  97. package/src/tool/imageCompressor/i18n/nl.ts +1 -15
  98. package/src/tool/imageCompressor/i18n/pl.ts +1 -15
  99. package/src/tool/imageCompressor/i18n/pt.ts +1 -15
  100. package/src/tool/imageCompressor/i18n/ru.ts +1 -15
  101. package/src/tool/imageCompressor/i18n/sv.ts +1 -15
  102. package/src/tool/imageCompressor/i18n/tr.ts +1 -15
  103. package/src/tool/imageCompressor/i18n/zh.ts +1 -15
  104. package/src/tool/imageCompressor/seo.astro +1 -1
  105. package/src/tool/printQualityCalculator/bibliography.ts +12 -0
  106. package/src/tool/printQualityCalculator/entry.ts +2 -0
  107. package/src/tool/printQualityCalculator/i18n/de.ts +1 -15
  108. package/src/tool/printQualityCalculator/i18n/en.ts +1 -15
  109. package/src/tool/printQualityCalculator/i18n/es.ts +1 -13
  110. package/src/tool/printQualityCalculator/i18n/fr.ts +1 -13
  111. package/src/tool/printQualityCalculator/i18n/id.ts +1 -15
  112. package/src/tool/printQualityCalculator/i18n/it.ts +1 -15
  113. package/src/tool/printQualityCalculator/i18n/ja.ts +1 -15
  114. package/src/tool/printQualityCalculator/i18n/ko.ts +1 -15
  115. package/src/tool/printQualityCalculator/i18n/nl.ts +1 -15
  116. package/src/tool/printQualityCalculator/i18n/pl.ts +1 -15
  117. package/src/tool/printQualityCalculator/i18n/pt.ts +1 -15
  118. package/src/tool/printQualityCalculator/i18n/ru.ts +1 -15
  119. package/src/tool/printQualityCalculator/i18n/sv.ts +1 -15
  120. package/src/tool/printQualityCalculator/i18n/tr.ts +1 -15
  121. package/src/tool/printQualityCalculator/i18n/zh.ts +1 -15
  122. package/src/tool/printQualityCalculator/seo.astro +2 -5
  123. package/src/tool/privacyBlur/bibliography.ts +8 -0
  124. package/src/tool/privacyBlur/entry.ts +2 -0
  125. package/src/tool/privacyBlur/i18n/de.ts +1 -11
  126. package/src/tool/privacyBlur/i18n/en.ts +1 -11
  127. package/src/tool/privacyBlur/i18n/es.ts +1 -9
  128. package/src/tool/privacyBlur/i18n/fr.ts +1 -9
  129. package/src/tool/privacyBlur/i18n/id.ts +1 -11
  130. package/src/tool/privacyBlur/i18n/it.ts +1 -11
  131. package/src/tool/privacyBlur/i18n/ja.ts +1 -11
  132. package/src/tool/privacyBlur/i18n/ko.ts +1 -11
  133. package/src/tool/privacyBlur/i18n/nl.ts +1 -11
  134. package/src/tool/privacyBlur/i18n/pl.ts +1 -11
  135. package/src/tool/privacyBlur/i18n/pt.ts +1 -11
  136. package/src/tool/privacyBlur/i18n/ru.ts +1 -11
  137. package/src/tool/privacyBlur/i18n/sv.ts +1 -11
  138. package/src/tool/privacyBlur/i18n/tr.ts +1 -11
  139. package/src/tool/privacyBlur/i18n/zh.ts +1 -11
  140. package/src/tool/privacyBlur/seo.astro +1 -1
  141. package/src/tool/subtitleSync/bibliography.ts +12 -0
  142. package/src/tool/subtitleSync/entry.ts +2 -0
  143. package/src/tool/subtitleSync/i18n/de.ts +1 -13
  144. package/src/tool/subtitleSync/i18n/en.ts +1 -13
  145. package/src/tool/subtitleSync/i18n/es.ts +1 -13
  146. package/src/tool/subtitleSync/i18n/fr.ts +1 -13
  147. package/src/tool/subtitleSync/i18n/id.ts +1 -13
  148. package/src/tool/subtitleSync/i18n/it.ts +1 -13
  149. package/src/tool/subtitleSync/i18n/ja.ts +1 -13
  150. package/src/tool/subtitleSync/i18n/ko.ts +1 -13
  151. package/src/tool/subtitleSync/i18n/nl.ts +1 -13
  152. package/src/tool/subtitleSync/i18n/pl.ts +1 -13
  153. package/src/tool/subtitleSync/i18n/pt.ts +1 -13
  154. package/src/tool/subtitleSync/i18n/ru.ts +1 -13
  155. package/src/tool/subtitleSync/i18n/sv.ts +1 -13
  156. package/src/tool/subtitleSync/i18n/tr.ts +1 -13
  157. package/src/tool/subtitleSync/i18n/zh.ts +1 -13
  158. package/src/tool/subtitleSync/seo.astro +1 -1
  159. package/src/tool/timelapseCalculator/bibliography.ts +20 -0
  160. package/src/tool/timelapseCalculator/entry.ts +2 -0
  161. package/src/tool/timelapseCalculator/i18n/de.ts +1 -21
  162. package/src/tool/timelapseCalculator/i18n/en.ts +1 -21
  163. package/src/tool/timelapseCalculator/i18n/es.ts +1 -21
  164. package/src/tool/timelapseCalculator/i18n/fr.ts +1 -21
  165. package/src/tool/timelapseCalculator/i18n/id.ts +1 -21
  166. package/src/tool/timelapseCalculator/i18n/it.ts +1 -21
  167. package/src/tool/timelapseCalculator/i18n/ja.ts +1 -21
  168. package/src/tool/timelapseCalculator/i18n/ko.ts +1 -21
  169. package/src/tool/timelapseCalculator/i18n/nl.ts +1 -21
  170. package/src/tool/timelapseCalculator/i18n/pl.ts +1 -21
  171. package/src/tool/timelapseCalculator/i18n/pt.ts +1 -21
  172. package/src/tool/timelapseCalculator/i18n/ru.ts +1 -21
  173. package/src/tool/timelapseCalculator/i18n/sv.ts +1 -21
  174. package/src/tool/timelapseCalculator/i18n/tr.ts +1 -21
  175. package/src/tool/timelapseCalculator/i18n/zh.ts +1 -21
  176. package/src/tool/timelapseCalculator/seo.astro +2 -5
  177. package/src/tool/tvDistance/bibliography.ts +12 -0
  178. package/src/tool/tvDistance/entry.ts +2 -0
  179. package/src/tool/tvDistance/i18n/de.ts +1 -13
  180. package/src/tool/tvDistance/i18n/en.ts +1 -13
  181. package/src/tool/tvDistance/i18n/es.ts +1 -13
  182. package/src/tool/tvDistance/i18n/fr.ts +1 -13
  183. package/src/tool/tvDistance/i18n/id.ts +1 -13
  184. package/src/tool/tvDistance/i18n/it.ts +1 -13
  185. package/src/tool/tvDistance/i18n/ja.ts +1 -13
  186. package/src/tool/tvDistance/i18n/ko.ts +1 -13
  187. package/src/tool/tvDistance/i18n/nl.ts +1 -13
  188. package/src/tool/tvDistance/i18n/pl.ts +1 -13
  189. package/src/tool/tvDistance/i18n/pt.ts +1 -13
  190. package/src/tool/tvDistance/i18n/ru.ts +1 -13
  191. package/src/tool/tvDistance/i18n/sv.ts +1 -13
  192. package/src/tool/tvDistance/i18n/tr.ts +1 -13
  193. package/src/tool/tvDistance/i18n/zh.ts +1 -13
  194. package/src/tool/tvDistance/seo.astro +1 -1
  195. package/src/tool/videoFrameExtractor/bibliography.ts +8 -0
  196. package/src/tool/videoFrameExtractor/entry.ts +2 -0
  197. package/src/tool/videoFrameExtractor/i18n/de.ts +1 -9
  198. package/src/tool/videoFrameExtractor/i18n/en.ts +1 -9
  199. package/src/tool/videoFrameExtractor/i18n/es.ts +1 -9
  200. package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -8
  201. package/src/tool/videoFrameExtractor/i18n/id.ts +1 -9
  202. package/src/tool/videoFrameExtractor/i18n/it.ts +1 -8
  203. package/src/tool/videoFrameExtractor/i18n/ja.ts +1 -9
  204. package/src/tool/videoFrameExtractor/i18n/ko.ts +1 -9
  205. package/src/tool/videoFrameExtractor/i18n/nl.ts +1 -9
  206. package/src/tool/videoFrameExtractor/i18n/pl.ts +1 -9
  207. package/src/tool/videoFrameExtractor/i18n/pt.ts +1 -9
  208. package/src/tool/videoFrameExtractor/i18n/ru.ts +1 -9
  209. package/src/tool/videoFrameExtractor/i18n/sv.ts +1 -9
  210. package/src/tool/videoFrameExtractor/i18n/tr.ts +1 -9
  211. package/src/tool/videoFrameExtractor/i18n/zh.ts +1 -9
  212. package/src/tool/videoFrameExtractor/seo.astro +1 -1
  213. package/src/tool/videoMerger/bibliography.astro +17 -0
  214. package/src/tool/videoMerger/bibliography.ts +16 -0
  215. package/src/tool/videoMerger/component.astro +400 -0
  216. package/src/tool/videoMerger/entry.ts +51 -0
  217. package/src/tool/videoMerger/i18n/de.ts +205 -0
  218. package/src/tool/videoMerger/i18n/en.ts +205 -0
  219. package/src/tool/videoMerger/i18n/es.ts +205 -0
  220. package/src/tool/videoMerger/i18n/fr.ts +205 -0
  221. package/src/tool/videoMerger/i18n/id.ts +205 -0
  222. package/src/tool/videoMerger/i18n/it.ts +205 -0
  223. package/src/tool/videoMerger/i18n/ja.ts +205 -0
  224. package/src/tool/videoMerger/i18n/ko.ts +205 -0
  225. package/src/tool/videoMerger/i18n/nl.ts +205 -0
  226. package/src/tool/videoMerger/i18n/pl.ts +205 -0
  227. package/src/tool/videoMerger/i18n/pt.ts +205 -0
  228. package/src/tool/videoMerger/i18n/ru.ts +205 -0
  229. package/src/tool/videoMerger/i18n/sv.ts +205 -0
  230. package/src/tool/videoMerger/i18n/tr.ts +205 -0
  231. package/src/tool/videoMerger/i18n/zh.ts +205 -0
  232. package/src/tool/videoMerger/index.ts +11 -0
  233. package/src/tool/videoMerger/logic.ts +263 -0
  234. package/src/tool/videoMerger/online-video-merger.css +440 -0
  235. package/src/tool/videoMerger/seo.astro +15 -0
  236. package/src/tools.ts +4 -0
  237. package/src/types.ts +0 -2
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "Skopiowano!",
15
16
  colorCountLabel: "Liczba kolorów",
16
17
  changeImage: "Zmień obraz",
17
- faqTitle: "Często zadawane pytania dotyczące ekstrakcji kolorów",
18
- bibliographyTitle: "Zasoby i dokumentacja techniczna"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "Median Cut Algorithm - Wikipedia",
58
- url: "https://en.wikipedia.org/wiki/Median_cut",
59
- },
60
- {
61
- name: "Teoria Koloru dla Projektantów",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "Często Zadawane Pytania",
241
228
  faq,
242
- bibliographyTitle: "Referencje",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "Copiado!",
15
16
  colorCountLabel: "Número de cores",
16
17
  changeImage: "Alterar imagem",
17
- faqTitle: "Perguntas frequentes sobre extração de cores",
18
- bibliographyTitle: "Recursos e documentação técnica"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "Median Cut Algorithm - Wikipedia",
58
- url: "https://en.wikipedia.org/wiki/Median_cut",
59
- },
60
- {
61
- name: "Teoria da Cor para Designers",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "Perguntas Frequentes",
241
228
  faq,
242
- bibliographyTitle: "Referências",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "Скопировано!",
15
16
  colorCountLabel: "Количество цветов",
16
17
  changeImage: "Изменить изображение",
17
- faqTitle: "Часто задаваемые вопросы об извлечении цвета",
18
- bibliographyTitle: "Ресурсы и техническая документация"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "Алгоритм Median Cut — Википедия",
58
- url: "https://ru.wikipedia.org/wiki/Median_cut",
59
- },
60
- {
61
- name: "Теория цвета для дизайнеров",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "Часто задаваемые вопросы",
241
228
  faq,
242
- bibliographyTitle: "Ссылки",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "Kopierad!",
15
16
  colorCountLabel: "Antal färger",
16
17
  changeImage: "Byt bild",
17
- faqTitle: "Vanliga frågor om färgextraktion",
18
- bibliographyTitle: "Resurser och teknisk dokumentation"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "Median Cut Algorithm - Wikipedia",
58
- url: "https://en.wikipedia.org/wiki/Median_cut",
59
- },
60
- {
61
- name: "Färglära för designers",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "Vanliga frågor",
241
228
  faq,
242
- bibliographyTitle: "Referenser",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "Kopyalandı!",
15
16
  colorCountLabel: "Renk sayısı",
16
17
  changeImage: "Görüntüyü değiştir",
17
- faqTitle: "Renk çıkarma hakkında sıkça sorulan sorular",
18
- bibliographyTitle: "Kaynaklar ve teknik belgeler"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "Median Cut Algorithm - Wikipedia",
58
- url: "https://en.wikipedia.org/wiki/Median_cut",
59
- },
60
- {
61
- name: "Tasarımcılar İçin Renk Teorisi",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "Sıkça Sorulan Sorular",
241
228
  faq,
242
- bibliographyTitle: "Referanslar",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { ChromaticLensUI, ChromaticLensLocaleContent } from '../index';
3
4
 
@@ -14,8 +15,6 @@ const ui: ChromaticLensUI = {
14
15
  copiedLabel: "已复制!",
15
16
  colorCountLabel: "色彩数量",
16
17
  changeImage: "更改图像",
17
- faqTitle: "关于色彩提取的常见问题",
18
- bibliographyTitle: "资源与技术文档"
19
18
  };
20
19
 
21
20
  const faq: ChromaticLensLocaleContent['faq'] = [
@@ -52,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
52
51
  },
53
52
  ];
54
53
 
55
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
56
- {
57
- name: "中位切分算法 - 维基百科",
58
- url: "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%80%BC%E5%88%87%E5%88%86%E7%AE%97%E6%B3%95",
59
- },
60
- {
61
- name: "设计师色彩理论",
62
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
63
- },
64
- ];
65
-
66
54
  const seo: ChromaticLensLocaleContent['seo'] = [
67
55
  {
68
56
  type: 'summary',
@@ -237,9 +225,7 @@ export const content: ChromaticLensLocaleContent = {
237
225
  description,
238
226
  ui,
239
227
  seo,
240
- faqTitle: "常见问题",
241
228
  faq,
242
- bibliographyTitle: "参考资料",
243
229
  bibliography,
244
230
  howTo,
245
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -12,4 +12,4 @@ const content = await chromaticLens.i18n[locale]?.();
12
12
  if (!content) return null;
13
13
  ---
14
14
 
15
- <SEORenderer content={{ locale, sections: content.seo || [] }} />
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -0,0 +1,8 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: "Fotografische Komposition: Die Kunst der Collage",
6
+ url: "https://en.wikipedia.org/wiki/Collage",
7
+ },
8
+ ];
@@ -46,3 +46,5 @@ export const collageMaker: AudiovisualToolEntry<CollageMakerUI> = {
46
46
  zh: async () => (await import('./i18n/zh')).content as unknown as CollageMakerLocaleContent,
47
47
  },
48
48
  };
49
+
50
+ export { bibliography } from './bibliography';
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Sie benötigen mindestens 2 Bilder",
22
23
  errorMax: "Maximal 9 Bilder erlaubt",
23
24
  errorLoad: "Fehler beim Laden der Bilder",
24
- faqTitle: "Häufig gestellte Fragen",
25
- bibliographyTitle: "Referenzen"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Fotografische Komposition: Die Kunst der Collage",
61
- url: "https://en.wikipedia.org/wiki/Collage",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Häufig gestellte Fragen",
228
219
  faq,
229
- bibliographyTitle: "Referenzen",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "You need at least 2 images",
22
23
  errorMax: "Maximum 9 images allowed",
23
24
  errorLoad: "Error loading images",
24
- faqTitle: "Frequently Asked Questions",
25
- bibliographyTitle: "References"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Photographic Composition: The Art of Collage",
61
- url: "https://en.wikipedia.org/wiki/Collage",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Frequently Asked Questions",
228
219
  faq,
229
- bibliographyTitle: "References",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -53,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
53
54
  },
54
55
  ];
55
56
 
56
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
57
- {
58
- name: "Composición Fotográfica: El Arte del Collage",
59
- url: "https://es.wikipedia.org/wiki/Collage",
60
- },
61
- ];
62
-
63
57
  const seo: CollageMakerLocaleContent['seo'] = [
64
58
  {
65
59
  type: 'summary',
@@ -223,9 +217,7 @@ export const content: CollageMakerLocaleContent = {
223
217
  ui,
224
218
  seo,
225
219
  faq,
226
- faqTitle: 'Preguntas frecuentes sobre creación de collages',
227
220
  bibliography,
228
- bibliographyTitle: 'Recursos técnicos sobre composición visual',
229
221
  howTo,
230
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
231
223
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -53,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
53
54
  },
54
55
  ];
55
56
 
56
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
57
- {
58
- name: "Composition Photographique : L'Art du Collage",
59
- url: "https://fr.wikipedia.org/wiki/Collage",
60
- },
61
- ];
62
-
63
57
  const seo: CollageMakerLocaleContent['seo'] = [
64
58
  {
65
59
  type: 'summary',
@@ -222,10 +216,8 @@ export const content: CollageMakerLocaleContent = {
222
216
  description,
223
217
  ui,
224
218
  seo,
225
- faqTitle: "Frequently Asked Questions",
226
219
  faq,
227
220
  bibliography,
228
- bibliographyTitle: "References",
229
221
  howTo,
230
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
231
223
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Anda butuh setidaknya 2 gambar",
22
23
  errorMax: "Maksimal 9 gambar diizinkan",
23
24
  errorLoad: "Kesalahan memuat gambar",
24
- faqTitle: "Pertanyaan yang Sering Diajukan",
25
- bibliographyTitle: "Referensi"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Komposisi Fotografi: Seni Kolase",
61
- url: "https://id.wikipedia.org/wiki/Kolase",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Pertanyaan yang Sering Diajukan",
228
219
  faq,
229
- bibliographyTitle: "Referensi",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Hai bisogno di almeno 2 immagini",
22
23
  errorMax: "Massimo 9 immagini consentite",
23
24
  errorLoad: "Errore durante il caricamento delle immagini",
24
- faqTitle: "Domande Frequenti",
25
- bibliographyTitle: "Riferimenti"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Composizione Fotografica: L'Arte del Collage",
61
- url: "https://it.wikipedia.org/wiki/Collage",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Domande Frequenti",
228
219
  faq,
229
- bibliographyTitle: "Riferimenti",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "少なくとも2枚の画像が必要です",
22
23
  errorMax: "最大9枚まで許可されています",
23
24
  errorLoad: "画像の読み込み中にエラーが発生しました",
24
- faqTitle: "よくある質問",
25
- bibliographyTitle: "リファレンス"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "写真の構図:コラージュの芸術",
61
- url: "https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A9%E3%83%BC%E3%82%B8%E3%83%A5",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "よくある質問",
228
219
  faq,
229
- bibliographyTitle: "リファレンス",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "최소 2개의 이미지가 필요합니다",
22
23
  errorMax: "최대 9개까지만 허용됩니다",
23
24
  errorLoad: "이미지를 로드하는 중 오류가 발생했습니다",
24
- faqTitle: "자주 묻는 질문",
25
- bibliographyTitle: "참고 문헌"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "사진 구도: 콜라주의 예술",
61
- url: "https://ko.wikipedia.org/wiki/%EC%BD%9C%EB%9D%BC%EC%A3%BC",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "자주 묻는 질문",
228
219
  faq,
229
- bibliographyTitle: "참고 문헌",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Je hebt minimaal 2 afbeeldingen nodig",
22
23
  errorMax: "Maximaal 9 afbeeldingen toegestaan",
23
24
  errorLoad: "Fout bij het laden van afbeeldingen",
24
- faqTitle: "Veelgestelde Vragen",
25
- bibliographyTitle: "Referenties"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Fotografische Compositie: De Kunst van Collage",
61
- url: "https://nl.wikipedia.org/wiki/Collage",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Veelgestelde Vragen",
228
219
  faq,
229
- bibliographyTitle: "Referenties",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Potrzebujesz co najmniej 2 obrazów",
22
23
  errorMax: "Dozwolone maksymalnie 9 obrazów",
23
24
  errorLoad: "Błąd podczas ładowania obrazów",
24
- faqTitle: "Często Zadawane Pytania",
25
- bibliographyTitle: "Referencje"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Kompozycja fotograficzna: Sztuka kolażu",
61
- url: "https://pl.wikipedia.org/wiki/Kola%C5%BC",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Często Zadawane Pytania",
228
219
  faq,
229
- bibliographyTitle: "Referencje",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
3
4
 
@@ -21,8 +22,6 @@ const ui: CollageMakerUI = {
21
22
  errorMin: "Necessita de pelo menos 2 imagens",
22
23
  errorMax: "Máximo de 9 imagens permitido",
23
24
  errorLoad: "Erro ao carregar imagens",
24
- faqTitle: "Perguntas Frequentes",
25
- bibliographyTitle: "Referências"
26
25
  };
27
26
 
28
27
  const faq: CollageMakerLocaleContent['faq'] = [
@@ -55,13 +54,6 @@ const howTo: CollageMakerLocaleContent['howTo'] = [
55
54
  },
56
55
  ];
57
56
 
58
- const bibliography: CollageMakerLocaleContent['bibliography'] = [
59
- {
60
- name: "Composição Fotográfica: A Arte da Colagem",
61
- url: "https://pt.wikipedia.org/wiki/Colagem",
62
- },
63
- ];
64
-
65
57
  const seo: CollageMakerLocaleContent['seo'] = [
66
58
  {
67
59
  type: 'summary',
@@ -224,9 +216,7 @@ export const content: CollageMakerLocaleContent = {
224
216
  description,
225
217
  ui,
226
218
  seo,
227
- faqTitle: "Perguntas Frequentes",
228
219
  faq,
229
- bibliographyTitle: "Referências",
230
220
  bibliography,
231
221
  howTo,
232
222
  schemas: [faqSchema as any, howToSchema as any, appSchema],