@jjlmoya/utils-nautical 1.22.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/index.ts +2 -1
- package/src/data.ts +1 -0
- package/src/entries.ts +4 -1
- package/src/index.ts +1 -0
- package/src/tests/i18n_coverage.test.ts +6 -1
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +7 -4
- package/src/tool/hullSpeed/bibliography.astro +14 -0
- package/src/tool/hullSpeed/bibliography.ts +12 -0
- package/src/tool/hullSpeed/component.astro +116 -0
- package/src/tool/hullSpeed/controller.ts +204 -0
- package/src/tool/hullSpeed/dom-views.ts +141 -0
- package/src/tool/hullSpeed/entry.ts +32 -0
- package/src/tool/hullSpeed/evaluator.ts +20 -0
- package/src/tool/hullSpeed/hull-draw.ts +185 -0
- package/src/tool/hullSpeed/i18n/de.ts +199 -0
- package/src/tool/hullSpeed/i18n/en.ts +199 -0
- package/src/tool/hullSpeed/i18n/es.ts +199 -0
- package/src/tool/hullSpeed/i18n/fr.ts +199 -0
- package/src/tool/hullSpeed/i18n/id.ts +199 -0
- package/src/tool/hullSpeed/i18n/it.ts +199 -0
- package/src/tool/hullSpeed/i18n/ja.ts +199 -0
- package/src/tool/hullSpeed/i18n/ko.ts +199 -0
- package/src/tool/hullSpeed/i18n/nl.ts +199 -0
- package/src/tool/hullSpeed/i18n/pl.ts +199 -0
- package/src/tool/hullSpeed/i18n/pt.ts +199 -0
- package/src/tool/hullSpeed/i18n/ru.ts +199 -0
- package/src/tool/hullSpeed/i18n/sv.ts +199 -0
- package/src/tool/hullSpeed/i18n/tr.ts +199 -0
- package/src/tool/hullSpeed/i18n/zh.ts +199 -0
- package/src/tool/hullSpeed/index.ts +11 -0
- package/src/tool/hullSpeed/logic.test.ts +105 -0
- package/src/tool/hullSpeed/logic.ts +116 -0
- package/src/tool/hullSpeed/presets.ts +17 -0
- package/src/tool/hullSpeed/sailboat-hull-speed-calculator.css +504 -0
- package/src/tool/hullSpeed/seo.astro +15 -0
- package/src/tool/hullSpeed/storage.test.ts +23 -0
- package/src/tool/hullSpeed/storage.ts +65 -0
- package/src/tool/hullSpeed/ui.ts +43 -0
- package/src/tools.ts +3 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { HullSpeedLocaleContent, HullSpeedUI } from '../index';
|
|
3
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulyator-skorosti-korpusa';
|
|
6
|
+
const title = 'Калькулятор скорости корпуса';
|
|
7
|
+
const description =
|
|
8
|
+
'Найди теоретическую скорость корпуса по длине ватерлинии, сравни лаг и увидь, когда водоизмещающий корпус лезет на собственную носовую волну.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Метрическая',
|
|
12
|
+
imperial: 'Имперская',
|
|
13
|
+
unitGroup: 'Единицы',
|
|
14
|
+
sceneLabel: 'Ватерлиния и носовая волна',
|
|
15
|
+
hullSpeedLabel: 'Скорость корпуса',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Длина по ватерлинии',
|
|
22
|
+
lwlLabelImperial: 'Длина по ватерлинии',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Скорость по лагу',
|
|
26
|
+
observedHint: 'Оставь 0, чтобы нарисовать теоретическую волну. Введи лаг, чтобы понять, сидишь ли ещё в яме.',
|
|
27
|
+
stretchHint: 'Тащи корпус, чтобы растянуть ватерлинию',
|
|
28
|
+
hullKindLabel: 'Форма корпуса',
|
|
29
|
+
displacement: 'Водоизмещающий',
|
|
30
|
+
semi: 'Полуглиссирующий',
|
|
31
|
+
planing: 'Глиссирующий',
|
|
32
|
+
boatsLabel: 'Примеры ватерлиний',
|
|
33
|
+
dinghy: 'Шлюпка',
|
|
34
|
+
daysailer: 'Дейсейлер',
|
|
35
|
+
cruiser: 'Круизер',
|
|
36
|
+
bluewater: 'Морской',
|
|
37
|
+
workboat: 'Рабочий',
|
|
38
|
+
bandBelow: 'Ещё короткая волна',
|
|
39
|
+
bandNear: 'Близко к волновой преграде',
|
|
40
|
+
bandAt: 'На носовой волне',
|
|
41
|
+
bandAbove: 'Пытается взобраться на волну',
|
|
42
|
+
bandPlane: 'На глиссировании, выше скорости корпуса',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Глиссирующий корпус может оставить эту волну позади. Скорость корпуса это ориентир, не стена.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Водоизмещающий корпус дорого платит, когда догоняет собственный след. Считай это практическим потолком, не целью GPS.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Полуглиссирующие могут чуть превысить классическое отношение при достаточной мощности, ценой резкого роста сопротивления.',
|
|
49
|
+
waveLegend: 'Носовая волна',
|
|
50
|
+
waterLegend: 'Ватерлиния',
|
|
51
|
+
markLegend: 'Скорость корпуса',
|
|
52
|
+
faqTitle: 'Вопросы о скорости корпуса',
|
|
53
|
+
bibliographyTitle: 'Источники',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: 'Что такое скорость корпуса парусной яхты?',
|
|
59
|
+
answer:
|
|
60
|
+
'Это скорость, при которой водоизмещающий корпус идёт с носовой волной примерно длины собственной ватерлинии. В морских единицах её оценивают как 1.34 корня длины ватерлинии в футах. Это критическая скорость, не жёсткая физическая остановка.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: 'Как считают скорость корпуса?',
|
|
64
|
+
answer:
|
|
65
|
+
'Переведи ватерлинию в футы, возьми корень и умножь на 1.34, чтобы получить узлы. Ватерлиния 10 м это около 32.8 ft, то есть около 7.7 kn. Та же точка соответствует числу Фруда около 0.40.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: 'Работает ли скорость корпуса для глиссеров?',
|
|
69
|
+
answer:
|
|
70
|
+
'Формула всё ещё описывает волну, которую корпус сделал бы в водоизмещающем режиме. Глиссеры и многие полуглиссирующие построены, чтобы взобраться через эту волну. Бери число как ориентир и читай заметку о форме корпуса.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: 'Брать ватерлинию или наибольшую длину?',
|
|
74
|
+
answer:
|
|
75
|
+
'Бери длину по ватерлинии (LWL), погруженную длину, которая реально делает волну. Наибольшая длина, бушприты и свесы длину волны не задают. Меряй LWL в воде, не LOA из буклета.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Растяни ватерлинию',
|
|
82
|
+
text: 'Тащи корпус, двигай рейку ватерлинии или выбери от шлюпки до рабочего судна. Скорость корпуса равна 1.34 корня этой длины в футах.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Выбери форму корпуса',
|
|
86
|
+
text: 'Водоизмещающий, полуглиссирующий или глиссирующий меняет киль и то, может ли судно выйти из собственной волны.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Прочитай яму',
|
|
90
|
+
text: 'На скорости корпуса носовая и кормовая волны стоят на расстоянии одной ватерлинии, а судно сидит во впадине. Это и есть барьер.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Сравни лаг',
|
|
94
|
+
text: 'Введи скорость относительно воды. Более короткая волна значит, что ты ещё дёшево толкаешь. Более длинная значит, что лезешь в яму.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Что на самом деле говорит скорость корпуса',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Водоизмещающий корпус толкает волну с носа и волну с кормы. Когда эти гребни стоят примерно на одну ватерлинию, судно идёт со своим следом. Лишняя мощность тогда копит воду вместо покупки хода. Это состояние моряки называют скоростью корпуса.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Калькулятор берёт обычное любительское отношение 1.34 узла на корень футов ватерлинии. Тонкие длинные корпуса могут чуть выше, баржи ниже. Считай результат учебной меткой и сравни настоящий лаг.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Посчитанные примеры ватерлинии',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Ватерлиния', 'Скорость корпуса', 'Типичное судно'],
|
|
120
|
+
rows: [
|
|
121
|
+
['4.2 m / 13.8 ft', '5.0 kn', 'Шлюпка'],
|
|
122
|
+
['6.5 m / 21.3 ft', '6.2 kn', 'Дейсейлер'],
|
|
123
|
+
['10 m / 32.8 ft', '7.7 kn', 'Семейный круизер'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Морская яхта'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Малое рабочее судно'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Как читать носовую волну',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'Ниже метки волна короткая и судно ещё дёшево толкать.',
|
|
137
|
+
'Близко к метке носовая волна круче, топливо или парус покупают меньше хода.',
|
|
138
|
+
'На метке длина волны совпадает с LWL. Водоизмещающий корпус у классического барьера.',
|
|
139
|
+
'Выше водоизмещающий корпус лезет на след. Глиссирующий уже может быть на ходу.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Меряй LWL, не LOA',
|
|
145
|
+
html: 'Буклетная длина включает свесы. Волне важна погруженная ватерлиния. Если есть только LOA, посчитанная скорость корпуса будет слишком оптимистичной.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Число Фруда одним предложением',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'Скорость корпуса это удобная упаковка числа Фруда около 0.40: скорость, делённая на корень из тяжести на длину. Поэтому более длинные ватерлинии быстрее, даже если форма корпуса та же. Растягивать LWL чистый способ поднять водоизмещающий предел; добавлять лошадиные силы нет.',
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
|
|
158
|
+
const schemas: HullSpeedLocaleContent['schemas'] = [
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'SoftwareApplication',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
applicationCategory: 'UtilityApplication',
|
|
165
|
+
operatingSystem: 'Web',
|
|
166
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
167
|
+
} as WithContext<SoftwareApplication>,
|
|
168
|
+
{
|
|
169
|
+
'@context': 'https://schema.org',
|
|
170
|
+
'@type': 'FAQPage',
|
|
171
|
+
mainEntity: faq.map((item) => ({
|
|
172
|
+
'@type': 'Question',
|
|
173
|
+
name: item.question,
|
|
174
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
175
|
+
})),
|
|
176
|
+
} as WithContext<FAQPage>,
|
|
177
|
+
{
|
|
178
|
+
'@context': 'https://schema.org',
|
|
179
|
+
'@type': 'HowTo',
|
|
180
|
+
name: `Как пользоваться: ${title}`,
|
|
181
|
+
step: howTo.map((step) => ({
|
|
182
|
+
'@type': 'HowToStep',
|
|
183
|
+
name: step.name,
|
|
184
|
+
text: step.text,
|
|
185
|
+
})),
|
|
186
|
+
} as WithContext<HowTo>,
|
|
187
|
+
];
|
|
188
|
+
|
|
189
|
+
export const content: HullSpeedLocaleContent = {
|
|
190
|
+
slug,
|
|
191
|
+
title,
|
|
192
|
+
description,
|
|
193
|
+
ui,
|
|
194
|
+
seo,
|
|
195
|
+
faq,
|
|
196
|
+
bibliography,
|
|
197
|
+
howTo,
|
|
198
|
+
schemas,
|
|
199
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { HullSpeedLocaleContent, HullSpeedUI } from '../index';
|
|
3
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
4
|
+
|
|
5
|
+
const slug = 'skrovhastighet-kalkylator';
|
|
6
|
+
const title = 'Kalkylator för skrovhastighet';
|
|
7
|
+
const description =
|
|
8
|
+
'Ta fram den teoretiska skrovhastigheten från vattenlinjelängden, jämför en logg och se när ett deplacements skrov klättrar i sin egen bogvåg.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Metrisk',
|
|
12
|
+
imperial: 'Imperial',
|
|
13
|
+
unitGroup: 'Enheter',
|
|
14
|
+
sceneLabel: 'Vattenlinje och bogvåg',
|
|
15
|
+
hullSpeedLabel: 'Skrovhastighet',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Vattenlinjelängd',
|
|
22
|
+
lwlLabelImperial: 'Vattenlinjelängd',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Logghastighet',
|
|
26
|
+
observedHint: 'Lämna 0 för att rita den teoretiska vågen. Skriv en logg för att se om du fortfarande sitter i gropen.',
|
|
27
|
+
stretchHint: 'Dra skrovet för att tänja vattenlinjen',
|
|
28
|
+
hullKindLabel: 'Skrovform',
|
|
29
|
+
displacement: 'Deplacement',
|
|
30
|
+
semi: 'Halvdeplacement',
|
|
31
|
+
planing: 'Planande',
|
|
32
|
+
boatsLabel: 'Exempelvattenlinjer',
|
|
33
|
+
dinghy: 'Jolle',
|
|
34
|
+
daysailer: 'Daysailer',
|
|
35
|
+
cruiser: 'Kryssare',
|
|
36
|
+
bluewater: 'Havs',
|
|
37
|
+
workboat: 'Arbetsbåt',
|
|
38
|
+
bandBelow: 'Fortfarande en kort våg',
|
|
39
|
+
bandNear: 'Nära vågbarriären',
|
|
40
|
+
bandAt: 'På bogvågen',
|
|
41
|
+
bandAbove: 'Försöker klättra vågen',
|
|
42
|
+
bandPlane: 'I planing, förbi skrovhastigheten',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Ett planande skrov kan lämna den här vågen bakom sig. Skrovhastighet är en referens, inte en vägg.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Ett deplacements skrov betalar dyrt när det hinner ikapp sitt eget kölvatten. Se det som ett praktiskt tak, inte ett GPS mål.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Halvdeplacement kan gå lite förbi det klassiska talet med tillräcklig effekt, till priset av ett skarpt motståndshopp.',
|
|
49
|
+
waveLegend: 'Bogvåg',
|
|
50
|
+
waterLegend: 'Vattenlinje',
|
|
51
|
+
markLegend: 'Skrovhastighet',
|
|
52
|
+
faqTitle: 'Frågor om skrovhastighet',
|
|
53
|
+
bibliographyTitle: 'Källor',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: 'Vad är skrovhastighet på en segelbåt?',
|
|
59
|
+
answer:
|
|
60
|
+
'Det är farten där ett deplacements skrov går med en bogvåg ungefär lika lång som den egna vattenlinjen. I nautiska enheter skattas den som 1.34 gånger roten av vattenlinjelängden i fot. Det är en kritisk fart, inte ett hårt fysiskt stopp.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: 'Hur räknar man ut skrovhastighet?',
|
|
64
|
+
answer:
|
|
65
|
+
'Räkna om vattenlinjen till fot, ta roten och multiplicera med 1.34 för att få knop. En vattenlinje på 10 m är ungefär 32.8 ft, alltså nära 7.7 kn. Samma punkt motsvarar ett Froude tal nära 0.40.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: 'Gäller skrovhastighet även planande båtar?',
|
|
69
|
+
answer:
|
|
70
|
+
'Formeln beskriver fortfarande vågen skrovet skulle göra i deplacementsläge. Planande båtar och många halvdeplacement är byggda för att klättra över den vågen. Använd talet som referens och läs noten om skrovform.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: 'Ska jag använda vattenlinjelängd eller längd över allt?',
|
|
74
|
+
answer:
|
|
75
|
+
'Använd längden i vattenlinjen (LWL), den nedsänkta längd som faktiskt gör vågen. Längd över allt, bogspröt och överhäng sätter inte våglängden. Mät LWL i vattnet, inte LOA från broschyren.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Tänj vattenlinjen',
|
|
82
|
+
text: 'Dra skrovet, flytta vattenlinjerälsen eller välj från jolle till arbetsbåt. Skrovhastighet är 1.34 gånger roten av den längden i fot.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Välj skrovform',
|
|
86
|
+
text: 'Deplacement, halvdeplacement eller planande ändrar kölen och om båten kan klättra ur sin egen våg.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Läs gropen',
|
|
90
|
+
text: 'Vid skrovhastighet sitter bog och aktervåg en vattenlinje isär och båten sitter i dalen. Det är barriären.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Jämför en logg',
|
|
94
|
+
text: 'Ange fart genom vattnet. En kortare våg betyder att du fortfarande skjuter billigt. En längre våg betyder att du klättrar i gropen.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Vad skrovhastigheten egentligen säger',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Ett deplacements skrov skjuter en våg från bog och en från akter. När de kammarna ligger ungefär en vattenlinje isär färdas båten med sitt eget kölvatten. Extra effekt hopar då mest vatten i stället för att köpa fart. Det tillståndet kallar seglare skrovhastighet.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Kalkylatorn använder det vanliga amatörtalet 1.34 knop per rot av vattenlinjefot. Smala, långa skrov kan ligga lite högre, pråmar lägre. Se resultatet som ett streck att lära av och jämför en riktig logg.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Uträknade vattenlinjeexempel',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Vattenlinje', 'Skrovhastighet', 'Typisk båt'],
|
|
120
|
+
rows: [
|
|
121
|
+
['4.2 m / 13.8 ft', '5.0 kn', 'Jolle'],
|
|
122
|
+
['6.5 m / 21.3 ft', '6.2 kn', 'Daysailer'],
|
|
123
|
+
['10 m / 32.8 ft', '7.7 kn', 'Familjekryssare'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Havsyacht'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Liten arbetsbåt'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Så läser du bogvågen',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'Under märket är vågen kort och båten fortfarande billig att driva.',
|
|
137
|
+
'Nära märket blir bogvågen brantare och bränsle eller segel köper mindre fart.',
|
|
138
|
+
'På märket matchar våglängden LWL. Ett deplacements skrov står vid den klassiska barriären.',
|
|
139
|
+
'Ovanför klättrar ett deplacements skrov i sitt kölvatten. Ett planande kan redan vara uppe.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Mät LWL, inte LOA',
|
|
145
|
+
html: 'Broschyrlängden räknar in överhäng. Vågen bryr sig om den nedsänkta vattenlinjen. Har du bara LOA blir den beräknade skrovhastigheten för optimistisk.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Froude talet i en mening',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'Skrovhastighet är en bekväm förpackning av ett Froude tal nära 0.40: fart delat med roten av gravitation gånger längd. Därför är längre vattenlinjer snabbare även när skrovformen är densamma. Att tänja LWL höjer deplacementsgränsen rent; fler hästkrafter gör det inte.',
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
|
|
158
|
+
const schemas: HullSpeedLocaleContent['schemas'] = [
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'SoftwareApplication',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
applicationCategory: 'UtilityApplication',
|
|
165
|
+
operatingSystem: 'Web',
|
|
166
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
167
|
+
} as WithContext<SoftwareApplication>,
|
|
168
|
+
{
|
|
169
|
+
'@context': 'https://schema.org',
|
|
170
|
+
'@type': 'FAQPage',
|
|
171
|
+
mainEntity: faq.map((item) => ({
|
|
172
|
+
'@type': 'Question',
|
|
173
|
+
name: item.question,
|
|
174
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
175
|
+
})),
|
|
176
|
+
} as WithContext<FAQPage>,
|
|
177
|
+
{
|
|
178
|
+
'@context': 'https://schema.org',
|
|
179
|
+
'@type': 'HowTo',
|
|
180
|
+
name: `Så använder du ${title}`,
|
|
181
|
+
step: howTo.map((step) => ({
|
|
182
|
+
'@type': 'HowToStep',
|
|
183
|
+
name: step.name,
|
|
184
|
+
text: step.text,
|
|
185
|
+
})),
|
|
186
|
+
} as WithContext<HowTo>,
|
|
187
|
+
];
|
|
188
|
+
|
|
189
|
+
export const content: HullSpeedLocaleContent = {
|
|
190
|
+
slug,
|
|
191
|
+
title,
|
|
192
|
+
description,
|
|
193
|
+
ui,
|
|
194
|
+
seo,
|
|
195
|
+
faq,
|
|
196
|
+
bibliography,
|
|
197
|
+
howTo,
|
|
198
|
+
schemas,
|
|
199
|
+
};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { HullSpeedLocaleContent, HullSpeedUI } from '../index';
|
|
3
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
4
|
+
|
|
5
|
+
const slug = 'tekne-govde-hizi-hesaplayici';
|
|
6
|
+
const title = 'Tekne gövde hızı hesaplayıcı';
|
|
7
|
+
const description =
|
|
8
|
+
'Su hattı boyundan kuramsal gövde hızını bul, bir log ile karşılaştır ve yer değiştiren bir gövdenin kendi baş dalgasına ne zaman tırmandığını gör.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Metrik',
|
|
12
|
+
imperial: 'İngiliz',
|
|
13
|
+
unitGroup: 'Birimler',
|
|
14
|
+
sceneLabel: 'Su hattı ve baş dalgası',
|
|
15
|
+
hullSpeedLabel: 'Gövde hızı',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Su hattı boyu',
|
|
22
|
+
lwlLabelImperial: 'Su hattı boyu',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Log hızı',
|
|
26
|
+
observedHint: 'Kuramsal dalgayı çizmek için 0 bırak. Hâlâ çukurda oturup oturmadığını görmek için bir log yaz.',
|
|
27
|
+
stretchHint: 'Su hattını uzatmak için gövdeyi sürükle',
|
|
28
|
+
hullKindLabel: 'Gövde biçimi',
|
|
29
|
+
displacement: 'Yer değiştiren',
|
|
30
|
+
semi: 'Yarı yer değiştiren',
|
|
31
|
+
planing: 'Kayıcı',
|
|
32
|
+
boatsLabel: 'Örnek su hatları',
|
|
33
|
+
dinghy: 'Dinghy',
|
|
34
|
+
daysailer: 'Daysailer',
|
|
35
|
+
cruiser: 'Gezi',
|
|
36
|
+
bluewater: 'Açık deniz',
|
|
37
|
+
workboat: 'İş teknesi',
|
|
38
|
+
bandBelow: 'Hâlâ kısa bir dalga',
|
|
39
|
+
bandNear: 'Dalga engeline yaklaşıyor',
|
|
40
|
+
bandAt: 'Baş dalgasının üstünde',
|
|
41
|
+
bandAbove: 'Dalgaya tırmanmaya çalışıyor',
|
|
42
|
+
bandPlane: 'Kayışta, gövde hızının ötesinde',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Kayıcı bir gövde bu dalgayı geride bırakabilir. Gövde hızı bir referanstır, duvar değildir.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Yer değiştiren bir gövde kendi izine yetişince pahalıya öder. Bunu pratik tavan say, GPS hedefi değil.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Yarı yer değiştirenler yeterli güçle klasik oranın biraz üstüne çıkabilir, direncin sert artışı pahasına.',
|
|
49
|
+
waveLegend: 'Baş dalgası',
|
|
50
|
+
waterLegend: 'Su hattı',
|
|
51
|
+
markLegend: 'Gövde hızı',
|
|
52
|
+
faqTitle: 'Gövde hızı soruları',
|
|
53
|
+
bibliographyTitle: 'Kaynaklar',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: 'Bir yelkenlide gövde hızı nedir?',
|
|
59
|
+
answer:
|
|
60
|
+
'Yer değiştiren bir gövdenin, kendi su hattı kadar uzun bir baş dalgasıyla gittiği hızdır. Deniz birimlerinde su hattı boyunun karekökünün 1.34 katı olarak kestirilir. Kritik bir hızdır, sert bir fizik durdurucusu değildir.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: 'Gövde hızı nasıl hesaplanır?',
|
|
64
|
+
answer:
|
|
65
|
+
'Su hattını fite çevir, karekökünü al ve düğüm için 1.34 ile çarp. 10 m su hattı yaklaşık 32.8 ft eder, yani 7.7 kn civarı. Aynı nokta 0.40 civarı bir Froude sayısına denk gelir.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: 'Gövde hızı kayıcı tekneler için geçerli midir?',
|
|
69
|
+
answer:
|
|
70
|
+
'Formül, gövdenin yer değiştirme kipinde yapacağı dalgayı hâlâ anlatır. Kayıcılar ve birçok yarı yer değiştiren bu dalganın üstüne tırmanmak için tasarlanır. Sayıyı referans al, sonra gövde biçimi notunu oku.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: 'Su hattı boyunu mu toplam boyu mu kullanmalıyım?',
|
|
74
|
+
answer:
|
|
75
|
+
'Dalgayı gerçekten yapan batık uzunluk olan su hattı boyunu (LWL) kullan. Toplam boy, civadra ve çıkıntılar dalga boyunu koymaz. LWL yi suda ölç, broşürdeki LOA yi değil.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Su hattını uzat',
|
|
82
|
+
text: 'Gövdeyi sürükle, su hattı rayını kaydır ya da dinghy den iş teknesine kadar seç. Gövde hızı o boyun fit cinsinden karekökünün 1.34 katıdır.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Gövde biçimini seç',
|
|
86
|
+
text: 'Yer değiştiren, yarı yer değiştiren veya kayıcı omurgayı ve teknenin kendi dalgasından çıkıp çıkamayacağını değiştirir.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Çukuru oku',
|
|
90
|
+
text: 'Gövde hızında baş ve kıç dalgası bir su hattı aralıkta durur ve tekne çukurda oturur. Engel budur.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Bir log karşılaştır',
|
|
94
|
+
text: 'Sudaki hızı gir. Daha kısa dalga hâlâ ucuza ittiğin anlamına gelir. Daha uzun dalga çukura tırmandığın anlamına gelir.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Gövde hızının aslında söylediği şey',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Yer değiştiren bir gövde baştan bir dalga, kıçtan bir dalga iter. Bu tepeler yaklaşık bir su hattı aralıkta durunca tekne kendi iziyle gider. Fazladan güç o zaman hız almak yerine su yığar. Denizcilerin gövde hızı dediği durum budur.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Hesaplayıcı, su hattı fitinin karekökü başına 1.34 düğümlük yaygın amatör oranı kullanır. İnce uzun gövdeler biraz daha yüksek, mavnalar daha düşük oturabilir. Sonucu bir öğretim işareti say, sonra gerçek bir log ile karşılaştır.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Hesaplanmış su hattı örnekleri',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Su hattı', 'Gövde hızı', 'Tipik tekne'],
|
|
120
|
+
rows: [
|
|
121
|
+
['4.2 m / 13.8 ft', '5.0 kn', 'Dinghy'],
|
|
122
|
+
['6.5 m / 21.3 ft', '6.2 kn', 'Daysailer'],
|
|
123
|
+
['10 m / 32.8 ft', '7.7 kn', 'Aile gezisi'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Açık deniz yatı'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Küçük iş teknesi'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Baş dalgası nasıl okunur',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'İşaretin altında dalga kısadır ve tekne hâlâ ucuza sürülür.',
|
|
137
|
+
'İşarete yakın baş dalgası dikleşir, yakıt veya yelken daha az hız alır.',
|
|
138
|
+
'İşaretin üstünde dalga boyu LWL ile eşleşir. Yer değiştiren gövde klasik engeldedir.',
|
|
139
|
+
'Üstünde yer değiştiren gövde izine tırmanır. Kayıcı zaten kalkmış olabilir.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'LWL ölç, LOA değil',
|
|
145
|
+
html: 'Broşür boyu çıkıntıları sayar. Dalga batık su hattına bakar. Elinde yalnız LOA varsa hesaplanan gövde hızı iyimser kalır.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Bir cümlede Froude sayısı',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'Gövde hızı, 0.40 civarı bir Froude sayısının rahat paketidir: hızın yerçekimi çarpı boyun kareköküne bölümü. Bu yüzden gövde biçimi aynı kalsa bile daha uzun su hatları daha hızlıdır. LWL yi uzatmak yer değiştirme sınırını temiz yükseltir; beygir eklemek yükseltmez.',
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
|
|
158
|
+
const schemas: HullSpeedLocaleContent['schemas'] = [
|
|
159
|
+
{
|
|
160
|
+
'@context': 'https://schema.org',
|
|
161
|
+
'@type': 'SoftwareApplication',
|
|
162
|
+
name: title,
|
|
163
|
+
description,
|
|
164
|
+
applicationCategory: 'UtilityApplication',
|
|
165
|
+
operatingSystem: 'Web',
|
|
166
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
167
|
+
} as WithContext<SoftwareApplication>,
|
|
168
|
+
{
|
|
169
|
+
'@context': 'https://schema.org',
|
|
170
|
+
'@type': 'FAQPage',
|
|
171
|
+
mainEntity: faq.map((item) => ({
|
|
172
|
+
'@type': 'Question',
|
|
173
|
+
name: item.question,
|
|
174
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
175
|
+
})),
|
|
176
|
+
} as WithContext<FAQPage>,
|
|
177
|
+
{
|
|
178
|
+
'@context': 'https://schema.org',
|
|
179
|
+
'@type': 'HowTo',
|
|
180
|
+
name: `${title} nasıl kullanılır`,
|
|
181
|
+
step: howTo.map((step) => ({
|
|
182
|
+
'@type': 'HowToStep',
|
|
183
|
+
name: step.name,
|
|
184
|
+
text: step.text,
|
|
185
|
+
})),
|
|
186
|
+
} as WithContext<HowTo>,
|
|
187
|
+
];
|
|
188
|
+
|
|
189
|
+
export const content: HullSpeedLocaleContent = {
|
|
190
|
+
slug,
|
|
191
|
+
title,
|
|
192
|
+
description,
|
|
193
|
+
ui,
|
|
194
|
+
seo,
|
|
195
|
+
faq,
|
|
196
|
+
bibliography,
|
|
197
|
+
howTo,
|
|
198
|
+
schemas,
|
|
199
|
+
};
|