@jjlmoya/utils-nautical 1.16.0 → 1.17.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.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/es.ts +16 -16
  5. package/src/category/i18n/fr.ts +16 -16
  6. package/src/category/i18n/id.ts +1 -1
  7. package/src/category/i18n/it.ts +1 -1
  8. package/src/category/i18n/nl.ts +1 -1
  9. package/src/category/i18n/pl.ts +1 -1
  10. package/src/category/i18n/pt.ts +1 -1
  11. package/src/category/i18n/ru.ts +3 -3
  12. package/src/category/i18n/sv.ts +1 -1
  13. package/src/category/i18n/tr.ts +1 -1
  14. package/src/layouts/PreviewLayout.astro +1 -0
  15. package/src/tests/diacritics_density.test.ts +118 -0
  16. package/src/tests/inverted_punctuation.test.ts +84 -0
  17. package/src/tests/no_en_dash.test.ts +70 -0
  18. package/src/tests/script_density.test.ts +94 -0
  19. package/src/tool/endurance/i18n/es.ts +54 -54
  20. package/src/tool/endurance/i18n/fr.ts +70 -70
  21. package/src/tool/endurance/i18n/ru.ts +9 -9
  22. package/src/tool/nauticalConverter/i18n/es.ts +46 -46
  23. package/src/tool/nauticalConverter/i18n/fr.ts +53 -53
  24. package/src/tool/nauticalConverter/i18n/pl.ts +3 -3
  25. package/src/tool/nauticalConverter/i18n/ru.ts +8 -8
  26. package/src/tool/nauticalConverter/i18n/zh.ts +3 -3
  27. package/src/tool/sailArea/i18n/es.ts +53 -53
  28. package/src/tool/sailArea/i18n/fr.ts +70 -70
  29. package/src/tool/sailArea/i18n/ru.ts +8 -8
  30. package/src/tool/sailArea/i18n/zh.ts +5 -5
  31. package/src/tool/speedConverter/i18n/es.ts +58 -58
  32. package/src/tool/speedConverter/i18n/fr.ts +75 -75
  33. package/src/tool/speedConverter/i18n/ru.ts +6 -6
  34. package/src/tool/speedConverter/i18n/zh.ts +5 -5
  35. package/src/tool/tideCalculator/i18n/es.ts +39 -39
  36. package/src/tool/tideCalculator/i18n/fr.ts +43 -43
  37. package/src/tool/tideCalculator/i18n/ru.ts +6 -6
  38. package/src/tool/tideCalculator/i18n/zh.ts +1 -1
  39. package/src/tool/tideCalculator/tide-height-calculator.css +136 -5
  40. package/src/tool/underKeel/i18n/es.ts +39 -39
  41. package/src/tool/underKeel/i18n/fr.ts +45 -45
  42. package/src/tool/underKeel/i18n/ru.ts +5 -5
@@ -1,4 +1,4 @@
1
- .tide-calculator {
1
+ .tide-calculator {
2
2
  --n-bg: #fff;
3
3
  --n-bg-muted: #f1f5f9;
4
4
  --n-text: #0f172a;
@@ -17,10 +17,16 @@
17
17
  display: flex;
18
18
  flex-direction: column;
19
19
  gap: 1.5rem;
20
+ width: 100%;
20
21
  max-width: 1000px;
21
22
  margin: 0 auto;
22
23
  }
23
24
 
25
+ .tide-calculator,
26
+ .tide-calculator * {
27
+ box-sizing: border-box;
28
+ }
29
+
24
30
  .theme-dark .tide-calculator {
25
31
  --n-bg: #0f172a;
26
32
  --n-bg-muted: #1e293b;
@@ -46,6 +52,7 @@
46
52
  grid-template-columns: 320px 1fr;
47
53
  overflow: hidden;
48
54
  box-shadow: 0 20px 40px var(--n-shadow);
55
+ min-width: 0;
49
56
  }
50
57
 
51
58
  @media (max-width: 850px) {
@@ -61,12 +68,14 @@
61
68
  display: flex;
62
69
  flex-direction: column;
63
70
  gap: 2rem;
71
+ min-width: 0;
64
72
  }
65
73
 
66
74
  .tc-sidebar-header {
67
75
  display: flex;
68
76
  justify-content: space-between;
69
77
  align-items: center;
78
+ gap: 1rem;
70
79
  }
71
80
 
72
81
  .tc-sidebar-header h3 {
@@ -76,6 +85,7 @@
76
85
  text-transform: uppercase;
77
86
  letter-spacing: 0.05em;
78
87
  opacity: 0.9;
88
+ overflow-wrap: anywhere;
79
89
  }
80
90
 
81
91
  #invert-btn {
@@ -129,16 +139,20 @@
129
139
  color: var(--n-primary-on);
130
140
  font-size: 1rem;
131
141
  outline: none;
142
+ min-width: 0;
143
+ width: 100%;
132
144
  }
133
145
 
134
146
  .tc-unit-input {
135
147
  position: relative;
136
148
  display: flex;
137
149
  align-items: center;
150
+ flex: 1 1 0;
151
+ min-width: 0;
138
152
  }
139
153
 
140
154
  .tc-unit-input input {
141
- width: 80px;
155
+ width: 100%;
142
156
  padding-right: 25px;
143
157
  }
144
158
 
@@ -169,17 +183,20 @@
169
183
  flex-direction: column;
170
184
  gap: 2rem;
171
185
  background: var(--n-bg-muted);
186
+ min-width: 0;
172
187
  }
173
188
 
174
189
  .tc-top-row {
175
190
  display: flex;
176
191
  justify-content: space-between;
177
192
  align-items: flex-start;
193
+ gap: 1.5rem;
178
194
  }
179
195
 
180
196
  .tc-result-display {
181
197
  display: flex;
182
198
  flex-direction: column;
199
+ min-width: 0;
183
200
  }
184
201
 
185
202
  .tc-result-display .label {
@@ -234,6 +251,8 @@
234
251
  .tc-summary-info {
235
252
  display: flex;
236
253
  gap: 1.5rem;
254
+ flex-wrap: wrap;
255
+ justify-content: flex-end;
237
256
  }
238
257
 
239
258
  .tc-stat {
@@ -262,6 +281,7 @@
262
281
  padding: 1.5rem;
263
282
  height: 250px;
264
283
  position: relative;
284
+ min-width: 0;
265
285
  }
266
286
 
267
287
  .tc-table-card {
@@ -279,6 +299,7 @@
279
299
 
280
300
  .tc-table-wrapper {
281
301
  overflow-x: auto;
302
+ -webkit-overflow-scrolling: touch;
282
303
  }
283
304
 
284
305
  .tide-calculator table {
@@ -303,8 +324,118 @@
303
324
  }
304
325
 
305
326
  @media (max-width: 640px) {
327
+ .tide-calculator {
328
+ gap: 1rem;
329
+ }
330
+
331
+ .tc-main-card {
332
+ border-radius: 1rem;
333
+ box-shadow: 0 10px 24px var(--n-shadow);
334
+ }
335
+
336
+ .tc-calc-sidebar {
337
+ padding: 1.25rem;
338
+ gap: 1.25rem;
339
+ }
340
+
341
+ .tc-sidebar-header h3 {
342
+ font-size: 0.95rem;
343
+ }
344
+
345
+ #invert-btn {
346
+ width: 40px;
347
+ height: 40px;
348
+ flex: 0 0 auto;
349
+ }
350
+
351
+ .tc-input-set {
352
+ gap: 1rem;
353
+ }
354
+
355
+ .tc-input-block .row {
356
+ display: grid;
357
+ grid-template-columns: minmax(0, 1fr) minmax(92px, 0.75fr);
358
+ }
359
+
360
+ .tide-calculator input[type='time'],
361
+ .tide-calculator input[type='number'] {
362
+ padding: 0.75rem;
363
+ font-size: 1rem;
364
+ }
365
+
366
+ .tide-calculator input[type='time'].large-time {
367
+ font-size: 1.45rem;
368
+ }
369
+
370
+ .tc-calc-content {
371
+ padding: 1.25rem;
372
+ gap: 1.25rem;
373
+ }
374
+
306
375
  .tc-top-row {
307
- flex-direction: column;
308
- gap: 1.5rem;
376
+ display: grid;
377
+ grid-template-columns: 1fr;
378
+ gap: 1.25rem;
379
+ }
380
+
381
+ .tc-result-display .label {
382
+ font-size: 0.75rem;
383
+ }
384
+
385
+ #target-value {
386
+ font-size: 3rem;
387
+ }
388
+
389
+ .tc-value-box small {
390
+ font-size: 1rem;
391
+ }
392
+
393
+ .tc-summary-info {
394
+ display: grid;
395
+ grid-template-columns: repeat(2, minmax(0, 1fr));
396
+ gap: 0.75rem;
397
+ justify-content: stretch;
398
+ }
399
+
400
+ .tc-stat {
401
+ background: var(--n-bg);
402
+ border: 1px solid var(--n-border);
403
+ border-radius: 0.8rem;
404
+ padding: 0.75rem;
405
+ text-align: left;
406
+ }
407
+
408
+ .tc-chart-area {
409
+ height: 220px;
410
+ border-radius: 1rem;
411
+ padding: 0.75rem;
309
412
  }
310
- }
413
+
414
+ .tc-table-card {
415
+ border-radius: 1rem;
416
+ padding: 1rem;
417
+ }
418
+
419
+ .tide-calculator th,
420
+ .tide-calculator td {
421
+ padding: 0.75rem 0.6rem;
422
+ font-size: 0.82rem;
423
+ white-space: nowrap;
424
+ }
425
+ }
426
+
427
+ @media (max-width: 380px) {
428
+ .tc-calc-sidebar,
429
+ .tc-calc-content {
430
+ padding: 1rem;
431
+ }
432
+
433
+ .tc-input-block .row,
434
+ .tc-summary-info {
435
+ grid-template-columns: 1fr;
436
+ }
437
+
438
+ #target-value {
439
+ font-size: 2.6rem;
440
+ }
441
+ }
@@ -3,12 +3,12 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
3
3
  import type { UnderKeelUI, UnderKeelLocaleContent } from '../index';
4
4
 
5
5
  const slug = 'calculador-paso-de-bajo';
6
- const title = 'Calculador de Paso de Bajo';
6
+ const title = 'Calculadora de Paso de Bajo';
7
7
  const description =
8
8
  'Calcula la ventana de tiempo segura para cruzar barras, canales o puntos de calado restringido. Introduce el calado de tu barco, la sonda de la carta y los datos de marea para obtener el intervalo exacto de paso seguro.';
9
9
 
10
10
  const ui: UnderKeelUI = {
11
- parametersLabel: 'Parametros',
11
+ parametersLabel: 'Parámetros',
12
12
  boatDraftLabel: 'Calado del Barco',
13
13
  chartDepthLabel: 'Sonda de la Carta',
14
14
  safetyMarginLabel: 'Resguardo de Seguridad',
@@ -17,7 +17,7 @@ const ui: UnderKeelUI = {
17
17
  metersLabel: 'metros',
18
18
  passWindowLabel: 'Ventana de Paso',
19
19
  neededLabel: 'Profundidad necesaria',
20
- tideRequiredLabel: 'Marea minima requerida',
20
+ tideRequiredLabel: 'Marea mínima requerida',
21
21
  statusNeverLabel: 'Sin calado en todo el ciclo',
22
22
  statusAlwaysLabel: 'Paso libre todo el ciclo',
23
23
  statusFromLabel: 'Paso desde las:',
@@ -27,98 +27,98 @@ const ui: UnderKeelUI = {
27
27
 
28
28
  const faq: UnderKeelLocaleContent['faq'] = [
29
29
  {
30
- question: '¿Que es exactamente el paso de bajo en nautica?',
31
- answer: 'El paso de bajo es el calculo del momento en el que hay profundidad suficiente en un punto critico (como una barra de arena o un canal estrecho) para permitir el transito seguro de una embarcacion segun su calado.',
30
+ question: '¿Qué es exactamente el paso de bajo en náutica?',
31
+ answer: 'El paso de bajo es el cálculo del momento en el que hay profundidad suficiente en un punto crítico (como una barra de arena o un canal estrecho) para permitir el tránsito seguro de una embarcación según su calado.',
32
32
  },
33
33
  {
34
- question: '¿Cuantos metros de resguardo de seguridad se recomiendan?',
35
- answer: 'Para embarcaciones de recreo se suele recomendar un resguardo minimo de entre 0.5 y 1 metro sobre el calado del barco. Este margen compensa posibles errores en el calculo de marea, variaciones de presion atmosferica u oleaje imprevisto.',
34
+ question: '¿Cuántos metros de resguardo de seguridad se recomiendan?',
35
+ answer: 'Para embarcaciones de recreo se suele recomendar un resguardo mínimo de entre 0,5 y 1 metro sobre el calado del barco. Este margen compensa posibles errores en el cálculo de marea, variaciones de presión atmosférica u oleaje imprevisto.',
36
36
  },
37
37
  {
38
- question: '¿Como influye el oleaje en el paso de bajo?',
39
- answer: 'El oleaje genera oscilaciones verticales en el casco. En el punto mas bajo de la ola el barco se acerca mas al fondo que en reposo. Para cruzar zonas con olas el resguardo debe aumentarse sustancialmente.',
38
+ question: '¿Cómo influye el oleaje en el paso de bajo?',
39
+ answer: 'El oleaje genera oscilaciones verticales en el casco. En el punto más bajo de la ola el barco se acerca más al fondo que en reposo. Para cruzar zonas con olas el resguardo debe aumentarse sustancialmente.',
40
40
  },
41
41
  {
42
- question: '¿Que es la sonda de la carta nautica?',
43
- answer: 'Es la profundidad minima que encontraras en un punto cuando la marea esta en el nivel del Cero de la Carta (Datum). Se suma a la altura de la marea en ese instante para obtener la profundidad total disponible.',
42
+ question: '¿Qué es la sonda de la carta náutica?',
43
+ answer: 'Es la profundidad mínima que encontrarás en un punto cuando la marea está en el nivel del Cero de la Carta (Datum). Se suma a la altura de la marea en ese instante para obtener la profundidad total disponible.',
44
44
  },
45
45
  {
46
- question: '¿Que ocurre si la sonda en la carta esta subrayada?',
47
- answer: 'Significa que ese punto queda al descubierto (en seco) cuando la marea esta en el Cero de la Carta. Necesitaras una altura de marea mayor para poder pasar por encima.',
46
+ question: '¿Qué ocurre si la sonda en la carta está subrayada?',
47
+ answer: 'Significa que ese punto queda al descubierto (en seco) cuando la marea está en el Cero de la Carta. Necesitarás una altura de marea mayor para poder pasar por encima.',
48
48
  },
49
49
  {
50
- question: '¿Que es el efecto Squat y como altera el paso?',
51
- answer: 'Es un fenomeno hidrodinamico por el cual un barco que navega por canales poco profundos tiende a hundirse mas respecto a su linea de flotacion. Cuanto mas rapido navegues, mas aumenta el calado dinamico y menos agua tendras bajo la quilla.',
50
+ question: '¿Qué es el efecto Squat y cómo altera el paso?',
51
+ answer: 'Es un fenómeno hidrodinámico por el cual un barco que navega por canales poco profundos tiende a hundirse más respecto a su línea de flotación. Cuanto más rápido navegues, más aumenta el calado dinámico y menos agua tendrás bajo la quilla.',
52
52
  },
53
53
  ];
54
54
 
55
55
  const howTo: UnderKeelLocaleContent['howTo'] = [
56
56
  {
57
57
  name: 'Define el calado y el resguardo',
58
- text: 'Mide el calado de tu barco en su punto maximo y añade un margen de seguridad prudente (por ejemplo, 0.5 m).',
58
+ text: 'Mide el calado de tu barco en su punto máximo y añade un margen de seguridad prudente (por ejemplo, 0,5 m).',
59
59
  },
60
60
  {
61
- name: 'Consulta la sonda en tu carta nautica',
62
- text: 'Busca el valor de la sonda Datum para el paso critico que vas a navegar. Anota si es una zona de arena o roca.',
61
+ name: 'Consulta la sonda en tu carta náutica',
62
+ text: 'Busca el valor de la sonda Datum para el paso crítico que vas a navegar. Anota si es una zona de arena o roca.',
63
63
  },
64
64
  {
65
65
  name: 'Introduce los datos de la marea',
66
- text: 'Utiliza las horas y alturas de la pleamar y bajamar de la marina mas cercana obtenidas del anuario oficial.',
66
+ text: 'Utiliza las horas y alturas de la pleamar y bajamar de la marina más cercana obtenidas del anuario oficial.',
67
67
  },
68
68
  {
69
69
  name: 'Comprueba tu ventana de paso',
70
- text: 'La herramienta te indicara el intervalo de tiempo exacto durante el cual tendras profundidad suficiente para navegar con seguridad.',
70
+ text: 'La herramienta te indicará el intervalo de tiempo exacto durante el cual tendrás profundidad suficiente para navegar con seguridad.',
71
71
  },
72
72
  ];
73
73
 
74
74
  const seo: UnderKeelLocaleContent['seo'] = [
75
75
  {
76
76
  type: 'title',
77
- text: 'Calculo de Paso de Bajo: Navegando con Seguridad sobre Obstaculos',
77
+ text: 'Cálculo de Paso de Bajo: Navegando con Seguridad sobre Obstáculos',
78
78
  level: 2,
79
79
  },
80
80
  {
81
81
  type: 'paragraph',
82
- html: 'La planificacion de una travesia no termina con el trazo de un rumbo en la carta. Para el navegante costero, uno de los calculos mas determinantes es el del <strong>paso de bajo</strong>: saber a que hora habra profundidad suficiente para cruzar un punto critico sin encallar.',
82
+ html: 'La planificación de una travesía no termina con el trazo de un rumbo en la carta. Para el navegante costero, uno de los cálculos más determinantes es el del <strong>paso de bajo</strong>: saber a qué hora habrá profundidad suficiente para cruzar un punto crítico sin encallar.',
83
83
  },
84
84
  {
85
85
  type: 'title',
86
- text: '¿Que es la sonda de la carta y como se relaciona con la marea?',
86
+ text: '¿Qué es la sonda de la carta y cómo se relaciona con la marea?',
87
87
  level: 3,
88
88
  },
89
89
  {
90
90
  type: 'paragraph',
91
- html: 'En las cartasnáuticas, las profundidades indicadas (sondas) estan referidas al <strong>Cero de la Carta</strong> o Datum. Este nivel es, por convencion, el nivel mas bajo que puede alcanzar la marea en condiciones normales. La profundidad real que encontrara tu barco en un momento dado es la suma de esa sonda mas la altura de la marea en ese instante, calculada con la Regla de los Dozavos.',
91
+ html: 'En las cartas náuticas, las profundidades indicadas (sondas) están referidas al <strong>Cero de la Carta</strong> o Datum. Este nivel es, por convención, el nivel más bajo que puede alcanzar la marea en condiciones normales. La profundidad real que encontrará tu barco en un momento dado es la suma de esa sonda más la altura de la marea en ese instante, calculada con la Regla de los Dozavos.',
92
92
  },
93
93
  {
94
94
  type: 'title',
95
- text: 'Los elementos del calculo: Calado y Resguardo',
95
+ text: 'Los elementos del cálculo: Calado y Resguardo',
96
96
  level: 3,
97
97
  },
98
98
  {
99
99
  type: 'paragraph',
100
- html: 'Para utilizar el calculador de paso de bajo de forma profesional, debes conocer con precision dos datos tecnicos de tu propio barco y uno de decision personal:',
100
+ html: 'Para utilizar el calculador de paso de bajo de forma profesional, debes conocer con precisión dos datos técnicos de tu propio barco y uno de decisión personal:',
101
101
  },
102
102
  {
103
103
  type: 'list',
104
104
  items: [
105
- '<strong>Calado de maxima carga:</strong> Es la profundidad que alcanza el punto mas bajo del barco (la quilla) cuando esta totalmente cargado.',
106
- '<strong>Sonda de la carta:</strong> El numero que aparece en la carta nautica para el punto que quieres cruzar. Si esta subrayado, el punto queda en seco en bajamar.',
107
- '<strong>Resguardo de seguridad:</strong> Es el margen "por si acaso" (nauticamente conocido como resguardo) de al menos 0,5 a 1 metro.',
105
+ '<strong>Calado de máxima carga:</strong> Es la profundidad que alcanza el punto más bajo del barco (la quilla) cuando está totalmente cargado.',
106
+ '<strong>Sonda de la carta:</strong> El número que aparece en la carta náutica para el punto que quieres cruzar. Si está subrayado, el punto queda en seco en bajamar.',
107
+ '<strong>Resguardo de seguridad:</strong> Es el margen "por si acaso" (náuticamente conocido como resguardo) de al menos 0,5 a 1 metro.',
108
108
  ],
109
109
  },
110
110
  {
111
111
  type: 'title',
112
- text: '¿Como funciona la ventana de paso?',
112
+ text: '¿Cómo funciona la ventana de paso?',
113
113
  level: 3,
114
114
  },
115
115
  {
116
116
  type: 'paragraph',
117
- html: 'El calculador determina el momento exacto en el que el nivel del agua subira por encima de tu calado mas el resguardo elegido. A partir de ese minuto, se abre la <strong>ventana de paso</strong>. Si la marea es vaciante (bajando), la herramienta te indicara hasta que hora tienes permitido el transito antes de que el nivel del agua caiga por debajo de tu limite de seguridad.',
117
+ html: 'El calculador determina el momento exacto en el que el nivel del agua subirá por encima de tu calado más el resguardo elegido. A partir de ese minuto, se abre la <strong>ventana de paso</strong>. Si la marea es vaciante (bajando), la herramienta te indicará hasta que hora tienes permitido el tránsito antes de que el nivel del agua caiga por debajo de tu límite de seguridad.',
118
118
  },
119
119
  {
120
120
  type: 'paragraph',
121
- html: 'Esta planificacion es vital para barcos de vela con quillas profundas que desean entrar en puertos como los de las Rias Baixas en Galicia o puertos fluviales en Andalucia, donde la variacion de mareas puede marcar la diferencia entre una entrada comoda o quedar varado durante seis horas esperando al siguiente ciclo.',
121
+ html: 'Esta planificación es vital para barcos de vela con quillas profundas que desean entrar en puertos como los de las Rías Baixas en Galicia o puertos fluviales en Andalucía, donde la variación de mareas puede marcar la diferencia entre una entrada cómoda o quedar varado durante seis horas esperando al siguiente ciclo.',
122
122
  },
123
123
  {
124
124
  type: 'title',
@@ -127,17 +127,17 @@ const seo: UnderKeelLocaleContent['seo'] = [
127
127
  },
128
128
  {
129
129
  type: 'table',
130
- headers: ['Factor', 'Efecto', 'Recomendacion'],
130
+ headers: ['Factor', 'Efecto', 'Recomendación'],
131
131
  rows: [
132
132
  ['<strong>Oleaje</strong>', 'Reduce el agua bajo el casco', 'Aumentar el resguardo significativamente'],
133
- ['<strong>Efecto Squat</strong>', 'Aumenta el calado por succion', 'Reducir la velocidad en zonas criticas'],
133
+ ['<strong>Efecto Squat</strong>', 'Aumenta el calado por succión', 'Reducir la velocidad en zonas críticas'],
134
134
  ['<strong>Fondo de arena</strong>', 'Profundidad variable con temporales', 'Mantener sonda activa y resguardo extra'],
135
135
  ],
136
136
  },
137
137
  {
138
138
  type: 'tip',
139
- title: 'Consejo de Navegacion',
140
- html: 'Si tu ventana de paso es muy estrecha o el tiempo empeora, la decision mas sabia suele ser esperar fuera en aguas profundas a que la marea gane la altura necesaria.',
139
+ title: 'Consejo de Navegación',
140
+ html: 'Si tu ventana de paso es muy estrecha o el tiempo empeora, la decisión más sabia suele ser esperar fuera en aguas profundas a que la marea gane la altura necesaria.',
141
141
  },
142
142
  {
143
143
  type: 'title',
@@ -146,11 +146,11 @@ const seo: UnderKeelLocaleContent['seo'] = [
146
146
  },
147
147
  {
148
148
  type: 'paragraph',
149
- html: '<ol><li class="mb-2"><strong>Reduce la velocidad:</strong> Para minimizar el efecto squat y tener tiempo de corregir el rumbo.</li><li class="mb-2"><strong>Utiliza la sonda de a bordo:</strong> Configura la alarma de baja profundidad en tu equipo electronico.</li><li class="mb-2"><strong>Observa el mar:</strong> Las rompientes de olas suelen indicar la presencia de bajos.</li><li class="mb-2"><strong>Consulta a lugareños:</strong> Por radio (canal 9) o telefoneando al club nautico sobre el estado actual del canal.</li></ol>',
149
+ html: '<ol><li class="mb-2"><strong>Reduce la velocidad:</strong> Para minimizar el efecto squat y tener tiempo de corregir el rumbo.</li><li class="mb-2"><strong>Utiliza la sonda de a bordo:</strong> Configura la alarma de baja profundidad en tu equipo electrónico.</li><li class="mb-2"><strong>Observa el mar:</strong> Las rompientes de olas suelen indicar la presencia de bajos.</li><li class="mb-2"><strong>Consulta a lugareños:</strong> Por radio (canal 9) o telefoneando al club náutico sobre el estado actual del canal.</li></ol>',
150
150
  },
151
151
  {
152
152
  type: 'paragraph',
153
- html: 'Esta herramienta es ideal para estudiantes que estan practicando ejercicios de mareas para el examen de Patron de Embarcaciones de Recreo (PER) o Patron de Yate, permitiendo verificar los resultados de calculos manuales de forma instantanea y visual.',
153
+ html: 'Esta herramienta es ideal para estudiantes que están practicando ejercicios de mareas para el examen de Patrón de Embarcaciones de Recreo (PER) o Patrón de Yate, permitiendo verificar los resultados de cálculos manuales de forma instantánea y visual.',
154
154
  },
155
155
  ];
156
156
 
@@ -176,7 +176,7 @@ const schemas: UnderKeelLocaleContent['schemas'] = [
176
176
  {
177
177
  '@context': 'https://schema.org',
178
178
  '@type': 'HowTo',
179
- name: `Como usar: ${title}`,
179
+ name: `Cómo usar: ${title}`,
180
180
  step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
181
181
  } as WithContext<HowTo>,
182
182
  ];
@@ -5,139 +5,139 @@ import type { UnderKeelUI, UnderKeelLocaleContent } from '../index';
5
5
  const slug = 'calculateur-passage-haut-fond';
6
6
  const title = 'Calculateur de Passage sur Haut Fond';
7
7
  const description =
8
- "Calculez la feneˆtre de temps sure pour franchir des barres, chenaux ou points a tirant d'eau restreint. Entrez le tirant d'eau de votre bateau, la sonde de la carte et les donnees de maree pour obtenir l'intervalle de passage sur.";
8
+ "Calculez la fenêtre de temps sûre pour franchir des barres, chenaux ou points à tirant d'eau restreint. Entrez le tirant d'eau de votre bateau, la sonde de la carte et les données de marée pour obtenir l'intervalle de passage sûr.";
9
9
 
10
10
  const ui: UnderKeelUI = {
11
- parametersLabel: 'Parametres',
11
+ parametersLabel: 'Paramètres',
12
12
  boatDraftLabel: "Tirant d'eau",
13
13
  chartDepthLabel: 'Sonde de la carte',
14
- safetyMarginLabel: 'Marge de securite',
14
+ safetyMarginLabel: 'Marge de sécurité',
15
15
  highTideLabel: 'Pleine mer',
16
16
  lowTideLabel: 'Basse mer',
17
- metersLabel: 'metres',
18
- passWindowLabel: 'Feneˆtre de passage',
19
- neededLabel: 'Profondeur necessaire',
20
- tideRequiredLabel: 'Maree minimale requise',
17
+ metersLabel: 'mètres',
18
+ passWindowLabel: 'Fenêtre de passage',
19
+ neededLabel: 'Profondeur nécessaire',
20
+ tideRequiredLabel: 'Marée minimale requise',
21
21
  statusNeverLabel: 'Pas de passage dans ce cycle',
22
22
  statusAlwaysLabel: 'Passage libre tout le cycle',
23
- statusFromLabel: 'Passage a partir de :',
24
- statusUntilLabel: "Passage jusqu'a :",
23
+ statusFromLabel: 'Passage à partir de :',
24
+ statusUntilLabel: "Passage jusqu'à :",
25
25
  bottomLabel: 'FOND',
26
26
  };
27
27
 
28
28
  const faq: UnderKeelLocaleContent['faq'] = [
29
29
  {
30
- question: "Qu'est-ce que le calcul de passage sur haut-fond?",
31
- answer: "C'est le calcul du moment ou la profondeur est suffisante en un point critique (comme une barre de sable ou un chenal etroit) pour permettre le transit sur d'un navire selon son tirant d'eau.",
30
+ question: "Qu'est-ce que le calcul de passage sur haut-fond ?",
31
+ answer: "C'est le calcul du moment la profondeur est suffisante en un point critique (comme une barre de sable ou un chenal étroit) pour permettre le transit sûr d'un navire selon son tirant d'eau.",
32
32
  },
33
33
  {
34
- question: 'Quelle marge de securite est recommandee?',
35
- answer: "Pour les bateaux de plaisance, une marge minimale de 0,5 a 1 metre au-dessus du tirant d'eau est generalement recommandee. Cette marge compense les erreurs possibles dans le calcul de la maree, les variations de pression atmospherique ou la houle imprevue.",
34
+ question: 'Quelle marge de sécurité est recommandée ?',
35
+ answer: "Pour les bateaux de plaisance, une marge minimale de 0,5 à 1 mètre au-dessus du tirant d'eau est généralement recommandée. Cette marge compense les erreurs possibles dans le calcul de la marée, les variations de pression atmosphérique ou la houle imprévue.",
36
36
  },
37
37
  {
38
- question: 'Comment la houle affecte-t-elle le passage?',
39
- answer: "La houle genere des oscillations verticales dans la coque. Au point le plus bas de la vague, le bateau est plus pres du fond qu'au repos. Pour traverser des zones avec de la houle, la marge doit etre augmentee sensiblement.",
38
+ question: 'Comment la houle affecte-t-elle le passage ?',
39
+ answer: "La houle génère des oscillations verticales dans la coque. Au point le plus bas de la vague, le bateau est plus près du fond qu'au repos. Pour traverser des zones avec de la houle, la marge doit être augmentée sensiblement.",
40
40
  },
41
41
  {
42
- question: 'Que signifie la sonde sur la carte nautique?',
43
- answer: "C'est la profondeur minimale en un point lorsque la maree est au zero hydrographique (Datum). Elle s'ajoute a la hauteur de maree a cet instant pour donner la profondeur totale disponible.",
42
+ question: 'Que signifie la sonde sur la carte nautique ?',
43
+ answer: "C'est la profondeur minimale en un point lorsque la marée est au zéro hydrographique (Datum). Elle s'ajoute à la hauteur de marée à cet instant pour donner la profondeur totale disponible.",
44
44
  },
45
45
  {
46
- question: 'Que signifie une sonde soulignee sur la carte?',
47
- answer: "Cela signifie que ce point se decouvre lorsque la maree est au zero hydrographique. Vous aurez besoin d'une hauteur de maree plus importante pour pouvoir passer dessus.",
46
+ question: 'Que signifie une sonde soulignée sur la carte ?',
47
+ answer: "Cela signifie que ce point se découvre lorsque la marée est au zéro hydrographique. Vous aurez besoin d'une hauteur de marée plus importante pour pouvoir passer dessus.",
48
48
  },
49
49
  {
50
- question: "Qu'est-ce que l'effet Squat et comment modifie-t-il le passage?",
51
- answer: "C'est un phenomene hydrodynamique par lequel un bateau navigant dans des chenaux peu profonds tend a s'enfoncer davantage par rapport a sa ligne de flottaison. Plus vous allez vite, plus le tirant d'eau dynamique augmente et moins vous avez d'eau sous la quille.",
50
+ question: "Qu'est-ce que l'effet Squat et comment modifie-t-il le passage ?",
51
+ answer: "C'est un phénomène hydrodynamique par lequel un bateau navigant dans des chenaux peu profonds tend à s'enfoncer davantage par rapport à sa ligne de flottaison. Plus vous allez vite, plus le tirant d'eau dynamique augmente et moins vous avez d'eau sous la quille.",
52
52
  },
53
53
  ];
54
54
 
55
55
  const howTo: UnderKeelLocaleContent['howTo'] = [
56
56
  {
57
- name: "Definir le tirant d'eau et la marge",
58
- text: "Mesurez le tirant d'eau de votre bateau a son point maximum et ajoutez une marge de securite prudente (par exemple 0,5 m).",
57
+ name: "Définir le tirant d'eau et la marge",
58
+ text: "Mesurez le tirant d'eau de votre bateau à son point maximum et ajoutez une marge de sécurité prudente (par exemple 0,5 m).",
59
59
  },
60
60
  {
61
61
  name: 'Consulter la sonde sur la carte',
62
- text: 'Recherchez la valeur de sonde Datum pour le point critique que vous allez naviguer. Notez si c\'est une zone de sable ou de roche.',
62
+ text: "Recherchez la valeur de sonde Datum pour le point critique que vous allez naviguer. Notez si c'est une zone de sable ou de roche.",
63
63
  },
64
64
  {
65
- name: 'Saisir les donnees de maree',
65
+ name: 'Saisir les données de marée',
66
66
  text: "Utilisez les heures et hauteurs de pleine mer et basse mer de l'annuaire officiel le plus proche.",
67
67
  },
68
68
  {
69
- name: 'Verifier votre feneˆtre de passage',
70
- text: "L'outil vous indiquera l'intervalle de temps exact pendant lequel vous aurez une profondeur suffisante pour naviguer en toute securite.",
69
+ name: 'Vérifier votre fenêtre de passage',
70
+ text: "L'outil vous indiquera l'intervalle de temps exact pendant lequel vous aurez une profondeur suffisante pour naviguer en toute sécurité.",
71
71
  },
72
72
  ];
73
73
 
74
74
  const seo: UnderKeelLocaleContent['seo'] = [
75
75
  {
76
76
  type: 'title',
77
- text: 'Passage sur Haut Fond : Naviguer en Securite au-dessus des Obstacles',
77
+ text: 'Passage sur Haut-fond: Naviguer en Sécurité au-dessus des Obstacles',
78
78
  level: 2,
79
79
  },
80
80
  {
81
81
  type: 'paragraph',
82
- html: "La planification d'une traversee ne s'arrete pas au trace d'une route sur la carte. Pour le navigateur cotier, l'un des calculs les plus determinants est celui du <strong>passage sur haut-fond</strong> : savoir a quelle heure la profondeur sera suffisante pour franchir un point critique sans s'echouer.",
82
+ html: "La planification d'une traversée ne s'arrête pas au tracé d'une route sur la carte. Pour le navigateur côtier, l'un des calculs les plus déterminants est celui du <strong>passage sur haut-fond</strong>: savoir à quelle heure la profondeur sera suffisante pour franchir un point critique sans s'échouer.",
83
83
  },
84
84
  {
85
85
  type: 'title',
86
- text: 'Que signifie la sonde de la carte et comment se rapporte-t-elle a la maree?',
86
+ text: 'Que signifie la sonde de la carte et comment se rapporte-t-elle à la marée ?',
87
87
  level: 3,
88
88
  },
89
89
  {
90
90
  type: 'paragraph',
91
- html: "Sur les cartes nautiques, les profondeurs (sondes) sont referencees au <strong>zero hydrographique</strong> (Datum). Ce niveau est, par convention, le plus bas que puisse atteindre la maree dans des conditions normales. La profondeur reelle qu'un bateau trouvera a un instant donne est la somme de cette sonde plus la hauteur de maree a cet instant, calculee selon la Regle des Douzaines.",
91
+ html: "Sur les cartes nautiques, les profondeurs (sondes) sont référencées au <strong>zéro hydrographique</strong> (Datum). Ce niveau est, par convention, le plus bas que puisse atteindre la marée dans des conditions normales. La profondeur réelle qu'un bateau trouvera à un instant donné est la somme de cette sonde plus la hauteur de marée à cet instant, calculée selon la Règle des Douzaines.",
92
92
  },
93
93
  {
94
94
  type: 'title',
95
- text: "Les elements du calcul : Tirant d'eau et Marge",
95
+ text: "Les éléments du calcul: Tirant d'eau et Marge",
96
96
  level: 3,
97
97
  },
98
98
  {
99
99
  type: 'paragraph',
100
- html: "Pour utiliser le calculateur de passage sur haut-fond de facon professionnelle, vous devez connaitre deux donnees techniques de votre bateau et une decision personnelle :",
100
+ html: "Pour utiliser le calculateur de passage sur haut-fond de façon professionnelle, vous devez connaître deux données techniques de votre bateau et une décision personnelle :",
101
101
  },
102
102
  {
103
103
  type: 'list',
104
104
  items: [
105
- "<strong>Tirant d'eau en charge maximale :</strong> Profondeur atteinte par le point le plus bas du bateau (la quille) lorsqu'il est entierement charge.",
106
- "<strong>Sonde de la carte :</strong> Le chiffre sur la carte nautique pour le point que vous souhaitez franchir. S'il est souligne, le point se decouvre au zero hydrographique.",
107
- "<strong>Marge de securite :</strong> Marge de securite supplementaire d'au moins 0,5 a 1 metre au-dessus du tirant d'eau.",
105
+ "<strong>Tirant d'eau en charge maximale :</strong> Profondeur atteinte par le point le plus bas du bateau (la quille) lorsqu'il est entièrement chargé.",
106
+ "<strong>Sonde de la carte :</strong> Le chiffre sur la carte nautique pour le point que vous souhaitez franchir. S'il est souligné, le point se découvre au zéro hydrographique.",
107
+ "<strong>Marge de sécurité :</strong> Marge de sécurité supplémentaire d'au moins 0,5 à 1 mètre au-dessus du tirant d'eau.",
108
108
  ],
109
109
  },
110
110
  {
111
111
  type: 'title',
112
- text: 'Comment fonctionne la feneˆtre de passage ?',
112
+ text: 'Comment fonctionne la fenêtre de passage ?',
113
113
  level: 3,
114
114
  },
115
115
  {
116
116
  type: 'paragraph',
117
- html: "Le calculateur determine le moment exact ou le niveau de l'eau depassera votre tirant d'eau plus la marge choisie. A partir de cette minute, la <strong>feneˆtre de passage</strong> s'ouvre. Si la maree est descendante, l'outil indiquera jusqu'a quelle heure le transit est autorise avant que le niveau tombe en dessous de votre limite de securite.",
117
+ html: "Le calculateur détermine le moment exact le niveau de l'eau dépassera votre tirant d'eau plus la marge choisie. A partir de cette minute, la <strong>fenêtre de passage</strong> s'ouvre. Si la marée est descendante, l'outil indiquera jusqu'à quelle heure le transit est autorisé avant que le niveau tombe en dessous de votre limite de sécurité.",
118
118
  },
119
119
  {
120
120
  type: 'paragraph',
121
- html: "Cette planification est vitale pour les voiliers a quille profonde qui souhaitent entrer dans des ports ou la variation des marees peut faire la difference entre une entree confortable ou rester echoue pendant six heures en attendant le prochain cycle.",
121
+ html: "Cette planification est vitale pour les voiliers à quille profonde qui souhaitent entrer dans des ports la variation des marées peut faire la différence entre une entrée confortable ou rester échoué pendant six heures en attendant le prochain cycle.",
122
122
  },
123
123
  {
124
124
  type: 'title',
125
- text: 'Facteurs affectant le passage reel',
125
+ text: 'Facteurs affectant le passage réel',
126
126
  level: 3,
127
127
  },
128
128
  {
129
129
  type: 'table',
130
130
  headers: ['Facteur', 'Effet', 'Recommandation'],
131
131
  rows: [
132
- ['<strong>Houle</strong>', "Reduit l'eau sous la coque", 'Augmenter la marge sensiblement'],
133
- ['<strong>Effet Squat</strong>', "Augmente le tirant d'eau par succion", 'Reduire la vitesse dans les zones critiques'],
134
- ['<strong>Fond de sable</strong>', 'Profondeur variable par mauvais temps', 'Garder le sondeur actif et marge supplementaire'],
132
+ ['<strong>Houle</strong>', 'Réduit l\'eau sous la coque', 'Augmenter la marge sensiblement'],
133
+ ['<strong>Effet Squat</strong>', "Augmente le tirant d'eau par succion", 'Réduire la vitesse dans les zones critiques'],
134
+ ['<strong>Fond de sable</strong>', 'Profondeur variable par mauvais temps', 'Garder le sondeur actif et marge supplémentaire'],
135
135
  ],
136
136
  },
137
137
  {
138
138
  type: 'tip',
139
139
  title: 'Conseil de navigation',
140
- html: "Si votre feneˆtre de passage est tres etroite ou si le temps se degrade, la decision la plus sage est generalement d'attendre au large dans des eaux profondes que la maree monte jusqu'a la hauteur necessaire.",
140
+ html: "Si votre fenêtre de passage est très étroite ou si le temps se dégrade, la décision la plus sage est généralement d'attendre au large dans des eaux profondes que la marée monte jusqu'à la hauteur nécessaire.",
141
141
  },
142
142
  ];
143
143
 
@@ -163,7 +163,7 @@ const schemas: UnderKeelLocaleContent['schemas'] = [
163
163
  {
164
164
  '@context': 'https://schema.org',
165
165
  '@type': 'HowTo',
166
- name: `Comment utiliser : ${title}`,
166
+ name: `Comment utiliser: ${title}`,
167
167
  step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
168
168
  } as WithContext<HowTo>,
169
169
  ];