@jjlmoya/utils-audiovisual 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +59 -58
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +198 -0
- package/src/category/i18n/it.ts +198 -0
- package/src/category/i18n/ja.ts +198 -0
- package/src/category/i18n/ko.ts +198 -0
- package/src/category/i18n/nl.ts +198 -0
- package/src/category/i18n/pl.ts +198 -0
- package/src/category/i18n/pt.ts +198 -0
- package/src/category/i18n/ru.ts +198 -0
- package/src/category/i18n/sv.ts +198 -0
- package/src/category/i18n/tr.ts +198 -0
- package/src/category/i18n/zh.ts +198 -0
- package/src/category/index.ts +31 -3
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/en.ts +1 -1
- package/src/tool/chromaticLens/i18n/es.ts +1 -1
- package/src/tool/chromaticLens/i18n/fr.ts +1 -1
- package/src/tool/chromaticLens/i18n/id.ts +246 -0
- package/src/tool/chromaticLens/i18n/it.ts +246 -0
- package/src/tool/chromaticLens/i18n/ja.ts +246 -0
- package/src/tool/chromaticLens/i18n/ko.ts +246 -0
- package/src/tool/chromaticLens/i18n/nl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pt.ts +246 -0
- package/src/tool/chromaticLens/i18n/ru.ts +246 -0
- package/src/tool/chromaticLens/i18n/sv.ts +246 -0
- package/src/tool/chromaticLens/i18n/tr.ts +246 -0
- package/src/tool/chromaticLens/i18n/zh.ts +246 -0
- package/src/tool/chromaticLens/index.ts +15 -7
- package/src/tool/collageMaker/i18n/de.ts +233 -0
- package/src/tool/collageMaker/i18n/en.ts +1 -1
- package/src/tool/collageMaker/i18n/es.ts +1 -1
- package/src/tool/collageMaker/i18n/fr.ts +1 -1
- package/src/tool/collageMaker/i18n/id.ts +233 -0
- package/src/tool/collageMaker/i18n/it.ts +233 -0
- package/src/tool/collageMaker/i18n/ja.ts +233 -0
- package/src/tool/collageMaker/i18n/ko.ts +233 -0
- package/src/tool/collageMaker/i18n/nl.ts +233 -0
- package/src/tool/collageMaker/i18n/pl.ts +233 -0
- package/src/tool/collageMaker/i18n/pt.ts +233 -0
- package/src/tool/collageMaker/i18n/ru.ts +233 -0
- package/src/tool/collageMaker/i18n/sv.ts +233 -0
- package/src/tool/collageMaker/i18n/tr.ts +233 -0
- package/src/tool/collageMaker/i18n/zh.ts +233 -0
- package/src/tool/collageMaker/index.ts +15 -6
- package/src/tool/exifCleaner/i18n/de.ts +277 -0
- package/src/tool/exifCleaner/i18n/en.ts +2 -2
- package/src/tool/exifCleaner/i18n/es.ts +2 -2
- package/src/tool/exifCleaner/i18n/fr.ts +4 -4
- package/src/tool/exifCleaner/i18n/id.ts +277 -0
- package/src/tool/exifCleaner/i18n/it.ts +277 -0
- package/src/tool/exifCleaner/i18n/ja.ts +277 -0
- package/src/tool/exifCleaner/i18n/ko.ts +277 -0
- package/src/tool/exifCleaner/i18n/nl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pt.ts +277 -0
- package/src/tool/exifCleaner/i18n/ru.ts +277 -0
- package/src/tool/exifCleaner/i18n/sv.ts +277 -0
- package/src/tool/exifCleaner/i18n/tr.ts +277 -0
- package/src/tool/exifCleaner/i18n/zh.ts +277 -0
- package/src/tool/exifCleaner/index.ts +16 -8
- package/src/tool/imageCompressor/i18n/de.ts +242 -0
- package/src/tool/imageCompressor/i18n/en.ts +2 -2
- package/src/tool/imageCompressor/i18n/es.ts +2 -2
- package/src/tool/imageCompressor/i18n/id.ts +242 -0
- package/src/tool/imageCompressor/i18n/it.ts +242 -0
- package/src/tool/imageCompressor/i18n/ja.ts +242 -0
- package/src/tool/imageCompressor/i18n/ko.ts +242 -0
- package/src/tool/imageCompressor/i18n/nl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pt.ts +242 -0
- package/src/tool/imageCompressor/i18n/ru.ts +242 -0
- package/src/tool/imageCompressor/i18n/sv.ts +242 -0
- package/src/tool/imageCompressor/i18n/tr.ts +242 -0
- package/src/tool/imageCompressor/i18n/zh.ts +244 -0
- package/src/tool/imageCompressor/index.ts +15 -7
- package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/en.ts +2 -2
- package/src/tool/printQualityCalculator/i18n/es.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/fr.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
- package/src/tool/printQualityCalculator/index.ts +15 -7
- package/src/tool/privacyBlur/i18n/de.ts +238 -0
- package/src/tool/privacyBlur/i18n/en.ts +1 -1
- package/src/tool/privacyBlur/i18n/es.ts +1 -1
- package/src/tool/privacyBlur/i18n/fr.ts +1 -1
- package/src/tool/privacyBlur/i18n/id.ts +238 -0
- package/src/tool/privacyBlur/i18n/it.ts +238 -0
- package/src/tool/privacyBlur/i18n/ja.ts +238 -0
- package/src/tool/privacyBlur/i18n/ko.ts +238 -0
- package/src/tool/privacyBlur/i18n/nl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pt.ts +238 -0
- package/src/tool/privacyBlur/i18n/ru.ts +238 -0
- package/src/tool/privacyBlur/i18n/sv.ts +238 -0
- package/src/tool/privacyBlur/i18n/tr.ts +238 -0
- package/src/tool/privacyBlur/i18n/zh.ts +238 -0
- package/src/tool/privacyBlur/index.ts +15 -7
- package/src/tool/subtitleSync/i18n/de.ts +241 -0
- package/src/tool/subtitleSync/i18n/en.ts +1 -1
- package/src/tool/subtitleSync/i18n/es.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +8 -8
- package/src/tool/subtitleSync/i18n/id.ts +241 -0
- package/src/tool/subtitleSync/i18n/it.ts +241 -0
- package/src/tool/subtitleSync/i18n/ja.ts +241 -0
- package/src/tool/subtitleSync/i18n/ko.ts +241 -0
- package/src/tool/subtitleSync/i18n/nl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pt.ts +241 -0
- package/src/tool/subtitleSync/i18n/ru.ts +241 -0
- package/src/tool/subtitleSync/i18n/sv.ts +241 -0
- package/src/tool/subtitleSync/i18n/tr.ts +241 -0
- package/src/tool/subtitleSync/i18n/zh.ts +241 -0
- package/src/tool/subtitleSync/index.ts +15 -7
- package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
- package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
- package/src/tool/timelapseCalculator/index.ts +16 -8
- package/src/tool/tvDistance/i18n/de.ts +223 -0
- package/src/tool/tvDistance/i18n/en.ts +1 -1
- package/src/tool/tvDistance/i18n/es.ts +1 -1
- package/src/tool/tvDistance/i18n/fr.ts +1 -1
- package/src/tool/tvDistance/i18n/id.ts +223 -0
- package/src/tool/tvDistance/i18n/it.ts +223 -0
- package/src/tool/tvDistance/i18n/ja.ts +223 -0
- package/src/tool/tvDistance/i18n/ko.ts +223 -0
- package/src/tool/tvDistance/i18n/nl.ts +223 -0
- package/src/tool/tvDistance/i18n/pl.ts +223 -0
- package/src/tool/tvDistance/i18n/pt.ts +223 -0
- package/src/tool/tvDistance/i18n/ru.ts +223 -0
- package/src/tool/tvDistance/i18n/sv.ts +223 -0
- package/src/tool/tvDistance/i18n/tr.ts +223 -0
- package/src/tool/tvDistance/i18n/zh.ts +223 -0
- package/src/tool/tvDistance/index.ts +15 -7
- package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/en.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
- package/src/tool/videoFrameExtractor/index.ts +16 -8
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'free-online-photo-collage-maker-professional-compositions';
|
|
5
|
+
const title = 'オンライン コラージュ作成ツール:プロ仕様のデザイン';
|
|
6
|
+
const description = '数秒で無料のフォトコラージュを作成。複数のレイアウトから選択し、境界線を調整して、ウォーターマークなしの高画質でダウンロードできます。';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "ここに画像をドラッグ",
|
|
10
|
+
dropSub: "または {link} - 最小2、最大9枚",
|
|
11
|
+
dropLink: "ファイルを選択",
|
|
12
|
+
imgsLoaded: "読み込まれた画像",
|
|
13
|
+
layoutLabel: "レイアウト",
|
|
14
|
+
settingsLabel: "設定",
|
|
15
|
+
borderLabel: "境界線",
|
|
16
|
+
borderColorLabel: "境界線の色",
|
|
17
|
+
bgColorLabel: "背景",
|
|
18
|
+
downloadBtn: "ダウンロード",
|
|
19
|
+
previewTitle: "プレビュー",
|
|
20
|
+
needsImgs: "あと {n} 枚の画像が必要です",
|
|
21
|
+
errorMin: "少なくとも2枚の画像が必要です",
|
|
22
|
+
errorMax: "最大9枚まで許可されています",
|
|
23
|
+
errorLoad: "画像の読み込み中にエラーが発生しました",
|
|
24
|
+
faqTitle: "よくある質問",
|
|
25
|
+
bibliographyTitle: "リファレンス"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "写真の順序を変更するにはどうすればよいですか?",
|
|
31
|
+
answer: "写真は、読み込まれた画像リストに表示される順序でコラージュに配置されます。一度削除してから再度アップロードすることで、位置を調整できます。",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "コラージュの出力形式は何ですか?",
|
|
35
|
+
answer: "コラージュは高解像度WebP形式でダウンロードされます。これは鮮明さを維持したままSNSで共有するのに最適です。",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "写真をアップロード",
|
|
42
|
+
text: "ファイルエクスプローラーから2枚から9枚の画像を選択します。",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "レイアウトを選択",
|
|
46
|
+
text: "アップロードした写真の数に最適なグリッドを選択します。",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "スタイルをカスタマイズ",
|
|
50
|
+
text: "境界線の太さと色を調整して、プロフェッショナルな仕上がりにします。",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "ダウンロードして共有",
|
|
54
|
+
text: "作成ボタンを押し、完成した作品を即座にダウンロードします。",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "写真の構図:コラージュの芸術",
|
|
61
|
+
url: "https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A9%E3%83%BC%E3%82%B8%E3%83%A5",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: 'プロ仕様のオンラインコラージュ作成ツール',
|
|
69
|
+
items: [
|
|
70
|
+
'複数のレイアウトと定義済みグリッド',
|
|
71
|
+
'境界線と背景色のカスタマイズ',
|
|
72
|
+
'SNSに最適な1200pxの高解像度',
|
|
73
|
+
'使用制限なしの即時処理'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'コラージュデザイン:物語を語る構図', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: 'コラージュは単なる写真の混ぜ合わせではありません。感情や文脈を伝える視覚的な物語です。当社のツールを使えば、Photoshopや高価なソフトウェアを必要とせず、Instagram、Facebook、Pinterest、または個人プロジェクト用のプロフェッショナルな幾何学的構成を作成できます。' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: '枚の画像', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'HD解像度', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: '即時', label: '生成', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: '視覚的構成:デザインの原則', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: '構成とは、見る人の視線を誘導し、意図を伝えるように視覚要素を整理する技術です。優れたコラージュは以下のバランスを取ります:' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>均衡:</strong> 視覚的な重みの分配(明るい画像対暗い画像、大きい対小さい)。',
|
|
89
|
+
'<strong>視線の流れ:</strong> 視線が不自然な空白なく、構成内を自然に移動するようにします。',
|
|
90
|
+
'<strong>対比:</strong> 注意を引くための色、サイズ、形状の変化。',
|
|
91
|
+
'<strong>統一:</strong> テーマの一貫性 - 画像同士が同じ物語について「共に語る」必要があります。'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: 'スマートで適応性のあるデザイン', html: '当社のシステムは、写真の数に基づいて最適な空間配分を自動的に計算します。2枚なら対称グリッド、5枚ならバランスの取れた非対称配分。各グリッドは視覚的インパクトを最大化するように設計されています。' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: 'SNS用',
|
|
99
|
+
description: 'Instagram、TikTok、Facebook - 正方形フォーマット',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200pxはInstagramフィードに最適',
|
|
103
|
+
'正方形フォーマットにより投稿時の切り抜きを回避',
|
|
104
|
+
'ブランディングのためのカスタマイズ可能な境界線'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'ポートフォリオ用',
|
|
110
|
+
description: '写真家やデザイナーのための視覚的ショーケース',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'プロジェクトの複数の角度を表示',
|
|
114
|
+
'まとまりのある視覚的物語',
|
|
115
|
+
'プロ仕様のデジタルブック印刷'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: '個人的なギフト用',
|
|
120
|
+
description: 'プリント、フレーム、デジタルアルバム',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'イベントの思い出(結婚式、旅行)',
|
|
124
|
+
'印刷に対応した高解像度',
|
|
125
|
+
'手作業なしの即時デザイン'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: 'カスタマイズ:境界線と色', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['要素', '視覚効果', '推奨事項'], rows: [
|
|
132
|
+
['白い境界線', 'クリーン、ミニマル、モダン', 'SNS、デジタルポートフォリオ'],
|
|
133
|
+
['黒い境界線', 'ドラマチック、プロフェッショナル、芸術的', '芸術写真、ファッション、高級感'],
|
|
134
|
+
['ニュートラルな境界線(グレー)', '多用途、アカデミック、コーポレート', 'ビジネス、教育、中立性'],
|
|
135
|
+
['境界線なし', '融合、継続、没入感', '均一な背景、流れるような写真']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: '定義済みのプロ仕様デザイン - 構成の知識は不要',
|
|
141
|
+
con: 'オプションは事前設定されたグリッドに限定されます'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: 'リサイズなしでSNSにそのまま使える1200px解像度',
|
|
145
|
+
con: 'Photoshopほど自由にカスタマイズはできません'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '100%ローカル処理 - プライバシー、スピード、無制限',
|
|
149
|
+
con: '最新のブラウザが必要です'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: '完全無料、ウォーターマークなし、広告なし',
|
|
153
|
+
con: '個別の編集オプション(切り抜き、回転)はありません'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: 'メリット', conTitle: '制限事項' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: 'SNSに対応', icon: 'mdi:check-circle-outline', badge: '最適化済み', html: '1200x1200pxはInstagramに最適な解像度です。あらゆるアスペクト比をサポートしますが、正方形の出力はフィードでのインパクトを最大化し、自動的な切り抜きを排除し、デスクトップ、タブレット、モバイルのどこでも美しく見えます。' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: '視覚的構成',
|
|
162
|
+
definition: '見る人の視線を誘導し、感情的な意図を伝えるために要素(色、形状、空間)を整理する技術。'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: '三分割法',
|
|
166
|
+
definition: '構図の原則:画像を9つの等しい領域(3x3)に分割します。被写体を交点に配置することで、最大のインパクトを与えます。'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: '対称グリッド',
|
|
170
|
+
definition: '等間隔の分割。安心感があり、秩序だっています。写真のペアや偶数枚に最適です。'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: '非対称グリッド',
|
|
174
|
+
definition: '不等間隔の分割。ダイナミックで面白く、視覚的です。サイズの異なる5枚以上の写真に最適です。'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: '視覚的均衡',
|
|
178
|
+
definition: '視覚的な重みの知覚的な均等。明るい画像+暗い画像=バランス、大きい+小さい=バランス。'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: '即座に視覚的物語を', ariaLabel: '構成とコラージュに関する情報', html: 'すべてのコラージュには物語があります。当社の自動デザイナーは、あなたの視覚的な物語がバランスよく、プロフェッショナルで、世界に向けて発信できる状態であることを保証します。グラフィックデザイナーの作業を待つ必要はありません。' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: '作り、共有し、刺激を与える', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: 'よくできたコラージュは、忘れ去られる投稿と、フォロワーが記憶し、共有する投稿との違いを生みます。インパクトを与えるために、視覚的な物語にスマートな構成を取り入れましょう。' }
|
|
186
|
+
];
|
|
187
|
+
|
|
188
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'FAQPage',
|
|
191
|
+
mainEntity: faq.map((item) => ({
|
|
192
|
+
'@type': 'Question',
|
|
193
|
+
name: item.question,
|
|
194
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
195
|
+
})),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const howToSchema: WithContext<HowTo> = {
|
|
199
|
+
'@context': 'https://schema.org',
|
|
200
|
+
'@type': 'HowTo',
|
|
201
|
+
name: title,
|
|
202
|
+
description,
|
|
203
|
+
step: howTo.map((step) => ({
|
|
204
|
+
'@type': 'HowToStep',
|
|
205
|
+
name: step.name,
|
|
206
|
+
text: step.text,
|
|
207
|
+
})),
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
211
|
+
'@context': 'https://schema.org',
|
|
212
|
+
'@type': 'SoftwareApplication',
|
|
213
|
+
name: title,
|
|
214
|
+
description,
|
|
215
|
+
applicationCategory: 'UtilitiesApplication',
|
|
216
|
+
operatingSystem: 'Web',
|
|
217
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
218
|
+
inLanguage: 'ja',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "よくある質問",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "リファレンス",
|
|
230
|
+
bibliography,
|
|
231
|
+
howTo,
|
|
232
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
233
|
+
};
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { CollageMakerUI, CollageMakerLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'free-online-photo-collage-maker-professional-compositions';
|
|
5
|
+
const title = '온라인 콜라주 메이커: 전문적인 구도 디자인';
|
|
6
|
+
const description = '몇 초 만에 무료로 사진 콜라주를 만드세요. 다양한 레이아웃 중에서 선택하고, 테두리를 조정하며, 워터마크 없이 고화질로 다운로드하세요.';
|
|
7
|
+
|
|
8
|
+
const ui: CollageMakerUI = {
|
|
9
|
+
dropTitle: "여기에 이미지를 드래그하세요",
|
|
10
|
+
dropSub: "또는 {link} - 최소 2개, 최대 9개",
|
|
11
|
+
dropLink: "파일 선택",
|
|
12
|
+
imgsLoaded: "로드된 이미지",
|
|
13
|
+
layoutLabel: "레이아웃",
|
|
14
|
+
settingsLabel: "설정",
|
|
15
|
+
borderLabel: "테두리",
|
|
16
|
+
borderColorLabel: "테두리 색상",
|
|
17
|
+
bgColorLabel: "배경",
|
|
18
|
+
downloadBtn: "다운로드",
|
|
19
|
+
previewTitle: "미리보기",
|
|
20
|
+
needsImgs: "이미지 {n}개가 더 필요합니다",
|
|
21
|
+
errorMin: "최소 2개의 이미지가 필요합니다",
|
|
22
|
+
errorMax: "최대 9개까지만 허용됩니다",
|
|
23
|
+
errorLoad: "이미지를 로드하는 중 오류가 발생했습니다",
|
|
24
|
+
faqTitle: "자주 묻는 질문",
|
|
25
|
+
bibliographyTitle: "참고 문헌"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const faq: CollageMakerLocaleContent['faq'] = [
|
|
29
|
+
{
|
|
30
|
+
question: "사진 순서를 어떻게 바꿀 수 있나요?",
|
|
31
|
+
answer: "사진은 로드된 이미지 목록에 표시된 순서대로 콜라주에 배치됩니다. 하나를 삭제하고 다시 업로드하여 위치를 조정할 수 있습니다.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: "콜라주의 출력 형식은 무엇인가요?",
|
|
35
|
+
answer: "콜라주는 고해상도 WebP 형식으로 다운로드됩니다. 이는 선명도를 유지하면서 소셜 네트워크에 공유하기에 이상적입니다.",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: CollageMakerLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: "사진 업로드",
|
|
42
|
+
text: "파일 탐색기에서 2개 이상 9개 이하의 이미지를 선택하세요.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "레이아웃 선택",
|
|
46
|
+
text: "업로드한 사진 수에 가장 적합한 그리드를 선택하세요.",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "스타일 맞춤 설정",
|
|
50
|
+
text: "전문적인 마무리를 위해 테두리 두께와 색상을 조정하세요.",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "다운로드 및 공유",
|
|
54
|
+
text: "만들기 버튼을 누르고 완성된 결과물을 즉시 다운로드하세요.",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const bibliography: CollageMakerLocaleContent['bibliography'] = [
|
|
59
|
+
{
|
|
60
|
+
name: "사진 구도: 콜라주의 예술",
|
|
61
|
+
url: "https://ko.wikipedia.org/wiki/%EC%BD%9C%EB%9D%BC%EC%A3%BC",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: CollageMakerLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'summary',
|
|
68
|
+
title: '전문 온라인 콜라주 메이커',
|
|
69
|
+
items: [
|
|
70
|
+
'다양한 레이아웃과 미리 정의된 그리드',
|
|
71
|
+
'테두리 및 배경색 맞춤 설정',
|
|
72
|
+
'소셜 네트워크에 적합한 1200px 고해상도',
|
|
73
|
+
'사용 제한 없는 즉각적인 처리'
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: '콜라주 디자인: 이야기를 담은 구도', level: 2 },
|
|
77
|
+
{ type: 'paragraph', html: '콜라주는 단순한 사진의 조합 이상입니다. 감정과 맥락을 전달하는 시각적 서사입니다. 당사의 도구를 사용하면 Photoshop이나 비싼 소프트웨어 없이도 Instagram, Facebook, Pinterest 또는 개인 프로젝트를 위한 전문적인 기하학적 구도를 만들 수 있습니다.' },
|
|
78
|
+
|
|
79
|
+
{ type: 'stats', items: [
|
|
80
|
+
{ value: '2-9', label: '장당 이미지 수', icon: 'mdi:image-multiple' },
|
|
81
|
+
{ value: '1200px', label: 'HD 해상도', icon: 'mdi:video-high-definition' },
|
|
82
|
+
{ value: '즉시', label: '생성', icon: 'mdi:lightning-bolt' }
|
|
83
|
+
], columns: 3 },
|
|
84
|
+
|
|
85
|
+
{ type: 'title', text: '시각적 구도: 디자인 원칙', level: 3 },
|
|
86
|
+
{ type: 'paragraph', html: '구도는 보는 이의 시선을 유도하고 의도를 전달하는 방식으로 시각적 요소를 구성하는 예술입니다. 좋은 콜라주는 다음의 균형을 유지합니다.' },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>균형:</strong> 시각적 무게감의 분배 (밝은 이미지 vs 어두운 이미지, 큰 것 vs 작은 것).',
|
|
89
|
+
'<strong>시각적 흐름:</strong> 시선이 끊김 없이 구도 안에서 자연스럽게 이동해야 합니다.',
|
|
90
|
+
'<strong>대비:</strong> 주의를 끄는 색상, 크기, 모양의 변화.',
|
|
91
|
+
'<strong>통일성:</strong> 주제적 일관성 - 이미지들이 같은 이야기에 대해 함께 \"말해야\" 합니다.'
|
|
92
|
+
], icon: 'mdi:check' },
|
|
93
|
+
|
|
94
|
+
{ type: 'card', title: '스마트하고 유연한 디자인', html: '당사의 시스템은 사진 수에 따라 최적의 공간 배분을 자동으로 계산합니다. 사진 2장은 대칭 그리드, 5장은 균형 잡힌 비대칭 배분으로 구성됩니다. 각 그리드는 시각적 임팩트를 극대화하도록 설계되었습니다.' },
|
|
95
|
+
|
|
96
|
+
{ type: 'comparative', items: [
|
|
97
|
+
{
|
|
98
|
+
title: '소셜 네트워크용',
|
|
99
|
+
description: 'Instagram, TikTok, Facebook - 정사각형 형식',
|
|
100
|
+
icon: 'mdi:share-all',
|
|
101
|
+
points: [
|
|
102
|
+
'1200px는 Instagram 피드에 완벽합니다',
|
|
103
|
+
'정사각형 형식은 게시 시 잘리는 현상을 방지합니다',
|
|
104
|
+
'브랜딩을 위한 맞춤형 테두리'
|
|
105
|
+
],
|
|
106
|
+
highlight: true
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '포트폴리오용',
|
|
110
|
+
description: '사진가 및 디자이너를 위한 시각적 쇼케이스',
|
|
111
|
+
icon: 'mdi:briefcase-outline',
|
|
112
|
+
points: [
|
|
113
|
+
'프로젝트의 다양한 각도 표시',
|
|
114
|
+
'응집력 있는 시각적 서사',
|
|
115
|
+
'전문적인 디지털 북 인쇄'
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
title: '개인용 선물',
|
|
120
|
+
description: '인쇄물, 액자 및 디지털 앨범',
|
|
121
|
+
icon: 'mdi:gift-outline',
|
|
122
|
+
points: [
|
|
123
|
+
'이벤트 추억 (결혼식, 여행)',
|
|
124
|
+
'인쇄 가능한 고해상도',
|
|
125
|
+
'수작업 없는 즉각적인 디자인'
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
], columns: 3 },
|
|
129
|
+
|
|
130
|
+
{ type: 'title', text: '맞춤 설정: 테두리 및 색상', level: 3 },
|
|
131
|
+
{ type: 'table', headers: ['요소', '시각적 효과', '권장 사항'], rows: [
|
|
132
|
+
['흰색 테두리', '깔끔함, 미니멀함, 모던함', '소셜 네트워크, 디지털 포트폴리오'],
|
|
133
|
+
['검은색 테두리', '극적임, 전문적임, 예술적임', '예술 사진, 패션, 럭셔리'],
|
|
134
|
+
['중성색 테두리 (회색)', '다재다능함, 학술적임, 기업용', '비즈니스, 교육, 중립성'],
|
|
135
|
+
['테두리 없음', '융합, 연속성, 몰입감', '균일한 배경, 흐르는 듯한 사진']
|
|
136
|
+
] },
|
|
137
|
+
|
|
138
|
+
{ type: 'proscons', items: [
|
|
139
|
+
{
|
|
140
|
+
pro: '전문적이고 미리 정의된 디자인 - 구도 지식이 필요 없음',
|
|
141
|
+
con: '옵션이 미리 설정된 그리드에 한정됨'
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
pro: '리사이징 없이 소셜 네트워크에 바로 쓰는 1200px 해상도',
|
|
145
|
+
con: 'Photoshop만큼 자유로운 맞춤 설정은 불가함'
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
pro: '100% 로컬 처리 - 개인정보 보호, 속도, 무제한',
|
|
149
|
+
con: '최신 브라우저가 필요함'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
pro: '완전 무료, 워터마크 없음, 광고 없음',
|
|
153
|
+
con: '개별 편집 옵션(자르기, 회전) 없음'
|
|
154
|
+
}
|
|
155
|
+
], proTitle: '장점', conTitle: '제한 사항' },
|
|
156
|
+
|
|
157
|
+
{ type: 'diagnostic', variant: 'success', title: '소셜 네트워크 준비 완료', icon: 'mdi:check-circle-outline', badge: '최적화됨', html: '1200x1200px는 Instagram에 가장 이상적인 해상도입니다. 모든 화면 비율을 지원하지만, 정사각형 출력은 피드 임팩트를 극대화하고 자동 자르기를 방지하며 데스크톱, 태블릿, 모바일 어디에서나 멋지게 보입니다.' },
|
|
158
|
+
|
|
159
|
+
{ type: 'glossary', items: [
|
|
160
|
+
{
|
|
161
|
+
term: '시각적 구도',
|
|
162
|
+
definition: '보는 이의 시선을 유도하고 감정적 의도를 전달하기 위해 요소(색상, 모양, 공간)를 구성하는 예술입니다.'
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
term: '3분할 법칙',
|
|
166
|
+
definition: '구도 원칙: 이미지를 9개의 동일한 영역(3x3)으로 나눕니다. 피사체를 교차선에 배치하여 임팩트를 극대화합니다.'
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
term: '대칭 그리드',
|
|
170
|
+
definition: '동일한 공간 분할입니다. 안정적이고 질서 정연합니다. 사진 두 장 또는 짝수 장에 이상적입니다.'
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
term: '비대칭 그리드',
|
|
174
|
+
definition: '불균등한 분할입니다. 역동적이고 흥미로우며 시각적인 재미를 줍니다. 다양한 크기의 사진 5장 이상에 이상적입니다.'
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
term: '시각적 균형',
|
|
178
|
+
definition: '시각적 무게감의 지각적 평형입니다. 밝은 이미지 + 어두운 이미지 = 균형, 큰 것 + 작은 것 = 균형.'
|
|
179
|
+
}
|
|
180
|
+
] },
|
|
181
|
+
|
|
182
|
+
{ type: 'message', title: '즉각적인 시각적 서사', ariaLabel: '구도 및 콜라주에 관한 정보', html: '모든 콜라주는 이야기를 담고 있습니다. 당사의 자동 디자이너는 여러분의 시각적 서사가 균형 잡히고 전문적이며 세상에 나갈 준비가 되도록 보장합니다. 그래픽 디자이너를 기다릴 필요가 없습니다.' },
|
|
183
|
+
|
|
184
|
+
{ type: 'title', text: '만들고, 공유하고, 영감을 주세요', level: 3 },
|
|
185
|
+
{ type: 'paragraph', html: '잘 만들어진 콜라주는 잊혀질 게시물과 팔로워가 기억하고 공유할 게시물의 차이를 만듭니다. 여러분의 시각적 서사가 임팩트를 줄 수 있도록 스마트한 구도를 사용하세요.' }
|
|
186
|
+
];
|
|
187
|
+
|
|
188
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
189
|
+
'@context': 'https://schema.org',
|
|
190
|
+
'@type': 'FAQPage',
|
|
191
|
+
mainEntity: faq.map((item) => ({
|
|
192
|
+
'@type': 'Question',
|
|
193
|
+
name: item.question,
|
|
194
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
195
|
+
})),
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const howToSchema: WithContext<HowTo> = {
|
|
199
|
+
'@context': 'https://schema.org',
|
|
200
|
+
'@type': 'HowTo',
|
|
201
|
+
name: title,
|
|
202
|
+
description,
|
|
203
|
+
step: howTo.map((step) => ({
|
|
204
|
+
'@type': 'HowToStep',
|
|
205
|
+
name: step.name,
|
|
206
|
+
text: step.text,
|
|
207
|
+
})),
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
211
|
+
'@context': 'https://schema.org',
|
|
212
|
+
'@type': 'SoftwareApplication',
|
|
213
|
+
name: title,
|
|
214
|
+
description,
|
|
215
|
+
applicationCategory: 'UtilitiesApplication',
|
|
216
|
+
operatingSystem: 'Web',
|
|
217
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
218
|
+
inLanguage: 'ko',
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
export const content: CollageMakerLocaleContent = {
|
|
222
|
+
slug,
|
|
223
|
+
title,
|
|
224
|
+
description,
|
|
225
|
+
ui,
|
|
226
|
+
seo,
|
|
227
|
+
faqTitle: "자주 묻는 질문",
|
|
228
|
+
faq,
|
|
229
|
+
bibliographyTitle: "참고 문헌",
|
|
230
|
+
bibliography,
|
|
231
|
+
howTo,
|
|
232
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
233
|
+
};
|