@jjlmoya/utils-creative 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +9 -0
  3. package/src/category/i18n/id.ts +9 -0
  4. package/src/category/i18n/it.ts +9 -0
  5. package/src/category/i18n/ja.ts +9 -0
  6. package/src/category/i18n/ko.ts +9 -0
  7. package/src/category/i18n/nl.ts +9 -0
  8. package/src/category/i18n/pl.ts +9 -0
  9. package/src/category/i18n/pt.ts +9 -0
  10. package/src/category/i18n/ru.ts +9 -0
  11. package/src/category/i18n/sv.ts +9 -0
  12. package/src/category/i18n/tr.ts +9 -0
  13. package/src/category/i18n/zh.ts +9 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/slug_uniqueness.test.ts +81 -0
  19. package/src/tests/title_quality.test.ts +3 -3
  20. package/src/tool/bead-pattern-generator/i18n/de.ts +115 -0
  21. package/src/tool/bead-pattern-generator/i18n/en.ts +1 -1
  22. package/src/tool/bead-pattern-generator/i18n/es.ts +1 -1
  23. package/src/tool/bead-pattern-generator/i18n/fr.ts +1 -1
  24. package/src/tool/bead-pattern-generator/i18n/id.ts +115 -0
  25. package/src/tool/bead-pattern-generator/i18n/it.ts +115 -0
  26. package/src/tool/bead-pattern-generator/i18n/ja.ts +115 -0
  27. package/src/tool/bead-pattern-generator/i18n/ko.ts +115 -0
  28. package/src/tool/bead-pattern-generator/i18n/nl.ts +115 -0
  29. package/src/tool/bead-pattern-generator/i18n/pl.ts +115 -0
  30. package/src/tool/bead-pattern-generator/i18n/pt.ts +115 -0
  31. package/src/tool/bead-pattern-generator/i18n/ru.ts +115 -0
  32. package/src/tool/bead-pattern-generator/i18n/sv.ts +115 -0
  33. package/src/tool/bead-pattern-generator/i18n/tr.ts +115 -0
  34. package/src/tool/bead-pattern-generator/i18n/zh.ts +115 -0
  35. package/src/tool/bead-pattern-generator/index.ts +12 -0
  36. package/src/tool/dice-roller/i18n/de.ts +138 -0
  37. package/src/tool/dice-roller/i18n/id.ts +138 -0
  38. package/src/tool/dice-roller/i18n/it.ts +138 -0
  39. package/src/tool/dice-roller/i18n/ja.ts +138 -0
  40. package/src/tool/dice-roller/i18n/ko.ts +138 -0
  41. package/src/tool/dice-roller/i18n/nl.ts +138 -0
  42. package/src/tool/dice-roller/i18n/pl.ts +138 -0
  43. package/src/tool/dice-roller/i18n/pt.ts +138 -0
  44. package/src/tool/dice-roller/i18n/ru.ts +138 -0
  45. package/src/tool/dice-roller/i18n/sv.ts +138 -0
  46. package/src/tool/dice-roller/i18n/tr.ts +138 -0
  47. package/src/tool/dice-roller/i18n/zh.ts +138 -0
  48. package/src/tool/dice-roller/index.ts +12 -0
  49. package/src/tool/excuse-generator/i18n/de.ts +122 -0
  50. package/src/tool/excuse-generator/i18n/id.ts +122 -0
  51. package/src/tool/excuse-generator/i18n/it.ts +122 -0
  52. package/src/tool/excuse-generator/i18n/ja.ts +122 -0
  53. package/src/tool/excuse-generator/i18n/ko.ts +122 -0
  54. package/src/tool/excuse-generator/i18n/nl.ts +122 -0
  55. package/src/tool/excuse-generator/i18n/pl.ts +122 -0
  56. package/src/tool/excuse-generator/i18n/pt.ts +122 -0
  57. package/src/tool/excuse-generator/i18n/ru.ts +122 -0
  58. package/src/tool/excuse-generator/i18n/sv.ts +122 -0
  59. package/src/tool/excuse-generator/i18n/tr.ts +122 -0
  60. package/src/tool/excuse-generator/i18n/zh.ts +122 -0
  61. package/src/tool/excuse-generator/index.ts +12 -0
  62. package/src/tool/fortune-cookie/i18n/de.ts +127 -0
  63. package/src/tool/fortune-cookie/i18n/id.ts +127 -0
  64. package/src/tool/fortune-cookie/i18n/it.ts +127 -0
  65. package/src/tool/fortune-cookie/i18n/ja.ts +127 -0
  66. package/src/tool/fortune-cookie/i18n/ko.ts +127 -0
  67. package/src/tool/fortune-cookie/i18n/nl.ts +127 -0
  68. package/src/tool/fortune-cookie/i18n/pl.ts +127 -0
  69. package/src/tool/fortune-cookie/i18n/pt.ts +127 -0
  70. package/src/tool/fortune-cookie/i18n/ru.ts +127 -0
  71. package/src/tool/fortune-cookie/i18n/sv.ts +127 -0
  72. package/src/tool/fortune-cookie/i18n/tr.ts +127 -0
  73. package/src/tool/fortune-cookie/i18n/zh.ts +127 -0
  74. package/src/tool/fortune-cookie/index.ts +12 -0
  75. package/src/tool/synesthesia-painter/i18n/de.ts +122 -0
  76. package/src/tool/synesthesia-painter/i18n/fr.ts +2 -2
  77. package/src/tool/synesthesia-painter/i18n/id.ts +122 -0
  78. package/src/tool/synesthesia-painter/i18n/it.ts +122 -0
  79. package/src/tool/synesthesia-painter/i18n/ja.ts +122 -0
  80. package/src/tool/synesthesia-painter/i18n/ko.ts +122 -0
  81. package/src/tool/synesthesia-painter/i18n/nl.ts +122 -0
  82. package/src/tool/synesthesia-painter/i18n/pl.ts +122 -0
  83. package/src/tool/synesthesia-painter/i18n/pt.ts +122 -0
  84. package/src/tool/synesthesia-painter/i18n/ru.ts +122 -0
  85. package/src/tool/synesthesia-painter/i18n/sv.ts +122 -0
  86. package/src/tool/synesthesia-painter/i18n/tr.ts +122 -0
  87. package/src/tool/synesthesia-painter/i18n/zh.ts +122 -0
  88. package/src/tool/synesthesia-painter/index.ts +12 -0
  89. package/src/tool/zalgo-generator/i18n/de.ts +113 -0
  90. package/src/tool/zalgo-generator/i18n/id.ts +113 -0
  91. package/src/tool/zalgo-generator/i18n/it.ts +113 -0
  92. package/src/tool/zalgo-generator/i18n/ja.ts +113 -0
  93. package/src/tool/zalgo-generator/i18n/ko.ts +113 -0
  94. package/src/tool/zalgo-generator/i18n/nl.ts +113 -0
  95. package/src/tool/zalgo-generator/i18n/pl.ts +113 -0
  96. package/src/tool/zalgo-generator/i18n/pt.ts +113 -0
  97. package/src/tool/zalgo-generator/i18n/ru.ts +113 -0
  98. package/src/tool/zalgo-generator/i18n/sv.ts +113 -0
  99. package/src/tool/zalgo-generator/i18n/tr.ts +113 -0
  100. package/src/tool/zalgo-generator/i18n/zh.ts +113 -0
  101. package/src/tool/zalgo-generator/index.ts +12 -0
@@ -0,0 +1,115 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { BeadPatternGeneratorLocaleContent } from '../index';
3
+
4
+ const slug = 'generatore-schemi-perline';
5
+ const title = 'Generatore di Schemi';
6
+ const description = 'Crea pixel art e schemi con perline per Miyuki o Hama dalle tue foto. Algoritmo di quantizzazione del colore, modalità visione a tunnel ed esportazione ZIP.';
7
+
8
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
9
+ { question: 'Che cos\'è la quantizzazione del colore negli schemi?', answer: 'È il processo di riduzione delle migliaia di colori di una foto a pochi che corrispondono ai colori reali delle perline disponibili (ad es. Miyuki o Hama). Utilizziamo algoritmi intelligenti per mantenere la somiglianza visiva con la minima tavolozza possibile.' },
10
+ { question: 'Posso usare questo schema per il punto croce?', answer: 'Sì, il generatore crea una griglia perfettamente compatibile con il punto croce. Devi solo scegliere una dimensione della griglia che corrisponda al tuo tessuto (Aida 14, 18, ecc.).' },
11
+ { question: 'Qual è la differenza tra perline Miyuki e Hama?', answer: 'Le perline Miyuki Delica sono perline di vetro molto piccole e precise per gioielleria. Le perline Hama sono di plastica e vengono fuse con il ferro da stiro. Il nostro strumento ti permette di regolare le proporzioni in modo che lo schema non si distorca a seconda del materiale utilizzato.' },
12
+ { question: 'Come funziona l\'algoritmo di dithering?', answer: 'Il dithering crea l\'illusione di più colori mescolando pixel di colori diversi in schemi distanziati. Aiuta le sfumature di colore a sembrare più fluide anche con una tavolozza di perline limitata.' },
13
+ ];
14
+
15
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
16
+ { name: 'Carica un\'immagine nitida', text: 'Seleziona una foto con un buon contrasto e pochi dettagli piccoli affinché lo schema sia più facile da seguire.' },
17
+ { name: 'Regola la dimensione della griglia', text: 'Definisci quanti perline di larghezza e altezza avrà il tuo pezzo finale. Più perline = più dettagli ma maggiore difficoltà.' },
18
+ { name: 'Ottimizza la tavolozza dei colori', text: 'Riduci il numero di colori fino a farli corrispondere alle perline che hai a disposizione nel tuo kit.' },
19
+ { name: 'Esporta lo schema guida', text: 'Genera lo schema finale con i codici colore da usare come riferimento durante l\'assemblaggio delle perline sulla base o sul filo.' },
20
+ ];
21
+
22
+ const faqSchema: WithContext<FAQPage> = {
23
+ '@context': 'https://schema.org',
24
+ '@type': 'FAQPage',
25
+ mainEntity: faq.map((item) => ({
26
+ '@type': 'Question',
27
+ name: item.question,
28
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
29
+ })),
30
+ };
31
+
32
+ const howToSchema: WithContext<HowTo> = {
33
+ '@context': 'https://schema.org',
34
+ '@type': 'HowTo',
35
+ name: title,
36
+ description,
37
+ step: howTo.map((step) => ({
38
+ '@type': 'HowToStep',
39
+ name: step.name,
40
+ text: step.text,
41
+ })),
42
+ };
43
+
44
+ const appSchema: WithContext<SoftwareApplication> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'SoftwareApplication',
47
+ name: title,
48
+ description,
49
+ applicationCategory: 'UtilitiesApplication',
50
+ operatingSystem: 'Web',
51
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
52
+ inLanguage: 'it',
53
+ };
54
+
55
+ export const content: BeadPatternGeneratorLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ faqTitle: 'Domande Frequenti',
60
+ bibliographyTitle: 'Bibliografia Artigiana',
61
+ ui: {
62
+ title: 'Laboratorio di Schemi',
63
+ subtitle: 'Ingegneria del colore per le tue mani',
64
+ description: 'Dalla foto allo schema con perline.',
65
+ gridSizeLabel: 'Dimensione (Larghezza)',
66
+ colorCountLabel: 'Colori',
67
+ optionsLabel: 'Opzioni',
68
+ rulersLabel: 'Righelli',
69
+ symbolsTooltip: 'Schema a Sorpresa',
70
+ symbolsLabel: 'Simboli',
71
+ downloadBtn: 'Scarica',
72
+ uploadTitle: 'Carica la Tua Visione',
73
+ uploadSubtitle: 'e lascia che la magia digitale accada',
74
+ paletteTitle: 'DNA Cromatico',
75
+ reuploadBtn: 'Cambia Immagine',
76
+ tunnelVisionTitle: 'Visione a Tunnel',
77
+ tunnelVisionSubtitle: 'Il tuo assistente di precisione riga per riga.',
78
+ uploadLabel: 'Carica la tua foto',
79
+ pixelateBtn: 'Genera Schema',
80
+ faqTitle: 'FAQ',
81
+ bibliographyTitle: 'Riferimenti'
82
+ },
83
+ seo: [
84
+ { type: 'title', text: 'Alchimia Digitale: Trasmutare i Pixel in Arte Tangibile', level: 2 },
85
+ { type: 'paragraph', html: 'Benvenuti nell\'<strong>Ultimate Pattern Studio</strong>. Un <em>motore di intelligenza cromatica</em> progettato per architetti della Pixel Art, maestri Miyuki e visionari del punto croce. Il tuo ponte tra il digitale e il fatto a mano.' },
86
+ { type: 'card', icon: 'mdi:grid', title: 'La Griglia Intelligente', html: 'Il nostro algoritmo di <strong>sottocampionamento spaziale</strong> non si limita a "rimpicciolire" la tua immagine. Analizza la struttura visiva per mappare complessi gruppi di pixel su singole celle, preservando l\'integrità di sagome e bordi come un illustratore esperto.' },
87
+ { type: 'card', icon: 'mdi:palette', title: 'Quantizzazione del colore K Means', html: 'Implementiamo una variante dell\'algoritmo di <strong>K-Means Clustering</strong> che trova matematicamente i toni "centroidi" della tua immagine. Fedeltà visiva sorprendente con una tavolozza minimalista di 12, 24 o 32 colori.' },
88
+ { type: 'title', text: 'Maestria in 3 Passaggi', level: 3 },
89
+ { type: 'card', icon: 'mdi:image-search', title: 'La Selezione Perfetta', html: 'Cerca <strong>alto contrasto</strong>, illuminazione drammatica e forme iconiche. Ritratti con sfondi puliti, loghi e vector art si traducono magnificamente.' },
90
+ { type: 'card', icon: 'mdi:ruler', title: 'Calibrazione Dimensionale', html: '<strong>Miyuki Delica:</strong> 50 perline ≈ 8cm · <strong>Hama Midi:</strong> 50 perline ≈ 25cm · <strong>Punto Croce:</strong> 1 cella = 1 punto.' },
91
+ { type: 'card', icon: 'mdi:eye-check', title: 'Esecuzione Zen (Modalità Visione a Tunnel)', html: 'Il nostro sistema <strong>Visione a Tunnel</strong> funge da assistente personale, attenuando il rumore visivo ed evidenziando chirurgicamente solo la riga attiva. Concentrazione assoluta.' },
92
+ { type: 'title', text: 'Tele Infinite', level: 3 },
93
+ { type: 'list', items: [
94
+ '<strong>Gioielleria Tessile:</strong> Schemi intricati per telai e braccialetti geometrici.',
95
+ '<strong>Punto Croce:</strong> Schemi moderni pronti per essere ricamati pixel per pixel.',
96
+ '<strong>Mosaici:</strong> Murales su larga scala utilizzando tessere di ceramica semplificate.',
97
+ '<strong>Retro Gaming:</strong> Asset e sprite 8-bit autentici in pochi secondi.',
98
+ ]},
99
+ { type: 'stats', items: [
100
+ { value: '10–100', label: 'Range larghezza perline', icon: 'mdi:arrow-expand-horizontal' },
101
+ { value: '2–32', label: 'Slot tavolozza colori', icon: 'mdi:palette-swatch' },
102
+ { value: 'K-Means', label: 'Algoritmo quantizzazione', icon: 'mdi:function-variant' },
103
+ { value: 'ZIP', label: 'Formato esportazione (schema + guida)', icon: 'mdi:zip-box' },
104
+ ], columns: 4 },
105
+ { type: 'paragraph', html: 'In un\'epoca di schermi effimeri, creare qualcosa di fisico è un atto rivoluzionario. Questo strumento non cerca di automatizzare l\'arte, ma di <strong>potenziare l\'artigiano</strong>. Ti diamo precisione computazionale affinché le tue mani possano costruire eredità durature.' },
106
+ ],
107
+ faq,
108
+ bibliography: [
109
+ { name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
110
+ { name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
111
+ { name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
112
+ ],
113
+ howTo,
114
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
115
+ };
@@ -0,0 +1,115 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { BeadPatternGeneratorLocaleContent } from '../index';
3
+
4
+ const slug = 'bead-pattern-generator';
5
+ const title = 'パターンジェネレーター';
6
+ const description = 'あなたの写真から、デリカビーズ(Miyuki)やアイロンビーズ(Hama)のピクセルアートや図案を作成します。減色アルゴリズム、トンネルビジョンモード、ZIPエクスポート機能を搭載。';
7
+
8
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
9
+ { question: '図案作成における「減色(カラークオンタイズ)」とは何ですか?', answer: '写真に含まれる数千の色を、実際に使用可能なビーズの色(MiyukiやHamaなど)に合わせて数色に絞り込むプロセスです。高度なアルゴリズムを使用し、最小限のパレットで視覚的な再現性を維持します。' },
10
+ { question: 'この図案はクロスステッチに使えますか?', answer: 'はい、このジェネレーターが作成するグリッドチャートはクロスステッチに最適です。布の種類(アイダ14、18カウントなど)に合わせてグリッドサイズを選択してください。' },
11
+ { question: 'MiyukiビーズとHamaビーズの違いは何ですか?', answer: 'Miyukiデリカビーズは、ジュエリー用の非常に小さく精密なガラスビーズです。Hamaビーズはプラスチック製で、アイロンで溶かして接着します。当ツールでは、素材に合わせてアスペクト比を調整できるため、図案が歪むことはありません。' },
12
+ { question: 'ディザリングアルゴリズムはどのように機能しますか?', answer: 'ディザリングは、異なる色のピクセルを特定のパターンで混合し、限られた色数でより多くの色があるように見せる手法です。ビーズの種類が少なくても、色のグラデーションをより滑らかに見せることができます。' },
13
+ ];
14
+
15
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
16
+ { name: '鮮明な画像をアップロードする', text: 'コントラストがはっきりしており、細部が細かすぎない写真を選ぶと、作りやすい図案になります。' },
17
+ { name: 'グリッドサイズを調整する', text: '作品の縦横のビーズ数を定義します。ビーズ数が多いほど詳細は鮮明になりますが、難易度も上がります。' },
18
+ { name: 'カラーパレットを最適化する', text: '手持ちのビーズキットにある色に合わせて、色数を減らします。' },
19
+ { name: 'ガイド図案をエクスポートする', text: 'カラーコード付きの最終図案を生成し、ボードへの配置や糸通しの際の参照用として使用します。' },
20
+ ];
21
+
22
+ const faqSchema: WithContext<FAQPage> = {
23
+ '@context': 'https://schema.org',
24
+ '@type': 'FAQPage',
25
+ mainEntity: faq.map((item) => ({
26
+ '@type': 'Question',
27
+ name: item.question,
28
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
29
+ })),
30
+ };
31
+
32
+ const howToSchema: WithContext<HowTo> = {
33
+ '@context': 'https://schema.org',
34
+ '@type': 'HowTo',
35
+ name: title,
36
+ description,
37
+ step: howTo.map((step) => ({
38
+ '@type': 'HowToStep',
39
+ name: step.name,
40
+ text: step.text,
41
+ })),
42
+ };
43
+
44
+ const appSchema: WithContext<SoftwareApplication> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'SoftwareApplication',
47
+ name: title,
48
+ description,
49
+ applicationCategory: 'UtilitiesApplication',
50
+ operatingSystem: 'Web',
51
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
52
+ inLanguage: 'ja',
53
+ };
54
+
55
+ export const content: BeadPatternGeneratorLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ faqTitle: 'よくある質問',
60
+ bibliographyTitle: '職人のための参考文献',
61
+ ui: {
62
+ title: 'パターン研究所',
63
+ subtitle: 'その手で色を操るエンジニアリング',
64
+ description: '写真からビーズ図案へ。',
65
+ gridSizeLabel: 'サイズ(幅)',
66
+ colorCountLabel: '色数',
67
+ optionsLabel: 'オプション',
68
+ rulersLabel: 'ルーラー',
69
+ symbolsTooltip: 'サプライズパターン',
70
+ symbolsLabel: 'シンボル',
71
+ downloadBtn: 'ダウンロード',
72
+ uploadTitle: 'ビジョンをアップロード',
73
+ uploadSubtitle: 'デジタルの魔法を始めましょう',
74
+ paletteTitle: '色彩のDNA',
75
+ reuploadBtn: '画像を変更',
76
+ tunnelVisionTitle: 'トンネルビジョン',
77
+ tunnelVisionSubtitle: '一段ずつ正確に進めるためのアシスタント。',
78
+ uploadLabel: '写真をアップロード',
79
+ pixelateBtn: '図案を生成',
80
+ faqTitle: 'FAQ',
81
+ bibliographyTitle: '参考文献'
82
+ },
83
+ seo: [
84
+ { type: 'title', text: 'デジタル錬金術:ピクセルを触れられるアートへ昇華させる', level: 2 },
85
+ { type: 'paragraph', html: '<strong>究極のパターンスタジオ</strong>へようこそ。ピクセルアートの設計者、デリカビーズの達人、そしてクロスステッチのビジョナリーのために設計された、<em>色彩知能エンジン</em>です。デジタルとハンドメイドの架け橋となります。' },
86
+ { type: 'card', icon: 'mdi:grid', title: 'インテリジェント・グリッド', html: '当社の<strong>空間サブサンプリング</strong>・アルゴリズムは、単に画像を縮小するだけではありません。視覚構造を分析し、複雑なピクセルグループを個々のセルにマッピングすることで、熟練したイラストレーターのようにシルエットやエッジを維持します。' },
87
+ { type: 'card', icon: 'mdi:palette', title: 'K Means減色処理', html: '画像の代表色を数学的に算出する<strong>K-Meansクラスタリング</strong>・アルゴリズムのバリアントを実装。12色、24色、あるいは32色という最小限のパレットで、驚異的な再現性を実現します。' },
88
+ { type: 'title', text: '3ステップでマスター', level: 3 },
89
+ { type: 'card', icon: 'mdi:image-search', title: '完璧な選択', html: '<strong>高コントラスト</strong>でドラマチックな照明、象徴的な形状のものを選んでください。背景がすっきりしたポートレート、ロゴ、ベクターアートなどは非常に美しく変換されます。' },
90
+ { type: 'card', icon: 'mdi:ruler', title: '寸法のキャリブレーション', html: '<strong>デリカビーズ:</strong> 50粒 ≈ 8cm ・ <strong>Hamaビーズ(ミディ):</strong> 50粒 ≈ 25cm ・ <strong>クロスステッチ:</strong> 1マス = 1ステッチ。' },
91
+ { type: 'card', icon: 'mdi:eye-check', title: '「禅」の集中(トンネルビジョンモード)', html: '<strong>トンネルビジョン</strong>システムは、視覚的なノイズを軽減し、現在作業中の行だけを強調するパーソナルアシスタントとして機能します。絶対的な集中をサポートします。' },
92
+ { type: 'title', text: '無限のキャンバス', level: 3 },
93
+ { type: 'list', items: [
94
+ '<strong>テキスタイル・ジュエリー:</strong> ビーズ織りや幾何学模様のブレスレット用の複雑なパターン。',
95
+ '<strong>クロスステッチ:</strong> ピクセル単位で刺繍可能なモダンな図案。',
96
+ '<strong>モザイクアート:</strong> 簡略化されたセラミックタイルを使用した大規模な壁画。',
97
+ '<strong>レトロゲーム:</strong> 本物の8ビットアセットやスプライトを数秒で作成。',
98
+ ]},
99
+ { type: 'stats', items: [
100
+ { value: '10–100', label: 'ビーズ幅の範囲', icon: 'mdi:arrow-expand-horizontal' },
101
+ { value: '2–32', label: 'カラーパレット枠', icon: 'mdi:palette-swatch' },
102
+ { value: 'K-Means', label: '減色アルゴリズム', icon: 'mdi:function-variant' },
103
+ { value: 'ZIP', label: '出力形式(図案+ガイド)', icon: 'mdi:zip-box' },
104
+ ], columns: 4 },
105
+ { type: 'paragraph', html: '刹那的な画面が支配する現代において、形のある物を創り出すことは、ある種の革命です。このツールは芸術の自動化を目指すものではなく、<strong>職人の力を引き出す</strong>ためのものです。コンピューターの精度を貸与することで、あなたの手で不朽の遺産を築く手助けをします。' },
106
+ ],
107
+ faq,
108
+ bibliography: [
109
+ { name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
110
+ { name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
111
+ { name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
112
+ ],
113
+ howTo,
114
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
115
+ };
@@ -0,0 +1,115 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { BeadPatternGeneratorLocaleContent } from '../index';
3
+
4
+ const slug = 'bead-pattern-generator';
5
+ const title = '도안 생성기';
6
+ const description = '사진을 사용하여 미유키 또는 하마 비즈를 위한 픽셀 아트 및 도안을 만들어보세요. 색상 양자화 알고리즘, 터널 시야 모드, ZIP 내보내기 기능을 지원합니다.';
7
+
8
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
9
+ { question: '도안에서 색상 양자화란 무엇인가요?', answer: '사진의 수천 가지 색상을 실제 사용 가능한 비즈 색상(예: 미유키 또는 하마)에 맞춰 몇 가지로 줄이는 과정입니다. 스마트 알고리즘을 사용하여 최소한의 팔레트로도 시각적 유사성을 유지합니다.' },
10
+ { question: '이 도안을 십자수에 사용할 수 있나요?', answer: '네, 생성기는 십자수와 완벽하게 호환되는 그리드 차트를 만듭니다. 원단(Aida 14, 18 등)에 맞는 그리드 크기를 선택하기만 하면 됩니다.' },
11
+ { question: '미유키 비즈와 하마 비즈의 차이점은 무엇인가요?', answer: '미유키 델리카 비즈는 보석 제작을 위한 매우 작고 정밀한 유리 비즈입니다. 하마 비즈는 플라스틱 재질로 다리미로 녹여서 붙입니다. 저희 도구는 사용되는 재료에 따라 도안이 왜곡되지 않도록 가로세로 비율을 조정할 수 있습니다.' },
12
+ { question: '디더링 알고리즘은 어떻게 작동하나요?', answer: '디더링은 서로 다른 색상의 픽셀을 일정한 간격의 패턴으로 섞어 더 많은 색상이 있는 것 같은 착시를 일으킵니다. 제한된 비즈 팔레트에서도 색상 그라데이션이 더 매끄럽게 보이도록 도와줍니다.' },
13
+ ];
14
+
15
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
16
+ { name: '선명한 이미지 업로드', text: '도안을 따라 하기 쉽도록 대비가 좋고 세부 묘사가 너무 복잡하지 않은 사진을 선택하세요.' },
17
+ { name: '그리드 크기 조절', text: '최종 작품의 가로세로 비즈 개수를 정의하세요. 비즈가 많을수록 디테일은 살지만 난이도는 높아집니다.' },
18
+ { name: '색상 팔레트 최적화', text: '보유하고 있는 공예 키트의 비즈와 일치할 때까지 색상 수를 줄이세요.' },
19
+ { name: '가이드 도안 내보내기', text: '색상 코드가 포함된 최종 도안을 생성하여 보드에 조립하거나 실을 꿸 때 참고용으로 사용하세요.' },
20
+ ];
21
+
22
+ const faqSchema: WithContext<FAQPage> = {
23
+ '@context': 'https://schema.org',
24
+ '@type': 'FAQPage',
25
+ mainEntity: faq.map((item) => ({
26
+ '@type': 'Question',
27
+ name: item.question,
28
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
29
+ })),
30
+ };
31
+
32
+ const howToSchema: WithContext<HowTo> = {
33
+ '@context': 'https://schema.org',
34
+ '@type': 'HowTo',
35
+ name: title,
36
+ description,
37
+ step: howTo.map((step) => ({
38
+ '@type': 'HowToStep',
39
+ name: step.name,
40
+ text: step.text,
41
+ })),
42
+ };
43
+
44
+ const appSchema: WithContext<SoftwareApplication> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'SoftwareApplication',
47
+ name: title,
48
+ description,
49
+ applicationCategory: 'UtilitiesApplication',
50
+ operatingSystem: 'Web',
51
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
52
+ inLanguage: 'ko',
53
+ };
54
+
55
+ export const content: BeadPatternGeneratorLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ faqTitle: '자주 묻는 질문',
60
+ bibliographyTitle: '전문가 참고 자료',
61
+ ui: {
62
+ title: '도안 연구소',
63
+ subtitle: '당신의 손을 위한 색상 공학',
64
+ description: '사진에서 비즈 도안으로.',
65
+ gridSizeLabel: '크기 (너비)',
66
+ colorCountLabel: '색상 수',
67
+ optionsLabel: '옵션',
68
+ rulersLabel: '자',
69
+ symbolsTooltip: '깜짝 도안',
70
+ symbolsLabel: '기호',
71
+ downloadBtn: '다운로드',
72
+ uploadTitle: '비전 업로드',
73
+ uploadSubtitle: '디지털 마법이 시작됩니다',
74
+ paletteTitle: '색채 DNA',
75
+ reuploadBtn: '이미지 변경',
76
+ tunnelVisionTitle: '터널 시야',
77
+ tunnelVisionSubtitle: '한 줄씩 정확하게 조립할 수 있게 도와주는 도우미.',
78
+ uploadLabel: '사진 업로드',
79
+ pixelateBtn: '도안 생성',
80
+ faqTitle: 'FAQ',
81
+ bibliographyTitle: '참고 문헌'
82
+ },
83
+ seo: [
84
+ { type: 'title', text: '디지털 연금술: 픽셀을 만질 수 있는 예술로 변환하기', level: 2 },
85
+ { type: 'paragraph', html: '<strong>궁극의 도안 스튜디오</strong>에 오신 것을 환영합니다. 픽셀 아트 설계자, 미유키 마스터, 십자수 선구자들을 위해 설계된 <em>색채 지능 엔진</em>입니다. 디지털과 수공예 사이의 가교 역할을 합니다.' },
86
+ { type: 'card', icon: 'mdi:grid', title: '지능형 그리드', html: '본 사이트의 <strong>공간 서브샘플링</strong> 알고리즘은 이미지를 단순히 "축소"하는 것이 아닙니다. 시각적 구조를 분석하여 복잡한 픽셀 그룹을 개별 셀에 매핑함으로써, 전문 일러스트레이터처럼 실루엣과 가장자리의 무결성을 유지합니다.' },
87
+ { type: 'card', icon: 'mdi:palette', title: 'K Means 색상 양자화', html: '이미지의 "중심" 톤을 수학적으로 찾아내는 <strong>K-Means 클러스터링</strong> 알고리즘의 변형을 구현합니다. 12, 24 또는 32색의 미니멀한 팔레트로도 놀라운 시각적 정확도를 제공합니다.' },
88
+ { type: 'title', text: '3단계 마스터하기', level: 3 },
89
+ { type: 'card', icon: 'mdi:image-search', title: '완벽한 선택', html: '<strong>높은 대비</strong>, 드라마틱한 조명 및 상징적인 형태를 찾으세요. 깨끗한 배경의 인물 사진, 로고, 벡터 아트는 매우 아름답게 변환됩니다.' },
90
+ { type: 'card', icon: 'mdi:ruler', title: '차원 보정', html: '<strong>미유키 델리카:</strong> 50개 비즈 ≈ 8cm · <strong>하마 미디:</strong> 50개 비즈 ≈ 25cm · <strong>십자수:</strong> 1셀 = 1땀.' },
91
+ { type: 'card', icon: 'mdi:eye-check', title: '선(Zen)의 실행 (터널 시야 모드)', html: '본 사이트의 <strong>터널 시야</strong> 시스템은 시각적 소음을 줄이고 현재 활성화된 행만 정확하게 강조하는 개인 비서 역할을 합니다. 절대적인 집중을 가능하게 합니다.' },
92
+ { type: 'title', text: '무한한 캔버스', level: 3 },
93
+ { type: 'list', items: [
94
+ '<strong>직물 보석:</strong> 직조기 및 기하학적 팔찌를 위한 복잡한 도안.',
95
+ '<strong>십자수:</strong> 픽셀 단위로 수놓을 준비가 된 현대적인 도안.',
96
+ '<strong>모자이크:</strong> 단순화된 세라믹 타일을 사용한 대형 벽화.',
97
+ '<strong>레트로 게임:</strong> 정통 8비트 에셋 및 스프라이트를 단 몇 초 만에 제작.',
98
+ ]},
99
+ { type: 'stats', items: [
100
+ { value: '10–100', label: '비즈 너비 범위', icon: 'mdi:arrow-expand-horizontal' },
101
+ { value: '2–32', label: '색상 팔레트 슬롯', icon: 'mdi:palette-swatch' },
102
+ { value: 'K-Means', label: '양자화 알고리즘', icon: 'mdi:function-variant' },
103
+ { value: 'ZIP', label: '내보내기 형식 (도안 + 가이드)', icon: 'mdi:zip-box' },
104
+ ], columns: 4 },
105
+ { type: 'paragraph', html: '덧없는 화면의 시대에 물리적인 무언가를 만드는 것은 혁명적인 행위입니다. 이 도구는 예술을 자동화하려는 것이 아니라 <strong>장인의 능력을 강화</strong>하기 위한 것입니다. 당신의 손이 지속적인 유산을 쌓을 수 있도록 계산적인 정밀함을 제공합니다.' },
106
+ ],
107
+ faq,
108
+ bibliography: [
109
+ { name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
110
+ { name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
111
+ { name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
112
+ ],
113
+ howTo,
114
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
115
+ };
@@ -0,0 +1,115 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { BeadPatternGeneratorLocaleContent } from '../index';
3
+
4
+ const slug = 'kralenpatroon-generator';
5
+ const title = 'Patroon Generator';
6
+ const description = 'Maak pixel art en kralenschema\'s voor Miyuki of Hama van je foto\'s. Kleurkwantisatie-algoritme, tunnelvisie-modus en ZIP-export.';
7
+
8
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
9
+ { 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.' },
10
+ { 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.).' },
11
+ { 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.' },
12
+ { 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.' },
13
+ ];
14
+
15
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
16
+ { name: 'Upload een heldere afbeelding', text: 'Kies een foto met goed contrast en weinig kleine details, zodat het patroon makkelijker te volgen is.' },
17
+ { name: 'Pas de roostergrootte aan', text: 'Bepaal hoeveel kralen breed en hoog je uiteindelijke werkstuk wordt. Meer kralen = meer detail, maar ook moeilijker.' },
18
+ { name: 'Optimaliseer het kleurenpalet', text: 'Verminder het aantal kleuren totdat ze overeenkomen met de kralen die je beschikbaar hebt in je hobbypakket.' },
19
+ { 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.' },
20
+ ];
21
+
22
+ const faqSchema: WithContext<FAQPage> = {
23
+ '@context': 'https://schema.org',
24
+ '@type': 'FAQPage',
25
+ mainEntity: faq.map((item) => ({
26
+ '@type': 'Question',
27
+ name: item.question,
28
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
29
+ })),
30
+ };
31
+
32
+ const howToSchema: WithContext<HowTo> = {
33
+ '@context': 'https://schema.org',
34
+ '@type': 'HowTo',
35
+ name: title,
36
+ description,
37
+ step: howTo.map((step) => ({
38
+ '@type': 'HowToStep',
39
+ name: step.name,
40
+ text: step.text,
41
+ })),
42
+ };
43
+
44
+ const appSchema: WithContext<SoftwareApplication> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'SoftwareApplication',
47
+ name: title,
48
+ description,
49
+ applicationCategory: 'UtilitiesApplication',
50
+ operatingSystem: 'Web',
51
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
52
+ inLanguage: 'nl',
53
+ };
54
+
55
+ export const content: BeadPatternGeneratorLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ faqTitle: 'Veelgestelde Vragen',
60
+ bibliographyTitle: 'Ambachtelijke Bibliografie',
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
+ { name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
110
+ { name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
111
+ { name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
112
+ ],
113
+ howTo,
114
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
115
+ };
@@ -0,0 +1,115 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { BeadPatternGeneratorLocaleContent } from '../index';
3
+
4
+ const slug = 'generator-wzorow-koralikowych';
5
+ const title = 'Generator Wzorów';
6
+ 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.';
7
+
8
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
9
+ { 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.' },
10
+ { 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.).' },
11
+ { 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.' },
12
+ { 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.' },
13
+ ];
14
+
15
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
16
+ { 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.' },
17
+ { 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.' },
18
+ { name: 'Zoptymalizuj paletę kolorów', text: 'Zmniejsz liczbę kolorów tak, aby odpowiadały koralikom dostępnym w Twoim zestawie kreatywnym.' },
19
+ { 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ę.' },
20
+ ];
21
+
22
+ const faqSchema: WithContext<FAQPage> = {
23
+ '@context': 'https://schema.org',
24
+ '@type': 'FAQPage',
25
+ mainEntity: faq.map((item) => ({
26
+ '@type': 'Question',
27
+ name: item.question,
28
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
29
+ })),
30
+ };
31
+
32
+ const howToSchema: WithContext<HowTo> = {
33
+ '@context': 'https://schema.org',
34
+ '@type': 'HowTo',
35
+ name: title,
36
+ description,
37
+ step: howTo.map((step) => ({
38
+ '@type': 'HowToStep',
39
+ name: step.name,
40
+ text: step.text,
41
+ })),
42
+ };
43
+
44
+ const appSchema: WithContext<SoftwareApplication> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'SoftwareApplication',
47
+ name: title,
48
+ description,
49
+ applicationCategory: 'UtilitiesApplication',
50
+ operatingSystem: 'Web',
51
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
52
+ inLanguage: 'pl',
53
+ };
54
+
55
+ export const content: BeadPatternGeneratorLocaleContent = {
56
+ slug,
57
+ title,
58
+ description,
59
+ faqTitle: 'Najczęściej Zadawane Pytania',
60
+ bibliographyTitle: 'Bibliografia Rękodzielnicza',
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
+ { name: 'Scikit-Image: Color Quantization using K-Means', url: 'https://scikit-learn.org/0.23/auto_examples/cluster/plot_color_quantization.html' },
110
+ { name: 'Miyuki Delica Beads Specification', url: 'https://www.miyuki-beads.co.jp/english/seedbeads/delica.html' },
111
+ { name: 'Visgraf Lab: Dithering Algorithms', url: 'https://www.visgraf.impa.br/Courses/ip00/proj/Dithering1/floyd_steinberg_dithering.html' },
112
+ ],
113
+ howTo,
114
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
115
+ };