@jjlmoya/utils-audiovisual 1.12.0 → 1.15.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.
@@ -1,78 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import PrintQualityCalculator from './component.astro';
3
- import PrintQualityCalculatorSEO from './seo.astro';
4
- import PrintQualityCalculatorBibliography from './bibliography.astro';
5
-
6
- export interface PrintQualityCalculatorUI {
7
- dropTitle: string;
8
- dropSubtitle: string;
9
- resultsTitle: string;
10
- dpiDensityLabel: string;
11
- dpiPointsLabel: string;
12
- maxPrintTitle: string;
13
- standardFormatsTitle: string;
14
- formatColumn: string;
15
- measureColumn: string;
16
- supportColumn: string;
17
- qualityExcellent: string;
18
- qualityGood: string;
19
- qualityFair: string;
20
- qualityPoor: string;
21
- qualityExcellentDesc: string;
22
- qualityGoodDesc: string;
23
- qualityFairDesc: string;
24
- qualityPoorDesc: string;
25
- unitCm: string;
26
- unitInches: string;
27
- dpiScreenLabel: string;
28
- dpiNewspaperLabel: string;
29
- dpiPrintLabel: string;
30
- dpiFineArtLabel: string;
31
- formatPostal: string;
32
- formatQuartilla: string;
33
- formatFolio: string;
34
- formatDoubleFolio: string;
35
- formatSmallPoster: string;
36
- formatLargePoster: string;
37
- formatPlane: string;
38
- supportedText: string;
39
- notSupportedPrefix: string;
40
- invalidImageError: string;
41
- [key: string]: string;
42
- }
43
-
44
- export type PrintQualityCalculatorLocaleContent = ToolLocaleContent<PrintQualityCalculatorUI>;
45
-
46
- export const printQualityCalculator: AudiovisualToolEntry<PrintQualityCalculatorUI> = {
47
- id: 'calidad-impresion',
48
- icons: {
49
- bg: 'mdi:printer',
50
- fg: 'mdi:ruler-square',
51
- },
52
- i18n: {
53
- es: async () => (await import('./i18n/es')).content as unknown as PrintQualityCalculatorLocaleContent,
54
- en: async () => (await import('./i18n/en')).content as unknown as PrintQualityCalculatorLocaleContent,
55
- fr: async () => (await import('./i18n/fr')).content as unknown as PrintQualityCalculatorLocaleContent,
56
- de: async () => (await import('./i18n/de')).content as unknown as PrintQualityCalculatorLocaleContent,
57
- it: async () => (await import('./i18n/it')).content as unknown as PrintQualityCalculatorLocaleContent,
58
- pt: async () => (await import('./i18n/pt')).content as unknown as PrintQualityCalculatorLocaleContent,
59
- id: async () => (await import('./i18n/id')).content as unknown as PrintQualityCalculatorLocaleContent,
60
- ja: async () => (await import('./i18n/ja')).content as unknown as PrintQualityCalculatorLocaleContent,
61
- ko: async () => (await import('./i18n/ko')).content as unknown as PrintQualityCalculatorLocaleContent,
62
- nl: async () => (await import('./i18n/nl')).content as unknown as PrintQualityCalculatorLocaleContent,
63
- pl: async () => (await import('./i18n/pl')).content as unknown as PrintQualityCalculatorLocaleContent,
64
- ru: async () => (await import('./i18n/ru')).content as unknown as PrintQualityCalculatorLocaleContent,
65
- sv: async () => (await import('./i18n/sv')).content as unknown as PrintQualityCalculatorLocaleContent,
66
- tr: async () => (await import('./i18n/tr')).content as unknown as PrintQualityCalculatorLocaleContent,
67
- zh: async () => (await import('./i18n/zh')).content as unknown as PrintQualityCalculatorLocaleContent,
68
- },
69
- };
70
-
71
- export { PrintQualityCalculator, PrintQualityCalculatorSEO, PrintQualityCalculatorBibliography };
72
-
1
+ import { printQualityCalculator } from './entry';
2
+ export * from './entry';
73
3
  export const PRINT_QUALITY_CALCULATOR_TOOL: ToolDefinition = {
74
4
  entry: printQualityCalculator as unknown as AudiovisualToolEntry,
75
- Component: PrintQualityCalculator,
76
- SEOComponent: PrintQualityCalculatorSEO,
77
- BibliographyComponent: PrintQualityCalculatorBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
78
8
  };
@@ -0,0 +1,45 @@
1
+ import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface PrivacyBlurUI {
4
+ toolPixel: string;
5
+ toolBlur: string;
6
+ toolSolid: string;
7
+ intensityLabel: string;
8
+ undoButton: string;
9
+ downloadButton: string;
10
+ dropTitle: string;
11
+ dropSubtitle: string;
12
+ privacySecureLabel: string;
13
+ offlineLabel: string;
14
+ autoDetectFaces: string;
15
+ loadingModels: string;
16
+ noFacesDetected: string;
17
+ [key: string]: string;
18
+ }
19
+
20
+ export type PrivacyBlurLocaleContent = ToolLocaleContent<PrivacyBlurUI>;
21
+
22
+ export const privacyBlur: AudiovisualToolEntry<PrivacyBlurUI> = {
23
+ id: 'editor-privacidad',
24
+ icons: {
25
+ bg: 'mdi:eye-off',
26
+ fg: 'mdi:blur',
27
+ },
28
+ i18n: {
29
+ es: async () => (await import('./i18n/es')).content as unknown as PrivacyBlurLocaleContent,
30
+ en: async () => (await import('./i18n/en')).content as unknown as PrivacyBlurLocaleContent,
31
+ fr: async () => (await import('./i18n/fr')).content as unknown as PrivacyBlurLocaleContent,
32
+ de: async () => (await import('./i18n/de')).content as unknown as PrivacyBlurLocaleContent,
33
+ it: async () => (await import('./i18n/it')).content as unknown as PrivacyBlurLocaleContent,
34
+ pt: async () => (await import('./i18n/pt')).content as unknown as PrivacyBlurLocaleContent,
35
+ id: async () => (await import('./i18n/id')).content as unknown as PrivacyBlurLocaleContent,
36
+ ja: async () => (await import('./i18n/ja')).content as unknown as PrivacyBlurLocaleContent,
37
+ ko: async () => (await import('./i18n/ko')).content as unknown as PrivacyBlurLocaleContent,
38
+ nl: async () => (await import('./i18n/nl')).content as unknown as PrivacyBlurLocaleContent,
39
+ pl: async () => (await import('./i18n/pl')).content as unknown as PrivacyBlurLocaleContent,
40
+ ru: async () => (await import('./i18n/ru')).content as unknown as PrivacyBlurLocaleContent,
41
+ sv: async () => (await import('./i18n/sv')).content as unknown as PrivacyBlurLocaleContent,
42
+ tr: async () => (await import('./i18n/tr')).content as unknown as PrivacyBlurLocaleContent,
43
+ zh: async () => (await import('./i18n/zh')).content as unknown as PrivacyBlurLocaleContent,
44
+ },
45
+ };
@@ -1,57 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import PrivacyBlur from './component.astro';
3
- import PrivacyBlurSEO from './seo.astro';
4
- import PrivacyBlurBibliography from './bibliography.astro';
5
-
6
- export interface PrivacyBlurUI {
7
- toolPixel: string;
8
- toolBlur: string;
9
- toolSolid: string;
10
- intensityLabel: string;
11
- undoButton: string;
12
- downloadButton: string;
13
- dropTitle: string;
14
- dropSubtitle: string;
15
- privacySecureLabel: string;
16
- offlineLabel: string;
17
- autoDetectFaces: string;
18
- loadingModels: string;
19
- noFacesDetected: string;
20
- [key: string]: string;
21
- }
22
-
23
- export type PrivacyBlurLocaleContent = ToolLocaleContent<PrivacyBlurUI>;
24
-
25
- export const privacyBlur: AudiovisualToolEntry<PrivacyBlurUI> = {
26
- id: 'editor-privacidad',
27
- icons: {
28
- bg: 'mdi:eye-off',
29
- fg: 'mdi:blur',
30
- },
31
- i18n: {
32
- es: async () => (await import('./i18n/es')).content as unknown as PrivacyBlurLocaleContent,
33
- en: async () => (await import('./i18n/en')).content as unknown as PrivacyBlurLocaleContent,
34
- fr: async () => (await import('./i18n/fr')).content as unknown as PrivacyBlurLocaleContent,
35
- de: async () => (await import('./i18n/de')).content as unknown as PrivacyBlurLocaleContent,
36
- it: async () => (await import('./i18n/it')).content as unknown as PrivacyBlurLocaleContent,
37
- pt: async () => (await import('./i18n/pt')).content as unknown as PrivacyBlurLocaleContent,
38
- id: async () => (await import('./i18n/id')).content as unknown as PrivacyBlurLocaleContent,
39
- ja: async () => (await import('./i18n/ja')).content as unknown as PrivacyBlurLocaleContent,
40
- ko: async () => (await import('./i18n/ko')).content as unknown as PrivacyBlurLocaleContent,
41
- nl: async () => (await import('./i18n/nl')).content as unknown as PrivacyBlurLocaleContent,
42
- pl: async () => (await import('./i18n/pl')).content as unknown as PrivacyBlurLocaleContent,
43
- ru: async () => (await import('./i18n/ru')).content as unknown as PrivacyBlurLocaleContent,
44
- sv: async () => (await import('./i18n/sv')).content as unknown as PrivacyBlurLocaleContent,
45
- tr: async () => (await import('./i18n/tr')).content as unknown as PrivacyBlurLocaleContent,
46
- zh: async () => (await import('./i18n/zh')).content as unknown as PrivacyBlurLocaleContent,
47
- },
48
- };
49
-
50
- export { PrivacyBlur, PrivacyBlurSEO, PrivacyBlurBibliography };
51
-
1
+ import { privacyBlur } from './entry';
2
+ export * from './entry';
52
3
  export const PRIVACY_BLUR_TOOL: ToolDefinition = {
53
4
  entry: privacyBlur as unknown as AudiovisualToolEntry,
54
- Component: PrivacyBlur,
55
- SEOComponent: PrivacyBlurSEO,
56
- BibliographyComponent: PrivacyBlurBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
57
8
  };
@@ -0,0 +1,45 @@
1
+ import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface SubtitleSyncUI {
4
+ dropTitle: string;
5
+ dropSubtitle: string;
6
+ adjustTitle: string;
7
+ offsetLabel: string;
8
+ offsetHelp: string;
9
+ linesStat: string;
10
+ firstStat: string;
11
+ lastStat: string;
12
+ originalLabel: string;
13
+ resultLabel: string;
14
+ downloadButton: string;
15
+ previewBadge: string;
16
+ unitSeconds: string;
17
+ [key: string]: string;
18
+ }
19
+
20
+ export type SubtitleSyncLocaleContent = ToolLocaleContent<SubtitleSyncUI>;
21
+
22
+ export const subtitleSync: AudiovisualToolEntry<SubtitleSyncUI> = {
23
+ id: 'sincronizar-subtitulos',
24
+ icons: {
25
+ bg: 'mdi:movie-open-edit-outline',
26
+ fg: 'mdi:clock-time-four-outline',
27
+ },
28
+ i18n: {
29
+ es: async () => (await import('./i18n/es')).content as unknown as SubtitleSyncLocaleContent,
30
+ en: async () => (await import('./i18n/en')).content as unknown as SubtitleSyncLocaleContent,
31
+ fr: async () => (await import('./i18n/fr')).content as unknown as SubtitleSyncLocaleContent,
32
+ de: async () => (await import('./i18n/de')).content as unknown as SubtitleSyncLocaleContent,
33
+ it: async () => (await import('./i18n/it')).content as unknown as SubtitleSyncLocaleContent,
34
+ pt: async () => (await import('./i18n/pt')).content as unknown as SubtitleSyncLocaleContent,
35
+ id: async () => (await import('./i18n/id')).content as unknown as SubtitleSyncLocaleContent,
36
+ ja: async () => (await import('./i18n/ja')).content as unknown as SubtitleSyncLocaleContent,
37
+ ko: async () => (await import('./i18n/ko')).content as unknown as SubtitleSyncLocaleContent,
38
+ nl: async () => (await import('./i18n/nl')).content as unknown as SubtitleSyncLocaleContent,
39
+ pl: async () => (await import('./i18n/pl')).content as unknown as SubtitleSyncLocaleContent,
40
+ ru: async () => (await import('./i18n/ru')).content as unknown as SubtitleSyncLocaleContent,
41
+ sv: async () => (await import('./i18n/sv')).content as unknown as SubtitleSyncLocaleContent,
42
+ tr: async () => (await import('./i18n/tr')).content as unknown as SubtitleSyncLocaleContent,
43
+ zh: async () => (await import('./i18n/zh')).content as unknown as SubtitleSyncLocaleContent,
44
+ },
45
+ };
@@ -1,57 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import SubtitleSync from './component.astro';
3
- import SubtitleSyncSEO from './seo.astro';
4
- import SubtitleSyncBibliography from './bibliography.astro';
5
-
6
- export interface SubtitleSyncUI {
7
- dropTitle: string;
8
- dropSubtitle: string;
9
- adjustTitle: string;
10
- offsetLabel: string;
11
- offsetHelp: string;
12
- linesStat: string;
13
- firstStat: string;
14
- lastStat: string;
15
- originalLabel: string;
16
- resultLabel: string;
17
- downloadButton: string;
18
- previewBadge: string;
19
- unitSeconds: string;
20
- [key: string]: string;
21
- }
22
-
23
- export type SubtitleSyncLocaleContent = ToolLocaleContent<SubtitleSyncUI>;
24
-
25
- export const subtitleSync: AudiovisualToolEntry<SubtitleSyncUI> = {
26
- id: 'sincronizar-subtitulos',
27
- icons: {
28
- bg: 'mdi:movie-open-edit-outline',
29
- fg: 'mdi:clock-time-four-outline',
30
- },
31
- i18n: {
32
- es: async () => (await import('./i18n/es')).content as unknown as SubtitleSyncLocaleContent,
33
- en: async () => (await import('./i18n/en')).content as unknown as SubtitleSyncLocaleContent,
34
- fr: async () => (await import('./i18n/fr')).content as unknown as SubtitleSyncLocaleContent,
35
- de: async () => (await import('./i18n/de')).content as unknown as SubtitleSyncLocaleContent,
36
- it: async () => (await import('./i18n/it')).content as unknown as SubtitleSyncLocaleContent,
37
- pt: async () => (await import('./i18n/pt')).content as unknown as SubtitleSyncLocaleContent,
38
- id: async () => (await import('./i18n/id')).content as unknown as SubtitleSyncLocaleContent,
39
- ja: async () => (await import('./i18n/ja')).content as unknown as SubtitleSyncLocaleContent,
40
- ko: async () => (await import('./i18n/ko')).content as unknown as SubtitleSyncLocaleContent,
41
- nl: async () => (await import('./i18n/nl')).content as unknown as SubtitleSyncLocaleContent,
42
- pl: async () => (await import('./i18n/pl')).content as unknown as SubtitleSyncLocaleContent,
43
- ru: async () => (await import('./i18n/ru')).content as unknown as SubtitleSyncLocaleContent,
44
- sv: async () => (await import('./i18n/sv')).content as unknown as SubtitleSyncLocaleContent,
45
- tr: async () => (await import('./i18n/tr')).content as unknown as SubtitleSyncLocaleContent,
46
- zh: async () => (await import('./i18n/zh')).content as unknown as SubtitleSyncLocaleContent,
47
- },
48
- };
49
-
50
- export { SubtitleSync, SubtitleSyncSEO, SubtitleSyncBibliography };
51
-
1
+ import { subtitleSync } from './entry';
2
+ export * from './entry';
52
3
  export const SUBTITLE_SYNC_TOOL: ToolDefinition = {
53
4
  entry: subtitleSync as unknown as AudiovisualToolEntry,
54
- Component: SubtitleSync,
55
- SEOComponent: SubtitleSyncSEO,
56
- BibliographyComponent: SubtitleSyncBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
57
8
  };
@@ -0,0 +1,48 @@
1
+ import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface TimelapseUI {
4
+ title: string;
5
+ paramsTitle: string;
6
+ eventDuration: string;
7
+ hours: string;
8
+ minutes: string;
9
+ videoDuration: string;
10
+ seconds: string;
11
+ fps: string;
12
+ resultsTitle: string;
13
+ intervalLabel: string;
14
+ secondsUnit: string;
15
+ totalPhotos: string;
16
+ speed: string;
17
+ shutterSpeed: string;
18
+ storage: string;
19
+ rule180Info: string;
20
+ [key: string]: string;
21
+ }
22
+
23
+ export type TimelapseLocaleContent = ToolLocaleContent<TimelapseUI>;
24
+
25
+ export const timelapseCalculator: AudiovisualToolEntry<TimelapseUI> = {
26
+ id: 'calculadora-timelapse',
27
+ icons: {
28
+ bg: 'mdi:camera-timer',
29
+ fg: 'mdi:clock-fast',
30
+ },
31
+ i18n: {
32
+ es: async () => (await import('./i18n/es')).content as unknown as TimelapseLocaleContent,
33
+ en: async () => (await import('./i18n/en')).content as unknown as TimelapseLocaleContent,
34
+ fr: async () => (await import('./i18n/fr')).content as unknown as TimelapseLocaleContent,
35
+ de: async () => (await import('./i18n/de')).content as unknown as TimelapseLocaleContent,
36
+ it: async () => (await import('./i18n/it')).content as unknown as TimelapseLocaleContent,
37
+ pt: async () => (await import('./i18n/pt')).content as unknown as TimelapseLocaleContent,
38
+ id: async () => (await import('./i18n/id')).content as unknown as TimelapseLocaleContent,
39
+ ja: async () => (await import('./i18n/ja')).content as unknown as TimelapseLocaleContent,
40
+ ko: async () => (await import('./i18n/ko')).content as unknown as TimelapseLocaleContent,
41
+ nl: async () => (await import('./i18n/nl')).content as unknown as TimelapseLocaleContent,
42
+ pl: async () => (await import('./i18n/pl')).content as unknown as TimelapseLocaleContent,
43
+ ru: async () => (await import('./i18n/ru')).content as unknown as TimelapseLocaleContent,
44
+ sv: async () => (await import('./i18n/sv')).content as unknown as TimelapseLocaleContent,
45
+ tr: async () => (await import('./i18n/tr')).content as unknown as TimelapseLocaleContent,
46
+ zh: async () => (await import('./i18n/zh')).content as unknown as TimelapseLocaleContent,
47
+ },
48
+ };
@@ -1,60 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import TimelapseCalculator from './component.astro';
3
- import TimelapseSEO from './seo.astro';
4
- import TimelapseBibliography from './bibliography.astro';
5
-
6
- export interface TimelapseUI {
7
- title: string;
8
- paramsTitle: string;
9
- eventDuration: string;
10
- hours: string;
11
- minutes: string;
12
- videoDuration: string;
13
- seconds: string;
14
- fps: string;
15
- resultsTitle: string;
16
- intervalLabel: string;
17
- secondsUnit: string;
18
- totalPhotos: string;
19
- speed: string;
20
- shutterSpeed: string;
21
- storage: string;
22
- rule180Info: string;
23
- [key: string]: string;
24
- }
25
-
26
- export type TimelapseLocaleContent = ToolLocaleContent<TimelapseUI>;
27
-
28
- export const timelapseCalculator: AudiovisualToolEntry<TimelapseUI> = {
29
- id: 'calculadora-timelapse',
30
- icons: {
31
- bg: 'mdi:camera-timer',
32
- fg: 'mdi:clock-fast',
33
- },
34
- i18n: {
35
- es: async () => (await import('./i18n/es')).content as unknown as TimelapseLocaleContent,
36
- en: async () => (await import('./i18n/en')).content as unknown as TimelapseLocaleContent,
37
- fr: async () => (await import('./i18n/fr')).content as unknown as TimelapseLocaleContent,
38
- de: async () => (await import('./i18n/de')).content as unknown as TimelapseLocaleContent,
39
- it: async () => (await import('./i18n/it')).content as unknown as TimelapseLocaleContent,
40
- pt: async () => (await import('./i18n/pt')).content as unknown as TimelapseLocaleContent,
41
- id: async () => (await import('./i18n/id')).content as unknown as TimelapseLocaleContent,
42
- ja: async () => (await import('./i18n/ja')).content as unknown as TimelapseLocaleContent,
43
- ko: async () => (await import('./i18n/ko')).content as unknown as TimelapseLocaleContent,
44
- nl: async () => (await import('./i18n/nl')).content as unknown as TimelapseLocaleContent,
45
- pl: async () => (await import('./i18n/pl')).content as unknown as TimelapseLocaleContent,
46
- ru: async () => (await import('./i18n/ru')).content as unknown as TimelapseLocaleContent,
47
- sv: async () => (await import('./i18n/sv')).content as unknown as TimelapseLocaleContent,
48
- tr: async () => (await import('./i18n/tr')).content as unknown as TimelapseLocaleContent,
49
- zh: async () => (await import('./i18n/zh')).content as unknown as TimelapseLocaleContent,
50
- },
51
- };
52
-
53
- export { TimelapseCalculator, TimelapseSEO, TimelapseBibliography };
54
-
1
+ import { timelapseCalculator } from './entry';
2
+ export * from './entry';
55
3
  export const TIMELAPSE_CALCULATOR_TOOL: ToolDefinition = {
56
4
  entry: timelapseCalculator as unknown as AudiovisualToolEntry,
57
- Component: TimelapseCalculator,
58
- SEOComponent: TimelapseSEO,
59
- BibliographyComponent: TimelapseBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
60
8
  };
@@ -0,0 +1,45 @@
1
+ import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface TvDistanceUI {
4
+ specTitle: string;
5
+ diagonalLabel: string;
6
+ resolutionLabel: string;
7
+ thxRecommendation: string;
8
+ thxDescription: string;
9
+ simulationBadge: string;
10
+ tvWidthLabel: string;
11
+ userLocationLabel: string;
12
+ minLimitLabel: string;
13
+ optimalLimitLabel: string;
14
+ maxLimitLabel: string;
15
+ unitMeters: string;
16
+ unitCm: string;
17
+ [key: string]: string;
18
+ }
19
+
20
+ export type TvDistanceLocaleContent = ToolLocaleContent<TvDistanceUI>;
21
+
22
+ export const tvDistance: AudiovisualToolEntry<TvDistanceUI> = {
23
+ id: 'distancia-tv',
24
+ icons: {
25
+ bg: 'mdi:television',
26
+ fg: 'mdi:ruler',
27
+ },
28
+ i18n: {
29
+ es: async () => (await import('./i18n/es')).content as unknown as TvDistanceLocaleContent,
30
+ en: async () => (await import('./i18n/en')).content as unknown as TvDistanceLocaleContent,
31
+ fr: async () => (await import('./i18n/fr')).content as unknown as TvDistanceLocaleContent,
32
+ de: async () => (await import('./i18n/de')).content as unknown as TvDistanceLocaleContent,
33
+ it: async () => (await import('./i18n/it')).content as unknown as TvDistanceLocaleContent,
34
+ pt: async () => (await import('./i18n/pt')).content as unknown as TvDistanceLocaleContent,
35
+ id: async () => (await import('./i18n/id')).content as unknown as TvDistanceLocaleContent,
36
+ ja: async () => (await import('./i18n/ja')).content as unknown as TvDistanceLocaleContent,
37
+ ko: async () => (await import('./i18n/ko')).content as unknown as TvDistanceLocaleContent,
38
+ nl: async () => (await import('./i18n/nl')).content as unknown as TvDistanceLocaleContent,
39
+ pl: async () => (await import('./i18n/pl')).content as unknown as TvDistanceLocaleContent,
40
+ ru: async () => (await import('./i18n/ru')).content as unknown as TvDistanceLocaleContent,
41
+ sv: async () => (await import('./i18n/sv')).content as unknown as TvDistanceLocaleContent,
42
+ tr: async () => (await import('./i18n/tr')).content as unknown as TvDistanceLocaleContent,
43
+ zh: async () => (await import('./i18n/zh')).content as unknown as TvDistanceLocaleContent,
44
+ },
45
+ };
@@ -1,57 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import TvDistance from './component.astro';
3
- import TvDistanceSEO from './seo.astro';
4
- import TvDistanceBibliography from './bibliography.astro';
5
-
6
- export interface TvDistanceUI {
7
- specTitle: string;
8
- diagonalLabel: string;
9
- resolutionLabel: string;
10
- thxRecommendation: string;
11
- thxDescription: string;
12
- simulationBadge: string;
13
- tvWidthLabel: string;
14
- userLocationLabel: string;
15
- minLimitLabel: string;
16
- optimalLimitLabel: string;
17
- maxLimitLabel: string;
18
- unitMeters: string;
19
- unitCm: string;
20
- [key: string]: string;
21
- }
22
-
23
- export type TvDistanceLocaleContent = ToolLocaleContent<TvDistanceUI>;
24
-
25
- export const tvDistance: AudiovisualToolEntry<TvDistanceUI> = {
26
- id: 'distancia-tv',
27
- icons: {
28
- bg: 'mdi:television',
29
- fg: 'mdi:ruler',
30
- },
31
- i18n: {
32
- es: async () => (await import('./i18n/es')).content as unknown as TvDistanceLocaleContent,
33
- en: async () => (await import('./i18n/en')).content as unknown as TvDistanceLocaleContent,
34
- fr: async () => (await import('./i18n/fr')).content as unknown as TvDistanceLocaleContent,
35
- de: async () => (await import('./i18n/de')).content as unknown as TvDistanceLocaleContent,
36
- it: async () => (await import('./i18n/it')).content as unknown as TvDistanceLocaleContent,
37
- pt: async () => (await import('./i18n/pt')).content as unknown as TvDistanceLocaleContent,
38
- id: async () => (await import('./i18n/id')).content as unknown as TvDistanceLocaleContent,
39
- ja: async () => (await import('./i18n/ja')).content as unknown as TvDistanceLocaleContent,
40
- ko: async () => (await import('./i18n/ko')).content as unknown as TvDistanceLocaleContent,
41
- nl: async () => (await import('./i18n/nl')).content as unknown as TvDistanceLocaleContent,
42
- pl: async () => (await import('./i18n/pl')).content as unknown as TvDistanceLocaleContent,
43
- ru: async () => (await import('./i18n/ru')).content as unknown as TvDistanceLocaleContent,
44
- sv: async () => (await import('./i18n/sv')).content as unknown as TvDistanceLocaleContent,
45
- tr: async () => (await import('./i18n/tr')).content as unknown as TvDistanceLocaleContent,
46
- zh: async () => (await import('./i18n/zh')).content as unknown as TvDistanceLocaleContent,
47
- },
48
- };
49
-
50
- export { TvDistance, TvDistanceSEO, TvDistanceBibliography };
51
-
1
+ import { tvDistance } from './entry';
2
+ export * from './entry';
52
3
  export const TV_DISTANCE_TOOL: ToolDefinition = {
53
4
  entry: tvDistance as unknown as AudiovisualToolEntry,
54
- Component: TvDistance,
55
- SEOComponent: TvDistanceSEO,
56
- BibliographyComponent: TvDistanceBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
57
8
  };
@@ -0,0 +1,49 @@
1
+ import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export interface VideoFrameExtractorUI {
4
+ uploadTitle: string;
5
+ uploadFormats: string;
6
+ privacyNote: string;
7
+ playLabel: string;
8
+ pauseLabel: string;
9
+ captureBtn: string;
10
+ prevFrame: string;
11
+ nextFrame: string;
12
+ batchTitle: string;
13
+ batchEvery: string;
14
+ batchStart: string;
15
+ batchProcessing: string;
16
+ galleryTitle: string;
17
+ galleryEmpty: string;
18
+ downloadAll: string;
19
+ downloadHD: string;
20
+ resetBtn: string;
21
+ [key: string]: string;
22
+ }
23
+
24
+ export type VideoFrameExtractorLocaleContent = ToolLocaleContent<VideoFrameExtractorUI>;
25
+
26
+ export const videoFrameExtractor: AudiovisualToolEntry<VideoFrameExtractorUI> = {
27
+ id: 'extractor-fotogramas-video',
28
+ icons: {
29
+ bg: 'mdi:video-vintage',
30
+ fg: 'mdi:camera-plus',
31
+ },
32
+ i18n: {
33
+ es: async () => (await import('./i18n/es')).content as unknown as VideoFrameExtractorLocaleContent,
34
+ en: async () => (await import('./i18n/en')).content as unknown as VideoFrameExtractorLocaleContent,
35
+ fr: async () => (await import('./i18n/fr')).content as unknown as VideoFrameExtractorLocaleContent,
36
+ de: async () => (await import('./i18n/de')).content as unknown as VideoFrameExtractorLocaleContent,
37
+ it: async () => (await import('./i18n/it')).content as unknown as VideoFrameExtractorLocaleContent,
38
+ pt: async () => (await import('./i18n/pt')).content as unknown as VideoFrameExtractorLocaleContent,
39
+ id: async () => (await import('./i18n/id')).content as unknown as VideoFrameExtractorLocaleContent,
40
+ ja: async () => (await import('./i18n/ja')).content as unknown as VideoFrameExtractorLocaleContent,
41
+ ko: async () => (await import('./i18n/ko')).content as unknown as VideoFrameExtractorLocaleContent,
42
+ nl: async () => (await import('./i18n/nl')).content as unknown as VideoFrameExtractorLocaleContent,
43
+ pl: async () => (await import('./i18n/pl')).content as unknown as VideoFrameExtractorLocaleContent,
44
+ ru: async () => (await import('./i18n/ru')).content as unknown as VideoFrameExtractorLocaleContent,
45
+ sv: async () => (await import('./i18n/sv')).content as unknown as VideoFrameExtractorLocaleContent,
46
+ tr: async () => (await import('./i18n/tr')).content as unknown as VideoFrameExtractorLocaleContent,
47
+ zh: async () => (await import('./i18n/zh')).content as unknown as VideoFrameExtractorLocaleContent,
48
+ },
49
+ };
@@ -1,61 +1,8 @@
1
- import type { AudiovisualToolEntry, ToolLocaleContent, ToolDefinition } from '../../types';
2
- import VideoFrameExtractor from './component.astro';
3
- import VideoFrameExtractorSEO from './seo.astro';
4
- import VideoFrameExtractorBibliography from './bibliography.astro';
5
-
6
- export interface VideoFrameExtractorUI {
7
- uploadTitle: string;
8
- uploadFormats: string;
9
- privacyNote: string;
10
- playLabel: string;
11
- pauseLabel: string;
12
- captureBtn: string;
13
- prevFrame: string;
14
- nextFrame: string;
15
- batchTitle: string;
16
- batchEvery: string;
17
- batchStart: string;
18
- batchProcessing: string;
19
- galleryTitle: string;
20
- galleryEmpty: string;
21
- downloadAll: string;
22
- downloadHD: string;
23
- resetBtn: string;
24
- [key: string]: string;
25
- }
26
-
27
- export type VideoFrameExtractorLocaleContent = ToolLocaleContent<VideoFrameExtractorUI>;
28
-
29
- export const videoFrameExtractor: AudiovisualToolEntry<VideoFrameExtractorUI> = {
30
- id: 'extractor-fotogramas-video',
31
- icons: {
32
- bg: 'mdi:video-vintage',
33
- fg: 'mdi:camera-plus',
34
- },
35
- i18n: {
36
- es: async () => (await import('./i18n/es')).content as unknown as VideoFrameExtractorLocaleContent,
37
- en: async () => (await import('./i18n/en')).content as unknown as VideoFrameExtractorLocaleContent,
38
- fr: async () => (await import('./i18n/fr')).content as unknown as VideoFrameExtractorLocaleContent,
39
- de: async () => (await import('./i18n/de')).content as unknown as VideoFrameExtractorLocaleContent,
40
- it: async () => (await import('./i18n/it')).content as unknown as VideoFrameExtractorLocaleContent,
41
- pt: async () => (await import('./i18n/pt')).content as unknown as VideoFrameExtractorLocaleContent,
42
- id: async () => (await import('./i18n/id')).content as unknown as VideoFrameExtractorLocaleContent,
43
- ja: async () => (await import('./i18n/ja')).content as unknown as VideoFrameExtractorLocaleContent,
44
- ko: async () => (await import('./i18n/ko')).content as unknown as VideoFrameExtractorLocaleContent,
45
- nl: async () => (await import('./i18n/nl')).content as unknown as VideoFrameExtractorLocaleContent,
46
- pl: async () => (await import('./i18n/pl')).content as unknown as VideoFrameExtractorLocaleContent,
47
- ru: async () => (await import('./i18n/ru')).content as unknown as VideoFrameExtractorLocaleContent,
48
- sv: async () => (await import('./i18n/sv')).content as unknown as VideoFrameExtractorLocaleContent,
49
- tr: async () => (await import('./i18n/tr')).content as unknown as VideoFrameExtractorLocaleContent,
50
- zh: async () => (await import('./i18n/zh')).content as unknown as VideoFrameExtractorLocaleContent,
51
- },
52
- };
53
-
54
- export { VideoFrameExtractor, VideoFrameExtractorSEO, VideoFrameExtractorBibliography };
55
-
1
+ import { videoFrameExtractor } from './entry';
2
+ export * from './entry';
56
3
  export const VIDEO_FRAME_EXTRACTOR_TOOL: ToolDefinition = {
57
4
  entry: videoFrameExtractor as unknown as AudiovisualToolEntry,
58
- Component: VideoFrameExtractor,
59
- SEOComponent: VideoFrameExtractorSEO,
60
- BibliographyComponent: VideoFrameExtractorBibliography,
5
+ Component: () => import('./component.astro'),
6
+ SEOComponent: () => import('./seo.astro'),
7
+ BibliographyComponent: () => import('./bibliography.astro'),
61
8
  };
package/src/tools.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ALL_ENTRIES } from './entries';
1
2
  import type { ToolDefinition } from './types';
2
3
  import { TIMELAPSE_CALCULATOR_TOOL } from './tool/timelapseCalculator';
3
4
  import { EXIF_CLEANER_TOOL } from './tool/exifCleaner';
@@ -24,4 +25,3 @@ export const ALL_TOOLS: ToolDefinition[] = [
24
25
  ];
25
26
 
26
27
 
27
- export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);