@jjlmoya/utils-audiovisual 1.6.0 → 1.8.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.
- package/package.json +59 -58
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +198 -0
- package/src/category/i18n/it.ts +198 -0
- package/src/category/i18n/ja.ts +198 -0
- package/src/category/i18n/ko.ts +198 -0
- package/src/category/i18n/nl.ts +198 -0
- package/src/category/i18n/pl.ts +198 -0
- package/src/category/i18n/pt.ts +198 -0
- package/src/category/i18n/ru.ts +198 -0
- package/src/category/i18n/sv.ts +198 -0
- package/src/category/i18n/tr.ts +198 -0
- package/src/category/i18n/zh.ts +198 -0
- package/src/category/index.ts +31 -3
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/en.ts +1 -1
- package/src/tool/chromaticLens/i18n/es.ts +1 -1
- package/src/tool/chromaticLens/i18n/fr.ts +1 -1
- package/src/tool/chromaticLens/i18n/id.ts +246 -0
- package/src/tool/chromaticLens/i18n/it.ts +246 -0
- package/src/tool/chromaticLens/i18n/ja.ts +246 -0
- package/src/tool/chromaticLens/i18n/ko.ts +246 -0
- package/src/tool/chromaticLens/i18n/nl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pt.ts +246 -0
- package/src/tool/chromaticLens/i18n/ru.ts +246 -0
- package/src/tool/chromaticLens/i18n/sv.ts +246 -0
- package/src/tool/chromaticLens/i18n/tr.ts +246 -0
- package/src/tool/chromaticLens/i18n/zh.ts +246 -0
- package/src/tool/chromaticLens/index.ts +15 -7
- package/src/tool/collageMaker/i18n/de.ts +233 -0
- package/src/tool/collageMaker/i18n/en.ts +1 -1
- package/src/tool/collageMaker/i18n/es.ts +1 -1
- package/src/tool/collageMaker/i18n/fr.ts +1 -1
- package/src/tool/collageMaker/i18n/id.ts +233 -0
- package/src/tool/collageMaker/i18n/it.ts +233 -0
- package/src/tool/collageMaker/i18n/ja.ts +233 -0
- package/src/tool/collageMaker/i18n/ko.ts +233 -0
- package/src/tool/collageMaker/i18n/nl.ts +233 -0
- package/src/tool/collageMaker/i18n/pl.ts +233 -0
- package/src/tool/collageMaker/i18n/pt.ts +233 -0
- package/src/tool/collageMaker/i18n/ru.ts +233 -0
- package/src/tool/collageMaker/i18n/sv.ts +233 -0
- package/src/tool/collageMaker/i18n/tr.ts +233 -0
- package/src/tool/collageMaker/i18n/zh.ts +233 -0
- package/src/tool/collageMaker/index.ts +15 -6
- package/src/tool/exifCleaner/i18n/de.ts +277 -0
- package/src/tool/exifCleaner/i18n/en.ts +2 -2
- package/src/tool/exifCleaner/i18n/es.ts +2 -2
- package/src/tool/exifCleaner/i18n/fr.ts +4 -4
- package/src/tool/exifCleaner/i18n/id.ts +277 -0
- package/src/tool/exifCleaner/i18n/it.ts +277 -0
- package/src/tool/exifCleaner/i18n/ja.ts +277 -0
- package/src/tool/exifCleaner/i18n/ko.ts +277 -0
- package/src/tool/exifCleaner/i18n/nl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pt.ts +277 -0
- package/src/tool/exifCleaner/i18n/ru.ts +277 -0
- package/src/tool/exifCleaner/i18n/sv.ts +277 -0
- package/src/tool/exifCleaner/i18n/tr.ts +277 -0
- package/src/tool/exifCleaner/i18n/zh.ts +277 -0
- package/src/tool/exifCleaner/index.ts +16 -8
- package/src/tool/imageCompressor/i18n/de.ts +242 -0
- package/src/tool/imageCompressor/i18n/en.ts +2 -2
- package/src/tool/imageCompressor/i18n/es.ts +2 -2
- package/src/tool/imageCompressor/i18n/id.ts +242 -0
- package/src/tool/imageCompressor/i18n/it.ts +242 -0
- package/src/tool/imageCompressor/i18n/ja.ts +242 -0
- package/src/tool/imageCompressor/i18n/ko.ts +242 -0
- package/src/tool/imageCompressor/i18n/nl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pt.ts +242 -0
- package/src/tool/imageCompressor/i18n/ru.ts +242 -0
- package/src/tool/imageCompressor/i18n/sv.ts +242 -0
- package/src/tool/imageCompressor/i18n/tr.ts +242 -0
- package/src/tool/imageCompressor/i18n/zh.ts +244 -0
- package/src/tool/imageCompressor/index.ts +15 -7
- package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/en.ts +2 -2
- package/src/tool/printQualityCalculator/i18n/es.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/fr.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
- package/src/tool/printQualityCalculator/index.ts +15 -7
- package/src/tool/privacyBlur/i18n/de.ts +238 -0
- package/src/tool/privacyBlur/i18n/en.ts +1 -1
- package/src/tool/privacyBlur/i18n/es.ts +1 -1
- package/src/tool/privacyBlur/i18n/fr.ts +1 -1
- package/src/tool/privacyBlur/i18n/id.ts +238 -0
- package/src/tool/privacyBlur/i18n/it.ts +238 -0
- package/src/tool/privacyBlur/i18n/ja.ts +238 -0
- package/src/tool/privacyBlur/i18n/ko.ts +238 -0
- package/src/tool/privacyBlur/i18n/nl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pt.ts +238 -0
- package/src/tool/privacyBlur/i18n/ru.ts +238 -0
- package/src/tool/privacyBlur/i18n/sv.ts +238 -0
- package/src/tool/privacyBlur/i18n/tr.ts +238 -0
- package/src/tool/privacyBlur/i18n/zh.ts +238 -0
- package/src/tool/privacyBlur/index.ts +15 -7
- package/src/tool/subtitleSync/i18n/de.ts +241 -0
- package/src/tool/subtitleSync/i18n/en.ts +1 -1
- package/src/tool/subtitleSync/i18n/es.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +8 -8
- package/src/tool/subtitleSync/i18n/id.ts +241 -0
- package/src/tool/subtitleSync/i18n/it.ts +241 -0
- package/src/tool/subtitleSync/i18n/ja.ts +241 -0
- package/src/tool/subtitleSync/i18n/ko.ts +241 -0
- package/src/tool/subtitleSync/i18n/nl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pt.ts +241 -0
- package/src/tool/subtitleSync/i18n/ru.ts +241 -0
- package/src/tool/subtitleSync/i18n/sv.ts +241 -0
- package/src/tool/subtitleSync/i18n/tr.ts +241 -0
- package/src/tool/subtitleSync/i18n/zh.ts +241 -0
- package/src/tool/subtitleSync/index.ts +15 -7
- package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
- package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
- package/src/tool/timelapseCalculator/index.ts +16 -8
- package/src/tool/tvDistance/i18n/de.ts +223 -0
- package/src/tool/tvDistance/i18n/en.ts +1 -1
- package/src/tool/tvDistance/i18n/es.ts +1 -1
- package/src/tool/tvDistance/i18n/fr.ts +1 -1
- package/src/tool/tvDistance/i18n/id.ts +223 -0
- package/src/tool/tvDistance/i18n/it.ts +223 -0
- package/src/tool/tvDistance/i18n/ja.ts +223 -0
- package/src/tool/tvDistance/i18n/ko.ts +223 -0
- package/src/tool/tvDistance/i18n/nl.ts +223 -0
- package/src/tool/tvDistance/i18n/pl.ts +223 -0
- package/src/tool/tvDistance/i18n/pt.ts +223 -0
- package/src/tool/tvDistance/i18n/ru.ts +223 -0
- package/src/tool/tvDistance/i18n/sv.ts +223 -0
- package/src/tool/tvDistance/i18n/tr.ts +223 -0
- package/src/tool/tvDistance/i18n/zh.ts +223 -0
- package/src/tool/tvDistance/index.ts +15 -7
- package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/en.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
- package/src/tool/videoFrameExtractor/index.ts +16 -8
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'gratis-online-fotocollage-maker-professionele-composities';
|
|
5
|
+
const title = 'Online Collage Maker: Ontwerp professionele composities';
|
|
6
|
+
const description = 'Maak gratis fotocollages in enkele seconden. Kies uit verschillende lay-outs, pas randen aan en download in hoge kwaliteit zonder watermerken.';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "Sleep afbeeldingen hierheen",
|
|
10
|
+
dropSub: "of {link} - min. 2, max. 9",
|
|
11
|
+
dropLink: "selecteer bestanden",
|
|
12
|
+
imgsLoaded: "Geladen afbeeldingen",
|
|
13
|
+
layoutLabel: "Lay-out",
|
|
14
|
+
settingsLabel: "Instellingen",
|
|
15
|
+
borderLabel: "Rand",
|
|
16
|
+
borderColorLabel: "Randkleur",
|
|
17
|
+
bgColorLabel: "Achtergrond",
|
|
18
|
+
downloadBtn: "Downloaden",
|
|
19
|
+
previewTitle: "Voorvertoning",
|
|
20
|
+
needsImgs: "Je hebt {n} afbeeldingen nodig",
|
|
21
|
+
errorMin: "Je hebt minimaal 2 afbeeldingen nodig",
|
|
22
|
+
errorMax: "Maximaal 9 afbeeldingen toegestaan",
|
|
23
|
+
errorLoad: "Fout bij het laden van afbeeldingen",
|
|
24
|
+
faqTitle: "Veelgestelde Vragen",
|
|
25
|
+
bibliographyTitle: "Referenties"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "Hoe kan ik de volgorde van de foto's veranderen?",
|
|
31
|
+
answer: "De foto's worden in de collage geplaatst in de volgorde waarin ze verschijnen in de lijst met geladen afbeeldingen. Je kunt er een verwijderen en opnieuw uploaden om de positie aan te passen.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "Welk uitvoerformaat heeft de collage?",
|
|
35
|
+
answer: "De collage wordt gedownload in WebP-formaat met hoge resolutie, ideaal voor het delen op sociale netwerken zonder scherpteverlies.",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "Upload je foto's",
|
|
42
|
+
text: "Selecteer tussen de 2 en 9 afbeeldingen uit je bestandsverkenner.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "Kies een lay-out",
|
|
46
|
+
text: "Selecteer het raster dat het beste past bij het aantal foto's dat je hebt geüpload.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "Personaliseer de stijl",
|
|
50
|
+
text: "Pas de randdikte en kleur aan voor een professionele afwerking.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "Download en deel",
|
|
54
|
+
text: "Druk op de knop 'maken' en download direct je uiteindelijke compositie.",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "Fotografische Compositie: De Kunst van Collage",
|
|
61
|
+
url: "https://nl.wikipedia.org/wiki/Collage",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: 'Professionele Online Collage Maker',
|
|
69
|
+
items: [
|
|
70
|
+
'Meerdere lay-outs en vooraf gedefinieerde rasters',
|
|
71
|
+
'Aanpassing van randen en achtergrondkleuren',
|
|
72
|
+
'1200px hoge resolutie, klaar voor sociale netwerken',
|
|
73
|
+
'Directe verwerking zonder gebruiksbeperkingen'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'Collage Ontwerp: Composities Die Verhalen Vertellen', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: 'Een collage is meer dan een mix van foto\'s; het is een visueel narratief dat emotie en context communiceert. Onze tool stelt je in staat om professionele geometrische composities te maken voor Instagram, Facebook, Pinterest of persoonlijke projecten zonder dat Photoshop of dure software nodig is.' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: 'Beelden per Collage', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'HD Resolutie', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: 'Direct', label: 'Generatie', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: 'Visuele Compositie: Ontwerpprincipes', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: 'Compositie is de kunst van het organiseren van visuele elementen op een manier die het oog van de kijker leidt en een intentie communiceert. Een goede collage balanceert:' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Balans:</strong> Visuele verdeling van gewicht (lichte vs donkere afbeeldingen, grote vs kleine).',
|
|
89
|
+
'<strong>Visuele Flow:</strong> Het oog moet de compositie op een natuurlijke manier doorkruisen, zonder dode punten.',
|
|
90
|
+
'<strong>Contrast:</strong> Variaties in kleur, grootte en vorm die de aandacht trekken.',
|
|
91
|
+
'<strong>Eenheid:</strong> Thematsche samenhang - beelden moeten \"samen spreken\" over hetzelfde verhaal.'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: 'Slimme en Adaptieve Ontwerpen', html: 'Ons systeem berekent automatisch de optimale ruimtelijke verdeling op basis van het aantal foto\'s. 2 afbeeldingen = symmetrisch raster; 5 afbeeldingen = gebalanceerde asymmetrische verdeling. Elk raster is ontworpen om de visuele impact te maximaliseren.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: 'Voor Sociale Netwerken',
|
|
99
|
+
description: 'Instagram, TikTok, Facebook - vierkante formaten',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200px is perfect voor de Instagram-feed',
|
|
103
|
+
'Vierkant formaat voorkomt bijsnijden bij het posten',
|
|
104
|
+
'Aanpasbare randen voor branding'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Voor Portfolio\'s',
|
|
110
|
+
description: 'Visuele etalages voor fotografen en ontwerpers',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'Laat meerdere invalshoeken van een project zien',
|
|
114
|
+
'Coherent visueel narratief',
|
|
115
|
+
'Professionele digitale boekdruk'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: 'Voor Persoonlijke Cadeaus',
|
|
120
|
+
description: 'Afdrukken, lijsten en digitale albums',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'Herinneringen aan evenementen (bruiloften, reizen)',
|
|
124
|
+
'Hoge resolutie klaar voor afdrukken',
|
|
125
|
+
'Instant ontwerp zonder handmatige inspanning'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: 'Aanpassing: Randen en Kleuren', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['Element', 'Visueel Effect', 'Aanbeveling'], rows: [
|
|
132
|
+
['Witte Rand', 'Schoon, minimalistisch, modern', 'Sociale netwerken, digitale portfolio\'s'],
|
|
133
|
+
['Zwarte Rand', 'Dramatisch, professioneel, artistiek', 'Kunstfotografie, mode, luxe'],
|
|
134
|
+
['Neutrale Rand (grijs)', 'Veelzijdig, academisch, zakelijk', 'Business, onderwijs, neutraliteit'],
|
|
135
|
+
['Geen Rand', 'Fusie, continuïteit, meeslepend', 'Uniforme achtergrond, vloeiende foto\'s']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: 'Professionele vooraf gedefinieerde ontwerpen - geen kennis van compositie nodig',
|
|
141
|
+
con: 'Opties beperkt tot vooraf vastgestelde rasters'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: '1200px resolutie klaar voor sociale netwerken zonder herschaling',
|
|
145
|
+
con: 'Niet zo aanpasbaar als Photoshop'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '100% lokale verwerking - privacy, snelheid, geen limieten',
|
|
149
|
+
con: 'Vereist een moderne browser'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: 'Helemaal gratis, geen watermerken, geen reclame',
|
|
153
|
+
con: 'Geen individuele bewerkingsopties (bijsnijden, draaien)'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: 'Voordelen', conTitle: 'Beperkingen' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: 'Klaar voor Sociale Netwerken', icon: 'mdi:check-circle-outline', badge: 'Geoptimaliseerd', html: '1200x1200px is de ideale resolutie voor Instagram. Het ondersteunt elke beeldverhouding, maar de vierkante uitvoer maximaliseert de impact van de feed, elimineert automatisch bijsnijden en ziet er net zo goed uit op desktop, tablet als mobiel.' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: 'Visuele Compositie',
|
|
162
|
+
definition: 'Kunst van het organiseren van elementen (kleur, vorm, ruimte) om het oog van de kijker te leiden en een emotionele intentie te communiceren.'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: 'Regel van Derden',
|
|
166
|
+
definition: 'Compositieprincipe: verdeelt het beeld in 9 gelijke gebieden (3x3). Plaats onderwerpen op snijlijnen voor maximale impact.'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: 'Symmetrisch Raster',
|
|
170
|
+
definition: 'Gelijke ruimtelijke verdelingen. Rustgevend, ordelijk. Ideaal voor paren van foto\'s of even getallen.'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: 'Asymmetrisch Raster',
|
|
174
|
+
definition: 'Ongelijke verdelingen. Dynamisch, interessant, visueel. Ideaal voor 5+ foto\'s met een variëteit aan formaten.'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: 'Visuele Balans',
|
|
178
|
+
definition: 'Perceptueel evenwicht van visueel gewicht. Lichte + donkere afbeelding = balans; grote + kleine = balans.'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: 'Direct Visueel Narratief', ariaLabel: 'Informatie over compositie en collages', html: 'Elke collage vertelt een verhaal. Onze automatische ontwerper zorgt ervoor dat je visuele verhalen gebalanceerd, professioneel en klaar voor de wereld zijn. Zonder dat je hoeft te wachten op het werk van een grafisch ontwerper.' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: 'Creëer, Deel, Inspireer', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: 'Een goed gemaakte collage is het verschil tussen een vergeetbare post en een post die je volgers onthouden en delen. Gebruik slimme compositie voor je visuele verhalen om impact te maken.' }
|
|
186
|
+
];
|
|
187
|
+
|
|
188
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'FAQPage',
|
|
191
|
+
mainEntity: faq.map((item) => ({
|
|
192
|
+
'@type': 'Question',
|
|
193
|
+
name: item.question,
|
|
194
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
195
|
+
})),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const howToSchema: WithContext<HowTo> = {
|
|
199
|
+
'@context': 'https://schema.org',
|
|
200
|
+
'@type': 'HowTo',
|
|
201
|
+
name: title,
|
|
202
|
+
description,
|
|
203
|
+
step: howTo.map((step) => ({
|
|
204
|
+
'@type': 'HowToStep',
|
|
205
|
+
name: step.name,
|
|
206
|
+
text: step.text,
|
|
207
|
+
})),
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
211
|
+
'@context': 'https://schema.org',
|
|
212
|
+
'@type': 'SoftwareApplication',
|
|
213
|
+
name: title,
|
|
214
|
+
description,
|
|
215
|
+
applicationCategory: 'UtilitiesApplication',
|
|
216
|
+
operatingSystem: 'Web',
|
|
217
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
218
|
+
inLanguage: 'nl',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "Veelgestelde Vragen",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "Referenties",
|
|
230
|
+
bibliography,
|
|
231
|
+
howTo,
|
|
232
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
233
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'darmowy-edytor-kolazy-zdjec-online-profesjonalne-kompozycje';
|
|
5
|
+
const title = 'Edytor Kolaży Online: Projektuj profesjonalne kompozycje';
|
|
6
|
+
const description = 'Twórz kolaże zdjęć za darmo w kilka sekund. Wybieraj spośród wielu układów, dostosowuj ramki i pobieraj w wysokiej jakości bez znaków wodnych.';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "Przeciągnij obrazy tutaj",
|
|
10
|
+
dropSub: "lub {link} - min. 2, maks. 9",
|
|
11
|
+
dropLink: "wybierz pliki",
|
|
12
|
+
imgsLoaded: "Załadowane obrazy",
|
|
13
|
+
layoutLabel: "Układ",
|
|
14
|
+
settingsLabel: "Ustawienia",
|
|
15
|
+
borderLabel: "Ramka",
|
|
16
|
+
borderColorLabel: "Kolor ramki",
|
|
17
|
+
bgColorLabel: "Tło",
|
|
18
|
+
downloadBtn: "Pobierz",
|
|
19
|
+
previewTitle: "Podgląd",
|
|
20
|
+
needsImgs: "Potrzebujesz jeszcze {n} obrazów",
|
|
21
|
+
errorMin: "Potrzebujesz co najmniej 2 obrazów",
|
|
22
|
+
errorMax: "Dozwolone maksymalnie 9 obrazów",
|
|
23
|
+
errorLoad: "Błąd podczas ładowania obrazów",
|
|
24
|
+
faqTitle: "Często Zadawane Pytania",
|
|
25
|
+
bibliographyTitle: "Referencje"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "Jak mogę zmienić kolejność zdjęć?",
|
|
31
|
+
answer: "Zdjęcia są umieszczane w kolażu zgodnie z kolejnością, w jakiej pojawiają się na liście załadowanych obrazów. Możesz usunąć zdjęcie i przesłać je ponownie, aby dostosować jego pozycję.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "W jakim formacie wyjściowym jest kolaż?",
|
|
35
|
+
answer: "Kolaż jest pobierany w formacie WebP o wysokiej rozdzielczości, idealnym do udostępniania w sieciach społecznościowych bez utraty ostrości.",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "Prześlij swoje zdjęcia",
|
|
42
|
+
text: "Wybierz od 2 do 9 obrazów ze swojego eksploratora plików.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "Wybierz układ",
|
|
46
|
+
text: "Wybierz siatkę, która najlepiej pasuje do liczby przesłanych zdjęć.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "Dostosuj styl",
|
|
50
|
+
text: "Dostosuj grubość i kolor ramki, aby nadać kolażowi profesjonalne wykończenie.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "Pobierz i udostępnij",
|
|
54
|
+
text: "Naciśnij przycisk tworzenia i natychmiast pobierz swoją końcową kompozycję.",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "Kompozycja fotograficzna: Sztuka kolażu",
|
|
61
|
+
url: "https://pl.wikipedia.org/wiki/Kola%C5%BC",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: 'Profesjonalny Edytor Kolaży Online',
|
|
69
|
+
items: [
|
|
70
|
+
'Wiele układów i predefiniowanych siatek',
|
|
71
|
+
'Personalizacja ramek i kolorów tła',
|
|
72
|
+
'Rozdzielczość 1200px idealna dla mediów społecznościowych',
|
|
73
|
+
'Błyskawiczne przetwarzanie bez limitów użytkowania'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'Projektowanie Kolażu: Kompozycje, które opowiadają historie', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: 'Kolaż to coś więcej niż mieszanka zdjęć; to wizualna narracja, która komunikuje emocje i kontekst. Nasze narzędzie pozwala tworzyć profesjonalne kompozycje geometryczne dla Instagrama, Facebooka, Pinteresta czy projektów osobistych bez potrzeby używania Photoshopa czy drogiego oprogramowania.' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: 'Zdjęć na kolaż', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'Rozdzielczość HD', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: 'Natychmiast', label: 'Generowanie', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: 'Kompozycja Wizualna: Zasady Projektowania', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: 'Kompozycja to sztuka organizowania elementów wizualnych w sposób, który prowadzi wzrok widza i komunikuje intencję. Dobry kolaż równoważy:' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Równowagę:</strong> Wizualne rozłożenie ciężaru (jasne vs ciemne obrazy, duże vs małe).',
|
|
89
|
+
'<strong>Przepływ Wizualny:</strong> Wzrok powinien naturalnie poruszać się po kompozycji, bez martwych punktów.',
|
|
90
|
+
'<strong>Kontrast:</strong> Zmiany koloru, rozmiaru i kształtu, które przyciągają uwagę.',
|
|
91
|
+
'<strong>Jedność:</strong> Spójność tematyczna – obrazy muszą „mówić razem” o tej samej historii.'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: 'Inteligentne i adaptacyjne projekty', html: 'Nasz system automatycznie oblicza optymalny rozkład przestrzeni na podstawie liczby zdjęć. 2 zdjęcia = siatka symetryczna; 5 zdjęć = zrównoważony rozkład asymetryczny. Każda siatka jest zaprojektowana tak, aby zmaksymalizować wpływ wizualny.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: 'Dla mediów społecznościowych',
|
|
99
|
+
description: 'Instagram, TikTok, Facebook – formaty kwadratowe',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200px to idealna rozdzielczość dla feedu na Instagramie',
|
|
103
|
+
'Format kwadratowy zapobiega przycinaniu podczas publikacji',
|
|
104
|
+
'Możliwość dostosowania ramek dla celów brandingowych'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Dla portfolio',
|
|
110
|
+
description: 'Wizualne prezentacje dla fotografów i projektantów',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'Pokaż wiele kątów projektu',
|
|
114
|
+
'Spójna narracja wizualna',
|
|
115
|
+
'Profesjonalny druk cyfrowy'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: 'Dla prezentów osobistych',
|
|
120
|
+
description: 'Wydruki, ramki i albumy cyfrowe',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'Wspomnienia z wydarzeń (śluby, podróże)',
|
|
124
|
+
'Wysoka rozdzielczość gotowa do druku',
|
|
125
|
+
'Natychmiastowy projekt bez wysiłku manualnego'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: 'Personalizacja: Ramki i Kolory', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['Element', 'Efekt Wizualny', 'Rekomendacja'], rows: [
|
|
132
|
+
['Biała ramka', 'Czysta, minimalistyczna, nowoczesna', 'Media społecznościowe, portfolio cyfrowe'],
|
|
133
|
+
['Czarna ramka', 'Dramatyczna, profesjonalna, artystyczna', 'Fotografia artystyczna, moda, luksus'],
|
|
134
|
+
['Ramka neutralna (szara)', 'Wszechstronna, akademicka, korporacyjna', 'Biznes, edukacja, neutralność'],
|
|
135
|
+
['Bez ramki', 'Fuzja, ciągłość, imersja', 'Jednolite tło, płynne zdjęcia']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: 'Profesjonalne predefiniowane projekty – nie wymaga wiedzy o kompozycji',
|
|
141
|
+
con: 'Opcje ograniczone do ustalonych siatek'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: 'Rozdzielczość 1200px gotowa dla mediów społecznościowych bez skalowania',
|
|
145
|
+
con: 'Mniejsza swoboda niż w Photoshopie'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '100% lokalne przetwarzanie – prywatność, szybkość, brak limitów',
|
|
149
|
+
con: 'Wymaga nowoczesnej przeglądarki'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: 'Całkowicie za darmo, bez znaków wodnych, bez reklam',
|
|
153
|
+
con: 'Brak opcji indywidualnej edycji (przycinanie, obracanie)'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: 'Zalety', conTitle: 'Ograniczenia' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: 'Gotowy dla mediów społecznościowych', icon: 'mdi:check-circle-outline', badge: 'Zoptymalizowany', html: '1200x1200px to idealna rozdzielczość dla Instagrama. Obsługuje dowolne proporcje obrazu, ale kwadratowy format wyjściowy maksymalizuje wpływ na feed, eliminuje automatyczne przycinanie i wygląda równie dobrze na komputerze, tablecie i telefonie.' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: 'Kompozycja Wizualna',
|
|
162
|
+
definition: 'Sztuka organizowania elementów (kolor, kształt, przestrzeń), aby prowadzić wzrok widza i komunikować intencję emocjonalną.'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: 'Zasada trójpodziału',
|
|
166
|
+
definition: 'Zasada kompozycji: dzieli obraz na 9 równych obszarów (3x3). Umieść obiekty na liniach przecięcia, aby uzyskać maksymalny wpływ.'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: 'Siatka symetryczna',
|
|
170
|
+
definition: 'Równe podziały przestrzeni. Uspokajająca, uporządkowana. Idealna dla par zdjęć lub liczb parzystych.'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: 'Siatka asymetryczna',
|
|
174
|
+
definition: 'Nierówne podziały. Dynamiczna, interesująca, wizualna. Idealna dla 5+ zdjęć o różnych rozmiarach.'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: 'Równowaga wizualna',
|
|
178
|
+
definition: 'Percepcyjna równowaga ciężaru wizualnego. Jasny + ciemny obraz = równowaga; duży + mały = równowaga.'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: 'Natychmiastowa Narracja Wizualna', ariaLabel: 'Informacje o kompozycji i kolażach', html: 'Każdy kolaż opowiada historię. Nasz automatyczny projektant dba o to, aby Twoje wizualne historie były zrównoważone, profesjonalne i gotowe na świat – bez konieczności czekania na pracę grafika.' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: 'Twórz, Udostępniaj, Inspiruj', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: 'Dobrze zrobiony kolaż to różnica między postem, o którym szybko się zapomina, a takim, który obserwujący zapamiętają i udostępnią. Wykorzystaj inteligentną kompozycję w swoich wizualnych historiach, aby wywrzeć wrażenie.' }
|
|
186
|
+
];
|
|
187
|
+
|
|
188
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'FAQPage',
|
|
191
|
+
mainEntity: faq.map((item) => ({
|
|
192
|
+
'@type': 'Question',
|
|
193
|
+
name: item.question,
|
|
194
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
195
|
+
})),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const howToSchema: WithContext<HowTo> = {
|
|
199
|
+
'@context': 'https://schema.org',
|
|
200
|
+
'@type': 'HowTo',
|
|
201
|
+
name: title,
|
|
202
|
+
description,
|
|
203
|
+
step: howTo.map((step) => ({
|
|
204
|
+
'@type': 'HowToStep',
|
|
205
|
+
name: step.name,
|
|
206
|
+
text: step.text,
|
|
207
|
+
})),
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
211
|
+
'@context': 'https://schema.org',
|
|
212
|
+
'@type': 'SoftwareApplication',
|
|
213
|
+
name: title,
|
|
214
|
+
description,
|
|
215
|
+
applicationCategory: 'UtilitiesApplication',
|
|
216
|
+
operatingSystem: 'Web',
|
|
217
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
218
|
+
inLanguage: 'pl',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "Często Zadawane Pytania",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "Referencje",
|
|
230
|
+
bibliography,
|
|
231
|
+
howTo,
|
|
232
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
233
|
+
};
|