@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.
Files changed (133) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +2 -2
  3. package/src/category/i18n/en.ts +2 -2
  4. package/src/category/i18n/es.ts +2 -2
  5. package/src/category/i18n/fr.ts +2 -2
  6. package/src/category/i18n/id.ts +2 -2
  7. package/src/category/i18n/it.ts +2 -2
  8. package/src/category/i18n/ja.ts +2 -2
  9. package/src/category/i18n/ko.ts +2 -2
  10. package/src/category/i18n/nl.ts +2 -2
  11. package/src/category/i18n/pl.ts +2 -2
  12. package/src/category/i18n/pt.ts +2 -2
  13. package/src/category/i18n/ru.ts +2 -2
  14. package/src/category/i18n/sv.ts +2 -2
  15. package/src/category/i18n/tr.ts +2 -2
  16. package/src/category/i18n/zh.ts +2 -2
  17. package/src/category/seo.astro +1 -1
  18. package/src/components/PreviewNavSidebar.astro +1 -1
  19. package/src/components/PreviewToolbar.astro +1 -1
  20. package/src/env.d.ts +1 -1
  21. package/src/pages/index.astro +1 -1
  22. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  23. package/src/tests/category_seo_quality.test.ts +74 -0
  24. package/src/tests/faq_count.test.ts +1 -1
  25. package/src/tests/mocks/astro_mock.js +1 -1
  26. package/src/tests/no_h1_in_components.test.ts +1 -1
  27. package/src/tests/seo_parity.test.ts +2 -2
  28. package/src/tests/seo_translation_completeness.test.ts +75 -0
  29. package/src/tests/seo_wellformed_export.test.ts +65 -0
  30. package/src/tests/tool_validation.test.ts +17 -17
  31. package/src/tool/bead-pattern-generator/bibliography.astro +8 -8
  32. package/src/tool/bead-pattern-generator/i18n/de.ts +111 -111
  33. package/src/tool/bead-pattern-generator/i18n/en.ts +111 -111
  34. package/src/tool/bead-pattern-generator/i18n/es.ts +104 -104
  35. package/src/tool/bead-pattern-generator/i18n/fr.ts +111 -111
  36. package/src/tool/bead-pattern-generator/i18n/id.ts +111 -111
  37. package/src/tool/bead-pattern-generator/i18n/it.ts +111 -111
  38. package/src/tool/bead-pattern-generator/i18n/ja.ts +111 -111
  39. package/src/tool/bead-pattern-generator/i18n/ko.ts +111 -111
  40. package/src/tool/bead-pattern-generator/i18n/nl.ts +111 -111
  41. package/src/tool/bead-pattern-generator/i18n/pl.ts +111 -111
  42. package/src/tool/bead-pattern-generator/i18n/pt.ts +111 -111
  43. package/src/tool/bead-pattern-generator/i18n/ru.ts +111 -111
  44. package/src/tool/bead-pattern-generator/i18n/sv.ts +111 -111
  45. package/src/tool/bead-pattern-generator/i18n/tr.ts +111 -111
  46. package/src/tool/bead-pattern-generator/i18n/zh.ts +111 -111
  47. package/src/tool/bead-pattern-generator/seo.astro +19 -19
  48. package/src/tool/dice-roller/bibliography.astro +8 -8
  49. package/src/tool/dice-roller/i18n/de.ts +134 -134
  50. package/src/tool/dice-roller/i18n/en.ts +134 -134
  51. package/src/tool/dice-roller/i18n/es.ts +125 -125
  52. package/src/tool/dice-roller/i18n/fr.ts +134 -134
  53. package/src/tool/dice-roller/i18n/id.ts +134 -134
  54. package/src/tool/dice-roller/i18n/it.ts +134 -134
  55. package/src/tool/dice-roller/i18n/ja.ts +134 -134
  56. package/src/tool/dice-roller/i18n/ko.ts +134 -134
  57. package/src/tool/dice-roller/i18n/nl.ts +134 -134
  58. package/src/tool/dice-roller/i18n/pl.ts +134 -134
  59. package/src/tool/dice-roller/i18n/pt.ts +134 -134
  60. package/src/tool/dice-roller/i18n/ru.ts +134 -134
  61. package/src/tool/dice-roller/i18n/sv.ts +134 -134
  62. package/src/tool/dice-roller/i18n/tr.ts +134 -134
  63. package/src/tool/dice-roller/i18n/zh.ts +134 -134
  64. package/src/tool/dice-roller/seo.astro +15 -15
  65. package/src/tool/excuse-generator/bibliography.astro +8 -8
  66. package/src/tool/excuse-generator/i18n/de.ts +120 -120
  67. package/src/tool/excuse-generator/i18n/en.ts +120 -120
  68. package/src/tool/excuse-generator/i18n/es.ts +118 -118
  69. package/src/tool/excuse-generator/i18n/fr.ts +120 -120
  70. package/src/tool/excuse-generator/i18n/id.ts +120 -120
  71. package/src/tool/excuse-generator/i18n/it.ts +120 -120
  72. package/src/tool/excuse-generator/i18n/ja.ts +120 -120
  73. package/src/tool/excuse-generator/i18n/ko.ts +120 -120
  74. package/src/tool/excuse-generator/i18n/nl.ts +120 -120
  75. package/src/tool/excuse-generator/i18n/pl.ts +120 -120
  76. package/src/tool/excuse-generator/i18n/pt.ts +120 -120
  77. package/src/tool/excuse-generator/i18n/ru.ts +120 -120
  78. package/src/tool/excuse-generator/i18n/sv.ts +120 -120
  79. package/src/tool/excuse-generator/i18n/tr.ts +120 -120
  80. package/src/tool/excuse-generator/i18n/zh.ts +120 -120
  81. package/src/tool/excuse-generator/seo.astro +15 -15
  82. package/src/tool/fortune-cookie/bibliography.astro +8 -8
  83. package/src/tool/fortune-cookie/i18n/de.ts +124 -124
  84. package/src/tool/fortune-cookie/i18n/en.ts +124 -124
  85. package/src/tool/fortune-cookie/i18n/es.ts +125 -125
  86. package/src/tool/fortune-cookie/i18n/fr.ts +124 -124
  87. package/src/tool/fortune-cookie/i18n/id.ts +124 -124
  88. package/src/tool/fortune-cookie/i18n/it.ts +124 -124
  89. package/src/tool/fortune-cookie/i18n/ja.ts +124 -124
  90. package/src/tool/fortune-cookie/i18n/ko.ts +124 -124
  91. package/src/tool/fortune-cookie/i18n/nl.ts +124 -124
  92. package/src/tool/fortune-cookie/i18n/pl.ts +124 -124
  93. package/src/tool/fortune-cookie/i18n/pt.ts +124 -124
  94. package/src/tool/fortune-cookie/i18n/ru.ts +124 -124
  95. package/src/tool/fortune-cookie/i18n/sv.ts +124 -124
  96. package/src/tool/fortune-cookie/i18n/tr.ts +124 -124
  97. package/src/tool/fortune-cookie/i18n/zh.ts +124 -124
  98. package/src/tool/fortune-cookie/seo.astro +15 -15
  99. package/src/tool/synesthesia-painter/bibliography.astro +8 -8
  100. package/src/tool/synesthesia-painter/i18n/de.ts +118 -118
  101. package/src/tool/synesthesia-painter/i18n/en.ts +118 -118
  102. package/src/tool/synesthesia-painter/i18n/es.ts +110 -110
  103. package/src/tool/synesthesia-painter/i18n/fr.ts +118 -118
  104. package/src/tool/synesthesia-painter/i18n/id.ts +118 -118
  105. package/src/tool/synesthesia-painter/i18n/it.ts +118 -118
  106. package/src/tool/synesthesia-painter/i18n/ja.ts +118 -118
  107. package/src/tool/synesthesia-painter/i18n/ko.ts +118 -118
  108. package/src/tool/synesthesia-painter/i18n/nl.ts +118 -118
  109. package/src/tool/synesthesia-painter/i18n/pl.ts +118 -118
  110. package/src/tool/synesthesia-painter/i18n/pt.ts +118 -118
  111. package/src/tool/synesthesia-painter/i18n/ru.ts +118 -118
  112. package/src/tool/synesthesia-painter/i18n/sv.ts +118 -118
  113. package/src/tool/synesthesia-painter/i18n/tr.ts +118 -118
  114. package/src/tool/synesthesia-painter/i18n/zh.ts +118 -118
  115. package/src/tool/synesthesia-painter/seo.astro +15 -15
  116. package/src/tool/zalgo-generator/bibliography.astro +8 -8
  117. package/src/tool/zalgo-generator/i18n/de.ts +109 -109
  118. package/src/tool/zalgo-generator/i18n/en.ts +109 -109
  119. package/src/tool/zalgo-generator/i18n/es.ts +109 -109
  120. package/src/tool/zalgo-generator/i18n/fr.ts +109 -109
  121. package/src/tool/zalgo-generator/i18n/id.ts +109 -109
  122. package/src/tool/zalgo-generator/i18n/it.ts +109 -109
  123. package/src/tool/zalgo-generator/i18n/ja.ts +109 -109
  124. package/src/tool/zalgo-generator/i18n/ko.ts +109 -109
  125. package/src/tool/zalgo-generator/i18n/nl.ts +109 -109
  126. package/src/tool/zalgo-generator/i18n/pl.ts +109 -109
  127. package/src/tool/zalgo-generator/i18n/pt.ts +109 -109
  128. package/src/tool/zalgo-generator/i18n/ru.ts +109 -109
  129. package/src/tool/zalgo-generator/i18n/sv.ts +109 -109
  130. package/src/tool/zalgo-generator/i18n/tr.ts +109 -109
  131. package/src/tool/zalgo-generator/i18n/zh.ts +109 -109
  132. package/src/tool/zalgo-generator/seo.astro +15 -15
  133. 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 = 'bead-pattern-generator';
6
- const title = 'パターンジェネレーター';
7
- const description = 'あなたの写真から、デリカビーズ(Miyuki)やアイロンビーズ(Hama)のピクセルアートや図案を作成します。減色アルゴリズム、トンネルビジョンモード、ZIPエクスポート機能を搭載。';
8
-
9
- const faq: BeadPatternGeneratorLocaleContent['faq'] = [
10
- { question: '図案作成における「減色(カラークオンタイズ)」とは何ですか?', answer: '写真に含まれる数千の色を、実際に使用可能なビーズの色(MiyukiやHamaなど)に合わせて数色に絞り込むプロセスです。高度なアルゴリズムを使用し、最小限のパレットで視覚的な再現性を維持します。' },
11
- { question: 'この図案はクロスステッチに使えますか?', answer: 'はい、このジェネレーターが作成するグリッドチャートはクロスステッチに最適です。布の種類(アイダ14、18カウントなど)に合わせてグリッドサイズを選択してください。' },
12
- { question: 'MiyukiビーズとHamaビーズの違いは何ですか?', answer: 'Miyukiデリカビーズは、ジュエリー用の非常に小さく精密なガラスビーズです。Hamaビーズはプラスチック製で、アイロンで溶かして接着します。当ツールでは、素材に合わせてアスペクト比を調整できるため、図案が歪むことはありません。' },
13
- { question: 'ディザリングアルゴリズムはどのように機能しますか?', answer: 'ディザリングは、異なる色のピクセルを特定のパターンで混合し、限られた色数でより多くの色があるように見せる手法です。ビーズの種類が少なくても、色のグラデーションをより滑らかに見せることができます。' },
14
- ];
15
-
16
- const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
17
- { name: '鮮明な画像をアップロードする', text: 'コントラストがはっきりしており、細部が細かすぎない写真を選ぶと、作りやすい図案になります。' },
18
- { name: 'グリッドサイズを調整する', text: '作品の縦横のビーズ数を定義します。ビーズ数が多いほど詳細は鮮明になりますが、難易度も上がります。' },
19
- { name: 'カラーパレットを最適化する', text: '手持ちのビーズキットにある色に合わせて、色数を減らします。' },
20
- { name: 'ガイド図案をエクスポートする', text: 'カラーコード付きの最終図案を生成し、ボードへの配置や糸通しの際の参照用として使用します。' },
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: 'ja',
54
- };
55
-
56
- export const content: BeadPatternGeneratorLocaleContent = {
57
- slug,
58
- title,
59
- description,
60
- faqTitle: 'よくある質問',
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
- 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 = 'bead-pattern-generator';
6
+ const title = 'パターンジェネレーター';
7
+ const description = 'あなたの写真から、デリカビーズ(Miyuki)やアイロンビーズ(Hama)のピクセルアートや図案を作成します。減色アルゴリズム、トンネルビジョンモード、ZIPエクスポート機能を搭載。';
8
+
9
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
10
+ { question: '図案作成における「減色(カラークオンタイズ)」とは何ですか?', answer: '写真に含まれる数千の色を、実際に使用可能なビーズの色(MiyukiやHamaなど)に合わせて数色に絞り込むプロセスです。高度なアルゴリズムを使用し、最小限のパレットで視覚的な再現性を維持します。' },
11
+ { question: 'この図案はクロスステッチに使えますか?', answer: 'はい、このジェネレーターが作成するグリッドチャートはクロスステッチに最適です。布の種類(アイダ14、18カウントなど)に合わせてグリッドサイズを選択してください。' },
12
+ { question: 'MiyukiビーズとHamaビーズの違いは何ですか?', answer: 'Miyukiデリカビーズは、ジュエリー用の非常に小さく精密なガラスビーズです。Hamaビーズはプラスチック製で、アイロンで溶かして接着します。当ツールでは、素材に合わせてアスペクト比を調整できるため、図案が歪むことはありません。' },
13
+ { question: 'ディザリングアルゴリズムはどのように機能しますか?', answer: 'ディザリングは、異なる色のピクセルを特定のパターンで混合し、限られた色数でより多くの色があるように見せる手法です。ビーズの種類が少なくても、色のグラデーションをより滑らかに見せることができます。' },
14
+ ];
15
+
16
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
17
+ { name: '鮮明な画像をアップロードする', text: 'コントラストがはっきりしており、細部が細かすぎない写真を選ぶと、作りやすい図案になります。' },
18
+ { name: 'グリッドサイズを調整する', text: '作品の縦横のビーズ数を定義します。ビーズ数が多いほど詳細は鮮明になりますが、難易度も上がります。' },
19
+ { name: 'カラーパレットを最適化する', text: '手持ちのビーズキットにある色に合わせて、色数を減らします。' },
20
+ { name: 'ガイド図案をエクスポートする', text: 'カラーコード付きの最終図案を生成し、ボードへの配置や糸通しの際の参照用として使用します。' },
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: 'ja',
54
+ };
55
+
56
+ export const content: BeadPatternGeneratorLocaleContent = {
57
+ slug,
58
+ title,
59
+ description,
60
+ faqTitle: 'よくある質問',
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
+ 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 = 'bead-pattern-generator';
6
- const title = '도안 생성기';
7
- const description = '사진을 사용하여 미유키 또는 하마 비즈를 위한 픽셀 아트 및 도안을 만들어보세요. 색상 양자화 알고리즘, 터널 시야 모드, ZIP 내보내기 기능을 지원합니다.';
8
-
9
- const faq: BeadPatternGeneratorLocaleContent['faq'] = [
10
- { question: '도안에서 색상 양자화란 무엇인가요?', answer: '사진의 수천 가지 색상을 실제 사용 가능한 비즈 색상(예: 미유키 또는 하마)에 맞춰 몇 가지로 줄이는 과정입니다. 스마트 알고리즘을 사용하여 최소한의 팔레트로도 시각적 유사성을 유지합니다.' },
11
- { question: '이 도안을 십자수에 사용할 수 있나요?', answer: '네, 생성기는 십자수와 완벽하게 호환되는 그리드 차트를 만듭니다. 원단(Aida 14, 18 등)에 맞는 그리드 크기를 선택하기만 하면 됩니다.' },
12
- { question: '미유키 비즈와 하마 비즈의 차이점은 무엇인가요?', answer: '미유키 델리카 비즈는 보석 제작을 위한 매우 작고 정밀한 유리 비즈입니다. 하마 비즈는 플라스틱 재질로 다리미로 녹여서 붙입니다. 저희 도구는 사용되는 재료에 따라 도안이 왜곡되지 않도록 가로세로 비율을 조정할 수 있습니다.' },
13
- { question: '디더링 알고리즘은 어떻게 작동하나요?', answer: '디더링은 서로 다른 색상의 픽셀을 일정한 간격의 패턴으로 섞어 더 많은 색상이 있는 것 같은 착시를 일으킵니다. 제한된 비즈 팔레트에서도 색상 그라데이션이 더 매끄럽게 보이도록 도와줍니다.' },
14
- ];
15
-
16
- const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
17
- { name: '선명한 이미지 업로드', text: '도안을 따라 하기 쉽도록 대비가 좋고 세부 묘사가 너무 복잡하지 않은 사진을 선택하세요.' },
18
- { name: '그리드 크기 조절', text: '최종 작품의 가로세로 비즈 개수를 정의하세요. 비즈가 많을수록 디테일은 살지만 난이도는 높아집니다.' },
19
- { name: '색상 팔레트 최적화', text: '보유하고 있는 공예 키트의 비즈와 일치할 때까지 색상 수를 줄이세요.' },
20
- { name: '가이드 도안 내보내기', text: '색상 코드가 포함된 최종 도안을 생성하여 보드에 조립하거나 실을 꿸 때 참고용으로 사용하세요.' },
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: 'ko',
54
- };
55
-
56
- export const content: BeadPatternGeneratorLocaleContent = {
57
- slug,
58
- title,
59
- description,
60
- faqTitle: '자주 묻는 질문',
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
- 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 = 'bead-pattern-generator';
6
+ const title = '도안 생성기';
7
+ const description = '사진을 사용하여 미유키 또는 하마 비즈를 위한 픽셀 아트 및 도안을 만들어보세요. 색상 양자화 알고리즘, 터널 시야 모드, ZIP 내보내기 기능을 지원합니다.';
8
+
9
+ const faq: BeadPatternGeneratorLocaleContent['faq'] = [
10
+ { question: '도안에서 색상 양자화란 무엇인가요?', answer: '사진의 수천 가지 색상을 실제 사용 가능한 비즈 색상(예: 미유키 또는 하마)에 맞춰 몇 가지로 줄이는 과정입니다. 스마트 알고리즘을 사용하여 최소한의 팔레트로도 시각적 유사성을 유지합니다.' },
11
+ { question: '이 도안을 십자수에 사용할 수 있나요?', answer: '네, 생성기는 십자수와 완벽하게 호환되는 그리드 차트를 만듭니다. 원단(Aida 14, 18 등)에 맞는 그리드 크기를 선택하기만 하면 됩니다.' },
12
+ { question: '미유키 비즈와 하마 비즈의 차이점은 무엇인가요?', answer: '미유키 델리카 비즈는 보석 제작을 위한 매우 작고 정밀한 유리 비즈입니다. 하마 비즈는 플라스틱 재질로 다리미로 녹여서 붙입니다. 저희 도구는 사용되는 재료에 따라 도안이 왜곡되지 않도록 가로세로 비율을 조정할 수 있습니다.' },
13
+ { question: '디더링 알고리즘은 어떻게 작동하나요?', answer: '디더링은 서로 다른 색상의 픽셀을 일정한 간격의 패턴으로 섞어 더 많은 색상이 있는 것 같은 착시를 일으킵니다. 제한된 비즈 팔레트에서도 색상 그라데이션이 더 매끄럽게 보이도록 도와줍니다.' },
14
+ ];
15
+
16
+ const howTo: BeadPatternGeneratorLocaleContent['howTo'] = [
17
+ { name: '선명한 이미지 업로드', text: '도안을 따라 하기 쉽도록 대비가 좋고 세부 묘사가 너무 복잡하지 않은 사진을 선택하세요.' },
18
+ { name: '그리드 크기 조절', text: '최종 작품의 가로세로 비즈 개수를 정의하세요. 비즈가 많을수록 디테일은 살지만 난이도는 높아집니다.' },
19
+ { name: '색상 팔레트 최적화', text: '보유하고 있는 공예 키트의 비즈와 일치할 때까지 색상 수를 줄이세요.' },
20
+ { name: '가이드 도안 내보내기', text: '색상 코드가 포함된 최종 도안을 생성하여 보드에 조립하거나 실을 꿸 때 참고용으로 사용하세요.' },
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: 'ko',
54
+ };
55
+
56
+ export const content: BeadPatternGeneratorLocaleContent = {
57
+ slug,
58
+ title,
59
+ description,
60
+ faqTitle: '자주 묻는 질문',
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
+ howTo,
110
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
111
+ };