@jjlmoya/utils-home 1.6.0 → 1.7.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 +61 -60
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/dewPointCalculator/i18n/de.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/en.ts +1 -1
- package/src/tool/dewPointCalculator/i18n/es.ts +1 -1
- package/src/tool/dewPointCalculator/i18n/fr.ts +1 -1
- package/src/tool/dewPointCalculator/i18n/id.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/it.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/ja.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/ko.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/nl.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/pl.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/pt.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/ru.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/sv.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/tr.ts +178 -0
- package/src/tool/dewPointCalculator/i18n/zh.ts +178 -0
- package/src/tool/dewPointCalculator/index.ts +16 -6
- package/src/tool/heatingComparator/i18n/de.ts +340 -0
- package/src/tool/heatingComparator/i18n/id.ts +324 -0
- package/src/tool/heatingComparator/i18n/it.ts +336 -0
- package/src/tool/heatingComparator/i18n/ja.ts +311 -0
- package/src/tool/heatingComparator/i18n/ko.ts +307 -0
- package/src/tool/heatingComparator/i18n/nl.ts +336 -0
- package/src/tool/heatingComparator/i18n/pl.ts +311 -0
- package/src/tool/heatingComparator/i18n/pt.ts +336 -0
- package/src/tool/heatingComparator/i18n/ru.ts +307 -0
- package/src/tool/heatingComparator/i18n/sv.ts +311 -0
- package/src/tool/heatingComparator/i18n/tr.ts +324 -0
- package/src/tool/heatingComparator/i18n/zh.ts +307 -0
- package/src/tool/heatingComparator/index.ts +13 -1
- package/src/tool/ledSavingCalculator/i18n/de.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/fr.ts +1 -1
- package/src/tool/ledSavingCalculator/i18n/id.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/it.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/ja.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/ko.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/nl.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/pl.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/pt.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/ru.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/sv.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/tr.ts +208 -0
- package/src/tool/ledSavingCalculator/i18n/zh.ts +208 -0
- package/src/tool/ledSavingCalculator/index.ts +16 -7
- package/src/tool/projectorCalculator/i18n/de.ts +180 -0
- package/src/tool/projectorCalculator/i18n/fr.ts +1 -1
- package/src/tool/projectorCalculator/i18n/id.ts +181 -0
- package/src/tool/projectorCalculator/i18n/it.ts +180 -0
- package/src/tool/projectorCalculator/i18n/ja.ts +180 -0
- package/src/tool/projectorCalculator/i18n/ko.ts +180 -0
- package/src/tool/projectorCalculator/i18n/nl.ts +180 -0
- package/src/tool/projectorCalculator/i18n/pl.ts +180 -0
- package/src/tool/projectorCalculator/i18n/pt.ts +180 -0
- package/src/tool/projectorCalculator/i18n/ru.ts +180 -0
- package/src/tool/projectorCalculator/i18n/sv.ts +180 -0
- package/src/tool/projectorCalculator/i18n/tr.ts +180 -0
- package/src/tool/projectorCalculator/i18n/zh.ts +180 -0
- package/src/tool/projectorCalculator/index.ts +15 -6
- package/src/tool/qrGenerator/i18n/de.ts +203 -0
- package/src/tool/qrGenerator/i18n/id.ts +151 -0
- package/src/tool/qrGenerator/i18n/it.ts +174 -0
- package/src/tool/qrGenerator/i18n/ja.ts +151 -0
- package/src/tool/qrGenerator/i18n/ko.ts +151 -0
- package/src/tool/qrGenerator/i18n/nl.ts +151 -0
- package/src/tool/qrGenerator/i18n/pl.ts +151 -0
- package/src/tool/qrGenerator/i18n/pt.ts +151 -0
- package/src/tool/qrGenerator/i18n/ru.ts +151 -0
- package/src/tool/qrGenerator/i18n/sv.ts +151 -0
- package/src/tool/qrGenerator/i18n/tr.ts +151 -0
- package/src/tool/qrGenerator/i18n/zh.ts +151 -0
- package/src/tool/qrGenerator/index.ts +17 -9
- package/src/tool/solarCalculator/i18n/de.ts +146 -0
- package/src/tool/solarCalculator/i18n/id.ts +126 -0
- package/src/tool/solarCalculator/i18n/it.ts +126 -0
- package/src/tool/solarCalculator/i18n/ja.ts +126 -0
- package/src/tool/solarCalculator/i18n/ko.ts +121 -0
- package/src/tool/solarCalculator/i18n/nl.ts +120 -0
- package/src/tool/solarCalculator/i18n/pl.ts +121 -0
- package/src/tool/solarCalculator/i18n/pt.ts +126 -0
- package/src/tool/solarCalculator/i18n/ru.ts +110 -0
- package/src/tool/solarCalculator/i18n/sv.ts +110 -0
- package/src/tool/solarCalculator/i18n/tr.ts +120 -0
- package/src/tool/solarCalculator/i18n/zh.ts +121 -0
- package/src/tool/solarCalculator/index.ts +17 -9
- package/src/tool/tariffComparator/i18n/de.ts +133 -0
- package/src/tool/tariffComparator/i18n/id.ts +133 -0
- package/src/tool/tariffComparator/i18n/it.ts +133 -0
- package/src/tool/tariffComparator/i18n/ja.ts +133 -0
- package/src/tool/tariffComparator/i18n/ko.ts +133 -0
- package/src/tool/tariffComparator/i18n/nl.ts +133 -0
- package/src/tool/tariffComparator/i18n/pl.ts +133 -0
- package/src/tool/tariffComparator/i18n/pt.ts +133 -0
- package/src/tool/tariffComparator/i18n/ru.ts +106 -0
- package/src/tool/tariffComparator/i18n/sv.ts +111 -0
- package/src/tool/tariffComparator/i18n/tr.ts +133 -0
- package/src/tool/tariffComparator/i18n/zh.ts +133 -0
- package/src/tool/tariffComparator/index.ts +16 -7
- package/src/types.ts +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ProjectorCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'projector-throw-calculator';
|
|
6
|
+
const title = 'プロジェクター設置距離計算機 — 投写距離と画面サイズ';
|
|
7
|
+
const description =
|
|
8
|
+
'希望のスクリーンサイズと投写比(Throw Ratio)に基づいて、プロジェクターの正確な設置距離を計算。リアルタイムシミュレーション機能を搭載。';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: '投写比(Throw Ratio)とは何ですか?',
|
|
13
|
+
answer:
|
|
14
|
+
'特定の距離で画像がどれくらいの大きさになるかを定義する数値です。「投写距離 ÷ 画面の幅」で計算されます。比率が1.5の場合、1.5mの距離から投写すると、画面の幅が1mになることを意味します。',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: '100インチの画面にするにはどれくらいの距離が必要ですか?',
|
|
18
|
+
answer:
|
|
19
|
+
'プロジェクターの投写比によります。一般的な1.5:1の比率の場合、約3.3m必要です。短焦点(Short Throw)プロジェクターであれば、1m未満の距離で実現可能です。',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: '16:9と4:3の違いは何ですか?',
|
|
23
|
+
answer:
|
|
24
|
+
'16:9は現代の映画やドラマに使われるワイドフォーマットです。4:3はプレゼンテーションなどで使われるクラシックなフォーマットです。適切なものを選択することで、余計な黒帯を避けることができます。',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'プロジェクターを設置する高さは重要ですか?',
|
|
28
|
+
answer:
|
|
29
|
+
'はい。プロジェクターには垂直オフセットや台形補正(キーストーン)機能があります。歪みを避けるため、画面の上端または下端に対して中央に設置するのが理想的です。',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: '投写比を確認する',
|
|
36
|
+
text: 'プロジェクターの箱や説明書に記載されている「1.2:1」や「1.5-1.8:1」などの数値を探します。',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: '画面サイズを決める',
|
|
40
|
+
text: '希望する画面のインチ数(対角)または壁の有効幅を入力します。',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'フォーマットを選ぶ',
|
|
44
|
+
text: '映画なら16:9、プレゼンなら4:3、シネマスコープなら21:9を選択します。',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: '距離を確認する',
|
|
48
|
+
text: '計算機が、プロジェクターを固定するための正確な設置距離を表示します。',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
name: step.name,
|
|
70
|
+
text: step.text,
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
75
|
+
'@context': 'https://schema.org',
|
|
76
|
+
'@type': 'SoftwareApplication',
|
|
77
|
+
name: title,
|
|
78
|
+
description,
|
|
79
|
+
applicationCategory: 'UtilityApplication',
|
|
80
|
+
operatingSystem: 'All',
|
|
81
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
|
|
82
|
+
inLanguage: 'ja',
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
|
|
86
|
+
slug,
|
|
87
|
+
title,
|
|
88
|
+
description,
|
|
89
|
+
faqTitle: 'よくある質問',
|
|
90
|
+
faq: faqData,
|
|
91
|
+
bibliographyTitle: '参考文献',
|
|
92
|
+
bibliography: [
|
|
93
|
+
{ name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
|
|
94
|
+
{ name: 'Epson — 投写距離シミュレーター', url: 'https://epson.com/' },
|
|
95
|
+
],
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'プロジェクションの幾何学をマスターする',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: '目分量でプロジェクターを設置すると、映像体験が損なわれる可能性があります。近すぎると画面が小さくなり、遠すぎると明るさが不足します。鍵となるのは<strong>投写比(Throw Ratio)</strong>です。',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'stats',
|
|
110
|
+
items: [
|
|
111
|
+
{ value: 'TR × W', label: '設置距離の式', icon: 'mdi:projector' },
|
|
112
|
+
{ value: '< 0.4', label: '超短焦点', icon: 'mdi:arrow-collapse-horizontal' },
|
|
113
|
+
{ value: '> 2.0', label: '長焦点', icon: 'mdi:arrow-expand-horizontal' },
|
|
114
|
+
],
|
|
115
|
+
columns: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'comparative',
|
|
119
|
+
items: [
|
|
120
|
+
{
|
|
121
|
+
title: '投写比とは?',
|
|
122
|
+
description: '投写距離と画面幅の比率です。TRが1.5の場合、画面幅1mあたり1.5mの距離が必要です。',
|
|
123
|
+
icon: 'mdi:ruler',
|
|
124
|
+
points: ['TR < 1: 短焦点。狭い部屋に最適', 'TR 1–2: 標準的。リビング等に', 'TR > 2: 長焦点。広い講堂等に'],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'アスペクト比(フォーマット)',
|
|
128
|
+
description: 'フォーマットは画像の縦横比を決定します。不適切な比率を使うと黒帯が発生し、明るさが損なわれます。',
|
|
129
|
+
icon: 'mdi:aspect-ratio',
|
|
130
|
+
points: ['16:9: HD/4Kの標準フォーマット', '21:9: 映画用シネマスコープ', '4:3: プレゼン・事務用'],
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
columns: 2,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
|
+
text: 'プロの設置テクニック',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: '<strong>レンズシフト vs 台形補正:</strong> レンズシフト機能がある場合は、デジタルの台形補正(キーストーン)よりも常に優先して使用してください。台形補正は画質を劣化させます。',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'diagnostic',
|
|
146
|
+
variant: 'warning',
|
|
147
|
+
title: '環境光とスクリーンゲイン',
|
|
148
|
+
icon: 'mdi:lightbulb-on',
|
|
149
|
+
badge: 'プロのヒント',
|
|
150
|
+
html: '<p>照明のある部屋では、コントラストの低下を補うために高ゲイン(>1.0)のスクリーンを検討してください。</p>',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'summary',
|
|
154
|
+
title: '設置チェックリスト',
|
|
155
|
+
items: [
|
|
156
|
+
'設置場所を決める前に投写比を確認する。',
|
|
157
|
+
'壁の有効スペースから最大画面サイズを把握する。',
|
|
158
|
+
'画面に対して垂直方向に中央設置する。',
|
|
159
|
+
'電子補正は避け、物理的な位置調整を優先する。',
|
|
160
|
+
'スクリーンに直接当たる光源がないか確認する。',
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
ui: {
|
|
165
|
+
configTitle: '設置設定',
|
|
166
|
+
configSubtitle: 'スクリーンと機種情報を入力',
|
|
167
|
+
labelDiagonal: '画面サイズ(対角)',
|
|
168
|
+
labelDiagonalUnit: 'インチ (")',
|
|
169
|
+
labelFormat: 'アスペクト比(フォーマット)',
|
|
170
|
+
labelThrowRatio: '投写比(Throw Ratio)',
|
|
171
|
+
throwRatioHint: '例: 1.50は、幅1mに対して1.5mの距離が必要であることを示します。',
|
|
172
|
+
ratio169Sub: 'TV / HD',
|
|
173
|
+
ratio219Sub: '映画',
|
|
174
|
+
ratio43Sub: '事務',
|
|
175
|
+
labelWidth: '画面の幅',
|
|
176
|
+
labelHeight: '画面の高さ',
|
|
177
|
+
labelDistance: '必要な投写距離',
|
|
178
|
+
simulationBadge: 'リアルタイム予測',
|
|
179
|
+
},
|
|
180
|
+
};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ProjectorCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'projector-throw-calculator';
|
|
6
|
+
const title = '프로젝터 투사거리 계산기 — 화면 크기 및 위치';
|
|
7
|
+
const description =
|
|
8
|
+
'원하는 화면 크기와 프로젝터의 투사비(Throw Ratio)에 따른 정확한 설치 거리를 계산해 보세요. 실시간 시뮬레이션 기능을 제공합니다.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: '투사비(Throw Ratio)란 무엇인가요?',
|
|
13
|
+
answer:
|
|
14
|
+
'특정 거리에서 화면이 얼마나 커지는지를 결정하는 숫자입니다. 투사 거리를 화면 가로 폭으로 나눈 값입니다. 투사비가 1.5라면 1.5m 거리에서 가로 1m 크기의 화면이 만들어집니다.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: '100인치 화면을 만들려면 거리가 얼마나 필요한가요?',
|
|
18
|
+
answer:
|
|
19
|
+
'프로젝터의 투사비에 따라 다릅니다. 표준 투사비 1.5:1 기준으로는 약 3.3m가 필요합니다. 단초점(Short Throw) 프로젝터라면 1m 미만에서도 가능합니다.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: '16:9와 4:3의 차이는 무엇인가요?',
|
|
23
|
+
answer:
|
|
24
|
+
'16:9는 영화나 최신 드라마 감상에 적합한 와이드 포맷입니다. 4:3은 프레젠테이션이나 옛날 영상에 주로 쓰이는 포맷입니다. 적절한 포맷을 선택해야 불필요한 블랙바를 줄일 수 있습니다.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: '프로젝터 설치 높이가 중요한가요?',
|
|
28
|
+
answer:
|
|
29
|
+
'매우 중요합니다. 프로젝터에는 렌즈 시프트나 키스톤 보정 기능이 있습니다. 왜곡을 방지하려면 화면의 상단 또는 하단 끝부분에 맞춰 중앙에 설치하는 것이 가장 좋습니다.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: '투사비 확인',
|
|
36
|
+
text: '프로젝터 본체나 매뉴얼에서 1.2:1 또는 1.5-1.8:1 같은 숫자를 찾습니다.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: '화면 크기 설정',
|
|
40
|
+
text: '원하는 대각선 인치 수 또는 벽면의 가로 길이를 입력합니다.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: '화면 비율 선택',
|
|
44
|
+
text: '영화는 16:9, 발표용은 4:3, 시네마스코프는 21:9를 선택하세요.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: '설치 거리 확인',
|
|
48
|
+
text: '계산기가 프로젝터 브래킷을 고정할 정확한 위치(거리)를 알려줍니다.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
name: step.name,
|
|
70
|
+
text: step.text,
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
75
|
+
'@context': 'https://schema.org',
|
|
76
|
+
'@type': 'SoftwareApplication',
|
|
77
|
+
name: title,
|
|
78
|
+
description,
|
|
79
|
+
applicationCategory: 'UtilityApplication',
|
|
80
|
+
operatingSystem: 'All',
|
|
81
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'KRW' },
|
|
82
|
+
inLanguage: 'ko',
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
|
|
86
|
+
slug,
|
|
87
|
+
title,
|
|
88
|
+
description,
|
|
89
|
+
faqTitle: '자주 묻는 질문',
|
|
90
|
+
faq: faqData,
|
|
91
|
+
bibliographyTitle: '참고 자료',
|
|
92
|
+
bibliography: [
|
|
93
|
+
{ name: 'Projector Central — 투사거리 계산기', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
|
|
94
|
+
{ name: 'Epson 투사 시뮬레이터', url: 'https://epson.com/' },
|
|
95
|
+
],
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: '프로젝션 설계의 정석',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: '눈짐작으로 프로젝터를 설치하면 화질을 망칠 수 있습니다. 너무 가까우면 화면이 작고, 너무 멀면 밝기가 떨어집니다. 핵심은 <strong>투사비(Throw Ratio)</strong>를 정확히 파악하는 것입니다.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'stats',
|
|
110
|
+
items: [
|
|
111
|
+
{ value: 'TR × W', label: '투사거리 공식', icon: 'mdi:projector' },
|
|
112
|
+
{ value: '< 0.4', label: '초단초점', icon: 'mdi:arrow-collapse-horizontal' },
|
|
113
|
+
{ value: '> 2.0', label: '장초점', icon: 'mdi:arrow-expand-horizontal' },
|
|
114
|
+
],
|
|
115
|
+
columns: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'comparative',
|
|
119
|
+
items: [
|
|
120
|
+
{
|
|
121
|
+
title: '투사비란?',
|
|
122
|
+
description: '거리와 화면 폭의 비율입니다. 투사비 1.5는 화면 폭 1m당 1.5m의 거리가 필요함을 뜻합니다.',
|
|
123
|
+
icon: 'mdi:ruler',
|
|
124
|
+
points: ['TR < 1: 단초점, 좁은 방에 최적', 'TR 1–2: 거실용 표준 규격', 'TR > 2: 대강당용 장초점'],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: '화면 비율(포맷)',
|
|
128
|
+
description: '이미지의 가로세로 비율입니다. 잘못 쓰면 블랙바가 생기고 화면 활용도가 떨어집니다.',
|
|
129
|
+
icon: 'mdi:aspect-ratio',
|
|
130
|
+
points: ['16:9: HD/4K 영화 및 TV 표준', '21:9: 극장용 와이드 포맷', '4:3: 프레젠테이션용'],
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
columns: 2,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
|
+
text: '전문가 설치 팁',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: '<strong>렌즈 시프트 vs 키스톤:</strong> 렌즈 시프트 기능이 있다면 디지털 키스톤 대신 무조건 렌즈 시프트를 쓰세요. 키스톤은 해상도를 깎아먹습니다.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'diagnostic',
|
|
146
|
+
variant: 'warning',
|
|
147
|
+
title: '주변광과 스크린 게인',
|
|
148
|
+
icon: 'mdi:lightbulb-on',
|
|
149
|
+
badge: '전문가 조언',
|
|
150
|
+
html: '<p>어둡지 않은 환경에서는 고휘도(Gain > 1.0) 스크린을 써서 명암비 저하를 방지하세요.</p>',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'summary',
|
|
154
|
+
title: '설치 체크리스트',
|
|
155
|
+
items: [
|
|
156
|
+
'설치 전에 내 프로젝터의 투사비를 반드시 메모하세요.',
|
|
157
|
+
'벽면 가용 공간에 맞는 최대 화면 크기를 확인하세요.',
|
|
158
|
+
'렌즈 중심이 화면 중앙과 수직이 되게 설치하세요.',
|
|
159
|
+
'디지털 보정보다는 가급적 물리적 위치 조정을 우선하세요.',
|
|
160
|
+
'스크린에 직접 닿는 빛이 없는지 확인하세요.',
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
ui: {
|
|
165
|
+
configTitle: '설치 설정',
|
|
166
|
+
configSubtitle: '스크린 및 프로젝터 정보 입력',
|
|
167
|
+
labelDiagonal: '스크린 인치(대각선)',
|
|
168
|
+
labelDiagonalUnit: '인치 (")',
|
|
169
|
+
labelFormat: '화면 비율',
|
|
170
|
+
labelThrowRatio: '투사비 (Throw Ratio)',
|
|
171
|
+
throwRatioHint: '매뉴얼 참조(예: 1.50은 가로 1m당 1.5m 거리 필요)',
|
|
172
|
+
ratio169Sub: 'TV / HD',
|
|
173
|
+
ratio219Sub: '영화',
|
|
174
|
+
ratio43Sub: '문서',
|
|
175
|
+
labelWidth: '화면 가로 길이',
|
|
176
|
+
labelHeight: '화면 세로 길이',
|
|
177
|
+
labelDistance: '필요 설치 거리',
|
|
178
|
+
simulationBadge: '실시간 예측치',
|
|
179
|
+
},
|
|
180
|
+
};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ProjectorCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'projector-afstand-calculator';
|
|
6
|
+
const title = 'Projector Afstand Calculator — Throw Ratio';
|
|
7
|
+
const description =
|
|
8
|
+
'Bereken de exacte afstand voor uw projector aan de hand van de gewenste schermgrootte en de throw ratio van uw apparaat.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Wat is de throw ratio van een projector?',
|
|
13
|
+
answer:
|
|
14
|
+
'Dit is een getal dat de relatie tussen de projectieafstand en de breedte van het beeld aangeeft. Een ratio van 1.5 betekent dat je voor 1 meter beeldbreedte de projector op 1,5 meter afstand moet plaatsen.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Welke afstand heb ik nodig voor een 100 inch scherm?',
|
|
18
|
+
answer:
|
|
19
|
+
'Dit hangt af van de throw ratio. Bij een standaard ratio van 1.5:1 is dat ongeveer 3,3 meter. Met een Short Throw projector kan dit al vanaf minder dan 1 meter.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Wat is het verschil tussen 16:9 en 4:3?',
|
|
23
|
+
answer:
|
|
24
|
+
'16:9 is het breedbeeldformaat voor moderne films en TV. 4:3 is het klassieke formaat voor presentaties. Het juiste formaat voorkomt grote zwarte balken.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Is de hoogte van de projector belangrijk?',
|
|
28
|
+
answer:
|
|
29
|
+
'Ja. Projectoren hebben een verticale offset of keystone-correctie. Voor het beste beeld hangt de projector idealiter in het midden van de boven- of onderkant van het scherm.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Throw ratio opzoeken',
|
|
36
|
+
text: 'Kijk in de handleiding of op de doos van uw projector naar een getal zoals 1.2:1 of 1.5-1.8:1.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Schermgrootte bepalen',
|
|
40
|
+
text: 'Voer de gewenste diagonaal in inches in of de beschikbare breedte op uw muur.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Formaat kiezen',
|
|
44
|
+
text: 'Kies 16:9 voor films en TV, 4:3 voor presentaties of 21:9 voor bioscoopformaat.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Afstand berekenen',
|
|
48
|
+
text: 'De calculator geeft de exacte afstand aan voor de montage van de projector.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowTo> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
name: step.name,
|
|
70
|
+
text: step.text,
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
75
|
+
'@context': 'https://schema.org',
|
|
76
|
+
'@type': 'SoftwareApplication',
|
|
77
|
+
name: title,
|
|
78
|
+
description,
|
|
79
|
+
applicationCategory: 'UtilityApplication',
|
|
80
|
+
operatingSystem: 'All',
|
|
81
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
82
|
+
inLanguage: 'nl',
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
|
|
86
|
+
slug,
|
|
87
|
+
title,
|
|
88
|
+
description,
|
|
89
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
90
|
+
faq: faqData,
|
|
91
|
+
bibliographyTitle: 'Referenties',
|
|
92
|
+
bibliography: [
|
|
93
|
+
{ name: 'Projector Central — Throw Distance Calculator', url: 'https://www.projectorcentral.com/projection-calculator-pro.cfm' },
|
|
94
|
+
{ name: 'Epson Projectie Gids', url: 'https://epson.com/' },
|
|
95
|
+
],
|
|
96
|
+
howTo: howToData,
|
|
97
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
98
|
+
seo: [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Beheers de Projectiegeometrie',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Een projector op gevoel installeren kan de ervaring verpesten. De sleutel is de <strong>Throw Ratio</strong>, die de verhouding tussen afstand en beeldgrootte bepaalt.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'stats',
|
|
110
|
+
items: [
|
|
111
|
+
{ value: 'TR × W', label: 'Afstandsformule', icon: 'mdi:projector' },
|
|
112
|
+
{ value: '< 0.4', label: 'Ultra Short Throw', icon: 'mdi:arrow-collapse-horizontal' },
|
|
113
|
+
{ value: '> 2.0', label: 'Long Throw', icon: 'mdi:arrow-expand-horizontal' },
|
|
114
|
+
],
|
|
115
|
+
columns: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'comparative',
|
|
119
|
+
items: [
|
|
120
|
+
{
|
|
121
|
+
title: 'Wat is Throw Ratio?',
|
|
122
|
+
description: 'De verhouding tussen afstand en breedte. Een TR van 1.5 betekent 1,5m afstand per meter beeldbreedte.',
|
|
123
|
+
icon: 'mdi:ruler',
|
|
124
|
+
points: ['TR < 1: Short Throw, voor kleine kamers', 'TR 1–2: Standaard voor woonkamers', 'TR > 2: Long Throw, voor grote zalen'],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: 'Beeldverhouding (Formaat)',
|
|
128
|
+
description: 'Het formaat bepaalt de proporties. Een verkeerd formaat zorgt voor zwarte balken en lichtverlies.',
|
|
129
|
+
icon: 'mdi:aspect-ratio',
|
|
130
|
+
points: ['16:9: standaard voor TV en films', '21:9: bioscoopformaat', '4:3: voor kantoorgebruik'],
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
columns: 2,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
|
+
text: 'Professionele Installatie',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
|
+
html: '<strong>Lens Shift vs Keystone:</strong> Gebruik altijd Lens Shift indien beschikbaar. Keystone vermindert de resolutie.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'diagnostic',
|
|
146
|
+
variant: 'warning',
|
|
147
|
+
title: 'Omgevingslicht',
|
|
148
|
+
icon: 'mdi:lightbulb-on',
|
|
149
|
+
badge: 'Pro Tip',
|
|
150
|
+
html: '<p>Gebruik in lichte kamers een scherm met meer gain om het contrast te behouden.</p>',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'summary',
|
|
154
|
+
title: 'Installatie Checklist',
|
|
155
|
+
items: [
|
|
156
|
+
'Check de throw ratio voor de montage.',
|
|
157
|
+
'Meet de ruimte op de muur.',
|
|
158
|
+
'Hang de projector precies in het midden.',
|
|
159
|
+
'Vermijd digitale keystone: kies de juiste plek.',
|
|
160
|
+
'Voorkom direct licht op het scherm.',
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
ui: {
|
|
165
|
+
configTitle: 'Instellingen',
|
|
166
|
+
configSubtitle: 'Definieer uw scherm en projector',
|
|
167
|
+
labelDiagonal: 'Schermdiagonaal',
|
|
168
|
+
labelDiagonalUnit: 'Inch (")',
|
|
169
|
+
labelFormat: 'Formaat',
|
|
170
|
+
labelThrowRatio: 'Throw Ratio',
|
|
171
|
+
throwRatioHint: 'Voorbeeld: 1.50 betekent 1,5m afstand per meter breedte.',
|
|
172
|
+
ratio169Sub: 'TV / HD',
|
|
173
|
+
ratio219Sub: 'Bioscoop',
|
|
174
|
+
ratio43Sub: 'Documenten',
|
|
175
|
+
labelWidth: 'Schermbreedte',
|
|
176
|
+
labelHeight: 'Schermhoogte',
|
|
177
|
+
labelDistance: 'Vereiste Afstand',
|
|
178
|
+
simulationBadge: 'Real-time Simulatie',
|
|
179
|
+
},
|
|
180
|
+
};
|