@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 = 'calculadora-velocidad-casco-velero';
|
|
6
|
+
const title = 'Calculadora de velocidad de casco';
|
|
7
|
+
const description =
|
|
8
|
+
'Obtén la velocidad de casco teórica a partir de la eslora de flotación, compara un registro real y ve cuándo un casco de desplazamiento trepa su propia ola de proa.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Métrico',
|
|
12
|
+
imperial: 'Imperial',
|
|
13
|
+
unitGroup: 'Unidades',
|
|
14
|
+
sceneLabel: 'Flotación y ola de proa',
|
|
15
|
+
hullSpeedLabel: 'Velocidad de casco',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Eslora de flotación',
|
|
22
|
+
lwlLabelImperial: 'Eslora de flotación',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Velocidad de la corredera',
|
|
26
|
+
observedHint: 'Déjalo en 0 para dibujar la ola teórica. Escribe un registro para ver si sigues sentado en el hueco.',
|
|
27
|
+
stretchHint: 'Arrastra el casco para estirar la flotación',
|
|
28
|
+
hullKindLabel: 'Forma de casco',
|
|
29
|
+
displacement: 'Desplazamiento',
|
|
30
|
+
semi: 'Semidesplazamiento',
|
|
31
|
+
planing: 'Planeo',
|
|
32
|
+
boatsLabel: 'Flotaciones de ejemplo',
|
|
33
|
+
dinghy: 'Dinghy',
|
|
34
|
+
daysailer: 'Daysailer',
|
|
35
|
+
cruiser: 'Crucero',
|
|
36
|
+
bluewater: 'Altura',
|
|
37
|
+
workboat: 'Trabajo',
|
|
38
|
+
bandBelow: 'Aún hace una ola corta',
|
|
39
|
+
bandNear: 'Acercándose a la barrera de ola',
|
|
40
|
+
bandAt: 'Montado en la ola de proa',
|
|
41
|
+
bandAbove: 'Intentando trepar la ola',
|
|
42
|
+
bandPlane: 'En el planeo, por encima de la velocidad de casco',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Un casco de planeo puede dejar atrás esta ola. La velocidad de casco es una referencia, no un muro.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Un casco de desplazamiento paga caro al alcanzar su propia estela. Trátala como techo práctico, no como objetivo de GPS.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Los cascos de semidesplazamiento pueden pasar un poco del ratio clásico con potencia de sobra, a costa de una subida brusca de resistencia.',
|
|
49
|
+
waveLegend: 'Ola de proa',
|
|
50
|
+
waterLegend: 'Flotación',
|
|
51
|
+
markLegend: 'Velocidad de casco',
|
|
52
|
+
faqTitle: 'Preguntas sobre velocidad de casco',
|
|
53
|
+
bibliographyTitle: 'Referencias',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: '¿Qué es la velocidad de casco en un velero?',
|
|
59
|
+
answer:
|
|
60
|
+
'Es la velocidad a la que un casco de desplazamiento viaja con una ola de proa casi tan larga como su propia flotación. En unidades náuticas se estima como 1.34 veces la raíz de la eslora de flotación en pies. Es una velocidad crítica, no un tope físico duro.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: '¿Cómo se calcula la velocidad de casco?',
|
|
64
|
+
answer:
|
|
65
|
+
'Pasa la flotación a pies, saca la raíz y multiplica por 1.34 para obtener nudos. Una flotación de 10 m son unos 32.8 ft, así que sale cerca de 7.7 kn. Ese punto corresponde a un número de Froude próximo a 0.40.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: '¿Sirve la velocidad de casco para lanchas de planeo?',
|
|
69
|
+
answer:
|
|
70
|
+
'La fórmula sigue describiendo la ola que haría el casco si se quedara en modo desplazamiento. El planeo y muchos semidesplazamientos están pensados para trepar esa ola. Usa el número como referencia y lee la nota de forma de casco.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: '¿Debo usar la eslora de flotación o la eslora total?',
|
|
74
|
+
answer:
|
|
75
|
+
'Usa la eslora de flotación (LWL), la longitud inmersa que realmente genera la ola. La eslora total, baupreses y voladizos no fijan la longitud de onda. Mide LWL en el agua, no el LOA del folleto.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Estira la flotación',
|
|
82
|
+
text: 'Arrastra el casco, mueve el rail de flotación o elige desde dinghy hasta barco de trabajo. La velocidad de casco es 1.34 veces la raíz de esa longitud en pies.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Elige la forma de casco',
|
|
86
|
+
text: 'Desplazamiento, semidesplazamiento o planeo cambia la quilla y si el barco puede salir de su propia ola.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Lee el hueco',
|
|
90
|
+
text: 'A velocidad de casco la ola de proa y la de popa quedan a una flotación de distancia y el barco se sienta en el seno. Esa es la barrera.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Compara un registro',
|
|
94
|
+
text: 'Introduce la velocidad sobre el agua. Una ola más corta significa que aún empujas barato. Una ola más larga significa que trepas el hueco.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Qué te está diciendo de verdad la velocidad de casco',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Un casco de desplazamiento empuja una ola desde la proa y otra desde la popa. Cuando esas crestas quedan a unos de flotación de distancia, el barco viaja con su propia estela. Entonces la potencia extra amontona agua en vez de comprar velocidad. Esa condición es lo que los marinos llaman velocidad de casco.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'La calculadora usa el ratio amateur habitual de 1.34 nudos por raíz de pies de flotación. Los cascos finos y largos pueden ir un poco más altos; las barcazas, más bajos. Trata el resultado como marca de estudio y compáralo con un registro real.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Ejemplos de flotación resueltos',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Flotación', 'Velocidad de casco', 'Barco típico'],
|
|
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', 'Crucero familiar'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Yate de altura'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Barco de trabajo pequeño'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Cómo leer la ola de proa',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'Por debajo de la marca la ola es corta y el barco sigue siendo barato de empujar.',
|
|
137
|
+
'Cerca de la marca la ola de proa se empina y el combustible o la vela compran menos velocidad.',
|
|
138
|
+
'Sobre la marca la longitud de onda iguala la LWL. Un casco de desplazamiento está en la barrera clásica.',
|
|
139
|
+
'Por encima un casco de desplazamiento trepa su estela. Uno de planeo puede ir ya levantado.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Mide LWL, no LOA',
|
|
145
|
+
html: 'La eslora del folleto incluye voladizos. A la ola le importa la flotación inmersa. Si solo tienes LOA, la velocidad de casco que calcules será optimista.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'El número de Froude en una frase',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'La velocidad de casco es un empaquetado cómodo de un número de Froude cercano a 0.40: velocidad dividida por la raíz de la gravedad por la eslora. Por eso las flotaciones más largas son más rápidas aunque la forma del casco no cambie. Estirar la LWL es el modo limpio de subir el límite de desplazamiento; añadir caballos no lo es.',
|
|
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: `Cómo usar ${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 = 'calculateur-vitesse-de-coque';
|
|
6
|
+
const title = 'Calculateur de vitesse de coque';
|
|
7
|
+
const description =
|
|
8
|
+
'Trouve la vitesse de coque théorique à partir de la longueur de flottaison, compare un loch et vois quand une carène à déplacement gravit sa propre vague d étrave.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Métrique',
|
|
12
|
+
imperial: 'Impérial',
|
|
13
|
+
unitGroup: 'Unités',
|
|
14
|
+
sceneLabel: 'Flottaison et vague d étrave',
|
|
15
|
+
hullSpeedLabel: 'Vitesse de coque',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Longueur de flottaison',
|
|
22
|
+
lwlLabelImperial: 'Longueur de flottaison',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Vitesse au loch',
|
|
26
|
+
observedHint: 'Laisse 0 pour tracer la vague théorique. Saisis un loch pour voir si tu es encore assis dans le creux.',
|
|
27
|
+
stretchHint: 'Tire la coque pour allonger la flottaison',
|
|
28
|
+
hullKindLabel: 'Forme de coque',
|
|
29
|
+
displacement: 'Déplacement',
|
|
30
|
+
semi: 'Semi déplacement',
|
|
31
|
+
planing: 'Planning',
|
|
32
|
+
boatsLabel: 'Flottaisons d exemple',
|
|
33
|
+
dinghy: 'Dériveur',
|
|
34
|
+
daysailer: 'Daysailer',
|
|
35
|
+
cruiser: 'Croiseur',
|
|
36
|
+
bluewater: 'Hauturier',
|
|
37
|
+
workboat: 'Navire de travail',
|
|
38
|
+
bandBelow: 'Vague encore courte',
|
|
39
|
+
bandNear: 'Proche de la barrière de vague',
|
|
40
|
+
bandAt: 'Sur la vague d étrave',
|
|
41
|
+
bandAbove: 'Essaie de gravir la vague',
|
|
42
|
+
bandPlane: 'Au planning, au delà de la vitesse de coque',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Une coque au planning peut laisser cette vague derrière elle. La vitesse de coque est une référence, pas un mur.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Une carène à déplacement paie cher dès qu elle rattrape son sillage. Traite la valeur comme un plafond pratique, pas une cible GPS.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Les semi déplacements peuvent dépasser un peu le ratio classique avec assez de puissance, au prix d une hausse brutale de résistance.',
|
|
49
|
+
waveLegend: 'Vague d étrave',
|
|
50
|
+
waterLegend: 'Flottaison',
|
|
51
|
+
markLegend: 'Vitesse de coque',
|
|
52
|
+
faqTitle: 'Questions sur la vitesse de coque',
|
|
53
|
+
bibliographyTitle: 'Références',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: 'Qu est ce que la vitesse de coque d un voilier?',
|
|
59
|
+
answer:
|
|
60
|
+
'C est la vitesse à laquelle une carène à déplacement avance avec une vague d étrave à peu près aussi longue que sa flottaison. En unités nautiques on l estime à 1.34 fois la racine de la longueur de flottaison en pieds. C est une vitesse critique, pas un arrêt physique dur.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: 'Comment calcule t on la vitesse de coque?',
|
|
64
|
+
answer:
|
|
65
|
+
'Convertis la flottaison en pieds, prends la racine et multiplie par 1.34 pour obtenir des nœuds. Une flottaison de 10 m fait environ 32.8 ft, donc près de 7.7 kn. Ce point correspond à un nombre de Froude proche de 0.40.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: 'La vitesse de coque s applique t elle aux vedettes au planning?',
|
|
69
|
+
answer:
|
|
70
|
+
'La formule décrit encore la vague que ferait la coque si elle restait en déplacement. Le planning et beaucoup de semi déplacements sont conçus pour gravir cette vague. Prends le chiffre comme référence, puis lis la note de forme de coque.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: 'Faut il prendre la flottaison ou la longueur hors tout?',
|
|
74
|
+
answer:
|
|
75
|
+
'Prends la longueur de flottaison (LWL), la longueur immergée qui fabrique vraiment la vague. La longueur hors tout, les beauprés et les élancements ne fixent pas la longueur d onde. Mesure la LWL dans l eau, pas le LOA de brochure.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Allonger la flottaison',
|
|
82
|
+
text: 'Tire la coque, déplace le rail de flottaison ou choisis du dériveur au navire de travail. La vitesse de coque vaut 1.34 fois la racine de cette longueur en pieds.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Choisir la forme de coque',
|
|
86
|
+
text: 'Déplacement, semi déplacement ou planning change la quille et la capacité du bateau à sortir de sa propre vague.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Lire le creux',
|
|
90
|
+
text: 'À la vitesse de coque, les vagues d étrave et de poupe sont distantes d une flottaison et le bateau s assied dans le creux. C est la barrière.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Comparer un loch',
|
|
94
|
+
text: 'Saisis la vitesse sur l eau. Une vague plus courte veut dire que tu pousses encore à bon marché. Une vague plus longue veut dire que tu gravis le creux.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Ce que la vitesse de coque raconte vraiment',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Une carène à déplacement pousse une vague à l étrave et une autre à la poupe. Quand ces crêtes sont distantes d environ une flottaison, le bateau voyage avec son propre sillage. La puissance en trop entasse alors de l eau au lieu d acheter de la vitesse. C est cet état que les marins appellent vitesse de coque.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Le calculateur utilise le ratio amateur habituel de 1.34 nœuds par racine des pieds de flottaison. Les carènes fines et longues peuvent un peu plus haut, les barges plus bas. Traite le résultat comme un trait d apprentissage, puis compare un loch réel.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Exemples de flottaison calculés',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Flottaison', 'Vitesse de coque', 'Bateau typique'],
|
|
120
|
+
rows: [
|
|
121
|
+
['4.2 m / 13.8 ft', '5.0 kn', 'Dériveur'],
|
|
122
|
+
['6.5 m / 21.3 ft', '6.2 kn', 'Daysailer'],
|
|
123
|
+
['10 m / 32.8 ft', '7.7 kn', 'Croiseur familial'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Yacht hauturier'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Petit navire de travail'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Lire la vague d étrave',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'Sous la marque la vague est courte et le bateau reste bon marché à pousser.',
|
|
137
|
+
'Près de la marque la vague d étrave se dresse et carburant ou voile achètent moins de vitesse.',
|
|
138
|
+
'Sur la marque la longueur d onde égale la LWL. Une carène à déplacement est à la barrière classique.',
|
|
139
|
+
'Au dessus, une carène à déplacement gravit son sillage. Une coque au planning peut déjà être levée.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Mesure la LWL, pas le LOA',
|
|
145
|
+
html: 'La longueur de brochure inclut les élancements. La vague se soucie de la flottaison immergée. Si tu n as que le LOA, la vitesse de coque calculée sera trop optimiste.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Le nombre de Froude en une phrase',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'La vitesse de coque est un emballage commode d un nombre de Froude proche de 0.40: vitesse divisée par la racine de la gravité fois la longueur. Voilà pourquoi les flottaisons plus longues vont plus vite même si la forme de coque ne change pas. Allonger la LWL est la façon propre de monter la limite de déplacement; ajouter des chevaux ne l est pas.',
|
|
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: `Comment utiliser ${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 = 'kalkulator-kecepatan-lambung-kapal';
|
|
6
|
+
const title = 'Kalkulator kecepatan lambung kapal';
|
|
7
|
+
const description =
|
|
8
|
+
'Temukan kecepatan lambung teoretis dari panjang garis air, bandingkan log, dan lihat kapan lambung displacement memanjat gelombang haluannya sendiri.';
|
|
9
|
+
|
|
10
|
+
const ui: HullSpeedUI = {
|
|
11
|
+
metric: 'Metrik',
|
|
12
|
+
imperial: 'Imperial',
|
|
13
|
+
unitGroup: 'Satuan',
|
|
14
|
+
sceneLabel: 'Garis air dan gelombang haluan',
|
|
15
|
+
hullSpeedLabel: 'Kecepatan lambung',
|
|
16
|
+
knotsUnit: 'kn',
|
|
17
|
+
kmhUnit: 'km/h',
|
|
18
|
+
mphUnit: 'mph',
|
|
19
|
+
ratioLabel: 'S/L',
|
|
20
|
+
froudeLabel: 'Fr',
|
|
21
|
+
lwlLabelMetric: 'Panjang garis air',
|
|
22
|
+
lwlLabelImperial: 'Panjang garis air',
|
|
23
|
+
lwlUnitM: 'm',
|
|
24
|
+
lwlUnitFt: 'ft',
|
|
25
|
+
observedLabel: 'Kecepatan log',
|
|
26
|
+
observedHint: 'Biarkan 0 untuk menggambar gelombang teoretis. Ketik log untuk melihat apakah kamu masih duduk di palung.',
|
|
27
|
+
stretchHint: 'Seret lambung untuk meregangkan garis air',
|
|
28
|
+
hullKindLabel: 'Bentuk lambung',
|
|
29
|
+
displacement: 'Displacement',
|
|
30
|
+
semi: 'Semi displacement',
|
|
31
|
+
planing: 'Planning',
|
|
32
|
+
boatsLabel: 'Contoh garis air',
|
|
33
|
+
dinghy: 'Dinghy',
|
|
34
|
+
daysailer: 'Daysailer',
|
|
35
|
+
cruiser: 'Cruiser',
|
|
36
|
+
bluewater: 'Laut lepas',
|
|
37
|
+
workboat: 'Kapal kerja',
|
|
38
|
+
bandBelow: 'Masih membuat gelombang pendek',
|
|
39
|
+
bandNear: 'Mendekati penghalang gelombang',
|
|
40
|
+
bandAt: 'Menunggang gelombang haluan',
|
|
41
|
+
bandAbove: 'Mencoba memanjat gelombang',
|
|
42
|
+
bandPlane: 'Sudah planning, melewati kecepatan lambung',
|
|
43
|
+
planingNote:
|
|
44
|
+
'Lambung planning bisa meninggalkan gelombang ini. Kecepatan lambung adalah acuan, bukan tembok.',
|
|
45
|
+
displacementNote:
|
|
46
|
+
'Lambung displacement membayar mahal saat menyusul olakannya sendiri. Anggap hasilnya plafon praktis, bukan sasaran GPS.',
|
|
47
|
+
semiNote:
|
|
48
|
+
'Semi displacement bisa sedikit melewati rasio klasik dengan daya cukup, dengan kenaikan hambatan yang tajam.',
|
|
49
|
+
waveLegend: 'Gelombang haluan',
|
|
50
|
+
waterLegend: 'Garis air',
|
|
51
|
+
markLegend: 'Kecepatan lambung',
|
|
52
|
+
faqTitle: 'Pertanyaan kecepatan lambung',
|
|
53
|
+
bibliographyTitle: 'Sumber',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const faq: HullSpeedLocaleContent['faq'] = [
|
|
57
|
+
{
|
|
58
|
+
question: 'Apa itu kecepatan lambung pada perahu layar?',
|
|
59
|
+
answer:
|
|
60
|
+
'Itu kecepatan saat lambung displacement berjalan dengan gelombang haluan kira kira sepanjang garis airnya. Dalam satuan nautika biasanya 1.34 kali akar panjang garis air dalam kaki. Ini kecepatan kritis, bukan henti fisik yang kaku.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
question: 'Bagaimana menghitung kecepatan lambung?',
|
|
64
|
+
answer:
|
|
65
|
+
'Ubah garis air ke kaki, ambil akarnya, lalu kali 1.34 untuk mendapat knot. Garis air 10 m kira kira 32.8 ft, jadi sekitar 7.7 kn. Titik yang sama setara bilangan Froude dekat 0.40.',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
question: 'Apakah kecepatan lambung berlaku untuk kapal planning?',
|
|
69
|
+
answer:
|
|
70
|
+
'Rumus masih menggambarkan gelombang yang akan dibuat lambung jika tetap mode displacement. Planning dan banyak semi displacement dirancang untuk memanjat gelombang itu. Pakai angkanya sebagai acuan, lalu baca catatan bentuk lambung.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
question: 'Haruskah memakai panjang garis air atau panjang keseluruhan?',
|
|
74
|
+
answer:
|
|
75
|
+
'Pakai panjang garis air (LWL), panjang terendam yang benar benar membuat gelombang. Panjang keseluruhan, cucur, dan overhang tidak menetapkan panjang gelombang. Ukur LWL di air, bukan LOA brosur.',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
const howTo: HullSpeedLocaleContent['howTo'] = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Regangkan garis air',
|
|
82
|
+
text: 'Seret lambung, geser rel garis air, atau pilih dari dinghy sampai kapal kerja. Kecepatan lambung adalah 1.34 kali akar panjang itu dalam kaki.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Pilih bentuk lambung',
|
|
86
|
+
text: 'Displacement, semi displacement, atau planning mengubah lunas dan apakah kapal bisa keluar dari gelombangnya sendiri.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Baca palung',
|
|
90
|
+
text: 'Pada kecepatan lambung gelombang haluan dan buritan berjarak satu garis air dan kapal duduk di palung. Itulah penghalangnya.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Bandingkan log',
|
|
94
|
+
text: 'Masukkan kecepatan terhadap air. Gelombang lebih pendek berarti kamu masih mendorong murah. Gelombang lebih panjang berarti kamu memanjat palung.',
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
const seo: HullSpeedLocaleContent['seo'] = [
|
|
99
|
+
{
|
|
100
|
+
type: 'title',
|
|
101
|
+
text: 'Apa yang benar benar dikatakan kecepatan lambung',
|
|
102
|
+
level: 2,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'paragraph',
|
|
106
|
+
html: 'Lambung displacement mendorong gelombang dari haluan dan dari buritan. Ketika puncak itu berjarak kira kira satu garis air, kapal berjalan dengan olakannya sendiri. Daya ekstra lalu menumpuk air alih alih membeli kecepatan. Kondisi itu yang disebut pelaut kecepatan lambung.',
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Kalkulator memakai rasio amatir lazim 1.34 knot per akar kaki garis air. Lambung ramping dan panjang bisa sedikit lebih tinggi, ponton lebih rendah. Anggap hasilnya tanda belajar, lalu bandingkan log sungguhan.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Contoh garis air yang dihitung',
|
|
115
|
+
level: 2,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'table',
|
|
119
|
+
headers: ['Garis air', 'Kecepatan lambung', 'Kapal khas'],
|
|
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', 'Cruiser keluarga'],
|
|
124
|
+
['13.5 m / 44.3 ft', '8.9 kn', 'Yacht laut lepas'],
|
|
125
|
+
['18 m / 59.1 ft', '10.3 kn', 'Kapal kerja kecil'],
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'title',
|
|
130
|
+
text: 'Cara membaca gelombang haluan',
|
|
131
|
+
level: 2,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'list',
|
|
135
|
+
items: [
|
|
136
|
+
'Di bawah tanda gelombang pendek dan kapal masih murah didorong.',
|
|
137
|
+
'Dekat tanda gelombang haluan menajam dan bahan bakar atau layar membeli lebih sedikit kecepatan.',
|
|
138
|
+
'Pada tanda panjang gelombang cocok dengan LWL. Lambung displacement ada di penghalang klasik.',
|
|
139
|
+
'Di atasnya lambung displacement memanjat olakan. Lambung planning mungkin sudah terangkat.',
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'tip',
|
|
144
|
+
title: 'Ukur LWL, bukan LOA',
|
|
145
|
+
html: 'Panjang brosur memasukkan overhang. Gelombang peduli garis air yang terendam. Jika hanya punya LOA, kecepatan lambung yang dihitung akan terlalu cerah.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Bilangan Froude dalam satu kalimat',
|
|
150
|
+
level: 2,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'paragraph',
|
|
154
|
+
html: 'Kecepatan lambung adalah bungkus nyaman bilangan Froude dekat 0.40: kecepatan dibagi akar gravitasi kali panjang. Itu sebab garis air lebih panjang lebih cepat meski bentuk lambung sama. Meregangkan LWL cara bersih menaikkan batas displacement; menambah tenaga kuda bukan.',
|
|
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: `Cara memakai ${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
|
+
};
|