@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
@@ -0,0 +1,12 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: "SubRip (SRT) Format-Spezifikation",
6
+ url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
7
+ },
8
+ {
9
+ name: "MDN Web Docs - FileReader API",
10
+ url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
11
+ },
12
+ ];
@@ -43,3 +43,5 @@ export const subtitleSync: AudiovisualToolEntry<SubtitleSyncUI> = {
43
43
  zh: async () => (await import('./i18n/zh')).content as unknown as SubtitleSyncLocaleContent,
44
44
  },
45
45
  };
46
+
47
+ 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 { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) Format-Spezifikation",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Häufig gestellte Fragen zur Untertitel Synchronisation',
237
226
  bibliography,
238
- bibliographyTitle: 'Technische Ressourcen zu Untertitelformaten',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) format specification",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Frequently Asked Questions about Subtitle Synchronization',
237
226
  bibliography,
238
- bibliographyTitle: 'Technical Resources on Subtitle Formats',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) format specification",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Preguntas frecuentes sobre sincronización',
237
226
  bibliography,
238
- bibliographyTitle: 'Recursos técnicos sobre formatos de subtítulos',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Spécification du format SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/fr/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Foire Aux Questions sur la Synchronisation des Sous titres',
237
226
  bibliography,
238
- bibliographyTitle: 'Ressources Techniques sur les Formats de Sous titres',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Spesifikasi format SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Pertanyaan yang Sering Diajukan tentang Sinkronisasi Subtitle',
237
226
  bibliography,
238
- bibliographyTitle: 'Sumber Daya Teknis tentang Format Subtitle',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Specifica del formato SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Domande Frequenti sulla Sincronizzazione dei Sottotitoli',
237
226
  bibliography,
238
- bibliographyTitle: 'Risorse Tecniche sui Formati dei Sottotitoli',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) 形式の仕様について",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/ja/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: '字幕同期に関するよくある質問',
237
226
  bibliography,
238
- bibliographyTitle: '字幕形式に関する技術リソース',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) 형식 사양",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/ko/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: '자막 동기화에 관한 자주 묻는 질문',
237
226
  bibliography,
238
- bibliographyTitle: '자막 형식 관련 기술 리소스',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) formaatspecificatie",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Veelgestelde Vragen over Ondertitelsynchronisatie',
237
226
  bibliography,
238
- bibliographyTitle: 'Technische Bronnen over Ondertitelformaten',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Specyfikacja formatu SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Często zadawane pytania dotyczące synchronizacji napisów',
237
226
  bibliography,
238
- bibliographyTitle: 'Zasoby techniczne dotyczące formatów napisów',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Especificação do formato SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Perguntas Frequentes sobre Sincronização de Legendas',
237
226
  bibliography,
238
- bibliographyTitle: 'Recursos Técnicos sobre Formatos de Legendas',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "Спецификация формата SubRip (SRT)",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Часто задаваемые вопросы о синхронизации субтитров',
237
226
  bibliography,
238
- bibliographyTitle: 'Технические ресурсы по форматам субтитров',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) formatspecifikation",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Vanliga frågor om synkronisering av undertexter',
237
226
  bibliography,
238
- bibliographyTitle: 'Tekniska resurser för undertextformat',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) formatı özellikleri",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/en-US/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: 'Altyazı Senkronizasyonu Hakkında Sıkça Sorulan Sorular',
237
226
  bibliography,
238
- bibliographyTitle: 'Altyazı Formatları Hakkında Teknik Kaynaklar',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
3
  import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
3
4
 
@@ -59,17 +60,6 @@ const howTo: SubtitleSyncLocaleContent['howTo'] = [
59
60
  },
60
61
  ];
61
62
 
62
- const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
63
- {
64
- name: "SubRip (SRT) 格式规范",
65
- url: "https://matroska.org/technical/subtitles.html#srt-subtitles",
66
- },
67
- {
68
- name: "MDN Web Docs - FileReader API",
69
- url: "https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader",
70
- },
71
- ];
72
-
73
63
  const seo: SubtitleSyncLocaleContent['seo'] = [
74
64
  {
75
65
  type: 'summary',
@@ -233,9 +223,7 @@ export const content: SubtitleSyncLocaleContent = {
233
223
  ui,
234
224
  seo,
235
225
  faq,
236
- faqTitle: '关于字幕同步的常见问题',
237
226
  bibliography,
238
- bibliographyTitle: '字幕格式技术资源',
239
227
  howTo,
240
228
  schemas: [faqSchema as any, howToSchema as any, appSchema],
241
229
  };
@@ -12,4 +12,4 @@ const content = await subtitleSync.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 }} />}