@jjlmoya/utils-nautical 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/package.json +72 -71
  2. package/src/tests/i18n_coverage.test.ts +36 -0
  3. package/src/tests/locale_completeness.test.ts +42 -0
  4. package/src/tests/no_h1_in_components.test.ts +48 -0
  5. package/src/tests/schemas_fulfillment.test.ts +23 -0
  6. package/src/tests/slug_uniqueness.test.ts +81 -0
  7. package/src/tests/title_quality.test.ts +55 -0
  8. package/src/tool/endurance/component.astro +340 -1
  9. package/src/tool/endurance/i18n/de.ts +249 -0
  10. package/src/tool/endurance/i18n/id.ts +249 -0
  11. package/src/tool/endurance/i18n/it.ts +249 -0
  12. package/src/tool/endurance/i18n/ja.ts +249 -0
  13. package/src/tool/endurance/i18n/ko.ts +249 -0
  14. package/src/tool/endurance/i18n/nl.ts +249 -0
  15. package/src/tool/endurance/i18n/pl.ts +249 -0
  16. package/src/tool/endurance/i18n/pt.ts +249 -0
  17. package/src/tool/endurance/i18n/ru.ts +249 -0
  18. package/src/tool/endurance/i18n/sv.ts +249 -0
  19. package/src/tool/endurance/i18n/tr.ts +249 -0
  20. package/src/tool/endurance/i18n/zh.ts +249 -0
  21. package/src/tool/endurance/index.ts +12 -0
  22. package/src/tool/nauticalConverter/component.astro +208 -1
  23. package/src/tool/nauticalConverter/i18n/de.ts +239 -0
  24. package/src/tool/nauticalConverter/i18n/id.ts +239 -0
  25. package/src/tool/nauticalConverter/i18n/it.ts +239 -0
  26. package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
  27. package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
  28. package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
  29. package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
  30. package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
  31. package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
  32. package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
  33. package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
  34. package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
  35. package/src/tool/nauticalConverter/index.ts +12 -0
  36. package/src/tool/sailArea/component.astro +355 -2
  37. package/src/tool/sailArea/i18n/de.ts +275 -0
  38. package/src/tool/sailArea/i18n/id.ts +275 -0
  39. package/src/tool/sailArea/i18n/it.ts +275 -0
  40. package/src/tool/sailArea/i18n/ja.ts +275 -0
  41. package/src/tool/sailArea/i18n/ko.ts +275 -0
  42. package/src/tool/sailArea/i18n/nl.ts +275 -0
  43. package/src/tool/sailArea/i18n/pl.ts +275 -0
  44. package/src/tool/sailArea/i18n/pt.ts +275 -0
  45. package/src/tool/sailArea/i18n/ru.ts +275 -0
  46. package/src/tool/sailArea/i18n/sv.ts +275 -0
  47. package/src/tool/sailArea/i18n/tr.ts +275 -0
  48. package/src/tool/sailArea/i18n/zh.ts +275 -0
  49. package/src/tool/sailArea/index.ts +12 -0
  50. package/src/tool/speedConverter/component.astro +242 -1
  51. package/src/tool/speedConverter/i18n/de.ts +271 -0
  52. package/src/tool/speedConverter/i18n/id.ts +271 -0
  53. package/src/tool/speedConverter/i18n/it.ts +271 -0
  54. package/src/tool/speedConverter/i18n/ja.ts +271 -0
  55. package/src/tool/speedConverter/i18n/ko.ts +271 -0
  56. package/src/tool/speedConverter/i18n/nl.ts +271 -0
  57. package/src/tool/speedConverter/i18n/pl.ts +271 -0
  58. package/src/tool/speedConverter/i18n/pt.ts +271 -0
  59. package/src/tool/speedConverter/i18n/ru.ts +194 -0
  60. package/src/tool/speedConverter/i18n/sv.ts +271 -0
  61. package/src/tool/speedConverter/i18n/tr.ts +225 -0
  62. package/src/tool/speedConverter/i18n/zh.ts +271 -0
  63. package/src/tool/speedConverter/index.ts +12 -0
  64. package/src/tool/tideCalculator/component.astro +313 -1
  65. package/src/tool/tideCalculator/i18n/de.ts +203 -0
  66. package/src/tool/tideCalculator/i18n/id.ts +203 -0
  67. package/src/tool/tideCalculator/i18n/it.ts +203 -0
  68. package/src/tool/tideCalculator/i18n/ja.ts +203 -0
  69. package/src/tool/tideCalculator/i18n/ko.ts +203 -0
  70. package/src/tool/tideCalculator/i18n/nl.ts +203 -0
  71. package/src/tool/tideCalculator/i18n/pl.ts +203 -0
  72. package/src/tool/tideCalculator/i18n/pt.ts +203 -0
  73. package/src/tool/tideCalculator/i18n/ru.ts +203 -0
  74. package/src/tool/tideCalculator/i18n/sv.ts +203 -0
  75. package/src/tool/tideCalculator/i18n/tr.ts +203 -0
  76. package/src/tool/tideCalculator/i18n/zh.ts +203 -0
  77. package/src/tool/tideCalculator/index.ts +12 -0
  78. package/src/tool/underKeel/component.astro +321 -1
  79. package/src/tool/underKeel/i18n/de.ts +189 -0
  80. package/src/tool/underKeel/i18n/en.ts +2 -2
  81. package/src/tool/underKeel/i18n/fr.ts +2 -2
  82. package/src/tool/underKeel/i18n/id.ts +189 -0
  83. package/src/tool/underKeel/i18n/it.ts +176 -0
  84. package/src/tool/underKeel/i18n/ja.ts +185 -0
  85. package/src/tool/underKeel/i18n/ko.ts +185 -0
  86. package/src/tool/underKeel/i18n/nl.ts +176 -0
  87. package/src/tool/underKeel/i18n/pl.ts +176 -0
  88. package/src/tool/underKeel/i18n/pt.ts +176 -0
  89. package/src/tool/underKeel/i18n/ru.ts +176 -0
  90. package/src/tool/underKeel/i18n/sv.ts +176 -0
  91. package/src/tool/underKeel/i18n/tr.ts +185 -0
  92. package/src/tool/underKeel/i18n/zh.ts +185 -0
  93. package/src/tool/underKeel/index.ts +12 -0
  94. package/src/tool/endurance/style.css +0 -337
  95. package/src/tool/nauticalConverter/style.css +0 -205
  96. package/src/tool/sailArea/style.css +0 -351
  97. package/src/tool/speedConverter/style.css +0 -239
  98. package/src/tool/tideCalculator/style.css +0 -310
  99. package/src/tool/underKeel/style.css +0 -318
@@ -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 = 'konwerter-jednostek-pl';
5
+ const title = 'Konwerter Jednostek Morskich';
6
+ const description =
7
+ 'Konwertuj mile morskie, węzły, sążnie i ciśnienie atmosferyczne. Zawiera interaktywną skalę Beauforta dla prędkości wiatru.';
8
+
9
+ const ui: NauticalConverterUI = {
10
+ distanceCategoryLabel: 'Odległość',
11
+ speedCategoryLabel: 'Prędkość',
12
+ depthCategoryLabel: 'Głębokość',
13
+ pressureCategoryLabel: 'Ciśnienie',
14
+ nmLabel: 'Mila Morska (nm)',
15
+ kmLabel: 'Kilometr (km)',
16
+ miLabel: 'Mila Lądowa (mi)',
17
+ cableLabel: 'Kabel (Cable)',
18
+ knLabel: 'Węzeł (kn)',
19
+ kmhLabel: 'km/h',
20
+ msLabel: 'm/s',
21
+ mphLabel: 'mph',
22
+ brozaLabel: 'Sążeń',
23
+ mLabel: 'Metr (m)',
24
+ ftLabel: 'Stopa (ft)',
25
+ mbarLabel: 'Milibar (mbar)',
26
+ mmhgLabel: 'mmHg',
27
+ inhgLabel: 'inHg',
28
+ atmLabel: 'Atmosfera (atm)',
29
+ windSeaLabel: 'Stan morza',
30
+ forceLabel: 'Siła',
31
+ effectLabel: 'Efekt',
32
+ copyLabel: 'Kopiuj wartość',
33
+ faqTitle: 'Często Zadawane Pytania',
34
+ bibliographyTitle: 'Bibliografia',
35
+ };
36
+
37
+ const faq: NauticalConverterLocaleContent['faq'] = [
38
+ {
39
+ question: 'Ile kilometrów ma mila morska?',
40
+ answer: 'Jedna mila morska to dokładnie 1,852 kilometra, czyli 1852 metry. Miara ta odpowiada jednej minucie kątowej szerokości geograficznej na powierzchni Ziemi.',
41
+ },
42
+ {
43
+ question: 'Jaka jest różnica między węzłem a kilometrem na godzinę?',
44
+ answer: 'Jeden węzeł to 1,852 km/h, ponieważ węzeł to jedna mila morska na godzinę. Aby przeliczyć węzły na km/h, wystarczy pomnożyć przez 1,852.',
45
+ },
46
+ {
47
+ question: 'Dlaczego na morzu używa się mil morskich zamiast kilometrów?',
48
+ answer: 'Ponieważ mila morska odpowiada jednej minucie kątowej szerokości geograficznej, co ogromnie upraszcza obliczenia nawigacyjne z mapą i kompasem. Zmiana o jedną minutę kątową szerokości geograficznej odpowiada dokładnie jednej mili morskiej.',
49
+ },
50
+ {
51
+ question: 'Co to jest skala Beauforta?',
52
+ answer: 'Jest to skala empiryczna, która wiąże prędkość wiatru z obserwowalnymi efektami na morzu. Zakres wynosi od 0 (cisza) do 12 (huragan) i jest niezbędna w nawigacji przybrzeżnej i oceanicznej.',
53
+ },
54
+ {
55
+ question: 'Jaka jednostka ciśnienia jest używana w meteorologii morskiej?',
56
+ answer: 'Meteorologia morska posługuje się głównie milibarem (mbar) lub jego odpowiednikiem – hektopaskalem (hPa). Normalne ciśnienie atmosferyczne na poziomie morza wynosi 1013,25 mbar.',
57
+ },
58
+ {
59
+ question: 'Ile stóp ma sążeń?',
60
+ answer: 'Jeden sążeń to dokładnie 6 stóp, czyli 1,8288 metra. Jest używany głównie w krajach anglojęzycznych do określania głębokości na starszych mapach morskich.',
61
+ },
62
+ ];
63
+
64
+ const howTo: NauticalConverterLocaleContent['howTo'] = [
65
+ {
66
+ name: 'Wybierz kategorię konwersji',
67
+ text: 'Kliknij jedną z czterech zakładek: Odległość, Prędkość, Głębokość lub Ciśnienie, w zależności od wielkości, którą chcesz przeliczyć.',
68
+ },
69
+ {
70
+ name: 'Wprowadź wartość w dowolnym polu',
71
+ text: 'Wpisz liczbę w jednostce, którą znasz. Wszystkie pozostałe jednostki zostaną automatycznie zaktualizowane w czasie rzeczywistym.',
72
+ },
73
+ {
74
+ name: 'Skorzystaj ze skali Beauforta (prędkość)',
75
+ text: 'Gdy wprowadzisz prędkość w zakładce Prędkość, pojawi się karta pokazująca odpowiednią siłę Beauforta i przewidywany stan morza.',
76
+ },
77
+ {
78
+ name: 'Skopiuj wynik',
79
+ text: 'Użyj przycisku kopiowania obok dowolnego pola, aby skopiować wartość do schowka.',
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: 'Znaczenie precyzji w jednostkach morskich',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Żegluga po morzu wymaga własnego języka – systemu miar doskonalonego przez stulecia morskich eksploracji. Jednostki morskie nie są historycznym dziwactwem, lecz matematycznie spójnymi narzędziami dostosowanymi do geometrii Ziemi i praktycznych potrzeb nawigatora.',
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'W przeciwieństwie do lądu, gdzie błąd kilku metrów rzadko ma poważne konsekwencje, na morzu błędna konwersja może oznaczać różnicę między bezpiecznym kotwiczeniem a wejściem na mieliznę. Precyzja jednostek nie jest kwestią akademicką: to jest nawigacja.',
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Gdy oddalamy się od brzegu, brak wizualnych punktów odniesienia sprawia, że obliczona pozycja jest jedyną rzeczywistością, na podstawie której możemy działać. Umiejętność dokładnego przeliczania mil morskich, kilometrów, węzłów i metrów nie jest dla odpowiedzialnego nawigatora opcjonalna.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Dlaczego używamy mil morskich zamiast kilometrów?',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Odpowiedź leży w samym kształcie Ziemi. Jedna <strong>mila morska</strong> odpowiada dokładnie jednej minucie kątowej szerokości geograficznej na powierzchni Ziemi, czyli 1852 metrom. Ta bezpośrednia odpowiedniość między pomiarem kątowym a odległością liniową jest kluczem do jej powszechnego stosowania w nawigacji.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Dzięki zastosowaniu tej jednostki, zmiana o jedną minutę kątową szerokości geograficznej na mapie morskiej zawsze odpowiada dokładnie jednej przebytej mili morskiej. To ogromnie upraszcza obliczenia pozycji, prędkości i czasu przybycia bez konieczności stosowania dodatkowych współczynników konwersji.',
124
+ },
125
+ {
126
+ type: 'title',
127
+ text: 'Prędkość na morzu: Węzeł',
128
+ level: 3,
129
+ },
130
+ {
131
+ type: 'paragraph',
132
+ html: '<strong>Węzeł</strong> to jednostka prędkości odpowiadająca jednej mili morskiej na godzinę. Nazwa pochodzi od starożytnej techniki pomiaru prędkości poprzez wyrzucanie do wody kawałka drewna przywiązanego do liny z zawiązanymi w regularnych odstępach węzłami i liczenie, ile węzłów przeszło przez palce w określonym czasie.',
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Dziś, choć używamy satelitów GPS i wyrafinowanych systemów elektronicznych, węzeł pozostaje standardową jednostką w międzynarodowym lotnictwie i żegludze morskiej. Jeden węzeł to 1,852 km/h lub 0,514 m/s.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Głębokość i kotwiczenie: Sążnie, Metry i Stopy',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'W świecie morskim głębokość nie jest tylko statystyką – to różnica między bezpiecznym kotwicowiskiem a wejściem na dno. Historycznie, <strong>sążeń</strong> (1,8288 metra lub dokładnie 6 stóp) był dominującą jednostką miary głębokości w świecie anglojęzycznym.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Jednak globalizacja i technologia wprowadziły stałe użycie metrów na większości nowoczesnych map i echosondach. Nowoczesny nawigator musi sprawnie poruszać się między sążniami, metrami i stopami, zwłaszcza podczas korzystania ze starszych map morskich lub instrumentów skalibrowanych w jednostkach imperialnych.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Meteorologia i ciśnienie atmosferyczne',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'Dla skippera barometr jest wyrocznią pogody. Ciśnienie atmosferyczne, mierzone w <strong>milibarach</strong> (mbar), jest najbardziej wiarygodnym wskaźnikiem nadchodzących zmian pogodowych. Gwałtowny spadek ciśnienia zwiastuje nadejście silnych wiatrów i złej pogody.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Zrozumienie zmian ciśnienia jest kluczowe dla każdego nawigatora. Normalne ciśnienie atmosferyczne na poziomie morza wynosi 1013,25 mbar (jedna atmosfera). Wyższe wartości wskazują na stabilną pogodę, podczas gdy niższe (zwłaszcza szybko spadające) sygnalizują zbliżanie się potencjalnie niebezpiecznych układów niskiego ciśnienia.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Skale wiatru i morza: Od Beauforta do Douglasa',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Prędkość wiatru w węzłach to liczba, która nabiera znaczenia w powiązaniu ze <strong>skalą Beauforta</strong>. Opracowana przez brytyjskiego admirała Francisa Beauforta w 1805 roku, ta empiryczka skala wiąże prędkość wiatru z obserwowalnymi efektami zarówno na powierzchni morza, jak i na lądzie.',
172
+ },
173
+ {
174
+ type: 'list',
175
+ items: [
176
+ '<strong>Siła 0-3 (0-10 kn):</strong> Spokojne warunki żeglarskie, idealne do nauki lub rejsów rodzinnych.',
177
+ '<strong>Siła 4-5 (11-21 kn):</strong> Idealny wiatr żeglarski dla jachtów, z umiarkowanymi falami i białymi grzywaczami.',
178
+ '<strong>Siła 6-7 (22-33 kn):</strong> Silny wiatr do bardzo silnego. Zalecane doświadczenie i refowanie.',
179
+ '<strong>Siła 8+ (powyżej 34 kn):</strong> Sztorm. Tylko dla doświadczonych nawigatorów na odpowiednich jednostkach.',
180
+ ],
181
+ },
182
+ {
183
+ type: 'paragraph',
184
+ html: 'Podobnie skala Douglasa klasyfikuje stan morza w stopniach od 0 (gładkie jak lustro) do 9 (fenomenalne), co pozwala nawigującemu przewidywać warunki za horyzontem na podstawie komunikatów pogodowych.',
185
+ },
186
+ {
187
+ type: 'tip',
188
+ title: 'Wskazówka Bezpieczeństwa',
189
+ html: 'Używając tego konwertera do planowania rejsu, zawsze pamiętaj, że rzeczywiste warunki mogą odbiegać od prognoz. Konsultuj oficjalne prognozy pogody i nigdy nie lekceważ zdolności morza do gwałtownych zmian.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Planowanie offline i mobilność',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Narzędzie zostało zaprojektowane tak, aby po załadowaniu w przeglądarce działało bez połączenia z Internetem, co czyni je idealnym do użytku na pokładzie, gdzie łączność może być ograniczona. Wszystkie konwersje są obliczane lokalnie na urządzeniu, bez przesyłania jakichkolwiek danych na serwer.',
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: `Jak używać: ${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-pt';
5
+ const title = 'Conversor de Unidades Náuticas';
6
+ const description =
7
+ 'Converta milhas náuticas, nós, braças e pressão atmosférica. Inclui escala Beaufort interativa para a velocidade do vento.';
8
+
9
+ const ui: NauticalConverterUI = {
10
+ distanceCategoryLabel: 'Distância',
11
+ speedCategoryLabel: 'Velocidade',
12
+ depthCategoryLabel: 'Profundidade',
13
+ pressureCategoryLabel: 'Pressão',
14
+ nmLabel: 'Milha Náutica (nm)',
15
+ kmLabel: 'Quilómetro (km)',
16
+ miLabel: 'Milha Terrestre (mi)',
17
+ cableLabel: 'Cabo (Cable)',
18
+ knLabel: 'Nó (kn)',
19
+ kmhLabel: 'km/h',
20
+ msLabel: 'm/s',
21
+ mphLabel: 'mph',
22
+ brozaLabel: 'Braça',
23
+ mLabel: 'Metro (m)',
24
+ ftLabel: 'Pé (ft)',
25
+ mbarLabel: 'Milibar (mbar)',
26
+ mmhgLabel: 'mmHg',
27
+ inhgLabel: 'inHg',
28
+ atmLabel: 'Atmosfera (atm)',
29
+ windSeaLabel: 'Estado do mar',
30
+ forceLabel: 'Força',
31
+ effectLabel: 'Efeito',
32
+ copyLabel: 'Copiar valor',
33
+ faqTitle: 'Perguntas Frequentes',
34
+ bibliographyTitle: 'Bibliografia',
35
+ };
36
+
37
+ const faq: NauticalConverterLocaleContent['faq'] = [
38
+ {
39
+ question: 'Quantos quilómetros tem uma milha náutica?',
40
+ answer: 'Uma milha náutica equivale exatamente a 1,852 quilómetros, ou 1852 metros. Esta medida corresponde a um minuto de arco de latitude na superfície da Terra.',
41
+ },
42
+ {
43
+ question: 'Qual é a diferença entre um nó e um quilómetro por hora?',
44
+ answer: 'Um nó equivale a 1,852 km/h, uma vez que um nó é uma milha náutica por hora. Para converter nós para km/h basta multiplicar por 1,852.',
45
+ },
46
+ {
47
+ question: 'Porque se usam milhas náuticas em vez de quilómetros no mar?',
48
+ answer: 'Porque uma milha náutica corresponde a um minuto de arco de latitude, o que simplifica enormemente os cálculos de navegação com carta e bússola. Uma variação de um minuto de arco de latitude equivale exatamente a uma milha náutica.',
49
+ },
50
+ {
51
+ question: 'O que é a escala Beaufort?',
52
+ answer: 'É uma escala empírica que relaciona a velocidade do vento com os efeitos observáveis no mar. Varia de 0 (calma) a 12 (furacão) e é essencial para a navegação costeira e oceânica.',
53
+ },
54
+ {
55
+ question: 'Qual unidade de pressão é usada na meteorologia marinha?',
56
+ answer: 'A meteorologia marinha usa principalmente o milibar (mbar) ou seu equivalente hectopascal (hPa). A pressão atmosférica normal ao nível do mar é de 1013,25 mbar.',
57
+ },
58
+ {
59
+ question: 'Quantos pés tem uma braça?',
60
+ answer: 'Uma braça equivale exatamente a 6 pés, ou seja, 1,8288 metros. É usada principalmente em países de língua inglesa para expressar profundidades em cartas náuticas antigas.',
61
+ },
62
+ ];
63
+
64
+ const howTo: NauticalConverterLocaleContent['howTo'] = [
65
+ {
66
+ name: 'Selecione a categoria de conversão',
67
+ text: 'Clique numa das quatro abas: Distância, Velocidade, Profundidade ou Pressão, dependendo da grandeza que deseja converter.',
68
+ },
69
+ {
70
+ name: 'Introduza o valor em qualquer campo',
71
+ text: 'Digite o número na unidade que conhece. Todas as outras unidades serão atualizadas automaticamente em tempo real.',
72
+ },
73
+ {
74
+ name: 'Consulte a escala Beaufort (velocidade)',
75
+ text: 'Quando introduz uma velocidade na aba Velocidade, aparecerá um cartão mostrando a força Beaufort correspondente e o estado do mar esperado.',
76
+ },
77
+ {
78
+ name: 'Copie o resultado',
79
+ text: 'Utilize o botão de copiar ao lado de qualquer campo para copiar o valor para a área de transferência.',
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: 'A importância da precisão nas unidades náuticas',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Navegar no mar requer uma linguagem própria, um sistema de medição refinado ao longo de séculos de exploração marítima. As unidades náuticas não são uma peculiaridade histórica, mas ferramentas matematicamente coerentes alinhadas com a geometria da Terra e as necessidades práticas do navegador.',
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: 'Diferente de em terra, onde um erro de poucos metros raramente tem consequências graves, no mar uma conversão errada pode significar a diferença entre ancorar em águas seguras ou encalhar num baixio. A precisão nas unidades não é uma questão académica: é navegação.',
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Quando nos afastamos da costa, a falta de referências visuais torna a posição calculada a única realidade sobre a qual podemos agir. Saber converter com precisão entre milhas náuticas, quilómetros, nós e metros não é opcional para o navegador responsável.',
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Porque usamos milhas náuticas em vez de quilómetros?',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'A resposta reside na própria forma da Terra. Uma <strong>milha náutica</strong> equivale exatamente a um minuto de arco de latitude na superfície da Terra, ou seja, 1852 metros. Esta correspondência direta entre medição angular e distância linear é a chave do seu uso universal na navegação.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Ao utilizar esta unidade, uma variação de um minuto de arco de latitude numa carta náutica corresponde sempre exatamente a uma milha náutica percorrida. Isto simplifica enormemente os cálculos de posição, velocidade e tempo de chegada sem necessidade de fatores de conversão adicionais.',
124
+ },
125
+ {
126
+ type: 'title',
127
+ text: 'Velocidade no mar: O nó',
128
+ level: 3,
129
+ },
130
+ {
131
+ type: 'paragraph',
132
+ html: 'O <strong>nó</strong> é a unidade de velocidade equivalente a uma milha náutica por hora. O seu nome provém da antiga técnica de medir a velocidade lançando à água uma peça de madeira atada a uma corda com nós em intervalos regulares e contando quantos nós passavam entre os dedos num tempo fixo.',
133
+ },
134
+ {
135
+ type: 'paragraph',
136
+ html: 'Hoje, embora utilizemos satélites GPS e sistemas eletrónicos sofisticados, o nó continua a ser a unidade padrão na aviação internacional e na navegação marítima. Um nó equivale a 1,852 km/h ou 0,514 m/s.',
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Profundidade e ancoragem: Braças, Metros e Pés',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'No mundo náutico, a profundidade não é meramente uma estatística: é a diferença entre uma ancoragem segura e um encalhe. Historicamente, a <strong>braça</strong> (1,8288 metros ou exatamente 6 pés) era a unidade predominante para medir profundidades no mundo de língua inglesa.',
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'No entanto, a globalização e a tecnologia introduziram o uso constante de metros na maioria das cartas e ecosondas modernos. O navegador moderno deve sentir-se à vontade ao transitar entre braças, metros e pés, especialmente ao consultar cartas náuticas antigas ou instrumentos calibrados em unidades imperiais.',
150
+ },
151
+ {
152
+ type: 'title',
153
+ text: 'Meteorologia e Pressão Atmosférica',
154
+ level: 3,
155
+ },
156
+ {
157
+ type: 'paragraph',
158
+ html: 'Para um comandante, o barómetro é o oráculo do tempo. A pressão atmosférica, medida em <strong>milibares</strong> (mbar), é o indicador mais fiável de mudanças meteorológicas iminentes. Uma queda rápida na pressão anuncia a chegada de ventos fortes e mau tempo.',
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Compreender as variações de pressão é vital para qualquer navegador. A pressão atmosférica normal ao nível do mar é de 1013,25 mbar (uma atmosfera). Valores mais altos indicam tempo estável, enquanto valores mais baixos, especialmente se caírem rapidamente, sinalizam a aproximação de sistemas de baixa pressão potencialmente perigosos.',
163
+ },
164
+ {
165
+ type: 'title',
166
+ text: 'Escalas de Vento e Mar: De Beaufort a Douglas',
167
+ level: 3,
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'A velocidade do vento em nós é um número que ganha vida quando associado à <strong>escala Beaufort</strong>. Desenvolvida pelo almirante britânico Francis Beaufort em 1805, esta escala empírica relaciona a velocidade do vento com efeitos observáveis tanto na superfície do mar como em terra.',
172
+ },
173
+ {
174
+ type: 'list',
175
+ items: [
176
+ '<strong>Força 0-3 (0-10 kn):</strong> Condições de navegação tranquilas, ideais para aprendizagem ou passeios em família.',
177
+ '<strong>Força 4-5 (11-21 kn):</strong> Vento ideal para a vela em iates, com ondas moderadas e cristas brancas.',
178
+ '<strong>Força 6-7 (22-33 kn):</strong> Condições de vento forte a quase vendaval. Experiência e rizos recomendados.',
179
+ '<strong>Força 8+ (acima de 34 kn):</strong> Vendaval. Apenas para navegadores experientes com embarcações adequadas.',
180
+ ],
181
+ },
182
+ {
183
+ type: 'paragraph',
184
+ html: 'Da mesma forma, a escala Douglas classifica o estado do mar em graus de 0 (quase liso) a 9 (fenomenal), permitindo ao navegador antecipar condições além do horizonte com base em reportes meteorológicos.',
185
+ },
186
+ {
187
+ type: 'tip',
188
+ title: 'Dica de Segurança',
189
+ html: 'Ao usar este conversor para planear uma viagem, tenha sempre em mente que as condições reais podem diferir das previsões. Consulte as previsões meteorológicas oficiais e nunca subestime a capacidade do mar de mudar rapidamente.',
190
+ },
191
+ {
192
+ type: 'title',
193
+ text: 'Planeamento offline e mobilidade',
194
+ level: 3,
195
+ },
196
+ {
197
+ type: 'paragraph',
198
+ html: 'Esta ferramenta foi desenhada para funcionar sem ligação à internet uma vez carregada no navegador, tornando-a ideal para uso a bordo onde a conectividade pode ser limitada. Todas as conversões são calculadas localmente no dispositivo, sem enviar quaisquer dados para um 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
+ };