@jjlmoya/utils-audiovisual 1.16.0 → 1.18.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 (234) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -0
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +1 -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/chromatic-lens-color-palette-extraction-online.css +39 -39
  12. package/src/tool/chromaticLens/entry.ts +2 -0
  13. package/src/tool/chromaticLens/i18n/de.ts +1 -15
  14. package/src/tool/chromaticLens/i18n/en.ts +1 -15
  15. package/src/tool/chromaticLens/i18n/es.ts +1 -13
  16. package/src/tool/chromaticLens/i18n/fr.ts +1 -13
  17. package/src/tool/chromaticLens/i18n/id.ts +1 -15
  18. package/src/tool/chromaticLens/i18n/it.ts +1 -15
  19. package/src/tool/chromaticLens/i18n/ja.ts +1 -15
  20. package/src/tool/chromaticLens/i18n/ko.ts +1 -15
  21. package/src/tool/chromaticLens/i18n/nl.ts +1 -15
  22. package/src/tool/chromaticLens/i18n/pl.ts +1 -15
  23. package/src/tool/chromaticLens/i18n/pt.ts +1 -15
  24. package/src/tool/chromaticLens/i18n/ru.ts +1 -15
  25. package/src/tool/chromaticLens/i18n/sv.ts +1 -15
  26. package/src/tool/chromaticLens/i18n/tr.ts +1 -15
  27. package/src/tool/chromaticLens/i18n/zh.ts +1 -15
  28. package/src/tool/chromaticLens/seo.astro +1 -1
  29. package/src/tool/collageMaker/bibliography.ts +8 -0
  30. package/src/tool/collageMaker/entry.ts +2 -0
  31. package/src/tool/collageMaker/free-online-photo-collage-maker-professional-compositions.css +47 -47
  32. package/src/tool/collageMaker/i18n/de.ts +1 -11
  33. package/src/tool/collageMaker/i18n/en.ts +1 -11
  34. package/src/tool/collageMaker/i18n/es.ts +1 -9
  35. package/src/tool/collageMaker/i18n/fr.ts +1 -9
  36. package/src/tool/collageMaker/i18n/id.ts +1 -11
  37. package/src/tool/collageMaker/i18n/it.ts +1 -11
  38. package/src/tool/collageMaker/i18n/ja.ts +1 -11
  39. package/src/tool/collageMaker/i18n/ko.ts +1 -11
  40. package/src/tool/collageMaker/i18n/nl.ts +1 -11
  41. package/src/tool/collageMaker/i18n/pl.ts +1 -11
  42. package/src/tool/collageMaker/i18n/pt.ts +1 -11
  43. package/src/tool/collageMaker/i18n/ru.ts +1 -11
  44. package/src/tool/collageMaker/i18n/sv.ts +1 -11
  45. package/src/tool/collageMaker/i18n/tr.ts +1 -11
  46. package/src/tool/collageMaker/i18n/zh.ts +1 -11
  47. package/src/tool/collageMaker/seo.astro +1 -1
  48. package/src/tool/depthOfFieldCalculator/bibliography.astro +15 -0
  49. package/src/tool/depthOfFieldCalculator/bibliography.ts +20 -0
  50. package/src/tool/depthOfFieldCalculator/component.astro +341 -0
  51. package/src/tool/depthOfFieldCalculator/depth-of-field-calculator.css +417 -0
  52. package/src/tool/depthOfFieldCalculator/entry.ts +52 -0
  53. package/src/tool/depthOfFieldCalculator/i18n/de.ts +141 -0
  54. package/src/tool/depthOfFieldCalculator/i18n/en.ts +141 -0
  55. package/src/tool/depthOfFieldCalculator/i18n/es.ts +141 -0
  56. package/src/tool/depthOfFieldCalculator/i18n/fr.ts +141 -0
  57. package/src/tool/depthOfFieldCalculator/i18n/id.ts +141 -0
  58. package/src/tool/depthOfFieldCalculator/i18n/it.ts +141 -0
  59. package/src/tool/depthOfFieldCalculator/i18n/ja.ts +141 -0
  60. package/src/tool/depthOfFieldCalculator/i18n/ko.ts +141 -0
  61. package/src/tool/depthOfFieldCalculator/i18n/nl.ts +141 -0
  62. package/src/tool/depthOfFieldCalculator/i18n/pl.ts +141 -0
  63. package/src/tool/depthOfFieldCalculator/i18n/pt.ts +141 -0
  64. package/src/tool/depthOfFieldCalculator/i18n/ru.ts +141 -0
  65. package/src/tool/depthOfFieldCalculator/i18n/sv.ts +141 -0
  66. package/src/tool/depthOfFieldCalculator/i18n/tr.ts +141 -0
  67. package/src/tool/depthOfFieldCalculator/i18n/zh.ts +141 -0
  68. package/src/tool/depthOfFieldCalculator/index.ts +10 -0
  69. package/src/tool/depthOfFieldCalculator/logic.ts +91 -0
  70. package/src/tool/depthOfFieldCalculator/seo.astro +15 -0
  71. package/src/tool/exifCleaner/bibliography.ts +12 -0
  72. package/src/tool/exifCleaner/entry.ts +2 -0
  73. package/src/tool/exifCleaner/exif-metadata-cleaner-remove-gps-photo-privacy.css +36 -36
  74. package/src/tool/exifCleaner/i18n/de.ts +1 -15
  75. package/src/tool/exifCleaner/i18n/en.ts +1 -15
  76. package/src/tool/exifCleaner/i18n/es.ts +1 -15
  77. package/src/tool/exifCleaner/i18n/fr.ts +1 -15
  78. package/src/tool/exifCleaner/i18n/id.ts +1 -15
  79. package/src/tool/exifCleaner/i18n/it.ts +1 -15
  80. package/src/tool/exifCleaner/i18n/ja.ts +1 -15
  81. package/src/tool/exifCleaner/i18n/ko.ts +1 -15
  82. package/src/tool/exifCleaner/i18n/nl.ts +1 -15
  83. package/src/tool/exifCleaner/i18n/pl.ts +1 -15
  84. package/src/tool/exifCleaner/i18n/pt.ts +1 -15
  85. package/src/tool/exifCleaner/i18n/ru.ts +1 -15
  86. package/src/tool/exifCleaner/i18n/sv.ts +1 -15
  87. package/src/tool/exifCleaner/i18n/tr.ts +1 -15
  88. package/src/tool/exifCleaner/i18n/zh.ts +1 -15
  89. package/src/tool/exifCleaner/seo.astro +2 -5
  90. package/src/tool/imageCompressor/bibliography.ts +12 -0
  91. package/src/tool/imageCompressor/entry.ts +2 -0
  92. package/src/tool/imageCompressor/i18n/de.ts +1 -15
  93. package/src/tool/imageCompressor/i18n/en.ts +1 -15
  94. package/src/tool/imageCompressor/i18n/es.ts +1 -13
  95. package/src/tool/imageCompressor/i18n/fr.ts +1 -13
  96. package/src/tool/imageCompressor/i18n/id.ts +1 -15
  97. package/src/tool/imageCompressor/i18n/it.ts +1 -15
  98. package/src/tool/imageCompressor/i18n/ja.ts +1 -15
  99. package/src/tool/imageCompressor/i18n/ko.ts +1 -15
  100. package/src/tool/imageCompressor/i18n/nl.ts +1 -15
  101. package/src/tool/imageCompressor/i18n/pl.ts +1 -15
  102. package/src/tool/imageCompressor/i18n/pt.ts +1 -15
  103. package/src/tool/imageCompressor/i18n/ru.ts +1 -15
  104. package/src/tool/imageCompressor/i18n/sv.ts +1 -15
  105. package/src/tool/imageCompressor/i18n/tr.ts +1 -15
  106. package/src/tool/imageCompressor/i18n/zh.ts +1 -15
  107. package/src/tool/imageCompressor/online-image-compressor-reduce-file-size-no-quality-loss.css +71 -64
  108. package/src/tool/imageCompressor/seo.astro +1 -1
  109. package/src/tool/printQualityCalculator/bibliography.ts +12 -0
  110. package/src/tool/printQualityCalculator/entry.ts +2 -0
  111. package/src/tool/printQualityCalculator/i18n/de.ts +1 -15
  112. package/src/tool/printQualityCalculator/i18n/en.ts +1 -15
  113. package/src/tool/printQualityCalculator/i18n/es.ts +1 -13
  114. package/src/tool/printQualityCalculator/i18n/fr.ts +1 -13
  115. package/src/tool/printQualityCalculator/i18n/id.ts +1 -15
  116. package/src/tool/printQualityCalculator/i18n/it.ts +1 -15
  117. package/src/tool/printQualityCalculator/i18n/ja.ts +1 -15
  118. package/src/tool/printQualityCalculator/i18n/ko.ts +1 -15
  119. package/src/tool/printQualityCalculator/i18n/nl.ts +1 -15
  120. package/src/tool/printQualityCalculator/i18n/pl.ts +1 -15
  121. package/src/tool/printQualityCalculator/i18n/pt.ts +1 -15
  122. package/src/tool/printQualityCalculator/i18n/ru.ts +1 -15
  123. package/src/tool/printQualityCalculator/i18n/sv.ts +1 -15
  124. package/src/tool/printQualityCalculator/i18n/tr.ts +1 -15
  125. package/src/tool/printQualityCalculator/i18n/zh.ts +1 -15
  126. package/src/tool/printQualityCalculator/print-quality-calculator-pixels-to-cm-dpi.css +89 -81
  127. package/src/tool/printQualityCalculator/seo.astro +2 -5
  128. package/src/tool/privacyBlur/bibliography.ts +8 -0
  129. package/src/tool/privacyBlur/entry.ts +2 -0
  130. package/src/tool/privacyBlur/i18n/de.ts +1 -11
  131. package/src/tool/privacyBlur/i18n/en.ts +1 -11
  132. package/src/tool/privacyBlur/i18n/es.ts +1 -9
  133. package/src/tool/privacyBlur/i18n/fr.ts +1 -9
  134. package/src/tool/privacyBlur/i18n/id.ts +1 -11
  135. package/src/tool/privacyBlur/i18n/it.ts +1 -11
  136. package/src/tool/privacyBlur/i18n/ja.ts +1 -11
  137. package/src/tool/privacyBlur/i18n/ko.ts +1 -11
  138. package/src/tool/privacyBlur/i18n/nl.ts +1 -11
  139. package/src/tool/privacyBlur/i18n/pl.ts +1 -11
  140. package/src/tool/privacyBlur/i18n/pt.ts +1 -11
  141. package/src/tool/privacyBlur/i18n/ru.ts +1 -11
  142. package/src/tool/privacyBlur/i18n/sv.ts +1 -11
  143. package/src/tool/privacyBlur/i18n/tr.ts +1 -11
  144. package/src/tool/privacyBlur/i18n/zh.ts +1 -11
  145. package/src/tool/privacyBlur/online-privacy-editor-pixelate-blur-faces-photos.css +36 -36
  146. package/src/tool/privacyBlur/seo.astro +1 -1
  147. package/src/tool/subtitleSync/bibliography.ts +12 -0
  148. package/src/tool/subtitleSync/entry.ts +2 -0
  149. package/src/tool/subtitleSync/i18n/de.ts +1 -13
  150. package/src/tool/subtitleSync/i18n/en.ts +1 -13
  151. package/src/tool/subtitleSync/i18n/es.ts +1 -13
  152. package/src/tool/subtitleSync/i18n/fr.ts +1 -13
  153. package/src/tool/subtitleSync/i18n/id.ts +1 -13
  154. package/src/tool/subtitleSync/i18n/it.ts +1 -13
  155. package/src/tool/subtitleSync/i18n/ja.ts +1 -13
  156. package/src/tool/subtitleSync/i18n/ko.ts +1 -13
  157. package/src/tool/subtitleSync/i18n/nl.ts +1 -13
  158. package/src/tool/subtitleSync/i18n/pl.ts +1 -13
  159. package/src/tool/subtitleSync/i18n/pt.ts +1 -13
  160. package/src/tool/subtitleSync/i18n/ru.ts +1 -13
  161. package/src/tool/subtitleSync/i18n/sv.ts +1 -13
  162. package/src/tool/subtitleSync/i18n/tr.ts +1 -13
  163. package/src/tool/subtitleSync/i18n/zh.ts +1 -13
  164. package/src/tool/subtitleSync/seo.astro +1 -1
  165. package/src/tool/subtitleSync/synchronize-srt-subtitles-online-adjust-timing-free.css +43 -43
  166. package/src/tool/timelapseCalculator/bibliography.ts +20 -0
  167. package/src/tool/timelapseCalculator/entry.ts +2 -0
  168. package/src/tool/timelapseCalculator/i18n/de.ts +1 -21
  169. package/src/tool/timelapseCalculator/i18n/en.ts +1 -21
  170. package/src/tool/timelapseCalculator/i18n/es.ts +1 -21
  171. package/src/tool/timelapseCalculator/i18n/fr.ts +1 -21
  172. package/src/tool/timelapseCalculator/i18n/id.ts +1 -21
  173. package/src/tool/timelapseCalculator/i18n/it.ts +1 -21
  174. package/src/tool/timelapseCalculator/i18n/ja.ts +1 -21
  175. package/src/tool/timelapseCalculator/i18n/ko.ts +1 -21
  176. package/src/tool/timelapseCalculator/i18n/nl.ts +1 -21
  177. package/src/tool/timelapseCalculator/i18n/pl.ts +1 -21
  178. package/src/tool/timelapseCalculator/i18n/pt.ts +1 -21
  179. package/src/tool/timelapseCalculator/i18n/ru.ts +1 -21
  180. package/src/tool/timelapseCalculator/i18n/sv.ts +1 -21
  181. package/src/tool/timelapseCalculator/i18n/tr.ts +1 -21
  182. package/src/tool/timelapseCalculator/i18n/zh.ts +1 -21
  183. package/src/tool/timelapseCalculator/seo.astro +2 -5
  184. package/src/tool/timelapseCalculator/timelapse-hyperlapse-calculator-perfect-intervals.css +44 -42
  185. package/src/tool/tvDistance/bibliography.ts +12 -0
  186. package/src/tool/tvDistance/entry.ts +2 -0
  187. package/src/tool/tvDistance/i18n/de.ts +1 -13
  188. package/src/tool/tvDistance/i18n/en.ts +1 -13
  189. package/src/tool/tvDistance/i18n/es.ts +1 -13
  190. package/src/tool/tvDistance/i18n/fr.ts +1 -13
  191. package/src/tool/tvDistance/i18n/id.ts +1 -13
  192. package/src/tool/tvDistance/i18n/it.ts +1 -13
  193. package/src/tool/tvDistance/i18n/ja.ts +1 -13
  194. package/src/tool/tvDistance/i18n/ko.ts +1 -13
  195. package/src/tool/tvDistance/i18n/nl.ts +1 -13
  196. package/src/tool/tvDistance/i18n/pl.ts +1 -13
  197. package/src/tool/tvDistance/i18n/pt.ts +1 -13
  198. package/src/tool/tvDistance/i18n/ru.ts +1 -13
  199. package/src/tool/tvDistance/i18n/sv.ts +1 -13
  200. package/src/tool/tvDistance/i18n/tr.ts +1 -13
  201. package/src/tool/tvDistance/i18n/zh.ts +1 -13
  202. package/src/tool/tvDistance/seo.astro +1 -1
  203. package/src/tool/tvDistance/tv-viewing-distance-calculator-thx-4k-optimal-screen.css +56 -56
  204. package/src/tool/videoFrameExtractor/bibliography.ts +8 -0
  205. package/src/tool/videoFrameExtractor/entry.ts +2 -0
  206. package/src/tool/videoFrameExtractor/i18n/de.ts +1 -9
  207. package/src/tool/videoFrameExtractor/i18n/en.ts +1 -9
  208. package/src/tool/videoFrameExtractor/i18n/es.ts +1 -9
  209. package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -8
  210. package/src/tool/videoFrameExtractor/i18n/id.ts +1 -9
  211. package/src/tool/videoFrameExtractor/i18n/it.ts +1 -8
  212. package/src/tool/videoFrameExtractor/i18n/ja.ts +1 -9
  213. package/src/tool/videoFrameExtractor/i18n/ko.ts +1 -9
  214. package/src/tool/videoFrameExtractor/i18n/nl.ts +1 -9
  215. package/src/tool/videoFrameExtractor/i18n/pl.ts +1 -9
  216. package/src/tool/videoFrameExtractor/i18n/pt.ts +1 -9
  217. package/src/tool/videoFrameExtractor/i18n/ru.ts +1 -9
  218. package/src/tool/videoFrameExtractor/i18n/sv.ts +1 -9
  219. package/src/tool/videoFrameExtractor/i18n/tr.ts +1 -9
  220. package/src/tool/videoFrameExtractor/i18n/zh.ts +1 -9
  221. package/src/tool/videoFrameExtractor/online-video-frame-extractor-capture-hd-stills.css +55 -55
  222. package/src/tool/videoFrameExtractor/seo.astro +1 -1
  223. package/src/tools.ts +2 -0
  224. package/src/types.ts +0 -2
  225. package/src/tool/chromaticLens/style.css +0 -308
  226. package/src/tool/collageMaker/style.css +0 -386
  227. package/src/tool/exifCleaner/style.css +0 -289
  228. package/src/tool/imageCompressor/style.css +0 -503
  229. package/src/tool/printQualityCalculator/style.css +0 -491
  230. package/src/tool/privacyBlur/style.css +0 -332
  231. package/src/tool/subtitleSync/style.css +0 -325
  232. package/src/tool/timelapseCalculator/style.css +0 -285
  233. package/src/tool/tvDistance/style.css +0 -435
  234. package/src/tool/videoFrameExtractor/style.css +0 -426
@@ -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
 
@@ -50,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
50
51
  },
51
52
  ];
52
53
 
53
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
54
- {
55
- name: "Median Cut Algorithm - Wikipedia",
56
- url: "https://en.wikipedia.org/wiki/Median_cut",
57
- },
58
- {
59
- name: "Color Theory for Designers",
60
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
61
- },
62
- ];
63
-
64
54
  const seo: ChromaticLensLocaleContent['seo'] = [
65
55
  {
66
56
  type: 'summary',
@@ -236,9 +226,7 @@ export const content: ChromaticLensLocaleContent = {
236
226
  ui,
237
227
  seo,
238
228
  faq,
239
- faqTitle: 'Preguntas frecuentes sobre paletas de color',
240
229
  bibliography,
241
- bibliographyTitle: 'Recursos técnicos sobre teoría del color',
242
230
  howTo,
243
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
244
232
  };
@@ -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
 
@@ -50,17 +51,6 @@ const howTo: ChromaticLensLocaleContent['howTo'] = [
50
51
  },
51
52
  ];
52
53
 
53
- const bibliography: ChromaticLensLocaleContent['bibliography'] = [
54
- {
55
- name: "Median Cut Algorithm - Wikipédia",
56
- url: "https://fr.wikipedia.org/wiki/Coupure_m%C3%A9diane",
57
- },
58
- {
59
- name: "Théorie des couleurs pour les designers",
60
- url: "https://www.smashingmagazine.com/2010/01/color-theory-for-designers-part-1-the-meaning-of-color/",
61
- },
62
- ];
63
-
64
54
  const seo: ChromaticLensLocaleContent['seo'] = [
65
55
  {
66
56
  type: 'summary',
@@ -235,10 +225,8 @@ export const content: ChromaticLensLocaleContent = {
235
225
  description,
236
226
  ui,
237
227
  seo,
238
- faqTitle: "Frequently Asked Questions",
239
228
  faq,
240
229
  bibliography,
241
- bibliographyTitle: "References",
242
230
  howTo,
243
231
  schemas: [faqSchema as any, howToSchema as any, appSchema],
244
232
  };
@@ -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: "Tersalin!",
15
16
  colorCountLabel: "Jumlah warna",
16
17
  changeImage: "Ganti gambar",
17
- faqTitle: "Pertanyaan umum tentang ekstraksi warna",
18
- bibliographyTitle: "Sumber daya dan dokumentasi teknis"
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: "Teori Warna untuk Desainer",
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: "Pertanyaan yang Sering Diajukan",
241
228
  faq,
242
- bibliographyTitle: "Referensi",
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: "Copiato!",
15
16
  colorCountLabel: "Numero di colori",
16
17
  changeImage: "Cambia immagine",
17
- faqTitle: "Domande frequenti sull'estrazione del colore",
18
- bibliographyTitle: "Risorse e documentazione tecnica"
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 del Colore per Designer",
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: "Domande Frequenti",
241
228
  faq,
242
- bibliographyTitle: "Riferimenti",
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: "メディアンカット・アルゴリズム - Wikipedia",
58
- url: "https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3%E3%82%AB%E3%83%83%E3%83%88",
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: "복사 완료!",
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://ko.wikipedia.org/wiki/%EB%A9%94%EB%94%94%EC%95%88_%EC%BB%B7_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98",
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: "Gekopieerd!",
15
16
  colorCountLabel: "Aantal kleuren",
16
17
  changeImage: "Afbeelding wijzigen",
17
- faqTitle: "Veelgestelde vragen over kleurextractie",
18
- bibliographyTitle: "Hulpmiddelen en technische documentatie"
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: "Kleurentheorie voor Ontwerpers",
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: "Veelgestelde Vragen",
241
228
  faq,
242
- bibliographyTitle: "Referenties",
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: "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';