@jjlmoya/utils-home 1.16.0 → 1.23.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 +1 -1
- package/src/category/i18n/de.ts +10 -10
- package/src/category/i18n/en.ts +8 -8
- package/src/category/i18n/es.ts +2 -2
- package/src/category/i18n/fr.ts +15 -15
- package/src/category/i18n/id.ts +8 -8
- package/src/category/i18n/it.ts +7 -7
- package/src/category/i18n/nl.ts +8 -8
- package/src/category/i18n/pl.ts +10 -10
- package/src/category/i18n/pt.ts +8 -8
- package/src/category/i18n/ru.ts +10 -10
- package/src/category/i18n/sv.ts +8 -8
- package/src/category/i18n/tr.ts +4 -4
- package/src/category/i18n/zh.ts +8 -8
- package/src/entries.ts +4 -1
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/locale_completeness.test.ts +4 -22
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/dewPointCalculator/bibliography.ts +10 -0
- package/src/tool/dewPointCalculator/i18n/de.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/en.ts +8 -18
- package/src/tool/dewPointCalculator/i18n/es.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/fr.ts +8 -18
- package/src/tool/dewPointCalculator/i18n/id.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/it.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/ja.ts +6 -16
- package/src/tool/dewPointCalculator/i18n/ko.ts +6 -16
- package/src/tool/dewPointCalculator/i18n/nl.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/pl.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/pt.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/ru.ts +13 -23
- package/src/tool/dewPointCalculator/i18n/sv.ts +7 -17
- package/src/tool/dewPointCalculator/i18n/tr.ts +6 -16
- package/src/tool/dewPointCalculator/i18n/zh.ts +7 -17
- package/src/tool/dewPointCalculator/seo.astro +2 -1
- package/src/tool/heatingComparator/bibliography.ts +14 -0
- package/src/tool/heatingComparator/i18n/de.ts +10 -24
- package/src/tool/heatingComparator/i18n/en.ts +3 -13
- package/src/tool/heatingComparator/i18n/es.ts +3 -17
- package/src/tool/heatingComparator/i18n/fr.ts +9 -19
- package/src/tool/heatingComparator/i18n/id.ts +3 -17
- package/src/tool/heatingComparator/i18n/it.ts +3 -17
- package/src/tool/heatingComparator/i18n/ja.ts +296 -310
- package/src/tool/heatingComparator/i18n/ko.ts +296 -306
- package/src/tool/heatingComparator/i18n/nl.ts +3 -17
- package/src/tool/heatingComparator/i18n/pl.ts +3 -17
- package/src/tool/heatingComparator/i18n/pt.ts +3 -17
- package/src/tool/heatingComparator/i18n/ru.ts +14 -24
- package/src/tool/heatingComparator/i18n/sv.ts +6 -20
- package/src/tool/heatingComparator/i18n/tr.ts +2 -16
- package/src/tool/heatingComparator/i18n/zh.ts +296 -306
- package/src/tool/heatingComparator/seo.astro +3 -3
- package/src/tool/ledSavingCalculator/bibliography.ts +14 -0
- package/src/tool/ledSavingCalculator/i18n/de.ts +6 -16
- package/src/tool/ledSavingCalculator/i18n/en.ts +6 -20
- package/src/tool/ledSavingCalculator/i18n/es.ts +6 -20
- package/src/tool/ledSavingCalculator/i18n/fr.ts +10 -24
- package/src/tool/ledSavingCalculator/i18n/id.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/it.ts +6 -16
- package/src/tool/ledSavingCalculator/i18n/ja.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/ko.ts +4 -14
- package/src/tool/ledSavingCalculator/i18n/nl.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/pl.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/pt.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/ru.ts +8 -18
- package/src/tool/ledSavingCalculator/i18n/sv.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/tr.ts +5 -15
- package/src/tool/ledSavingCalculator/i18n/zh.ts +6 -16
- package/src/tool/ledSavingCalculator/seo.astro +2 -1
- package/src/tool/projectorCalculator/bibliography.ts +5 -0
- package/src/tool/projectorCalculator/i18n/de.ts +4 -8
- package/src/tool/projectorCalculator/i18n/en.ts +3 -8
- package/src/tool/projectorCalculator/i18n/es.ts +4 -9
- package/src/tool/projectorCalculator/i18n/fr.ts +6 -11
- package/src/tool/projectorCalculator/i18n/id.ts +4 -9
- package/src/tool/projectorCalculator/i18n/it.ts +4 -8
- package/src/tool/projectorCalculator/i18n/ja.ts +175 -179
- package/src/tool/projectorCalculator/i18n/ko.ts +175 -179
- package/src/tool/projectorCalculator/i18n/nl.ts +4 -8
- package/src/tool/projectorCalculator/i18n/pl.ts +5 -9
- package/src/tool/projectorCalculator/i18n/pt.ts +4 -8
- package/src/tool/projectorCalculator/i18n/ru.ts +7 -11
- package/src/tool/projectorCalculator/i18n/sv.ts +4 -8
- package/src/tool/projectorCalculator/i18n/tr.ts +4 -8
- package/src/tool/projectorCalculator/i18n/zh.ts +175 -179
- package/src/tool/projectorCalculator/seo.astro +2 -1
- package/src/tool/qrGenerator/bibliography.ts +14 -0
- package/src/tool/qrGenerator/i18n/de.ts +192 -202
- package/src/tool/qrGenerator/i18n/en.ts +3 -17
- package/src/tool/qrGenerator/i18n/es.ts +2 -16
- package/src/tool/qrGenerator/i18n/fr.ts +3 -17
- package/src/tool/qrGenerator/i18n/id.ts +146 -150
- package/src/tool/qrGenerator/i18n/it.ts +169 -173
- package/src/tool/qrGenerator/i18n/ja.ts +146 -150
- package/src/tool/qrGenerator/i18n/ko.ts +146 -150
- package/src/tool/qrGenerator/i18n/nl.ts +146 -150
- package/src/tool/qrGenerator/i18n/pl.ts +146 -150
- package/src/tool/qrGenerator/i18n/pt.ts +146 -150
- package/src/tool/qrGenerator/i18n/ru.ts +146 -150
- package/src/tool/qrGenerator/i18n/sv.ts +146 -150
- package/src/tool/qrGenerator/i18n/tr.ts +146 -150
- package/src/tool/qrGenerator/i18n/zh.ts +146 -150
- package/src/tool/qrGenerator/seo.astro +2 -1
- package/src/tool/solarCalculator/bibliography.ts +5 -0
- package/src/tool/solarCalculator/i18n/de.ts +141 -145
- package/src/tool/solarCalculator/i18n/en.ts +7 -12
- package/src/tool/solarCalculator/i18n/es.ts +5 -10
- package/src/tool/solarCalculator/i18n/fr.ts +8 -13
- package/src/tool/solarCalculator/i18n/id.ts +4 -8
- package/src/tool/solarCalculator/i18n/it.ts +4 -8
- package/src/tool/solarCalculator/i18n/ja.ts +121 -125
- package/src/tool/solarCalculator/i18n/ko.ts +116 -120
- package/src/tool/solarCalculator/i18n/nl.ts +4 -7
- package/src/tool/solarCalculator/i18n/pl.ts +5 -9
- package/src/tool/solarCalculator/i18n/pt.ts +4 -8
- package/src/tool/solarCalculator/i18n/ru.ts +7 -10
- package/src/tool/solarCalculator/i18n/sv.ts +4 -7
- package/src/tool/solarCalculator/i18n/tr.ts +4 -7
- package/src/tool/solarCalculator/i18n/zh.ts +116 -120
- package/src/tool/solarCalculator/seo.astro +2 -1
- package/src/tool/tariffComparator/bibliography.ts +7 -0
- package/src/tool/tariffComparator/i18n/de.ts +129 -132
- package/src/tool/tariffComparator/i18n/en.ts +5 -12
- package/src/tool/tariffComparator/i18n/es.ts +5 -12
- package/src/tool/tariffComparator/i18n/fr.ts +8 -15
- package/src/tool/tariffComparator/i18n/id.ts +2 -5
- package/src/tool/tariffComparator/i18n/it.ts +2 -5
- package/src/tool/tariffComparator/i18n/ja.ts +129 -132
- package/src/tool/tariffComparator/i18n/ko.ts +129 -132
- package/src/tool/tariffComparator/i18n/nl.ts +2 -5
- package/src/tool/tariffComparator/i18n/pl.ts +3 -6
- package/src/tool/tariffComparator/i18n/pt.ts +2 -5
- package/src/tool/tariffComparator/i18n/ru.ts +2 -5
- package/src/tool/tariffComparator/i18n/sv.ts +2 -5
- package/src/tool/tariffComparator/i18n/tr.ts +2 -5
- package/src/tool/tariffComparator/i18n/zh.ts +129 -132
- package/src/tool/tariffComparator/seo.astro +2 -1
- package/src/tool/wifiRangeSimulator/bibliography.astro +14 -0
- package/src/tool/wifiRangeSimulator/bibliography.ts +14 -0
- package/src/tool/wifiRangeSimulator/component.astro +170 -0
- package/src/tool/wifiRangeSimulator/entry.ts +29 -0
- package/src/tool/wifiRangeSimulator/i18n/de.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/en.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/es.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/fr.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/id.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/it.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/ja.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/ko.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/nl.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/pl.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/pt.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/ru.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/sv.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/tr.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n/zh.ts +477 -0
- package/src/tool/wifiRangeSimulator/i18n-utils.ts +14 -0
- package/src/tool/wifiRangeSimulator/index.ts +8 -0
- package/src/tool/wifiRangeSimulator/logic.ts +220 -0
- package/src/tool/wifiRangeSimulator/seo.astro +15 -0
- package/src/tool/wifiRangeSimulator/sketch-actions.ts +168 -0
- package/src/tool/wifiRangeSimulator/sketch-events.ts +138 -0
- package/src/tool/wifiRangeSimulator/sketch-render-dash.ts +170 -0
- package/src/tool/wifiRangeSimulator/sketch-render-device.ts +42 -0
- package/src/tool/wifiRangeSimulator/sketch-render.ts +155 -0
- package/src/tool/wifiRangeSimulator/sketch-state.ts +186 -0
- package/src/tool/wifiRangeSimulator/sketch.ts +100 -0
- package/src/tool/wifiRangeSimulator/ui.ts +69 -0
- package/src/tool/wifiRangeSimulator/wifi-range-simulator.css +583 -0
- package/src/tools.ts +2 -0
- package/src/types.ts +0 -2
|
@@ -1,180 +1,176 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { ProjectorCalculatorUI } from '../ui';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
'@
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
'@
|
|
65
|
-
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ProjectorCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'projector-throw-calculator';
|
|
7
|
+
const title = '投影机距离计算器: 投射比与屏幕';
|
|
8
|
+
const description =
|
|
9
|
+
'根据所需的屏幕尺寸和投影机投射比(Throw Ratio)计算精确的安装距离。支持实时模拟的视觉化工具。';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: '什么是投射比(Throw Ratio)?',
|
|
14
|
+
answer:
|
|
15
|
+
'投射比定义了投影机在特定距离下能投射出多大的画面。计算公式为"投射距离 ÷ 画面宽度"。例如,投射比为 1.5 意味着从 1.5 米外投影,可以获得 1 米宽的画面。',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: '100 英寸的屏幕需要多远的距离?',
|
|
19
|
+
answer:
|
|
20
|
+
'这取决于投影机的投射比。如果投射比是标准的 1.5:1,大约需要 3.3 米。如果是短焦投影机(Short Throw),距离可以缩短到 1 米以内。',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: '16:9 和 4:3 有什么区别?',
|
|
24
|
+
answer:
|
|
25
|
+
'16:9 是现代电影和电视剧使用的宽屏格式。4:3 是传统演示文稿使用的比例。选择正确的比例可以避免出现过大的黑边。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '安装投影机的高度重要吗?',
|
|
29
|
+
answer:
|
|
30
|
+
'非常重要。投影机通常有垂直偏移或梯形校正。理想状态是投影机对准屏幕的上边缘或下边缘中央,以避免图像变形。',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const howToData = [
|
|
35
|
+
{
|
|
36
|
+
name: '查询投射比',
|
|
37
|
+
text: '在投影机机身、手册或包装盒上查找类似"1.2:1"或"1.5-1.8:1"的数值。',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: '确定屏幕尺寸',
|
|
41
|
+
text: '输入您想要的对角线英寸数或墙面可用的宽度。',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: '选择画面比例',
|
|
45
|
+
text: '看电影或剧集选 16:9,办公演示选 4:3,追求院线感选 21:9。',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: '获取安装距离',
|
|
49
|
+
text: '计算器将给出安装投影机支架的确切距离。',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'FAQPage',
|
|
56
|
+
mainEntity: faqData.map((item) => ({
|
|
57
|
+
'@type': 'Question',
|
|
58
|
+
name: item.question,
|
|
59
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
+
})),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const howToSchema: WithContext<HowTo> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'HowTo',
|
|
66
|
+
name: title,
|
|
67
|
+
description,
|
|
68
|
+
step: howToData.map((step) => ({
|
|
69
|
+
'@type': 'HowToStep',
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'UtilityApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
|
|
83
|
+
inLanguage: 'zh',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<ProjectorCalculatorUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
66
89
|
description,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
type: '
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: '
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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 表示每 1 米宽度需 1.5 米距离。',
|
|
172
|
-
ratio169Sub: '高清电视',
|
|
173
|
-
ratio219Sub: '宽银幕',
|
|
174
|
-
ratio43Sub: '普通/办公',
|
|
175
|
-
labelWidth: '屏幕宽度',
|
|
176
|
-
labelHeight: '屏幕高度',
|
|
177
|
-
labelDistance: '需安装距离',
|
|
178
|
-
simulationBadge: '实时模拟预测',
|
|
179
|
-
},
|
|
180
|
-
};
|
|
90
|
+
faq: faqData,
|
|
91
|
+
bibliography,
|
|
92
|
+
howTo: howToData,
|
|
93
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
94
|
+
seo: [
|
|
95
|
+
{
|
|
96
|
+
type: 'title',
|
|
97
|
+
text: '掌控投影几何学',
|
|
98
|
+
level: 2,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html: '凭直觉安装投影机可能会毁掉观影体验。太近画面太小,太远则亮度不足。核心在于 <strong>投射比(Throw Ratio)</strong>,它精确定义了距离与画面尺寸的关系。',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'stats',
|
|
106
|
+
items: [
|
|
107
|
+
{ value: 'TR × W', label: '距离公式', icon: 'mdi:projector' },
|
|
108
|
+
{ value: '< 0.4', label: '超短焦', icon: 'mdi:arrow-collapse-horizontal' },
|
|
109
|
+
{ value: '> 2.0', label: '长焦', icon: 'mdi:arrow-expand-horizontal' },
|
|
110
|
+
],
|
|
111
|
+
columns: 3,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'comparative',
|
|
115
|
+
items: [
|
|
116
|
+
{
|
|
117
|
+
title: '什么是投射比?',
|
|
118
|
+
description: '投射比是投影距离与画面宽度的比值。TR 为 1.5 意味着每 1 米画面宽度需要 1.5 米的投影距离。',
|
|
119
|
+
icon: 'mdi:ruler',
|
|
120
|
+
points: ['TR < 1: 短焦,适合小空间', 'TR 1-2: 客厅及会议室标准', 'TR > 2: 长焦,适合大型礼堂'],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
title: '画面格式与比例',
|
|
124
|
+
description: '画面格式决定了投影比例。使用错误的比例会导致出现黑边,并浪费投影亮度。',
|
|
125
|
+
icon: 'mdi:aspect-ratio',
|
|
126
|
+
points: ['16:9: 现代电影与游戏的标准高清比例', '21:9: 宽屏幕电影院格式', '4:3: 办公演示与老式投影比例'],
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
columns: 2,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'title',
|
|
133
|
+
text: '专业安装建议',
|
|
134
|
+
level: 3,
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'paragraph',
|
|
138
|
+
html: '<strong>镜头位移 (Lens Shift) vs 梯形校正:</strong> 如果投影机支持镜头位移,请务必优先使用,而不是使用数字梯形校正。梯形校正会损失分辨率。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'diagnostic',
|
|
142
|
+
variant: 'warning',
|
|
143
|
+
title: '环境光与幕布增益',
|
|
144
|
+
icon: 'mdi:lightbulb-on',
|
|
145
|
+
badge: '专业贴士',
|
|
146
|
+
html: '<p>在光线较亮的房间,考虑使用高增益(>1.0)幕布来补偿对比度的损失。</p>',
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'summary',
|
|
150
|
+
title: '安装自查清单',
|
|
151
|
+
items: [
|
|
152
|
+
'安装前先确认投影机的确切投射比。',
|
|
153
|
+
'核对墙面可用空间,确保能放下目标尺寸。',
|
|
154
|
+
'尽量使投影机光轴垂直并对准幕布中心。',
|
|
155
|
+
'避免数字校正:优先通过物理位置调整。',
|
|
156
|
+
'确保屏幕上没有直射光源干扰。',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
ui: {
|
|
161
|
+
configTitle: '参数配置',
|
|
162
|
+
configSubtitle: '设置您的幕布与投影机',
|
|
163
|
+
labelDiagonal: '幕布对角线',
|
|
164
|
+
labelDiagonalUnit: '英寸 (")',
|
|
165
|
+
labelFormat: '画面比例',
|
|
166
|
+
labelThrowRatio: '投射比(Throw Ratio)',
|
|
167
|
+
throwRatioHint: '参考投影机手册。例如:1.50 表示每 1 米宽度需 1.5 米距离。',
|
|
168
|
+
ratio169Sub: '高清电视',
|
|
169
|
+
ratio219Sub: '宽银幕',
|
|
170
|
+
ratio43Sub: '普通/办公',
|
|
171
|
+
labelWidth: '屏幕宽度',
|
|
172
|
+
labelHeight: '屏幕高度',
|
|
173
|
+
labelDistance: '需安装距离',
|
|
174
|
+
simulationBadge: '实时模拟预测',
|
|
175
|
+
},
|
|
176
|
+
};
|
|
@@ -11,4 +11,5 @@ const { locale = 'es' } = Astro.props;
|
|
|
11
11
|
const content = await projectorCalculator.i18n[locale]?.();
|
|
12
12
|
if (!content) return null;
|
|
13
13
|
---
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const bibliography = [
|
|
2
|
+
{
|
|
3
|
+
name: 'node-qrcode: QR code generator library',
|
|
4
|
+
url: 'https://github.com/soldair/node-qrcode',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
name: 'RFC 6350: vCard Format Specification',
|
|
8
|
+
url: 'https://www.rfc-editor.org/rfc/rfc6350',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: 'ZXing: Barcode Contents: WiFi, vCard y URL',
|
|
12
|
+
url: 'https://github.com/zxing/zxing/wiki/Barcode-Contents',
|
|
13
|
+
},
|
|
14
|
+
];
|