@jjlmoya/utils-nautical 1.2.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 (74) hide show
  1. package/package.json +75 -0
  2. package/src/category/i18n/en.ts +79 -0
  3. package/src/category/i18n/es.ts +79 -0
  4. package/src/category/i18n/fr.ts +79 -0
  5. package/src/category/index.ts +13 -0
  6. package/src/components/PreviewNavSidebar.astro +116 -0
  7. package/src/components/PreviewToolbar.astro +143 -0
  8. package/src/data.ts +12 -0
  9. package/src/env.d.ts +5 -0
  10. package/src/index.ts +22 -0
  11. package/src/layouts/PreviewLayout.astro +117 -0
  12. package/src/pages/[locale]/[slug].astro +146 -0
  13. package/src/pages/[locale].astro +249 -0
  14. package/src/pages/index.astro +4 -0
  15. package/src/tests/faq_count.test.ts +30 -0
  16. package/src/tests/mocks/astro_mock.js +2 -0
  17. package/src/tests/seo_length.test.ts +29 -0
  18. package/src/tests/tool_validation.test.ts +51 -0
  19. package/src/tool/endurance/bibliography.astro +14 -0
  20. package/src/tool/endurance/component.astro +310 -0
  21. package/src/tool/endurance/i18n/en.ts +243 -0
  22. package/src/tool/endurance/i18n/es.ts +249 -0
  23. package/src/tool/endurance/i18n/fr.ts +217 -0
  24. package/src/tool/endurance/index.ts +56 -0
  25. package/src/tool/endurance/logic.ts +36 -0
  26. package/src/tool/endurance/seo.astro +55 -0
  27. package/src/tool/endurance/style.css +333 -0
  28. package/src/tool/nauticalConverter/bibliography.astro +14 -0
  29. package/src/tool/nauticalConverter/component.astro +481 -0
  30. package/src/tool/nauticalConverter/i18n/en.ts +239 -0
  31. package/src/tool/nauticalConverter/i18n/es.ts +239 -0
  32. package/src/tool/nauticalConverter/i18n/fr.ts +239 -0
  33. package/src/tool/nauticalConverter/index.ts +57 -0
  34. package/src/tool/nauticalConverter/logic.ts +52 -0
  35. package/src/tool/nauticalConverter/seo.astro +52 -0
  36. package/src/tool/nauticalConverter/style.css +205 -0
  37. package/src/tool/sailArea/bibliography.astro +14 -0
  38. package/src/tool/sailArea/component.astro +418 -0
  39. package/src/tool/sailArea/i18n/en.ts +275 -0
  40. package/src/tool/sailArea/i18n/es.ts +275 -0
  41. package/src/tool/sailArea/i18n/fr.ts +275 -0
  42. package/src/tool/sailArea/index.ts +53 -0
  43. package/src/tool/sailArea/logic.ts +55 -0
  44. package/src/tool/sailArea/seo.astro +52 -0
  45. package/src/tool/sailArea/style.css +351 -0
  46. package/src/tool/speedConverter/bibliography.astro +14 -0
  47. package/src/tool/speedConverter/component.astro +125 -0
  48. package/src/tool/speedConverter/i18n/en.ts +271 -0
  49. package/src/tool/speedConverter/i18n/es.ts +271 -0
  50. package/src/tool/speedConverter/i18n/fr.ts +271 -0
  51. package/src/tool/speedConverter/index.ts +46 -0
  52. package/src/tool/speedConverter/logic.ts +48 -0
  53. package/src/tool/speedConverter/seo.astro +43 -0
  54. package/src/tool/speedConverter/style.css +239 -0
  55. package/src/tool/tideCalculator/bibliography.astro +14 -0
  56. package/src/tool/tideCalculator/component.astro +314 -0
  57. package/src/tool/tideCalculator/i18n/en.ts +203 -0
  58. package/src/tool/tideCalculator/i18n/es.ts +225 -0
  59. package/src/tool/tideCalculator/i18n/fr.ts +190 -0
  60. package/src/tool/tideCalculator/index.ts +50 -0
  61. package/src/tool/tideCalculator/logic.ts +73 -0
  62. package/src/tool/tideCalculator/seo.astro +61 -0
  63. package/src/tool/tideCalculator/style.css +310 -0
  64. package/src/tool/underKeel/bibliography.astro +14 -0
  65. package/src/tool/underKeel/component.astro +240 -0
  66. package/src/tool/underKeel/i18n/en.ts +193 -0
  67. package/src/tool/underKeel/i18n/es.ts +206 -0
  68. package/src/tool/underKeel/i18n/fr.ts +193 -0
  69. package/src/tool/underKeel/index.ts +49 -0
  70. package/src/tool/underKeel/logic.ts +83 -0
  71. package/src/tool/underKeel/seo.astro +46 -0
  72. package/src/tool/underKeel/style.css +312 -0
  73. package/src/tools.ts +25 -0
  74. package/src/types.ts +69 -0
@@ -0,0 +1,239 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { NauticalConverterUI, NauticalConverterLocaleContent } from '../index';
3
+
4
+ const slug = 'nautical-units-converter';
5
+ const title = 'Nautical Units Converter';
6
+ const description =
7
+ 'Convert nautical miles, knots, fathoms and atmospheric pressure. Includes interactive Beaufort scale for wind speed.';
8
+
9
+ const ui: NauticalConverterUI = {
10
+ distanceCategoryLabel: 'Distance',
11
+ speedCategoryLabel: 'Speed',
12
+ depthCategoryLabel: 'Depth',
13
+ pressureCategoryLabel: 'Pressure',
14
+ nmLabel: 'Nautical Mile (nm)',
15
+ kmLabel: 'Kilometre (km)',
16
+ miLabel: 'Statute Mile (mi)',
17
+ cableLabel: 'Cable',
18
+ knLabel: 'Knot (kn)',
19
+ kmhLabel: 'km/h',
20
+ msLabel: 'm/s',
21
+ mphLabel: 'mph',
22
+ brozaLabel: 'Fathom',
23
+ mLabel: 'Metre (m)',
24
+ ftLabel: 'Foot (ft)',
25
+ mbarLabel: 'Millibar (mbar)',
26
+ mmhgLabel: 'mmHg',
27
+ inhgLabel: 'inHg',
28
+ atmLabel: 'Atmosphere (atm)',
29
+ windSeaLabel: 'Sea state',
30
+ forceLabel: 'Force',
31
+ effectLabel: 'Effect',
32
+ copyLabel: 'Copy value',
33
+ faqTitle: 'Frequently Asked Questions',
34
+ bibliographyTitle: 'Bibliography',
35
+ };
36
+
37
+ const faq: NauticalConverterLocaleContent['faq'] = [
38
+ {
39
+ question: 'How many kilometres are in a nautical mile?',
40
+ answer: 'One nautical mile equals exactly 1.852 kilometres, or 1852 metres. This measurement corresponds to one arcminute of latitude on the Earth\'s surface.',
41
+ },
42
+ {
43
+ question: 'What is the difference between a knot and a kilometre per hour?',
44
+ answer: 'One knot equals 1.852 km/h, since a knot is one nautical mile per hour. To convert knots to km/h simply multiply by 1.852.',
45
+ },
46
+ {
47
+ question: 'Why are nautical miles used instead of kilometres at sea?',
48
+ answer: 'Because a nautical mile corresponds to one arcminute of latitude, which greatly simplifies navigation calculations with chart and compass. A change of one arcminute of latitude equals exactly one nautical mile.',
49
+ },
50
+ {
51
+ question: 'What is the Beaufort scale?',
52
+ answer: 'It is an empirical scale that relates wind speed to observable effects on the sea. It ranges from 0 (calm) to 12 (hurricane) and is essential for coastal and ocean navigation.',
53
+ },
54
+ {
55
+ question: 'What pressure unit is used in marine meteorology?',
56
+ answer: 'Marine meteorology mainly uses the millibar (mbar) or its equivalent hectopascal (hPa). Normal atmospheric pressure at sea level is 1013.25 mbar.',
57
+ },
58
+ {
59
+ question: 'How many feet are in a fathom?',
60
+ answer: 'One fathom equals exactly 6 feet, that is 1.8288 metres. It is used mainly in English-speaking countries to express depths on older nautical charts.',
61
+ },
62
+ ];
63
+
64
+ const howTo: NauticalConverterLocaleContent['howTo'] = [
65
+ {
66
+ name: 'Select the conversion category',
67
+ text: 'Click one of the four tabs: Distance, Speed, Depth or Pressure depending on the quantity you want to convert.',
68
+ },
69
+ {
70
+ name: 'Enter the value in any field',
71
+ text: 'Type the number in the unit you know. All other units update automatically in real time.',
72
+ },
73
+ {
74
+ name: 'Consult the Beaufort scale (speed)',
75
+ text: 'When you enter a speed in the Speed tab, a card will appear showing the corresponding Beaufort force and the expected sea state.',
76
+ },
77
+ {
78
+ name: 'Copy the result',
79
+ text: 'Use the copy button next to any field to copy the value to the clipboard.',
80
+ },
81
+ ];
82
+
83
+ const bibliography: NauticalConverterLocaleContent['bibliography'] = [
84
+ {
85
+ name: 'Instituto Hidrografico de la Marina',
86
+ url: 'https://armada.defensa.gob.es/ihm/',
87
+ },
88
+ {
89
+ name: 'NOAA - National Weather Service',
90
+ url: 'https://www.weather.gov/mfl/beaufort',
91
+ },
92
+ ];
93
+
94
+ const seo: NauticalConverterLocaleContent['seo'] = [
95
+ {
96
+ type: 'title',
97
+ text: 'The importance of precision in nautical units',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Navigating the sea requires its own language, a system of measurements refined over centuries of maritime exploration. Nautical units are not a historical quirk but mathematically coherent tools aligned with the geometry of the Earth and the practical needs of the navigator.',
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'Unlike on land, where an error of a few metres rarely has serious consequences, at sea a wrong conversion can mean the difference between anchoring in safe water or running aground on a shoal. Precision in units is not an academic matter: it is navigation.',
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'When we move away from the coast, the lack of visual references makes the calculated position the only reality we can act on. Knowing how to convert accurately between nautical miles, kilometres, knots and metres is not optional for the responsible navigator.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Why do we use nautical miles instead of kilometres?',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'The answer lies in the shape of the Earth itself. One <strong>nautical mile</strong> equals exactly one arcminute of latitude on the Earth\'s surface, that is 1852 metres. This direct correspondence between angular measurement and linear distance is the key to its universal use in navigation.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Using this unit, a change of one arcminute in latitude on a nautical chart always corresponds to exactly one nautical mile travelled. This enormously simplifies calculations of position, speed and arrival time without the need for additional conversion factors.',
124
+ },
125
+ {
126
+ type: 'title',
127
+ text: 'Speed at sea: The knot',
128
+ level: 3,
129
+ },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'The <strong>knot</strong> is the unit of speed equivalent to one nautical mile per hour. Its name comes from the old technique of measuring speed by throwing a wooden chip tied to a rope with regularly spaced knots into the water and counting how many knots passed through the fingers in a fixed time.',
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Today, although we use GPS satellites and sophisticated electronic systems, the knot remains the standard unit in international aviation and maritime navigation. One knot equals 1.852 km/h or 0.514 m/s.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Depth and anchorage: Fathoms, Metres and Feet',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'In the nautical world, depth is not merely a statistic: it is the difference between a safe anchorage and a grounding. Historically, the <strong>fathom</strong> (1.8288 metres or exactly 6 feet) was the predominant unit for measuring depths in the English-speaking world.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'However, globalisation and technology have introduced the constant use of metres on most modern charts and echo sounders. The modern navigator must be comfortable moving between fathoms, metres and feet, especially when consulting old nautical charts or instruments calibrated in imperial units.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Meteorology and Atmospheric Pressure',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'For a skipper, the barometer is the oracle of the weather. Atmospheric pressure, measured in <strong>millibars</strong> (mbar), is the most reliable indicator of imminent weather changes. A rapid drop in pressure heralds the arrival of strong winds and bad weather.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Understanding pressure variations is vital for any navigator. Normal atmospheric pressure at sea level is 1013.25 mbar (one atmosphere). Higher values indicate stable weather, while lower values, especially if they fall rapidly, signal the approach of potentially dangerous low-pressure systems.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Wind and Sea Scales: From Beaufort to Douglas',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Wind speed in knots is a number that comes to life when associated with the <strong>Beaufort scale</strong>. Developed by British Admiral Francis Beaufort in 1805, this empirical scale relates wind speed to observable effects on both the sea surface and on land.',
172
+ },
173
+ {
174
+ type: 'list',
175
+ items: [
176
+ '<strong>Force 0-3 (0-10 kn):</strong> Calm sailing conditions, ideal for learning or family outings.',
177
+ '<strong>Force 4-5 (11-21 kn):</strong> Ideal sailing wind for yachts, with moderate waves and whitecaps.',
178
+ '<strong>Force 6-7 (22-33 kn):</strong> Fresh to near-gale conditions. Experience and reefing recommended.',
179
+ '<strong>Force 8+ (over 34 kn):</strong> Gale. Experienced navigators with suitable vessels only.',
180
+ ],
181
+ },
182
+ {
183
+ type: 'paragraph',
184
+ html: 'Similarly, the Douglas scale classifies sea state in degrees from 0 (glassy) to 9 (phenomenal), allowing the navigator to anticipate conditions beyond the horizon based on weather reports.',
185
+ },
186
+ {
187
+ type: 'tip',
188
+ title: 'Safety Tip',
189
+ html: 'When using this converter to plan a trip, always bear in mind that actual conditions may differ from predictions. Consult the official weather forecast and never underestimate the sea\'s ability to change rapidly.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Offline planning and mobility',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'This tool is designed to work without an internet connection once loaded in the browser, making it ideal for use on board where connectivity may be limited. All conversions are calculated locally on the device, without sending any data to a server.',
199
+ },
200
+ ];
201
+
202
+ const schemas: NauticalConverterLocaleContent['schemas'] = [
203
+ {
204
+ '@context': 'https://schema.org',
205
+ '@type': 'SoftwareApplication',
206
+ name: title,
207
+ description,
208
+ applicationCategory: 'UtilityApplication',
209
+ operatingSystem: 'Web',
210
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
211
+ } as WithContext<SoftwareApplication>,
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'FAQPage',
215
+ mainEntity: faq.map((item) => ({
216
+ '@type': 'Question',
217
+ name: item.question,
218
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
219
+ })),
220
+ } as WithContext<FAQPage>,
221
+ {
222
+ '@context': 'https://schema.org',
223
+ '@type': 'HowTo',
224
+ name: `How to use: ${title}`,
225
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
226
+ } as WithContext<HowTo>,
227
+ ];
228
+
229
+ export const content: NauticalConverterLocaleContent = {
230
+ slug,
231
+ title,
232
+ description,
233
+ ui,
234
+ seo,
235
+ faq,
236
+ bibliography,
237
+ howTo,
238
+ schemas,
239
+ };
@@ -0,0 +1,239 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { NauticalConverterUI, NauticalConverterLocaleContent } from '../index';
3
+
4
+ const slug = 'conversor-unidades-nauticas';
5
+ const title = 'Conversor de Unidades Nauticas';
6
+ const description =
7
+ 'Convierte millas nauticas, nudos, brazas y presion atmosferica. Incluye escala Beaufort interactiva para velocidad del viento.';
8
+
9
+ const ui: NauticalConverterUI = {
10
+ distanceCategoryLabel: 'Distancia',
11
+ speedCategoryLabel: 'Velocidad',
12
+ depthCategoryLabel: 'Profundidad',
13
+ pressureCategoryLabel: 'Presion',
14
+ nmLabel: 'Milla Nautica (nm)',
15
+ kmLabel: 'Kilometro (km)',
16
+ miLabel: 'Milla Terrestre (mi)',
17
+ cableLabel: 'Cable',
18
+ knLabel: 'Nudo (kn)',
19
+ kmhLabel: 'km/h',
20
+ msLabel: 'm/s',
21
+ mphLabel: 'mph',
22
+ brozaLabel: 'Braza',
23
+ mLabel: 'Metro (m)',
24
+ ftLabel: 'Pie (ft)',
25
+ mbarLabel: 'Milibar (mbar)',
26
+ mmhgLabel: 'mmHg',
27
+ inhgLabel: 'inHg',
28
+ atmLabel: 'Atmosfera (atm)',
29
+ windSeaLabel: 'Estado del mar',
30
+ forceLabel: 'Fuerza',
31
+ effectLabel: 'Efecto',
32
+ copyLabel: 'Copiar valor',
33
+ faqTitle: 'Preguntas Frecuentes',
34
+ bibliographyTitle: 'Referencias',
35
+ };
36
+
37
+ const faq: NauticalConverterLocaleContent['faq'] = [
38
+ {
39
+ question: '¿Cuantos kilometros tiene una milla nautica?',
40
+ answer: 'Una milla nautica equivale exactamente a 1.852 kilometros, o 1852 metros. Esta medida corresponde a un minuto de arco de latitud en la superficie terrestre.',
41
+ },
42
+ {
43
+ question: '¿Que diferencia hay entre un nudo y un kilometro por hora?',
44
+ answer: 'Un nudo equivale a 1.852 km/h, ya que un nudo es igual a una milla nautica por hora. Para convertir nudos a km/h basta con multiplicar por 1.852.',
45
+ },
46
+ {
47
+ question: '¿Por que se usan millas nauticas en lugar de kilometros en el mar?',
48
+ answer: 'Porque la milla nautica corresponde a un minuto de arco de latitud, lo que facilita enormemente los calculos de navegacion con carta y compas. Un cambio de un minuto de latitud equivale exactamente a una milla nautica.',
49
+ },
50
+ {
51
+ question: '¿Que es la escala Beaufort?',
52
+ answer: 'Es una escala empirica que relaciona la velocidad del viento con los efectos observables en el mar. Va de 0 (calma) a 12 (huracan) y es esencial para la navegacion costera y oceanica.',
53
+ },
54
+ {
55
+ question: '¿Que unidad de presion se usa en meteorologia maritima?',
56
+ answer: 'En meteorologia maritima se usa principalmente el milibar (mbar) o su equivalente hectopascal (hPa). La presion atmosferica normal al nivel del mar es de 1013.25 mbar.',
57
+ },
58
+ {
59
+ question: '¿Cuantos pies tiene una braza?',
60
+ answer: 'Una braza equivale exactamente a 6 pies, es decir, 1.8288 metros. Se usa principalmente en paises anglosajones para expresar profundidades en cartas nauticas antiguas.',
61
+ },
62
+ ];
63
+
64
+ const howTo: NauticalConverterLocaleContent['howTo'] = [
65
+ {
66
+ name: 'Selecciona la categoria de conversion',
67
+ text: 'Haz clic en una de las cuatro pestañas: Distancia, Velocidad, Profundidad o Presion segun la magnitud que quieras convertir.',
68
+ },
69
+ {
70
+ name: 'Introduce el valor en cualquier campo',
71
+ text: 'Escribe el numero en la unidad que conoces. Todas las demas unidades se actualizan automaticamente en tiempo real.',
72
+ },
73
+ {
74
+ name: 'Consulta la escala Beaufort (velocidad)',
75
+ text: 'Al introducir una velocidad en la pestaña de Velocidad, aparecera una tarjeta con la fuerza Beaufort correspondiente y el estado del mar esperado.',
76
+ },
77
+ {
78
+ name: 'Copia el resultado',
79
+ text: 'Usa el boton de copia junto a cualquier campo para copiar el valor al portapapeles.',
80
+ },
81
+ ];
82
+
83
+ const bibliography: NauticalConverterLocaleContent['bibliography'] = [
84
+ {
85
+ name: 'Instituto Hidrografico de la Marina',
86
+ url: 'https://armada.defensa.gob.es/ihm/',
87
+ },
88
+ {
89
+ name: 'NOAA - National Weather Service',
90
+ url: 'https://www.weather.gov/mfl/beaufort',
91
+ },
92
+ ];
93
+
94
+ const seo: NauticalConverterLocaleContent['seo'] = [
95
+ {
96
+ type: 'title',
97
+ text: 'La importancia de la precision en las unidades nauticas',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Navegar por el mar requiere un lenguaje propio, un sistema de medidas que ha sido refinado durante siglos de exploracion maritima. Las unidades nauticas no son un capricho historico, sino herramientas matematicamente coherentes con la geometria de la Tierra y las necesidades practicas del navegante.',
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'A diferencia de lo que ocurre en tierra firme, donde el error de unos metros rara vez tiene consecuencias graves, en el mar una conversion erronea puede significar la diferencia entre fondear en aguas seguras o encallar en un bajo. La precision en las unidades no es una cuestion academica: es navegacion.',
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Cuando nos alejamos de la costa, la escasez de referencias visuales hace que la posicion calculada sea la unica realidad sobre la que podemos actuar. Saber convertir con exactitud entre millas nauticas, kilometros, nudos y metros no es opcional para el navegante responsable.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: '¿Por que usamos millas nauticas en lugar de kilometros?',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'La respuesta reside en la propia forma de la Tierra. Una <strong>milla nautica</strong> equivale exactamente a un minuto de arco de latitud en la superficie terrestre, es decir, 1852 metros. Esta correspondencia directa entre medida angular y distancia lineal es la clave de su uso universal en navegacion.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Al usar esta unidad, un cambio de un minuto en la latitud de una carta nautica corresponde siempre a exactamente una milla nautica recorrida. Esto simplifica enormemente los calculos de posicion, velocidad y tiempo de llegada sin necesidad de factores de conversion adicionales.',
124
+ },
125
+ {
126
+ type: 'title',
127
+ text: 'Velocidad en el mar: El nudo',
128
+ level: 3,
129
+ },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'El <strong>nudo</strong> es la unidad de velocidad equivalente a una milla nautica por hora. Su nombre proviene de la antigua tecnica de medir la velocidad lanzando al agua una tablilla de madera atada a una cuerda con nudos espaciados regularmente y contando cuantos nudos pasaban entre los dedos en un tiempo fijo.',
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Hoy en dia, aunque utilizamos satelites GPS y sofisticados sistemas electronicos, el nudo sigue siendo la unidad estandar en aviacion y navegacion maritima internacional. Un nudo equivale a 1.852 km/h o a 0.514 m/s.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Profundidad y fondeo: Brazas, Metros y Pies',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'En el mundo de la nautica, la profundidad no es solo un dato estadistico: es la diferencia entre un fondeo seguro y un encallamiento. Historicamente, la <strong>braza</strong> (fathom en ingles, 1.8288 metros o exactamente 6 pies) fue la unidad predominante para medir profundidades en el mundo anglosajones.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Sin embargo, la globalizacion y la tecnologia han introducido el uso constante de los metros en la mayoria de cartas y ecosondas modernas. El navegante actual debe saber moverse con soltura entre brazas, metros y pies, especialmente cuando consulta cartas nauticas antiguas o instrumentos calibrados en unidades imperiales.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Meteorologia y Presion Atmosferica',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'Para un patron de barco, el barometro es el oraculo del tiempo. La presion atmosferica, medida en <strong>milibares</strong> (mbar), es el indicador mas fiable de los cambios meteorologicos inminentes. Una caida rapida de presion anuncia la llegada de vientos fuertes y mal tiempo.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Entender las variaciones de presion es vital para cualquier navegante. La presion atmosferica normal al nivel del mar es de 1013.25 mbar (una atmosfera). Valores superiores indican tiempo estable, mientras que valores inferiores, especialmente si descienden rapidamente, señalan la aproximacion de sistemas de baja presion potencialmente peligrosos.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Escalas de Viento y Mar: De Beaufort a Douglas',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'La velocidad del viento en nudos es un numero que cobra vida real cuando se asocia con la <strong>escala Beaufort</strong>. Desarrollada por el almirante britanico Francis Beaufort en 1805, esta escala empirica relaciona la velocidad del viento con los efectos observables tanto en la superficie del mar como en tierra.',
172
+ },
173
+ {
174
+ type: 'list',
175
+ items: [
176
+ '<strong>Fuerza 0-3 (0-10 kn):</strong> Condiciones de navegacion placidas, ideales para aprender o para salidas familiares.',
177
+ '<strong>Fuerza 4-5 (11-21 kn):</strong> Viento de navegacion ideal para veleros, con olas moderadas y borreguillos visibles.',
178
+ '<strong>Fuerza 6-7 (22-33 kn):</strong> Condiciones de viento fresco a frescachon. Se recomienda experiencia y reducir trapo.',
179
+ '<strong>Fuerza 8+ (mas de 34 kn):</strong> Temporal. Solo para navegantes experimentados con embarcaciones adecuadas.',
180
+ ],
181
+ },
182
+ {
183
+ type: 'paragraph',
184
+ html: 'De la misma manera, la escala Douglas clasifica el estado de la mar en grados del 0 (glassy) al 9 (phenomenal), permitiendo al navegante anticipar las condiciones que encontrara mas alla del horizonte basandose en los partes meteorologicos.',
185
+ },
186
+ {
187
+ type: 'tip',
188
+ title: 'Consejo de Seguridad',
189
+ html: 'Al utilizar este conversor para planificar una salida, ten siempre en cuenta que las condiciones reales pueden diferir de las previstas. Consulta el parte meteorologico oficial y nunca subestimes la capacidad del mar para cambiar rapidamente.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Planificacion offline y movilidad',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Esta herramienta esta diseñada para funcionar sin conexion a internet una vez cargada en el navegador, lo que la hace ideal para su uso a bordo donde la conectividad puede ser limitada. Todas las conversiones se calculan localmente en el dispositivo, sin enviar datos a ningun servidor.',
199
+ },
200
+ ];
201
+
202
+ const schemas: NauticalConverterLocaleContent['schemas'] = [
203
+ {
204
+ '@context': 'https://schema.org',
205
+ '@type': 'SoftwareApplication',
206
+ name: title,
207
+ description,
208
+ applicationCategory: 'UtilityApplication',
209
+ operatingSystem: 'Web',
210
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
211
+ } as WithContext<SoftwareApplication>,
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'FAQPage',
215
+ mainEntity: faq.map((item) => ({
216
+ '@type': 'Question',
217
+ name: item.question,
218
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
219
+ })),
220
+ } as WithContext<FAQPage>,
221
+ {
222
+ '@context': 'https://schema.org',
223
+ '@type': 'HowTo',
224
+ name: `Como usar: ${title}`,
225
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
226
+ } as WithContext<HowTo>,
227
+ ];
228
+
229
+ export const content: NauticalConverterLocaleContent = {
230
+ slug,
231
+ title,
232
+ description,
233
+ ui,
234
+ seo,
235
+ faq,
236
+ bibliography,
237
+ howTo,
238
+ schemas,
239
+ };