@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-fotocollage-maker-online-professionella-kompositioner';
|
|
5
|
+
const title = 'Online Fotocollage: Skapa professionella kompositioner';
|
|
6
|
+
const description = 'Skapa fotocollage gratis på några sekunder. Välj mellan flera layouter, justera ramar och ladda ner i hög kvalitet utan vattenstämplar.';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "Dra bilder hit",
|
|
10
|
+
dropSub: "eller {link} - min. 2, max. 9",
|
|
11
|
+
dropLink: "välj filer",
|
|
12
|
+
imgsLoaded: "Laddade bilder",
|
|
13
|
+
layoutLabel: "Layout",
|
|
14
|
+
settingsLabel: "Inställningar",
|
|
15
|
+
borderLabel: "Ram",
|
|
16
|
+
borderColorLabel: "Ramfärg",
|
|
17
|
+
bgColorLabel: "Bakgrund",
|
|
18
|
+
downloadBtn: "Ladda ner",
|
|
19
|
+
previewTitle: "Förhandsvisning",
|
|
20
|
+
needsImgs: "Du behöver {n} bilder till",
|
|
21
|
+
errorMin: "Du behöver minst 2 bilder",
|
|
22
|
+
errorMax: "Maximalt 9 bilder tillåtna",
|
|
23
|
+
errorLoad: "Fel vid laddning av bilder",
|
|
24
|
+
faqTitle: "Vanliga frågor",
|
|
25
|
+
bibliographyTitle: "Referenser"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "Hur kan jag ändra ordningen på bilderna?",
|
|
31
|
+
answer: "Bilderna placeras i collaget i den ordning de visas i listan över laddade bilder. Du kan ta bort en bild och ladda upp den igen för att justera dess position.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "Vilket utdataformat har collaget?",
|
|
35
|
+
answer: "Collaget laddas ner i WebP-format med hög upplösning, idealiskt för delning på sociala nätverk utan att förlora skärpa.",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "Ladda upp dina foton",
|
|
42
|
+
text: "Välj mellan 2 och 9 bilder från din filutforskare.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "Välj en layout",
|
|
46
|
+
text: "Välj det rutnät som bäst passar antalet bilder du har laddat upp.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "Anpassa stilen",
|
|
50
|
+
text: "Justera ramens tjocklek och färg för att ge collaget en professionell finish.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "Ladda ner och dela",
|
|
54
|
+
text: "Tryck på skapa knappen och ladda omedelbart ner din färdiga komposition.",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "Fotografisk komposition: Konsten att skapa collage",
|
|
61
|
+
url: "https://sv.wikipedia.org/wiki/Collage",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: 'Professionell online fotocollage maker',
|
|
69
|
+
items: [
|
|
70
|
+
'Flera layouter och fördefinierade rutnät',
|
|
71
|
+
'Anpassning av ramar och bakgrundsfärger',
|
|
72
|
+
'1200px hög upplösning redo för sociala nätverk',
|
|
73
|
+
'Omedelbar bearbetning utan användningsbegränsningar'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'Collagedesign: Kompositioner som berättar historier', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: 'Ett collage är mer än bara en blandning av foton; det är en visuell berättelse som kommunicerar känslor och sammanhang. Vårt verktyg låter dig skapa professionella geometriska kompositioner för Instagram, Facebook, Pinterest eller personliga projekt utan behov av Photoshop eller dyr programvara.' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: 'Bilder per collage', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'HD-upplösning', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: 'Omedelbar', label: 'Generering', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: 'Visuell komposition: Designprinciper', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: 'Komposition är konsten att organisera visuella element på ett sätt som vägleder betraktarens öga och kommunicerar en avsikt. Ett bra collage balanserar:' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Balans:</strong> Visuell fördelning av vikt (ljusa vs mörka bilder, stora vs små).',
|
|
89
|
+
'<strong>Visuellt flöde:</strong> Ögat bör röra sig naturligt genom kompositionen utan döda punkter.',
|
|
90
|
+
'<strong>Kontrast:</strong> Variationer i färg, storlek och form som fångar uppmärksamheten.',
|
|
91
|
+
'<strong>Enhet:</strong> Tematisk koherens – bilderna måste \"tala tillsammans\" om samma berättelse.'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: 'Smarta och adaptiva designer', html: 'Vårt system beräknar automatiskt den optimala rumsfördelningen baserat på antalet foton. 2 bilder = symmetriskt rutnät; 5 bilder = balanserad asymmetrisk fördelning. Varje rutnät är utformat för att maximera den visuella effekten.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: 'För sociala nätverk',
|
|
99
|
+
description: 'Instagram, TikTok, Facebook - kvadratiska format',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200px är perfekt för Instagrams flöde',
|
|
103
|
+
'Kvadratiskt format undviker beskärning vid publicering',
|
|
104
|
+
'Anpassningsbara ramar för varumärkesprofilering'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'För portföljer',
|
|
110
|
+
description: 'Visuella skyltfönster för fotografer och designers',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'Visa flera vinklar av ett projekt',
|
|
114
|
+
'Sammanhängande visuell berättelse',
|
|
115
|
+
'Professionell digital bokutskrift'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: 'För personliga presenter',
|
|
120
|
+
description: 'Utskrifter, ramar och digitala album',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'Evenemangsminnen (bröllop, resor)',
|
|
124
|
+
'Hög upplösning redo för utskrift',
|
|
125
|
+
'Omedelbar design utan manuell ansträngning'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: 'Anpassning: Ramar och färger', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['Element', 'Visuell effekt', 'Rekommendation'], rows: [
|
|
132
|
+
['Vit ram', 'Ren, minimalistisk, modern', 'Sociala nätverk, digitala portföljer'],
|
|
133
|
+
['Svart ram', 'Dramatisk, professionell, artistisk', 'Konstfotografering, mode, lyx'],
|
|
134
|
+
['Neutral ram (grå)', 'Mångsidig, akademisk, företagsproffsig', 'Affärer, utbildning, neutralitet'],
|
|
135
|
+
['Ingen ram', 'Fusion, kontinuitet, uppslukande', 'Enhetlig bakgrund, flödande foton']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: 'Professionella fördefinierade designer – inga förkunskaper i komposition krävs',
|
|
141
|
+
con: 'Alternativen är begränsade till förutbestämda rutnät'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: '1200px upplösning redo för sociala nätverk utan omskalning',
|
|
145
|
+
con: 'Inte lika anpassningsbart som Photoshop'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '100% lokal bearbetning – integritet, snabbhet, inga gränser',
|
|
149
|
+
con: 'Kräver en modern webbläsare'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: 'Helt gratis, inga vattenstämplar, ingen reklam',
|
|
153
|
+
con: 'Inga individuella redigeringsalternativ (beskärning, rotation)'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: 'Fördelar', conTitle: 'Begränsningar' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: 'Redo för sociala nätverk', icon: 'mdi:check-circle-outline', badge: 'Optimerad', html: '1200x1200px är den idealiska upplösningen för Instagram. Den stöder alla bildförhållanden, men den kvadratiska utmatningen maximerar flödets effekt, eliminerar automatisk beskärning och ser lika bra ut på stationära datorer, surfplattor och mobiler.' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: 'Visuell komposition',
|
|
162
|
+
definition: 'Konsten att organisera element (färg, form, rum) för att vägleda betraktarens öga och kommunicera en känslomässig avsikt.'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: 'Tredjeregeln',
|
|
166
|
+
definition: 'Kompositionsprincip: delar upp bilden i 9 lika stora områden (3x3). Placera motiv på skärningslinjer för maximal effekt.'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: 'Symmetriskt rutnät',
|
|
170
|
+
definition: 'Lika rumsfördelningar. Lugnande, ordnat. Idealiskt för bildpar eller jämna antal.'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: 'Asymmetriskt rutnät',
|
|
174
|
+
definition: 'Oregelbundna fördelningar. Dynamiskt, intressant, visuellt. Idealiskt för 5+ bilder med varierad storlek.'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: 'Visuell balans',
|
|
178
|
+
definition: 'Perceptuell jämvikt av visuell vikt. Ljus + mörk bild = balans; stor + liten = balans.'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: 'Omedelbar visuell berättelse', ariaLabel: 'Information om komposition och collage', html: 'Varje collage berättar en historia. Vår automatiska designer ser till att dina visuella berättelser är balanserade, professionella och redo för världen. Utan att behöva vänta på en grafisk formgivare.' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: 'Skapa, dela, inspirera', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: 'Ett välidjort collage är skillnaden mellan ett inlägg man glömmer och ett som dina följare minns och delar. Använd smart komposition för att dina visuella berättelser ska få genomslag.' }
|
|
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: 'sv',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "Vanliga frågor",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "Referenser",
|
|
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 = 'ucretsiz-online-foto-kolaj-yapici-profesyonel-kompozisyonlar';
|
|
5
|
+
const title = 'Online Kolaj Yapıcı: Profesyonel kompozisyonlar tasarlayın';
|
|
6
|
+
const description = 'Saniyeler içinde ücretsiz fotoğraf kolajları oluşturun. Birden fazla düzen arasından seçim yapın, kenarlıkları ayarlayın ve filigran olmadan yüksek kalitede indirin.';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "Görselleri buraya sürükleyin",
|
|
10
|
+
dropSub: "veya {link} - min. 2, maks. 9",
|
|
11
|
+
dropLink: "dosya seçin",
|
|
12
|
+
imgsLoaded: "Yüklenen görseller",
|
|
13
|
+
layoutLabel: "Düzen",
|
|
14
|
+
settingsLabel: "Ayarlar",
|
|
15
|
+
borderLabel: "Kenarlık",
|
|
16
|
+
borderColorLabel: "Kenarlık rengi",
|
|
17
|
+
bgColorLabel: "Arka Plan",
|
|
18
|
+
downloadBtn: "İndir",
|
|
19
|
+
previewTitle: "Önizleme",
|
|
20
|
+
needsImgs: "{n} görsele daha ihtiyacınız var",
|
|
21
|
+
errorMin: "En az 2 görsele ihtiyacınız var",
|
|
22
|
+
errorMax: "Maksimum 9 görsele izin verilir",
|
|
23
|
+
errorLoad: "Görseller yüklenirken hata oluştu",
|
|
24
|
+
faqTitle: "Sıkça Sorulan Sorular",
|
|
25
|
+
bibliographyTitle: "Referanslar"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "Fotoğrafların sırasını nasıl değiştirebilirimi?",
|
|
31
|
+
answer: "Fotoğraflar, yüklenen görseller listesinde göründükleri sırayı takip ederek kolaja yerleştirilir. Birini kaldırıp tekrar yükleyerek konumunu ayarlayabilirsiniz.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "Kolajın çıktı formatı nedir?",
|
|
35
|
+
answer: "Kolaj, keskinlik kaybı olmadan sosyal ağlarda paylaşmak için ideal olan yüksek çözünürlüklü WebP formatında indirilir.",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "Fotoğraflarınızı yükleyin",
|
|
42
|
+
text: "Dosya gezgininizden 2 ile 9 arasında görsel seçin.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "Bir düzen seçin",
|
|
46
|
+
text: "Yüklediğiniz fotoğraf sayısına en uygun ızgarayı seçin.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "Stili kişiselleştirin",
|
|
50
|
+
text: "Profesyonel bir görünüm kazandırmak için kenarlık kalınlığını ve rengini ayarlayın.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "İndirin ve paylaşın",
|
|
54
|
+
text: "Oluştur düğmesine basın ve nihai kompozisyonunuzu anında indirin.",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "Fotoğrafik Kompozisyon: Kolaj Sanatı",
|
|
61
|
+
url: "https://tr.wikipedia.org/wiki/Kolaj",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: 'Profesyonel Online Kolaj Yapıcı',
|
|
69
|
+
items: [
|
|
70
|
+
'Birden fazla düzen ve önceden tanımlanmış ızgaralar',
|
|
71
|
+
'Kenarlıkların ve arka plan renklerinin özelleştirilmesi',
|
|
72
|
+
'Sosyal ağlar için hazır 1200px yüksek çözünürlük',
|
|
73
|
+
'Kullanım sınırı olmaksızın anında işleme'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'Kolaj Tasarımı: Hikaye Anlatan Kompozisyonlar', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: 'Kolaj, fotoğrafların basit bir karışımından daha fazlasıdır; duygu ve bağlamı ileten görsel bir anlatıdır. Aracımız, Photoshop veya pahalı yazılımlara ihtiyaç duymadan Instagram, Facebook, Pinterest veya kişisel projeleriniz için profesyonel geometrik kompozisyonlar oluşturmanıza olanak tanır.' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: 'Kolaj Başına Görsel', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'HD Çözünürlük', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: 'Anında', label: 'Oluşturma', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: 'Görsel Kompozisyon: Tasarım İlkeleri', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: 'Kompozisyon, görsel unsurları izleyicinin gözünü yönlendirecek ve bir niyeti iletecek şekilde düzenleme sanatıdır. İyi bir kolaj şunları dengeler:' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Denge:</strong> Görsel ağırlık dağılımı (açık vs koyu görseller, büyük vs küçük).',
|
|
89
|
+
'<strong>Görsel Akış:</strong> Göz, ölü noktalar olmadan kompozisyonda doğal bir şekilde gezinmelidir.',
|
|
90
|
+
'<strong>Kontrast:</strong> Dikkat çeken renk, boyut ve şekil farklılıkları.',
|
|
91
|
+
'<strong>Bütünlük:</strong> Tematik tutarlılık - görseller aynı hikaye hakkında \"birlikte konuşmalıdır\".'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: 'Akıllı ve Uyarlanabilir Tasarımlar', html: 'Sistemimiz, fotoğraf sayısına göre en uygun alan dağılımını otomatik olarak hesaplar. 2 görsel = simetrik ızgara; 5 görsel = dengeli asimetrik dağılım. Her ızgara, görsel etkiyi maksimize etmek için tasarlanmıştır.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: 'Sosyal Ağlar İçin',
|
|
99
|
+
description: 'Instagram, TikTok, Facebook - kare formatlar',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200px Instagram akışı için mükemmeldir',
|
|
103
|
+
'Kare formatı paylaşırken kırpılmayı önler',
|
|
104
|
+
'Markalaşma için özelleştirilebilir kenarlıklar'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Portfolyolar İçin',
|
|
110
|
+
description: 'Fotoğrafçılar ve tasarımcılar için görsel vitrinler',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'Bir projenin birden fazla açısını gösterin',
|
|
114
|
+
'Uyumlu görsel anlatı',
|
|
115
|
+
'Profesyonel dijital kitap baskısı'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: 'Kişisel Hediyeler İçin',
|
|
120
|
+
description: 'Baskılar, çerçeveler ve dijital albümler',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'Etkinlik anıları (düğünler, seyahatler)',
|
|
124
|
+
'Baskıya hazır yüksek çözünürlük',
|
|
125
|
+
'Manuel çaba gerektirmeyen anında tasarım'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: 'Özelleştirme: Kenarlıklar ve Renkler', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['Öğe', 'Görsel Etki', 'Öneri'], rows: [
|
|
132
|
+
['Beyaz Kenarlık', 'Temiz, minimalist, modern', 'Sosyal ağlar, dijital portfolyolar'],
|
|
133
|
+
['Siyah Kenarlık', 'Dramatik, profesyonel, sanatsal', 'Sanat fotoğrafçılığı, moda, lüks'],
|
|
134
|
+
['Nötr Kenarlık (gri)', 'Çok yönlü, akademik, kurumsal', 'İş dünyası, eğitim, tarafsızlık'],
|
|
135
|
+
['Kenarlıksız', 'Füzyon, süreklilik, sürükleyici', 'Tek tip arka plan, akan fotoğraflar']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: 'Profesyonel önceden tanımlanmış tasarımlar - kompozisyon bilgisi gerekmez',
|
|
141
|
+
con: 'Seçenekler önceden belirlenmiş ızgaralarla sınırlıdır'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: 'Yeniden ölçeklendirme olmadan sosyal ağlar için hazır 1200px çözünürlük',
|
|
145
|
+
con: 'Photoshop kadar özelleştirilebilir değil'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '%100 yerel işleme - gizlilik, hız, sınır yok',
|
|
149
|
+
con: 'Modern bir tarayıcı gerektirir'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: 'Tamamen ücretsiz, filigran yok, reklam yok',
|
|
153
|
+
con: 'Bireysel düzenleme seçenekleri (kırpma, döndürme) yok'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: 'Avantajlar', conTitle: 'Sınırlamalar' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: 'Sosyal Ağlar İçin Hazır', icon: 'mdi:check-circle-outline', badge: 'Optimize Edildi', html: '1200x1200px Instagram için ideal çözünürlüktür. Her türlü en boy oranını destekler, ancak kare çıktı akış etkisini maksimize eder, otomatik kırpmayı ortadan kaldırır ve masaüstü, tablet ve mobil cihazlarda aynı derecede iyi görünür.' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: 'Görsel Kompozisyon',
|
|
162
|
+
definition: 'İzleyicinin gözünü yönlendirmek ve duygusal bir niyeti iletmek için unsurları (renk, biçim, alan) düzenleme sanatı.'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: 'Üçler Kuralı',
|
|
166
|
+
definition: 'Kompozisyon ilkesi: görüntüyü 9 eşit alana (3x3) böler. Maksimum etki için konuları kesişme çizgilerine yerleştirin.'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: 'Simetrik Izgara',
|
|
170
|
+
definition: 'Eşit alan bölmeleri. Güven verici, düzenli. Fotoğraf çiftleri veya çift sayılar için idealdir.'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: 'Asimetrik Izgara',
|
|
174
|
+
definition: 'Eşit olmayan bölmeler. Dinamik, ilginç, görsel. Çeşitli boyutlarda 5+ fotoğraf için idealdir.'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: 'Görsel Denge',
|
|
178
|
+
definition: 'Görsel ağırlığın algısal dengesi. Açık + koyu görsel = denge; büyük + küçük = denge.'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: 'Anında Görsel Anlatı', ariaLabel: 'Kompozisyon ve kolajlar hakkında bilgiler', html: 'Her kolaj bir hikaye anlatır. Otomatik tasarımcımız, görsel hikayelerinizin dengeli, profesyonel ve dünyaya hazır olmasını sağlar. Bir grafik tasarımcının işi yapmasını beklemenize gerek kalmaz.' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: 'Oluştur, Paylaş, İlham Ver', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: 'İyi yapılmış bir kolaj, unutulabilir bir gönderi ile takipçilerinizin hatırlayacağı ve paylaşacağı bir gönderi arasındaki farktır. Görsel hikayelerinizin etki yaratması için akıllı kompozisyonu kullanın.' }
|
|
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: 'tr',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "Sıkça Sorulan Sorular",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "Referanslar",
|
|
230
|
+
bibliography,
|
|
231
|
+
howTo,
|
|
232
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
233
|
+
};
|