@jjlmoya/utils-creative 1.26.0 → 1.28.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 +2 -2
- package/src/category/i18n/de.ts +2 -2
- package/src/category/i18n/en.ts +2 -2
- package/src/category/i18n/es.ts +2 -2
- package/src/category/i18n/fr.ts +2 -2
- package/src/category/i18n/id.ts +2 -2
- package/src/category/i18n/it.ts +2 -2
- package/src/category/i18n/ja.ts +2 -2
- package/src/category/i18n/ko.ts +2 -2
- package/src/category/i18n/nl.ts +2 -2
- package/src/category/i18n/pl.ts +2 -2
- package/src/category/i18n/pt.ts +2 -2
- package/src/category/i18n/ru.ts +2 -2
- package/src/category/i18n/sv.ts +2 -2
- package/src/category/i18n/tr.ts +2 -2
- package/src/category/i18n/zh.ts +2 -2
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/env.d.ts +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +75 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +17 -17
- package/src/tool/bead-pattern-generator/bibliography.astro +8 -8
- package/src/tool/bead-pattern-generator/i18n/de.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/en.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/es.ts +104 -104
- package/src/tool/bead-pattern-generator/i18n/fr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/id.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/it.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ja.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ko.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/nl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pl.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/pt.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/ru.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/sv.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/tr.ts +111 -111
- package/src/tool/bead-pattern-generator/i18n/zh.ts +111 -111
- package/src/tool/bead-pattern-generator/seo.astro +19 -19
- package/src/tool/dice-roller/bibliography.astro +8 -8
- package/src/tool/dice-roller/i18n/de.ts +134 -134
- package/src/tool/dice-roller/i18n/en.ts +134 -134
- package/src/tool/dice-roller/i18n/es.ts +125 -125
- package/src/tool/dice-roller/i18n/fr.ts +134 -134
- package/src/tool/dice-roller/i18n/id.ts +134 -134
- package/src/tool/dice-roller/i18n/it.ts +134 -134
- package/src/tool/dice-roller/i18n/ja.ts +134 -134
- package/src/tool/dice-roller/i18n/ko.ts +134 -134
- package/src/tool/dice-roller/i18n/nl.ts +134 -134
- package/src/tool/dice-roller/i18n/pl.ts +134 -134
- package/src/tool/dice-roller/i18n/pt.ts +134 -134
- package/src/tool/dice-roller/i18n/ru.ts +134 -134
- package/src/tool/dice-roller/i18n/sv.ts +134 -134
- package/src/tool/dice-roller/i18n/tr.ts +134 -134
- package/src/tool/dice-roller/i18n/zh.ts +134 -134
- package/src/tool/dice-roller/seo.astro +15 -15
- package/src/tool/excuse-generator/bibliography.astro +8 -8
- package/src/tool/excuse-generator/i18n/de.ts +120 -120
- package/src/tool/excuse-generator/i18n/en.ts +120 -120
- package/src/tool/excuse-generator/i18n/es.ts +118 -118
- package/src/tool/excuse-generator/i18n/fr.ts +120 -120
- package/src/tool/excuse-generator/i18n/id.ts +120 -120
- package/src/tool/excuse-generator/i18n/it.ts +120 -120
- package/src/tool/excuse-generator/i18n/ja.ts +120 -120
- package/src/tool/excuse-generator/i18n/ko.ts +120 -120
- package/src/tool/excuse-generator/i18n/nl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pl.ts +120 -120
- package/src/tool/excuse-generator/i18n/pt.ts +120 -120
- package/src/tool/excuse-generator/i18n/ru.ts +120 -120
- package/src/tool/excuse-generator/i18n/sv.ts +120 -120
- package/src/tool/excuse-generator/i18n/tr.ts +120 -120
- package/src/tool/excuse-generator/i18n/zh.ts +120 -120
- package/src/tool/excuse-generator/seo.astro +15 -15
- package/src/tool/fortune-cookie/bibliography.astro +8 -8
- package/src/tool/fortune-cookie/i18n/de.ts +124 -124
- package/src/tool/fortune-cookie/i18n/en.ts +124 -124
- package/src/tool/fortune-cookie/i18n/es.ts +125 -125
- package/src/tool/fortune-cookie/i18n/fr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/id.ts +124 -124
- package/src/tool/fortune-cookie/i18n/it.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ja.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ko.ts +124 -124
- package/src/tool/fortune-cookie/i18n/nl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pl.ts +124 -124
- package/src/tool/fortune-cookie/i18n/pt.ts +124 -124
- package/src/tool/fortune-cookie/i18n/ru.ts +124 -124
- package/src/tool/fortune-cookie/i18n/sv.ts +124 -124
- package/src/tool/fortune-cookie/i18n/tr.ts +124 -124
- package/src/tool/fortune-cookie/i18n/zh.ts +124 -124
- package/src/tool/fortune-cookie/seo.astro +15 -15
- package/src/tool/synesthesia-painter/bibliography.astro +8 -8
- package/src/tool/synesthesia-painter/i18n/de.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/en.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/es.ts +110 -110
- package/src/tool/synesthesia-painter/i18n/fr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/id.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/it.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ja.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ko.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/nl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pl.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/pt.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/ru.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/sv.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/tr.ts +118 -118
- package/src/tool/synesthesia-painter/i18n/zh.ts +118 -118
- package/src/tool/synesthesia-painter/seo.astro +15 -15
- package/src/tool/zalgo-generator/bibliography.astro +8 -8
- package/src/tool/zalgo-generator/i18n/de.ts +109 -109
- package/src/tool/zalgo-generator/i18n/en.ts +109 -109
- package/src/tool/zalgo-generator/i18n/es.ts +109 -109
- package/src/tool/zalgo-generator/i18n/fr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/id.ts +109 -109
- package/src/tool/zalgo-generator/i18n/it.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ja.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ko.ts +109 -109
- package/src/tool/zalgo-generator/i18n/nl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pl.ts +109 -109
- package/src/tool/zalgo-generator/i18n/pt.ts +109 -109
- package/src/tool/zalgo-generator/i18n/ru.ts +109 -109
- package/src/tool/zalgo-generator/i18n/sv.ts +109 -109
- package/src/tool/zalgo-generator/i18n/tr.ts +109 -109
- package/src/tool/zalgo-generator/i18n/zh.ts +109 -109
- package/src/tool/zalgo-generator/seo.astro +15 -15
- package/src/types.ts +1 -1
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'kralenpatroon-generator';
|
|
6
|
-
const title = 'Patroon Generator';
|
|
7
|
-
const description = 'Maak pixel art en kralenschema\'s voor Miyuki of Hama van je foto\'s. Kleurkwantisatie-algoritme, tunnelvisie-modus en ZIP-export.';
|
|
8
|
-
|
|
9
|
-
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: 'Wat is kleurkwantisatie bij patronen?', answer: 'Het is het proces waarbij de duizenden kleuren in een foto worden teruggebracht tot slechts een paar die overeenkomen met de werkelijke beschikbare kralenkleuren (zoals Miyuki of Hama). We gebruiken slimme algoritmen om de visuele gelijkenis te behouden met een zo klein mogelijk palet.' },
|
|
11
|
-
{ question: 'Kan ik dit patroon gebruiken voor kruissteek?', answer: 'Ja, de generator maakt een roosterdiagram dat perfect compatibel is met kruissteek. Je hoeft alleen maar een roostergrootte te kiezen die past bij je stof (Aida 14, 18, enz.).' },
|
|
12
|
-
{ question: 'Wat is het verschil tussen Miyuki- en Hama-kralen?', answer: 'Miyuki Delica kralen zijn zeer kleine, nauwkeurige glaskralen voor sieraden. Hama kralen zijn van plastic en worden met een strijkijzer aan elkaar gesmolten. Onze tool laat je de beeldverhouding aanpassen zodat het patroon niet vervormt, afhankelijk van het gebruikte materiaal.' },
|
|
13
|
-
{ question: 'Hoe werkt het dithering-algoritme?', answer: 'Dithering creëert de illusie van meer kleuren door pixels van verschillende kleuren in gespreide patronen te mengen. Het zorgt ervoor dat kleurovergangen er vloeiender uitzien, zelfs met een beperkt kralenpalet.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: 'Upload een heldere afbeelding', text: 'Kies een foto met goed contrast en weinig kleine details, zodat het patroon makkelijker te volgen is.' },
|
|
18
|
-
{ name: 'Pas de roostergrootte aan', text: 'Bepaal hoeveel kralen breed en hoog je uiteindelijke werkstuk wordt. Meer kralen = meer detail, maar ook moeilijker.' },
|
|
19
|
-
{ name: 'Optimaliseer het kleurenpalet', text: 'Verminder het aantal kleuren totdat ze overeenkomen met de kralen die je beschikbaar hebt in je hobbypakket.' },
|
|
20
|
-
{ name: 'Exporteer het gids-schema', text: 'Genereer het uiteindelijke patroon met kleurcodes om te gebruiken als referentie tijdens het rijgen van je kralen op de plaat of draad.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'nl',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: BeadPatternGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: 'Veelgestelde Vragen',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Patroon Laboratorium',
|
|
63
|
-
subtitle: 'Kleurtechniek voor je eigen handen',
|
|
64
|
-
description: 'Van foto naar kralenschema.',
|
|
65
|
-
gridSizeLabel: 'Grootte (Breedte)',
|
|
66
|
-
colorCountLabel: 'Kleuren',
|
|
67
|
-
optionsLabel: 'Opties',
|
|
68
|
-
rulersLabel: 'Linialen',
|
|
69
|
-
symbolsTooltip: 'Verrassingspatroon',
|
|
70
|
-
symbolsLabel: 'Symbolen',
|
|
71
|
-
downloadBtn: 'Downloaden',
|
|
72
|
-
uploadTitle: 'Upload Je Visie',
|
|
73
|
-
uploadSubtitle: 'en laat de digitale magie haar werk doen',
|
|
74
|
-
paletteTitle: 'Chromatisch DNA',
|
|
75
|
-
reuploadBtn: 'Wijzig Afbeelding',
|
|
76
|
-
tunnelVisionTitle: 'Tunnelvisie',
|
|
77
|
-
tunnelVisionSubtitle: 'Je precisieassistent bij elke rij.',
|
|
78
|
-
uploadLabel: 'Upload je foto',
|
|
79
|
-
pixelateBtn: 'Genereer Patroon',
|
|
80
|
-
faqTitle: 'FAQ',
|
|
81
|
-
bibliographyTitle: 'Referenties'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: 'Digitale Alchemie: Verander Pixels in Tastbare Kunst', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'Welkom in de <strong>Ultimate Pattern Studio</strong>. Een <em>chromatische intelligentie-engine</em> ontworpen voor Pixel Art architecten, Miyuki meesters en kruissteek visionairs. Jouw brug tussen het digitale en het handgemaakte.' },
|
|
86
|
-
{ type: 'card', icon: 'mdi:grid', title: 'Het Intelligente Rooster', html: 'Ons <strong>ruimtelijk subsampling</strong> algoritme laat je afbeelding niet zomaar "krimpen". Het analyseert de visuele structuur om complexe pixelgroepen toe te wijzen aan individuele cellen, waardoor silhouetten en randen behouden blijven als door een deskundige illustrator.' },
|
|
87
|
-
{ type: 'card', icon: 'mdi:palette', title: 'K Means Kleurkwantisatie', html: 'We implementeren een variant van het <strong>K-Means Clustering</strong> algoritme dat wiskundig de "centrumbasis"-tonen van je afbeelding vindt. Verbluffende visuele getrouwheid met een minimalistisch palet van 12, 24 of 32 kleuren.' },
|
|
88
|
-
{ type: 'title', text: 'Beheersing in 3 Stappen', level: 3 },
|
|
89
|
-
{ type: 'card', icon: 'mdi:image-search', title: 'De Perfecte Selectie', html: 'Zoek naar <strong>hoog contrast</strong>, dramatische belichting en iconische vormen. Portretten met een effen achtergrond, logo\'s en vectorkunst laten zich prachtig vertalen.' },
|
|
90
|
-
{ type: 'card', icon: 'mdi:ruler', title: 'Dimensionale Kalibratie', html: '<strong>Miyuki Delica:</strong> 50 kralen ≈ 8cm · <strong>Hama Midi:</strong> 50 kralen ≈ 25cm · <strong>Kruissteek:</strong> 1 cel = 1 steek.' },
|
|
91
|
-
{ type: 'card', icon: 'mdi:eye-check', title: 'Zen Uitvoering (Tunnelvisie modus)', html: 'Ons <strong>Tunnelvisie</strong>-systeem fungeert als je persoonlijke assistent, dempt visuele ruis en licht chirurgisch alleen de actieve rij op. Absolute concentratie.' },
|
|
92
|
-
{ type: 'title', text: 'Oneindige Canvassen', level: 3 },
|
|
93
|
-
{ type: 'list', items: [
|
|
94
|
-
'<strong>Textiele Sieraden:</strong> Ingewikkelde patronen voor weeframen en geometrische armbanden.',
|
|
95
|
-
'<strong>Kruissteek:</strong> Moderne schema\'s klaar om pixel voor pixel te worden geborduurd.',
|
|
96
|
-
'<strong>Mozaïeken:</strong> Grootschalige muurschilderingen met vereenvoudigde keramische steentjes.',
|
|
97
|
-
'<strong>Retro Gaming:</strong> Authentieke 8-bit assets en sprites in enkele seconden.',
|
|
98
|
-
]},
|
|
99
|
-
{ type: 'stats', items: [
|
|
100
|
-
{ value: '10-100', label: 'Kralenbreedte bereik', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
-
{ value: '2-32', label: 'Kleurpalet slots', icon: 'mdi:palette-swatch' },
|
|
102
|
-
{ value: 'K-Means', label: 'Kwantisatie-algoritme', icon: 'mdi:function-variant' },
|
|
103
|
-
{ value: 'ZIP', label: 'Exportformaat (patroon + gids)', icon: 'mdi:zip-box' },
|
|
104
|
-
], columns: 4 },
|
|
105
|
-
{ type: 'paragraph', html: 'In een tijdperk van vluchtige schermen is het creëren van iets fysieks een revolutionaire daad. Deze tool probeert kunst niet te automatiseren, maar de <strong>ambachtsman te versterken</strong>. We geven je computationele precisie zodat jouw handen blijvende erfenissen kunnen bouwen.' },
|
|
106
|
-
],
|
|
107
|
-
faq,
|
|
108
|
-
bibliography,
|
|
109
|
-
howTo,
|
|
110
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
111
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'kralenpatroon-generator';
|
|
6
|
+
const title = 'Patroon Generator';
|
|
7
|
+
const description = 'Maak pixel art en kralenschema\'s voor Miyuki of Hama van je foto\'s. Kleurkwantisatie-algoritme, tunnelvisie-modus en ZIP-export.';
|
|
8
|
+
|
|
9
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: 'Wat is kleurkwantisatie bij patronen?', answer: 'Het is het proces waarbij de duizenden kleuren in een foto worden teruggebracht tot slechts een paar die overeenkomen met de werkelijke beschikbare kralenkleuren (zoals Miyuki of Hama). We gebruiken slimme algoritmen om de visuele gelijkenis te behouden met een zo klein mogelijk palet.' },
|
|
11
|
+
{ question: 'Kan ik dit patroon gebruiken voor kruissteek?', answer: 'Ja, de generator maakt een roosterdiagram dat perfect compatibel is met kruissteek. Je hoeft alleen maar een roostergrootte te kiezen die past bij je stof (Aida 14, 18, enz.).' },
|
|
12
|
+
{ question: 'Wat is het verschil tussen Miyuki- en Hama-kralen?', answer: 'Miyuki Delica kralen zijn zeer kleine, nauwkeurige glaskralen voor sieraden. Hama kralen zijn van plastic en worden met een strijkijzer aan elkaar gesmolten. Onze tool laat je de beeldverhouding aanpassen zodat het patroon niet vervormt, afhankelijk van het gebruikte materiaal.' },
|
|
13
|
+
{ question: 'Hoe werkt het dithering-algoritme?', answer: 'Dithering creëert de illusie van meer kleuren door pixels van verschillende kleuren in gespreide patronen te mengen. Het zorgt ervoor dat kleurovergangen er vloeiender uitzien, zelfs met een beperkt kralenpalet.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: 'Upload een heldere afbeelding', text: 'Kies een foto met goed contrast en weinig kleine details, zodat het patroon makkelijker te volgen is.' },
|
|
18
|
+
{ name: 'Pas de roostergrootte aan', text: 'Bepaal hoeveel kralen breed en hoog je uiteindelijke werkstuk wordt. Meer kralen = meer detail, maar ook moeilijker.' },
|
|
19
|
+
{ name: 'Optimaliseer het kleurenpalet', text: 'Verminder het aantal kleuren totdat ze overeenkomen met de kralen die je beschikbaar hebt in je hobbypakket.' },
|
|
20
|
+
{ name: 'Exporteer het gids-schema', text: 'Genereer het uiteindelijke patroon met kleurcodes om te gebruiken als referentie tijdens het rijgen van je kralen op de plaat of draad.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'nl',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: BeadPatternGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Patroon Laboratorium',
|
|
63
|
+
subtitle: 'Kleurtechniek voor je eigen handen',
|
|
64
|
+
description: 'Van foto naar kralenschema.',
|
|
65
|
+
gridSizeLabel: 'Grootte (Breedte)',
|
|
66
|
+
colorCountLabel: 'Kleuren',
|
|
67
|
+
optionsLabel: 'Opties',
|
|
68
|
+
rulersLabel: 'Linialen',
|
|
69
|
+
symbolsTooltip: 'Verrassingspatroon',
|
|
70
|
+
symbolsLabel: 'Symbolen',
|
|
71
|
+
downloadBtn: 'Downloaden',
|
|
72
|
+
uploadTitle: 'Upload Je Visie',
|
|
73
|
+
uploadSubtitle: 'en laat de digitale magie haar werk doen',
|
|
74
|
+
paletteTitle: 'Chromatisch DNA',
|
|
75
|
+
reuploadBtn: 'Wijzig Afbeelding',
|
|
76
|
+
tunnelVisionTitle: 'Tunnelvisie',
|
|
77
|
+
tunnelVisionSubtitle: 'Je precisieassistent bij elke rij.',
|
|
78
|
+
uploadLabel: 'Upload je foto',
|
|
79
|
+
pixelateBtn: 'Genereer Patroon',
|
|
80
|
+
faqTitle: 'FAQ',
|
|
81
|
+
bibliographyTitle: 'Referenties'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Digitale Alchemie: Verander Pixels in Tastbare Kunst', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Welkom in de <strong>Ultimate Pattern Studio</strong>. Een <em>chromatische intelligentie-engine</em> ontworpen voor Pixel Art architecten, Miyuki meesters en kruissteek visionairs. Jouw brug tussen het digitale en het handgemaakte.' },
|
|
86
|
+
{ type: 'card', icon: 'mdi:grid', title: 'Het Intelligente Rooster', html: 'Ons <strong>ruimtelijk subsampling</strong> algoritme laat je afbeelding niet zomaar "krimpen". Het analyseert de visuele structuur om complexe pixelgroepen toe te wijzen aan individuele cellen, waardoor silhouetten en randen behouden blijven als door een deskundige illustrator.' },
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'K Means Kleurkwantisatie', html: 'We implementeren een variant van het <strong>K-Means Clustering</strong> algoritme dat wiskundig de "centrumbasis"-tonen van je afbeelding vindt. Verbluffende visuele getrouwheid met een minimalistisch palet van 12, 24 of 32 kleuren.' },
|
|
88
|
+
{ type: 'title', text: 'Beheersing in 3 Stappen', level: 3 },
|
|
89
|
+
{ type: 'card', icon: 'mdi:image-search', title: 'De Perfecte Selectie', html: 'Zoek naar <strong>hoog contrast</strong>, dramatische belichting en iconische vormen. Portretten met een effen achtergrond, logo\'s en vectorkunst laten zich prachtig vertalen.' },
|
|
90
|
+
{ type: 'card', icon: 'mdi:ruler', title: 'Dimensionale Kalibratie', html: '<strong>Miyuki Delica:</strong> 50 kralen ≈ 8cm · <strong>Hama Midi:</strong> 50 kralen ≈ 25cm · <strong>Kruissteek:</strong> 1 cel = 1 steek.' },
|
|
91
|
+
{ type: 'card', icon: 'mdi:eye-check', title: 'Zen Uitvoering (Tunnelvisie modus)', html: 'Ons <strong>Tunnelvisie</strong>-systeem fungeert als je persoonlijke assistent, dempt visuele ruis en licht chirurgisch alleen de actieve rij op. Absolute concentratie.' },
|
|
92
|
+
{ type: 'title', text: 'Oneindige Canvassen', level: 3 },
|
|
93
|
+
{ type: 'list', items: [
|
|
94
|
+
'<strong>Textiele Sieraden:</strong> Ingewikkelde patronen voor weeframen en geometrische armbanden.',
|
|
95
|
+
'<strong>Kruissteek:</strong> Moderne schema\'s klaar om pixel voor pixel te worden geborduurd.',
|
|
96
|
+
'<strong>Mozaïeken:</strong> Grootschalige muurschilderingen met vereenvoudigde keramische steentjes.',
|
|
97
|
+
'<strong>Retro Gaming:</strong> Authentieke 8-bit assets en sprites in enkele seconden.',
|
|
98
|
+
]},
|
|
99
|
+
{ type: 'stats', items: [
|
|
100
|
+
{ value: '10-100', label: 'Kralenbreedte bereik', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
+
{ value: '2-32', label: 'Kleurpalet slots', icon: 'mdi:palette-swatch' },
|
|
102
|
+
{ value: 'K-Means', label: 'Kwantisatie-algoritme', icon: 'mdi:function-variant' },
|
|
103
|
+
{ value: 'ZIP', label: 'Exportformaat (patroon + gids)', icon: 'mdi:zip-box' },
|
|
104
|
+
], columns: 4 },
|
|
105
|
+
{ type: 'paragraph', html: 'In een tijdperk van vluchtige schermen is het creëren van iets fysieks een revolutionaire daad. Deze tool probeert kunst niet te automatiseren, maar de <strong>ambachtsman te versterken</strong>. We geven je computationele precisie zodat jouw handen blijvende erfenissen kunnen bouwen.' },
|
|
106
|
+
],
|
|
107
|
+
faq,
|
|
108
|
+
bibliography,
|
|
109
|
+
howTo,
|
|
110
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
111
|
+
};
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import { bibliography } from '../bibliography';
|
|
3
|
-
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'generator-wzorow-koralikowych';
|
|
6
|
-
const title = 'Generator Wzorów';
|
|
7
|
-
const description = 'Twórz pixel art oraz schematy koralikowe dla Miyuki lub Hama ze swoich zdjęć. Algorytm kwantyzacji kolorów, tryb widzenia tunelowego oraz eksport ZIP.';
|
|
8
|
-
|
|
9
|
-
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
10
|
-
{ question: 'Czym jest kwantyzacja kolorów we wzorach?', answer: 'To proces redukcji tysięcy kolorów na zdjęciu do zaledwie kilku, które odpowiadają rzeczywistym kolorom dostępnych koralików (np. Miyuki lub Hama). Używamy inteligentnych algorytmów, aby zachować wizualne podobieństwo przy użyciu minimalnej palety.' },
|
|
11
|
-
{ question: 'Czy mogę użyć tego wzoru do haftu krzyżykowego?', answer: 'Tak, generator tworzy wykres siatki, który jest idealnie kompatybilny z haftem krzyżykowym. Musisz tylko wybrać rozmiar siatki odpowiadający Twojej tkaninie (Aida 14, 18 itd.).' },
|
|
12
|
-
{ question: 'Jaka jest różnica między koralikami Miyuki a Hama?', answer: 'Koraliki Miyuki Delica to bardzo małe, precyzyjne koraliki szklane do wyrobu biżuterii. Koraliki Hama są plastikowe i łączy się je za pomocą żelazka. Nasze narzędzie pozwala dostosować proporcje, aby wzór nie uległ zniekształceniu w zależności od użytego materiału.' },
|
|
13
|
-
{ question: 'Jak działa algorytm ditheringu (rozproszenia)?', answer: 'Dithering tworzy złudzenie większej liczby kolorów poprzez mieszanie pikseli o różnych barwach w rozproszonych wzorach. Pomaga to w uzyskaniu płynniejszych przejść tonalnych nawet przy ograniczonej palecie koralików.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
17
|
-
{ name: 'Wgraj wyraźne zdjęcie', text: 'Wybierz zdjęcie o dobrym kontraście i małej liczbie drobnych detali, aby wzór był łatwiejszy do odtworzenia.' },
|
|
18
|
-
{ name: 'Dostosuj rozmiar siatki', text: 'Określ szerokość i wysokość gotowej pracy w liczbie koralików. Więcej koralików = więcej detali, ale wyższy poziom trudności.' },
|
|
19
|
-
{ name: 'Zoptymalizuj paletę kolorów', text: 'Zmniejsz liczbę kolorów tak, aby odpowiadały koralikom dostępnym w Twoim zestawie kreatywnym.' },
|
|
20
|
-
{ name: 'Eksportuj schemat pomocniczy', text: 'Wygeneruj ostateczny wzór z kodami kolorów, który posłuży jako odniesienie podczas układania koralików na podkładce lub nawlekania ich na nitkę.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
-
'@context': 'https://schema.org',
|
|
25
|
-
'@type': 'FAQPage',
|
|
26
|
-
mainEntity: faq.map((item) => ({
|
|
27
|
-
'@type': 'Question',
|
|
28
|
-
name: item.question,
|
|
29
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
-
})),
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const howToSchema: WithContext<HowTo> = {
|
|
34
|
-
'@context': 'https://schema.org',
|
|
35
|
-
'@type': 'HowTo',
|
|
36
|
-
name: title,
|
|
37
|
-
description,
|
|
38
|
-
step: howTo.map((step) => ({
|
|
39
|
-
'@type': 'HowToStep',
|
|
40
|
-
name: step.name,
|
|
41
|
-
text: step.text,
|
|
42
|
-
})),
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
-
'@context': 'https://schema.org',
|
|
47
|
-
'@type': 'SoftwareApplication',
|
|
48
|
-
name: title,
|
|
49
|
-
description,
|
|
50
|
-
applicationCategory: 'UtilitiesApplication',
|
|
51
|
-
operatingSystem: 'Web',
|
|
52
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
-
inLanguage: 'pl',
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const content: BeadPatternGeneratorLocaleContent = {
|
|
57
|
-
slug,
|
|
58
|
-
title,
|
|
59
|
-
description,
|
|
60
|
-
faqTitle: 'Najczęściej Zadawane Pytania',
|
|
61
|
-
ui: {
|
|
62
|
-
title: 'Laboratorium Wzorów',
|
|
63
|
-
subtitle: 'Inżynieria kolorów dla Twoich rąk',
|
|
64
|
-
description: 'Od zdjęcia do schematu koralikowego.',
|
|
65
|
-
gridSizeLabel: 'Rozmiar (szerokość)',
|
|
66
|
-
colorCountLabel: 'Kolory',
|
|
67
|
-
optionsLabel: 'Opcje',
|
|
68
|
-
rulersLabel: 'Linijki',
|
|
69
|
-
symbolsTooltip: 'Wzór Niespodzianka',
|
|
70
|
-
symbolsLabel: 'Symbole',
|
|
71
|
-
downloadBtn: 'Pobierz',
|
|
72
|
-
uploadTitle: 'Wgraj Swoją Wizję',
|
|
73
|
-
uploadSubtitle: 'i pozwól zadziać się cyfrowej magii',
|
|
74
|
-
paletteTitle: 'Chromatyczne DNA',
|
|
75
|
-
reuploadBtn: 'Zmień Obraz',
|
|
76
|
-
tunnelVisionTitle: 'Widzenie Tunelowe',
|
|
77
|
-
tunnelVisionSubtitle: 'Twój asystent precyzji rząd po rzędzie.',
|
|
78
|
-
uploadLabel: 'Wgraj swoje zdjęcie',
|
|
79
|
-
pixelateBtn: 'Generuj Wzór',
|
|
80
|
-
faqTitle: 'FAQ',
|
|
81
|
-
bibliographyTitle: 'Źródła'
|
|
82
|
-
},
|
|
83
|
-
seo: [
|
|
84
|
-
{ type: 'title', text: 'Cyfrowa Alchemia: Przemień Piksele w Namacalną Sztukę', level: 2 },
|
|
85
|
-
{ type: 'paragraph', html: 'Witaj w <strong>Ultimate Pattern Studio</strong>. To <em>silnik inteligencji chromatycznej</em> zaprojektowany dla architektów Pixel Artu, mistrzów Miyuki i wizjonerów haftu krzyżykowego. Twój most między światem cyfrowym a rękodziełem.' },
|
|
86
|
-
{ type: 'card', icon: 'mdi:grid', title: 'Inteligentna Siatka', html: 'Nasz algorytm <strong>przestrzennego subsamplingu</strong> nie tylko "zmniejsza" obraz. Analizuje strukturę wizualną, aby odwzorować złożone grupy pikseli na pojedyncze komórki, zachowując integralność sylwetek i krawędzi niczym doświadczony ilustrator.' },
|
|
87
|
-
{ type: 'card', icon: 'mdi:palette', title: 'Kwantyzacja Kolorów Metodą K Średnich', html: 'Wdrażamy wariant algorytmu <strong>Grupowania K-Średnich</strong>, który matematycznie znajduje "centroidy" barw Twojego obrazu. Zdumiewająca wierność wizualna przy minimalistycznej palecie 12, 24 lub 32 kolorów.' },
|
|
88
|
-
{ type: 'title', text: 'Mistrzostwo w 3 Krokach', level: 3 },
|
|
89
|
-
{ type: 'card', icon: 'mdi:image-search', title: 'Idealny Wybór', html: 'Szukaj <strong>wysokiego kontrastu</strong>, dramatycznego oświetlenia i ikonicznych kształtów. Portrety na czystym tle, logo i grafiki wektorowe przekładają się wspaniale.' },
|
|
90
|
-
{ type: 'card', icon: 'mdi:ruler', title: 'Kalibracja Wymiarów', html: '<strong>Miyuki Delica:</strong> 50 koralików ≈ 8cm · <strong>Hama Midi:</strong> 50 koralików ≈ 25cm · <strong>Haft Krzyżykowy:</strong> 1 komórka = 1 ścieg.' },
|
|
91
|
-
{ type: 'card', icon: 'mdi:eye-check', title: 'Wykonanie Zen (Tryb Widzenia Tunelowego)', html: 'Nasz system <strong>Widzenia Tunelowego</strong> działa jako Twój osobisty asystent, wyciszając szum wizualny i precyzyjnie podświetlając tylko aktywny rząd. Absolutna koncentracja.' },
|
|
92
|
-
{ type: 'title', text: 'Nieskończone Płótna', level: 3 },
|
|
93
|
-
{ type: 'list', items: [
|
|
94
|
-
'<strong>Biżuteria Tekstylna:</strong> Skomplikowane wzory na krosna i geometryczne bransoletki.',
|
|
95
|
-
'<strong>Haft Krzyżykowy:</strong> Nowoczesne schematy gotowe do wyszywania piksel po pikselu.',
|
|
96
|
-
'<strong>Mozaiki:</strong> Wielkoformatowe murale z uproszczonych tesser ceramicznych.',
|
|
97
|
-
'<strong>Retro Gaming:</strong> Autentyczne 8-bitowe zasoby i sprite\'y w kilka sekund.',
|
|
98
|
-
]},
|
|
99
|
-
{ type: 'stats', items: [
|
|
100
|
-
{ value: '10-100', label: 'Zakres szerokości (koraliki)', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
-
{ value: '2-32', label: 'Liczba pól w palecie', icon: 'mdi:palette-swatch' },
|
|
102
|
-
{ value: 'K-Średnich', label: 'Algorytm kwantyzacji', icon: 'mdi:function-variant' },
|
|
103
|
-
{ value: 'ZIP', label: 'Format eksportu (wzór + poradnik)', icon: 'mdi:zip-box' },
|
|
104
|
-
], columns: 4 },
|
|
105
|
-
{ type: 'paragraph', html: 'W erze efemerycznych ekranów, tworzenie czegoś fizycznego jest aktem rewolucyjnym. To narzędzie nie dąży do zautomatyzowania sztuki, ale do <strong>wzmocnienia rzemieślnika</strong>. Dajemy Ci obliczeniową precyzję, aby Twoje ręce mogły budować trwałe dziedzictwo.' },
|
|
106
|
-
],
|
|
107
|
-
faq,
|
|
108
|
-
bibliography,
|
|
109
|
-
howTo,
|
|
110
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
111
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { BeadPatternGeneratorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'generator-wzorow-koralikowych';
|
|
6
|
+
const title = 'Generator Wzorów';
|
|
7
|
+
const description = 'Twórz pixel art oraz schematy koralikowe dla Miyuki lub Hama ze swoich zdjęć. Algorytm kwantyzacji kolorów, tryb widzenia tunelowego oraz eksport ZIP.';
|
|
8
|
+
|
|
9
|
+
const faq: BeadPatternGeneratorLocaleContent['faq'] = [
|
|
10
|
+
{ question: 'Czym jest kwantyzacja kolorów we wzorach?', answer: 'To proces redukcji tysięcy kolorów na zdjęciu do zaledwie kilku, które odpowiadają rzeczywistym kolorom dostępnych koralików (np. Miyuki lub Hama). Używamy inteligentnych algorytmów, aby zachować wizualne podobieństwo przy użyciu minimalnej palety.' },
|
|
11
|
+
{ question: 'Czy mogę użyć tego wzoru do haftu krzyżykowego?', answer: 'Tak, generator tworzy wykres siatki, który jest idealnie kompatybilny z haftem krzyżykowym. Musisz tylko wybrać rozmiar siatki odpowiadający Twojej tkaninie (Aida 14, 18 itd.).' },
|
|
12
|
+
{ question: 'Jaka jest różnica między koralikami Miyuki a Hama?', answer: 'Koraliki Miyuki Delica to bardzo małe, precyzyjne koraliki szklane do wyrobu biżuterii. Koraliki Hama są plastikowe i łączy się je za pomocą żelazka. Nasze narzędzie pozwala dostosować proporcje, aby wzór nie uległ zniekształceniu w zależności od użytego materiału.' },
|
|
13
|
+
{ question: 'Jak działa algorytm ditheringu (rozproszenia)?', answer: 'Dithering tworzy złudzenie większej liczby kolorów poprzez mieszanie pikseli o różnych barwach w rozproszonych wzorach. Pomaga to w uzyskaniu płynniejszych przejść tonalnych nawet przy ograniczonej palecie koralików.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
|
|
17
|
+
{ name: 'Wgraj wyraźne zdjęcie', text: 'Wybierz zdjęcie o dobrym kontraście i małej liczbie drobnych detali, aby wzór był łatwiejszy do odtworzenia.' },
|
|
18
|
+
{ name: 'Dostosuj rozmiar siatki', text: 'Określ szerokość i wysokość gotowej pracy w liczbie koralików. Więcej koralików = więcej detali, ale wyższy poziom trudności.' },
|
|
19
|
+
{ name: 'Zoptymalizuj paletę kolorów', text: 'Zmniejsz liczbę kolorów tak, aby odpowiadały koralikom dostępnym w Twoim zestawie kreatywnym.' },
|
|
20
|
+
{ name: 'Eksportuj schemat pomocniczy', text: 'Wygeneruj ostateczny wzór z kodami kolorów, który posłuży jako odniesienie podczas układania koralików na podkładce lub nawlekania ich na nitkę.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faq.map((item) => ({
|
|
27
|
+
'@type': 'Question',
|
|
28
|
+
name: item.question,
|
|
29
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const howToSchema: WithContext<HowTo> = {
|
|
34
|
+
'@context': 'https://schema.org',
|
|
35
|
+
'@type': 'HowTo',
|
|
36
|
+
name: title,
|
|
37
|
+
description,
|
|
38
|
+
step: howTo.map((step) => ({
|
|
39
|
+
'@type': 'HowToStep',
|
|
40
|
+
name: step.name,
|
|
41
|
+
text: step.text,
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'SoftwareApplication',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
applicationCategory: 'UtilitiesApplication',
|
|
51
|
+
operatingSystem: 'Web',
|
|
52
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
53
|
+
inLanguage: 'pl',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const content: BeadPatternGeneratorLocaleContent = {
|
|
57
|
+
slug,
|
|
58
|
+
title,
|
|
59
|
+
description,
|
|
60
|
+
faqTitle: 'Najczęściej Zadawane Pytania',
|
|
61
|
+
ui: {
|
|
62
|
+
title: 'Laboratorium Wzorów',
|
|
63
|
+
subtitle: 'Inżynieria kolorów dla Twoich rąk',
|
|
64
|
+
description: 'Od zdjęcia do schematu koralikowego.',
|
|
65
|
+
gridSizeLabel: 'Rozmiar (szerokość)',
|
|
66
|
+
colorCountLabel: 'Kolory',
|
|
67
|
+
optionsLabel: 'Opcje',
|
|
68
|
+
rulersLabel: 'Linijki',
|
|
69
|
+
symbolsTooltip: 'Wzór Niespodzianka',
|
|
70
|
+
symbolsLabel: 'Symbole',
|
|
71
|
+
downloadBtn: 'Pobierz',
|
|
72
|
+
uploadTitle: 'Wgraj Swoją Wizję',
|
|
73
|
+
uploadSubtitle: 'i pozwól zadziać się cyfrowej magii',
|
|
74
|
+
paletteTitle: 'Chromatyczne DNA',
|
|
75
|
+
reuploadBtn: 'Zmień Obraz',
|
|
76
|
+
tunnelVisionTitle: 'Widzenie Tunelowe',
|
|
77
|
+
tunnelVisionSubtitle: 'Twój asystent precyzji rząd po rzędzie.',
|
|
78
|
+
uploadLabel: 'Wgraj swoje zdjęcie',
|
|
79
|
+
pixelateBtn: 'Generuj Wzór',
|
|
80
|
+
faqTitle: 'FAQ',
|
|
81
|
+
bibliographyTitle: 'Źródła'
|
|
82
|
+
},
|
|
83
|
+
seo: [
|
|
84
|
+
{ type: 'title', text: 'Cyfrowa Alchemia: Przemień Piksele w Namacalną Sztukę', level: 2 },
|
|
85
|
+
{ type: 'paragraph', html: 'Witaj w <strong>Ultimate Pattern Studio</strong>. To <em>silnik inteligencji chromatycznej</em> zaprojektowany dla architektów Pixel Artu, mistrzów Miyuki i wizjonerów haftu krzyżykowego. Twój most między światem cyfrowym a rękodziełem.' },
|
|
86
|
+
{ type: 'card', icon: 'mdi:grid', title: 'Inteligentna Siatka', html: 'Nasz algorytm <strong>przestrzennego subsamplingu</strong> nie tylko "zmniejsza" obraz. Analizuje strukturę wizualną, aby odwzorować złożone grupy pikseli na pojedyncze komórki, zachowując integralność sylwetek i krawędzi niczym doświadczony ilustrator.' },
|
|
87
|
+
{ type: 'card', icon: 'mdi:palette', title: 'Kwantyzacja Kolorów Metodą K Średnich', html: 'Wdrażamy wariant algorytmu <strong>Grupowania K-Średnich</strong>, który matematycznie znajduje "centroidy" barw Twojego obrazu. Zdumiewająca wierność wizualna przy minimalistycznej palecie 12, 24 lub 32 kolorów.' },
|
|
88
|
+
{ type: 'title', text: 'Mistrzostwo w 3 Krokach', level: 3 },
|
|
89
|
+
{ type: 'card', icon: 'mdi:image-search', title: 'Idealny Wybór', html: 'Szukaj <strong>wysokiego kontrastu</strong>, dramatycznego oświetlenia i ikonicznych kształtów. Portrety na czystym tle, logo i grafiki wektorowe przekładają się wspaniale.' },
|
|
90
|
+
{ type: 'card', icon: 'mdi:ruler', title: 'Kalibracja Wymiarów', html: '<strong>Miyuki Delica:</strong> 50 koralików ≈ 8cm · <strong>Hama Midi:</strong> 50 koralików ≈ 25cm · <strong>Haft Krzyżykowy:</strong> 1 komórka = 1 ścieg.' },
|
|
91
|
+
{ type: 'card', icon: 'mdi:eye-check', title: 'Wykonanie Zen (Tryb Widzenia Tunelowego)', html: 'Nasz system <strong>Widzenia Tunelowego</strong> działa jako Twój osobisty asystent, wyciszając szum wizualny i precyzyjnie podświetlając tylko aktywny rząd. Absolutna koncentracja.' },
|
|
92
|
+
{ type: 'title', text: 'Nieskończone Płótna', level: 3 },
|
|
93
|
+
{ type: 'list', items: [
|
|
94
|
+
'<strong>Biżuteria Tekstylna:</strong> Skomplikowane wzory na krosna i geometryczne bransoletki.',
|
|
95
|
+
'<strong>Haft Krzyżykowy:</strong> Nowoczesne schematy gotowe do wyszywania piksel po pikselu.',
|
|
96
|
+
'<strong>Mozaiki:</strong> Wielkoformatowe murale z uproszczonych tesser ceramicznych.',
|
|
97
|
+
'<strong>Retro Gaming:</strong> Autentyczne 8-bitowe zasoby i sprite\'y w kilka sekund.',
|
|
98
|
+
]},
|
|
99
|
+
{ type: 'stats', items: [
|
|
100
|
+
{ value: '10-100', label: 'Zakres szerokości (koraliki)', icon: 'mdi:arrow-expand-horizontal' },
|
|
101
|
+
{ value: '2-32', label: 'Liczba pól w palecie', icon: 'mdi:palette-swatch' },
|
|
102
|
+
{ value: 'K-Średnich', label: 'Algorytm kwantyzacji', icon: 'mdi:function-variant' },
|
|
103
|
+
{ value: 'ZIP', label: 'Format eksportu (wzór + poradnik)', icon: 'mdi:zip-box' },
|
|
104
|
+
], columns: 4 },
|
|
105
|
+
{ type: 'paragraph', html: 'W erze efemerycznych ekranów, tworzenie czegoś fizycznego jest aktem rewolucyjnym. To narzędzie nie dąży do zautomatyzowania sztuki, ale do <strong>wzmocnienia rzemieślnika</strong>. Dajemy Ci obliczeniową precyzję, aby Twoje ręce mogły budować trwałe dziedzictwo.' },
|
|
106
|
+
],
|
|
107
|
+
faq,
|
|
108
|
+
bibliography,
|
|
109
|
+
howTo,
|
|
110
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
111
|
+
};
|