@jjlmoya/utils-nautical 1.5.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 +72 -71
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -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/endurance/component.astro +340 -1
- package/src/tool/endurance/i18n/de.ts +249 -0
- package/src/tool/endurance/i18n/id.ts +249 -0
- package/src/tool/endurance/i18n/it.ts +249 -0
- package/src/tool/endurance/i18n/ja.ts +249 -0
- package/src/tool/endurance/i18n/ko.ts +249 -0
- package/src/tool/endurance/i18n/nl.ts +249 -0
- package/src/tool/endurance/i18n/pl.ts +249 -0
- package/src/tool/endurance/i18n/pt.ts +249 -0
- package/src/tool/endurance/i18n/ru.ts +249 -0
- package/src/tool/endurance/i18n/sv.ts +249 -0
- package/src/tool/endurance/i18n/tr.ts +249 -0
- package/src/tool/endurance/i18n/zh.ts +249 -0
- package/src/tool/endurance/index.ts +12 -0
- package/src/tool/nauticalConverter/component.astro +208 -1
- package/src/tool/nauticalConverter/i18n/de.ts +239 -0
- package/src/tool/nauticalConverter/i18n/id.ts +239 -0
- package/src/tool/nauticalConverter/i18n/it.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
- package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
- package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
- package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
- package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
- package/src/tool/nauticalConverter/index.ts +12 -0
- package/src/tool/sailArea/component.astro +355 -2
- package/src/tool/sailArea/i18n/de.ts +275 -0
- package/src/tool/sailArea/i18n/id.ts +275 -0
- package/src/tool/sailArea/i18n/it.ts +275 -0
- package/src/tool/sailArea/i18n/ja.ts +275 -0
- package/src/tool/sailArea/i18n/ko.ts +275 -0
- package/src/tool/sailArea/i18n/nl.ts +275 -0
- package/src/tool/sailArea/i18n/pl.ts +275 -0
- package/src/tool/sailArea/i18n/pt.ts +275 -0
- package/src/tool/sailArea/i18n/ru.ts +275 -0
- package/src/tool/sailArea/i18n/sv.ts +275 -0
- package/src/tool/sailArea/i18n/tr.ts +275 -0
- package/src/tool/sailArea/i18n/zh.ts +275 -0
- package/src/tool/sailArea/index.ts +12 -0
- package/src/tool/speedConverter/component.astro +242 -1
- package/src/tool/speedConverter/i18n/de.ts +271 -0
- package/src/tool/speedConverter/i18n/id.ts +271 -0
- package/src/tool/speedConverter/i18n/it.ts +271 -0
- package/src/tool/speedConverter/i18n/ja.ts +271 -0
- package/src/tool/speedConverter/i18n/ko.ts +271 -0
- package/src/tool/speedConverter/i18n/nl.ts +271 -0
- package/src/tool/speedConverter/i18n/pl.ts +271 -0
- package/src/tool/speedConverter/i18n/pt.ts +271 -0
- package/src/tool/speedConverter/i18n/ru.ts +194 -0
- package/src/tool/speedConverter/i18n/sv.ts +271 -0
- package/src/tool/speedConverter/i18n/tr.ts +225 -0
- package/src/tool/speedConverter/i18n/zh.ts +271 -0
- package/src/tool/speedConverter/index.ts +12 -0
- package/src/tool/tideCalculator/component.astro +313 -1
- package/src/tool/tideCalculator/i18n/de.ts +203 -0
- package/src/tool/tideCalculator/i18n/id.ts +203 -0
- package/src/tool/tideCalculator/i18n/it.ts +203 -0
- package/src/tool/tideCalculator/i18n/ja.ts +203 -0
- package/src/tool/tideCalculator/i18n/ko.ts +203 -0
- package/src/tool/tideCalculator/i18n/nl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pt.ts +203 -0
- package/src/tool/tideCalculator/i18n/ru.ts +203 -0
- package/src/tool/tideCalculator/i18n/sv.ts +203 -0
- package/src/tool/tideCalculator/i18n/tr.ts +203 -0
- package/src/tool/tideCalculator/i18n/zh.ts +203 -0
- package/src/tool/tideCalculator/index.ts +12 -0
- package/src/tool/underKeel/component.astro +321 -1
- package/src/tool/underKeel/i18n/de.ts +189 -0
- package/src/tool/underKeel/i18n/en.ts +2 -2
- package/src/tool/underKeel/i18n/fr.ts +2 -2
- package/src/tool/underKeel/i18n/id.ts +189 -0
- package/src/tool/underKeel/i18n/it.ts +176 -0
- package/src/tool/underKeel/i18n/ja.ts +185 -0
- package/src/tool/underKeel/i18n/ko.ts +185 -0
- package/src/tool/underKeel/i18n/nl.ts +176 -0
- package/src/tool/underKeel/i18n/pl.ts +176 -0
- package/src/tool/underKeel/i18n/pt.ts +176 -0
- package/src/tool/underKeel/i18n/ru.ts +176 -0
- package/src/tool/underKeel/i18n/sv.ts +176 -0
- package/src/tool/underKeel/i18n/tr.ts +185 -0
- package/src/tool/underKeel/i18n/zh.ts +185 -0
- package/src/tool/underKeel/index.ts +12 -0
- package/src/tool/endurance/style.css +0 -337
- package/src/tool/nauticalConverter/style.css +0 -205
- package/src/tool/sailArea/style.css +0 -351
- package/src/tool/speedConverter/style.css +0 -239
- package/src/tool/tideCalculator/style.css +0 -310
- package/src/tool/underKeel/style.css +0 -318
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { EnduranceUI, EnduranceLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'nautical-endurance-calculator';
|
|
5
|
+
const title = '航続距離計算ツール';
|
|
6
|
+
const description =
|
|
7
|
+
'燃料消費量、タンク容量、巡航速度に基づいて、最大航続距離と安全距離を計算します。モーターボート向けの燃料管理ツールです。';
|
|
8
|
+
|
|
9
|
+
const ui: EnduranceUI = {
|
|
10
|
+
tankCapacityLabel: 'タンク容量',
|
|
11
|
+
mainTankLabel: 'メイン',
|
|
12
|
+
auxTankLabel: 'サブ',
|
|
13
|
+
currentFuelLabel: '現在の燃料',
|
|
14
|
+
seaConditionsLabel: '海況・風況',
|
|
15
|
+
consumptionLabel: '理論上の消費量',
|
|
16
|
+
cruiseSpeedLabel: '巡航速度',
|
|
17
|
+
reserveLabel: '予備燃料',
|
|
18
|
+
fuelPriceLabel: 'リッターあたりの価格',
|
|
19
|
+
maxRangeLabel: '最大航続距離',
|
|
20
|
+
realPerformanceLabel: '実際のパフォーマンス',
|
|
21
|
+
hoursLabel: '航続時間',
|
|
22
|
+
safeMilesLabel: '安全航行距離',
|
|
23
|
+
tankValueLabel: 'タンク値',
|
|
24
|
+
inverseCalcLabel: '逆算:必要な給油量は?',
|
|
25
|
+
desiredDistLabel: '目標距離',
|
|
26
|
+
minFuelLabel: '最低必要燃料',
|
|
27
|
+
warningLabel: '注意:海上の安全のため、予備燃料は最低20%確保することを強く推奨します。',
|
|
28
|
+
seaCalm: '穏やか (1.0x)',
|
|
29
|
+
seaLight: '軽いうねり (+15%)',
|
|
30
|
+
seaModerate: '中程度のうねり (+30%)',
|
|
31
|
+
seaStorm: '荒天 (+60%)',
|
|
32
|
+
faqTitle: 'よくある質問',
|
|
33
|
+
bibliographyTitle: '参考文献',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const faq: EnduranceLocaleContent['faq'] = [
|
|
37
|
+
{
|
|
38
|
+
question: 'モーターボートの航続距離はどのように計算されますか?',
|
|
39
|
+
answer: '航続距離は、使用可能な燃料を時間あたりの消費量で割って総時間を求め、その時間に巡航速度を掛けて算出します。このツールでは、実際の航行条件を反映するために海況係数も適用されます。',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'なぜ海上航行では20%の予備燃料が推奨されるのですか?',
|
|
43
|
+
answer: '20%の予備燃料は、逆潮、悪天候による迂回、消費見積もりの誤差、または他船の救助が必要になった場合など、予期せぬ事態に備えて燃料を確保するための海上安全基準です。多くの保険会社や港湾当局がこれを義務と考えています。',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
question: 'L/NMパフォーマンスとは何ですか?また、計画にどのように影響しますか?',
|
|
47
|
+
answer: '1海里あたりのリットル数(L/NM)で表されるパフォーマンスは、海況におけるエンジンの実際の効率を示します。時間あたりの消費量とは異なり、速度に関係なく、特定の距離をカバーするために正確にどれだけの燃料が必要かを計算できます。',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
question: '海況は実際の燃料消費量にどのように影響しますか?',
|
|
51
|
+
answer: '海況が悪化すると、船体が水や風の抵抗に対してより強く働く必要があるため、消費量が増加します。軽いうねりでは消費量は15%増加し、中程度のうねりでは30%、荒天時には60%以上に跳ね上がることがあります。この要因を無視すると、入港前に燃料切れになる危険があります。',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const howTo: EnduranceLocaleContent['howTo'] = [
|
|
56
|
+
{
|
|
57
|
+
name: 'タンク容量を入力する',
|
|
58
|
+
text: 'メインタンクのリットル数を入力し、サブタンクがある場合はその容量も入力します。ツールが現在の充填率を計算します。',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: '現在の燃料レベルを入力する',
|
|
62
|
+
text: '現在持っている実際の燃料量を入力します。燃料計で測定するか、前回の給油量から推定してください。',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: '航行条件を調整する',
|
|
66
|
+
text: '予定している航路の予想海況を選択します。海況係数が理論上の消費量を予想される実際の消費量に補正します。',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: '消費量と巡航速度を入力する',
|
|
70
|
+
text: 'メーカーのデータ、またはご自身の記録から時間あたりの消費量と、普段航行する速度を入力してください。',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: '安全距離と逆算結果を確認する',
|
|
74
|
+
text: '安全に走行できる海里数と、特定の目的地に到達するために必要な燃料量が表示されます。',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const bibliography: EnduranceLocaleContent['bibliography'] = [
|
|
79
|
+
{
|
|
80
|
+
name: 'UK Maritime and Coastguard Agency',
|
|
81
|
+
url: 'https://www.gov.uk/government/organisations/maritime-and-coastguard-agency',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'RYA - Royal Yachting Association',
|
|
85
|
+
url: 'https://www.rya.org.uk/',
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
const seo: EnduranceLocaleContent['seo'] = [
|
|
90
|
+
{
|
|
91
|
+
type: 'title',
|
|
92
|
+
text: 'モーターボート航行における燃料管理と航続距離',
|
|
93
|
+
level: 2,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html: '<strong>海上航続距離</strong>は、モーターボートで出航する前に最も重要な計算の一つです。利用可能な燃料で正確に何海里走行できるかを知ることは、計画的な航行か、海上での緊急事態かの分かれ目となります。',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: 'この航続距離計算ツールは、<strong>海況要因</strong>、安全予備燃料の割合、燃料の逆算機能を統合しており、あらゆる状況において完全で信頼性の高い燃料管理を可能にします。',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: '黄金律:3分の1の法則',
|
|
106
|
+
level: 3,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: '海上航行における古典的な燃料管理ルールでは、常に安全マージンを確保するためにタンクを3つの等分に分けます:',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'list',
|
|
114
|
+
items: [
|
|
115
|
+
'<strong>3分の1を行きに:</strong> 予定の目的地に到達するために必要な燃料。',
|
|
116
|
+
'<strong>3分の1を帰りに:</strong> 出発港または最寄りの港に戻るための燃料。',
|
|
117
|
+
'<strong>3分の1を予備に:</strong> 予期せぬ事態、潮流、悪条件のための安全マージン。',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: '計算ツールでは予備燃料の割合をご自身の基準に合わせて設定できますが、<strong>20%を下回ることは推奨されません</strong>。大型タンクや長距離航行の場合、経験豊富な船長は、このマージンを30%または33%まで引き上げることがよくあります。',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: '消費量(l/h)に影響を与える要因',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'メーカーの理論上の消費量は、理想的な実験室条件下で計算されています。実際には、複数の要因が<strong>実際の燃料消費量</strong>を変化させます。船体速度が最も決定的です:経済速度以上で航行すると、走行海里あたりの消費量が2倍から3倍になることがあります。',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'table',
|
|
135
|
+
headers: ['航行状態', '航続距離への影響', 'アドバイス'],
|
|
136
|
+
rows: [
|
|
137
|
+
['<strong>汚れた船体</strong>', '航続距離を最大20%低下させる', 'シーズン前に船体を清掃してください'],
|
|
138
|
+
['<strong>逆潮</strong>', '有効速度を30%低下させることがある', '常に対地速度で計算してください'],
|
|
139
|
+
['<strong>向かい風</strong>', '抵抗と消費量を10-25%増加させる', '軽度または中程度のうねり係数を使用してください'],
|
|
140
|
+
['<strong>過積載</strong>', '喫水と抵抗を増加させる', '計算前に装備品と備蓄品の重量を確認してください'],
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: '航続距離に関するテクニカル用語集',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'glossary',
|
|
150
|
+
items: [
|
|
151
|
+
{ term: 'パフォーマンス (L/NM)', definition: '走行した1海里あたりの消費燃料リットル数。消費量と実際の距離を結びつけるため、航路計画に最も役立つ指標です。' },
|
|
152
|
+
{ term: '巡航速度', definition: 'エンジンが速度と消費量のバランスを最も良く保てる最適な速度。通常、最大出力の70%〜80%の間です。' },
|
|
153
|
+
{ term: '限界予備燃料', definition: '決して消費してはならないタンクの割合。不測の事態への対応と、燃料回路への空気混入を防ぐため、最低20%が推奨されます。' },
|
|
154
|
+
{ term: '比燃料消費量', definition: '発生した1キロワット時あたりの燃料グラム数(g/kWh)。異なる推進システム間での効率比較を可能にするエンジンの技術的尺度。' },
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'title',
|
|
159
|
+
text: '沈殿物と揺れの危険性',
|
|
160
|
+
level: 3,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'paragraph',
|
|
164
|
+
html: '燃料レベルが低い船でよくある問題の原因は、<strong>タンクの底の沈殿物(スラッジ)</strong>です。レベルが下がりすぎると、長年蓄積された堆積物がフィルターに達して目詰まりを起こし、ゲージに数リットル残っていてもエンジンが停止してしまうことがあります。',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'paragraph',
|
|
168
|
+
html: '燃料が少ない状態での海上の揺れも問題を引き起こします。液体が波に合わせて揺れるため、燃料ポンプが一瞬空になることがあります。予備燃料を維持することで、入港時の操船といった重要な瞬間にこれが起こらないようにします。',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'tip',
|
|
172
|
+
title: '燃料節約のコツ',
|
|
173
|
+
html: '通常の巡航速度より10〜15%速度を落とすだけで、効率が最大30%向上します。時間に余裕があり、天候が良い場合は、ゆっくり行くことが常に最も経済的で安全な決断です。',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'title',
|
|
177
|
+
text: '海里 (NM) とキロメートルの違い',
|
|
178
|
+
level: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'paragraph',
|
|
182
|
+
html: '<strong>海里 (Nautical Mile)</strong> は1,852メートル (1.852 km) であり、海上および航空航法における世界共通の距離単位です。これは地球の緯度1分の弧に基づいているため、地理座標による海図を用いた航法に理想的です。1時間あたりの海里数による速度はノット (kn) と呼ばれます。',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'comparative',
|
|
186
|
+
items: [
|
|
187
|
+
{
|
|
188
|
+
title: 'アナログ式燃料計',
|
|
189
|
+
description: '伝統的なフロート方式',
|
|
190
|
+
points: [
|
|
191
|
+
'低コストで取り付けが簡単',
|
|
192
|
+
'動作に電力を必要としない',
|
|
193
|
+
'燃料の揺れにより、荒れた海では不正確になる',
|
|
194
|
+
'消費量や推定航続距離を表示しない',
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
title: 'デジタル式流量計',
|
|
199
|
+
description: '電子流量センサー',
|
|
200
|
+
highlight: true,
|
|
201
|
+
points: [
|
|
202
|
+
'実際の消費量に対して1〜2%の精度',
|
|
203
|
+
'航続可能距離、消費量、総コストをリアルタイムで表示',
|
|
204
|
+
'チャートプロッターやNMEA 2000と統合可能',
|
|
205
|
+
'初回校正とメンテナンスが必要',
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
|
|
212
|
+
const schemas: EnduranceLocaleContent['schemas'] = [
|
|
213
|
+
{
|
|
214
|
+
'@context': 'https://schema.org',
|
|
215
|
+
'@type': 'SoftwareApplication',
|
|
216
|
+
name: title,
|
|
217
|
+
description,
|
|
218
|
+
applicationCategory: 'UtilityApplication',
|
|
219
|
+
operatingSystem: 'Web',
|
|
220
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
221
|
+
} as WithContext<SoftwareApplication>,
|
|
222
|
+
{
|
|
223
|
+
'@context': 'https://schema.org',
|
|
224
|
+
'@type': 'FAQPage',
|
|
225
|
+
mainEntity: faq.map((item) => ({
|
|
226
|
+
'@type': 'Question',
|
|
227
|
+
name: item.question,
|
|
228
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
229
|
+
})),
|
|
230
|
+
} as WithContext<FAQPage>,
|
|
231
|
+
{
|
|
232
|
+
'@context': 'https://schema.org',
|
|
233
|
+
'@type': 'HowTo',
|
|
234
|
+
name: `使い方: ${title}`,
|
|
235
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
236
|
+
} as WithContext<HowTo>,
|
|
237
|
+
];
|
|
238
|
+
|
|
239
|
+
export const content: EnduranceLocaleContent = {
|
|
240
|
+
slug,
|
|
241
|
+
title,
|
|
242
|
+
description,
|
|
243
|
+
ui,
|
|
244
|
+
seo,
|
|
245
|
+
faq,
|
|
246
|
+
bibliography,
|
|
247
|
+
howTo,
|
|
248
|
+
schemas,
|
|
249
|
+
};
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { EnduranceUI, EnduranceLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'nautical-endurance-calculator';
|
|
5
|
+
const title = '선박 항속 거리 계산기';
|
|
6
|
+
const description =
|
|
7
|
+
'연료 소비량, 탱크 용량 및 순항 속도를 바탕으로 최대 항속 거리 및 안전 거리를 계산합니다. 모터보트를 위한 연료 관리 툴입니다.';
|
|
8
|
+
|
|
9
|
+
const ui: EnduranceUI = {
|
|
10
|
+
tankCapacityLabel: '탱크 용량',
|
|
11
|
+
mainTankLabel: '메인',
|
|
12
|
+
auxTankLabel: '보조',
|
|
13
|
+
currentFuelLabel: '현재 연료량',
|
|
14
|
+
seaConditionsLabel: '해상 / 풍랑 상태',
|
|
15
|
+
consumptionLabel: '이론상 소비량',
|
|
16
|
+
cruiseSpeedLabel: '순항 속도',
|
|
17
|
+
reserveLabel: '예비 연료',
|
|
18
|
+
fuelPriceLabel: '리터당 가격',
|
|
19
|
+
maxRangeLabel: '최대 항속 거리',
|
|
20
|
+
realPerformanceLabel: '실제 성능',
|
|
21
|
+
hoursLabel: '항속 시간',
|
|
22
|
+
safeMilesLabel: '안전 항행 거리',
|
|
23
|
+
tankValueLabel: '탱크 잔량 가치',
|
|
24
|
+
inverseCalcLabel: '역산: 얼마나 더 주유해야 할까요?',
|
|
25
|
+
desiredDistLabel: '목표 거리',
|
|
26
|
+
minFuelLabel: '최소 필요 연료',
|
|
27
|
+
warningLabel: '주의: 해상 안전을 위해 예비 연료는 최소 20%를 확보하는 것을 권장합니다.',
|
|
28
|
+
seaCalm: '잔잔함 (1.0x)',
|
|
29
|
+
seaLight: '약한 물결 (+15%)',
|
|
30
|
+
seaModerate: '보통 물결 (+30%)',
|
|
31
|
+
seaStorm: '거친 풍랑 (+60%)',
|
|
32
|
+
faqTitle: '자주 묻는 질문',
|
|
33
|
+
bibliographyTitle: '참고 문헌',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const faq: EnduranceLocaleContent['faq'] = [
|
|
37
|
+
{
|
|
38
|
+
question: '모터보트의 항속 거리는 어떻게 계산하나요?',
|
|
39
|
+
answer: '항속 거리는 사용 가능한 연료를 시간당 소비량으로 나누어 총 유지 시간을 구한 뒤, 여기에 순항 속도를 곱하여 계산합니다. 이 툴은 실제 항해 조건을 반영하기 위해 해상 상태 계수를 추가로 적용합니다.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: '해상 항해에서 20%의 예비 연료를 권장하는 이유는 무엇인가요?',
|
|
43
|
+
answer: '20% 예비 연료는 역조, 기상 악화로 인한 우회, 소비량 추정 오류 또는 타선 구조 등 예기치 못한 상황에 대비하기 위한 해상 안전 기준입니다. 많은 보험사와 항만 당국에서 이를 필수 사항으로 간주합니다.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
question: 'L/NM 성능이란 무엇이며 계획에 어떤 영향을 미치나요?',
|
|
47
|
+
answer: '해리당 리터(L/NM) 성능은 실제 해상 조건에서의 엔진 효율을 나타냅니다. 시간당 소비량과 달리, 속도와 관계없이 특정 거리를 이동하는 데 정확히 얼마만큼의 연료가 필요한지 계산할 수 있게 해줍니다.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
question: '해상 상태는 실제 연료 소비에 어떤 영향을 미치나요?',
|
|
51
|
+
answer: '해상 상태가 나빠지면 선체가 물과 바람의 저항에 더 강하게 부딪혀야 하므로 소비량이 증가합니다. 약한 물결에서는 소비량이 15%, 보통 물결에서는 30%, 거친 풍랑 시에는 60% 이상까지 급증할 수 있습니다. 이 요인을 무시하면 입항 전에 연료가 고갈될 위험이 있습니다.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const howTo: EnduranceLocaleContent['howTo'] = [
|
|
56
|
+
{
|
|
57
|
+
name: '탱크 용량 입력',
|
|
58
|
+
text: '메인 탱크의 용량을 입력하고, 보조 탱크가 있다면 해당 용량도 입력합니다. 툴이 현재 충전 비율을 계산합니다.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: '현재 연료 레벨 입력',
|
|
62
|
+
text: '현재 보유하고 있는 실제 연료량을 입력합니다. 선박의 레벨 게이지로 측정하거나 마지막 주유량을 바탕으로 추정하세요.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: '항해 조건 조정',
|
|
66
|
+
text: '예정된 항로의 예상 해상 상태를 선택합니다. 해상 계수가 이론상 소비량을 예상되는 실제 소비량으로 보정해 줍니다.',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: '소비량 및 순항 속도 입력',
|
|
70
|
+
text: '제조사 데이터나 본인의 기록을 바탕으로 시간당 소비량과 주로 항해하는 속도를 입력하세요.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: '안전 거리 및 역산 결과 확인',
|
|
74
|
+
text: '안전하게 항해할 수 있는 해리 수와 특정 목적지에 도달하기 위해 필요한 연료량을 보여줍니다.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const bibliography: EnduranceLocaleContent['bibliography'] = [
|
|
79
|
+
{
|
|
80
|
+
name: 'UK Maritime and Coastguard Agency',
|
|
81
|
+
url: 'https://www.gov.uk/government/organisations/maritime-and-coastguard-agency',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: 'RYA - Royal Yachting Association',
|
|
85
|
+
url: 'https://www.rya.org.uk/',
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
const seo: EnduranceLocaleContent['seo'] = [
|
|
90
|
+
{
|
|
91
|
+
type: 'title',
|
|
92
|
+
text: '모터보트 항해에서의 연료 관리 및 항속 거리',
|
|
93
|
+
level: 2,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html: '<strong>해상 항속 거리</strong>는 모터보트를 타고 출항하기 전에 확인해야 할 가장 중요한 계산 중 하나입니다. 보유한 연료로 정확히 몇 해리나 갈 수 있는지 아는 것이 계획된 항해와 해상 비상사태를 가르는 차이가 됩니다.',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: '이 항속 거리 계산기는 <strong>해상 상태 요인</strong>, 안전 예비 연료 비율, 그리고 역 연료 계산 기능을 통합하여 어떤 상황에서도 완벽하고 신뢰할 수 있는 연료 관리를 가능하게 합니다.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: '황금률: 3분의 1 법칙',
|
|
106
|
+
level: 3,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: '해상 항해의 고전적인 연료 관리 법칙은 항상 안전 마진을 확보하기 위해 탱크를 세 부분으로 나눕니다:',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'list',
|
|
114
|
+
items: [
|
|
115
|
+
'<strong>3분의 1은 갈 때:</strong> 예정된 목적지까지 도달하는 데 필요한 연료.',
|
|
116
|
+
'<strong>3분의 1은 올 때:</strong> 출발항이나 가장 가까운 항구로 돌아오기 위한 연료.',
|
|
117
|
+
'<strong>3분의 1은 예비용:</strong> 예기치 못한 상황, 조류 또는 악조건에 대비한 안전 마진.',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: '계산기에서 예비 연료 비율을 본인의 기준에 맞춰 설정할 수 있지만, <strong>20% 미만으로 설정하는 것은 절대 권장되지 않습니다</strong>. 대형 탱크를 가졌거나 장거리 항해를 하는 숙련된 선장들은 이 마진을 30% 또는 33%까지 높이기도 합니다.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: '소비량(l/h)에 영향을 미치는 요인들',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: '제조사의 이론상 소비량은 이상적인 실험실 조건에서 계산된 것입니다. 실제로는 여러 요인이 <strong>실제 연료 소비량</strong>을 변화시킵니다. 선체 속도가 가장 결정적입니다. 경제 속도 이상으로 항해하면 이동 해리당 소비량이 2배에서 3배까지 늘어날 수 있습니다.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'table',
|
|
135
|
+
headers: ['항해 상태', '항속 거리에 미치는 영향', '조언'],
|
|
136
|
+
rows: [
|
|
137
|
+
['<strong>오염된 선체</strong>', '항속 거리를 최대 20% 감소시킴', '시즌 전에 선체를 청소하세요'],
|
|
138
|
+
['<strong>역조</strong>', '유효 속도를 30%까지 낮출 수 있음', '항상 대지 속도(SOG)로 계산하세요'],
|
|
139
|
+
['<strong>맞바람</strong>', '저항과 소비량을 10-25% 증가시킴', '약한 물결 또는 보통 물결 계수를 사용하세요'],
|
|
140
|
+
['<strong>과적</strong>', '흘수와 저항을 증가시킴', '계산 전에 장비와 비축품의 무게를 확인하세요'],
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: '항속 거리 기술 용어 사전',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'glossary',
|
|
150
|
+
items: [
|
|
151
|
+
{ term: '성능 (L/NM)', definition: '이동한 해리당 소비된 연료 리터 수. 소비량과 실제 거리를 연결해 주므로 항해 계획 시 가장 유용한 지표입니다.' },
|
|
152
|
+
{ term: '순항 속도', definition: '엔진이 속도와 소비량 사이에서 최적의 균형을 제공하는 속도. 일반적으로 최대 출력의 70%에서 80% 사이입니다.' },
|
|
153
|
+
{ term: '임계 예비량', definition: '절대 소비해서는 안 되는 탱크의 비율. 비상시 대응 및 연료 회로에 공기가 유입되는 것을 방지하기 위해 최소 20%를 권장합니다.' },
|
|
154
|
+
{ term: '비연료 소비량', definition: '발생한 전력 1킬로와트시당 연료 그램 수(g/kWh). 서로 다른 추진 시스템 간의 효율성을 비교할 수 있게 해주는 엔진의 기술적 척도입니다.' },
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'title',
|
|
159
|
+
text: '슬러지와 흔들림의 위험',
|
|
160
|
+
level: 3,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'paragraph',
|
|
164
|
+
html: '연료 레벨이 낮은 선박에서 흔히 발생하는 문제의 원인은 <strong>탱크 바닥의 슬러지</strong>입니다. 레벨이 너무 낮아지면 수년간 쌓인 침전물이 필터에 도달해 이를 막을 수 있으며, 게이지에 몇 리터가 남아 있어도 엔진이 멈출 수 있습니다.',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'paragraph',
|
|
168
|
+
html: '연료가 적은 상태에서 파도에 의한 배의 흔들림도 문제를 일으킬 수 있습니다. 액체가 요동치면서 연료 펌프가 일시적으로 마를 수 있기 때문입니다. 예비 연료를 유지하면 입항을 위한 조타와 같은 중요한 순간에 이런 일이 발생하는 것을 방지할 수 있습니다.',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'tip',
|
|
172
|
+
title: '연료 절약 팁',
|
|
173
|
+
html: '일반적인 순항 속도보다 10-15%만 속도를 줄여도 효율을 최대 30%까지 높일 수 있습니다. 시간적 여유가 있고 날씨가 좋다면, 천천히 가는 것이 언제나 가장 경제적이고 안전한 결정입니다.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'title',
|
|
177
|
+
text: '해리 (NM)와 킬로미터의 차이',
|
|
178
|
+
level: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'paragraph',
|
|
182
|
+
html: '<strong>해리 (Nautical Mile)</strong>는 1,852미터(1.852 km)이며, 해상 및 항공 항법에서 통용되는 보편적인 거리 단위입니다. 이것은 지구 위도 1분의 호 길이에 기반하므로, 지리 좌표를 사용하는 해도에서의 항해에 이상적입니다. 시간당 해리 수로 나타내는 속도는 노트(kn)라고 합니다.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'comparative',
|
|
186
|
+
items: [
|
|
187
|
+
{
|
|
188
|
+
title: '아날로그 바늘 계기',
|
|
189
|
+
description: '전통적인 플로트 방식',
|
|
190
|
+
points: [
|
|
191
|
+
'저렴한 비용과 간단한 설치',
|
|
192
|
+
'작동에 전기가 필요 없음',
|
|
193
|
+
'거친 바다에서는 연료의 움직임으로 인해 부정확함',
|
|
194
|
+
'소비량이나 예상 항속 거리를 보여주지 않음',
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
title: '디지털 유량 계산기',
|
|
199
|
+
description: '전자식 유량 센서',
|
|
200
|
+
highlight: true,
|
|
201
|
+
points: [
|
|
202
|
+
'실제 소비량에 대해 1-2%의 정확도',
|
|
203
|
+
'항속 거리, 소비량 및 비용을 실시간으로 표시',
|
|
204
|
+
'차트플로터 및 NMEA 2000과 통합 가능',
|
|
205
|
+
'초기 교정 및 유지보수가 필요함',
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
],
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
|
|
212
|
+
const schemas: EnduranceLocaleContent['schemas'] = [
|
|
213
|
+
{
|
|
214
|
+
'@context': 'https://schema.org',
|
|
215
|
+
'@type': 'SoftwareApplication',
|
|
216
|
+
name: title,
|
|
217
|
+
description,
|
|
218
|
+
applicationCategory: 'UtilityApplication',
|
|
219
|
+
operatingSystem: 'Web',
|
|
220
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
221
|
+
} as WithContext<SoftwareApplication>,
|
|
222
|
+
{
|
|
223
|
+
'@context': 'https://schema.org',
|
|
224
|
+
'@type': 'FAQPage',
|
|
225
|
+
mainEntity: faq.map((item) => ({
|
|
226
|
+
'@type': 'Question',
|
|
227
|
+
name: item.question,
|
|
228
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
229
|
+
})),
|
|
230
|
+
} as WithContext<FAQPage>,
|
|
231
|
+
{
|
|
232
|
+
'@context': 'https://schema.org',
|
|
233
|
+
'@type': 'HowTo',
|
|
234
|
+
name: `사용 방법: ${title}`,
|
|
235
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
236
|
+
} as WithContext<HowTo>,
|
|
237
|
+
];
|
|
238
|
+
|
|
239
|
+
export const content: EnduranceLocaleContent = {
|
|
240
|
+
slug,
|
|
241
|
+
title,
|
|
242
|
+
description,
|
|
243
|
+
ui,
|
|
244
|
+
seo,
|
|
245
|
+
faq,
|
|
246
|
+
bibliography,
|
|
247
|
+
howTo,
|
|
248
|
+
schemas,
|
|
249
|
+
};
|