@jjlmoya/utils-nautical 1.6.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 (88) 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/i18n/de.ts +249 -0
  9. package/src/tool/endurance/i18n/id.ts +249 -0
  10. package/src/tool/endurance/i18n/it.ts +249 -0
  11. package/src/tool/endurance/i18n/ja.ts +249 -0
  12. package/src/tool/endurance/i18n/ko.ts +249 -0
  13. package/src/tool/endurance/i18n/nl.ts +249 -0
  14. package/src/tool/endurance/i18n/pl.ts +249 -0
  15. package/src/tool/endurance/i18n/pt.ts +249 -0
  16. package/src/tool/endurance/i18n/ru.ts +249 -0
  17. package/src/tool/endurance/i18n/sv.ts +249 -0
  18. package/src/tool/endurance/i18n/tr.ts +249 -0
  19. package/src/tool/endurance/i18n/zh.ts +249 -0
  20. package/src/tool/endurance/index.ts +12 -0
  21. package/src/tool/nauticalConverter/i18n/de.ts +239 -0
  22. package/src/tool/nauticalConverter/i18n/id.ts +239 -0
  23. package/src/tool/nauticalConverter/i18n/it.ts +239 -0
  24. package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
  25. package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
  26. package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
  27. package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
  28. package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
  29. package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
  30. package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
  31. package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
  32. package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
  33. package/src/tool/nauticalConverter/index.ts +12 -0
  34. package/src/tool/sailArea/component.astro +1 -1
  35. package/src/tool/sailArea/i18n/de.ts +275 -0
  36. package/src/tool/sailArea/i18n/id.ts +275 -0
  37. package/src/tool/sailArea/i18n/it.ts +275 -0
  38. package/src/tool/sailArea/i18n/ja.ts +275 -0
  39. package/src/tool/sailArea/i18n/ko.ts +275 -0
  40. package/src/tool/sailArea/i18n/nl.ts +275 -0
  41. package/src/tool/sailArea/i18n/pl.ts +275 -0
  42. package/src/tool/sailArea/i18n/pt.ts +275 -0
  43. package/src/tool/sailArea/i18n/ru.ts +275 -0
  44. package/src/tool/sailArea/i18n/sv.ts +275 -0
  45. package/src/tool/sailArea/i18n/tr.ts +275 -0
  46. package/src/tool/sailArea/i18n/zh.ts +275 -0
  47. package/src/tool/sailArea/index.ts +12 -0
  48. package/src/tool/speedConverter/i18n/de.ts +271 -0
  49. package/src/tool/speedConverter/i18n/id.ts +271 -0
  50. package/src/tool/speedConverter/i18n/it.ts +271 -0
  51. package/src/tool/speedConverter/i18n/ja.ts +271 -0
  52. package/src/tool/speedConverter/i18n/ko.ts +271 -0
  53. package/src/tool/speedConverter/i18n/nl.ts +271 -0
  54. package/src/tool/speedConverter/i18n/pl.ts +271 -0
  55. package/src/tool/speedConverter/i18n/pt.ts +271 -0
  56. package/src/tool/speedConverter/i18n/ru.ts +194 -0
  57. package/src/tool/speedConverter/i18n/sv.ts +271 -0
  58. package/src/tool/speedConverter/i18n/tr.ts +225 -0
  59. package/src/tool/speedConverter/i18n/zh.ts +271 -0
  60. package/src/tool/speedConverter/index.ts +12 -0
  61. package/src/tool/tideCalculator/i18n/de.ts +203 -0
  62. package/src/tool/tideCalculator/i18n/id.ts +203 -0
  63. package/src/tool/tideCalculator/i18n/it.ts +203 -0
  64. package/src/tool/tideCalculator/i18n/ja.ts +203 -0
  65. package/src/tool/tideCalculator/i18n/ko.ts +203 -0
  66. package/src/tool/tideCalculator/i18n/nl.ts +203 -0
  67. package/src/tool/tideCalculator/i18n/pl.ts +203 -0
  68. package/src/tool/tideCalculator/i18n/pt.ts +203 -0
  69. package/src/tool/tideCalculator/i18n/ru.ts +203 -0
  70. package/src/tool/tideCalculator/i18n/sv.ts +203 -0
  71. package/src/tool/tideCalculator/i18n/tr.ts +203 -0
  72. package/src/tool/tideCalculator/i18n/zh.ts +203 -0
  73. package/src/tool/tideCalculator/index.ts +12 -0
  74. package/src/tool/underKeel/i18n/de.ts +189 -0
  75. package/src/tool/underKeel/i18n/en.ts +2 -2
  76. package/src/tool/underKeel/i18n/fr.ts +2 -2
  77. package/src/tool/underKeel/i18n/id.ts +189 -0
  78. package/src/tool/underKeel/i18n/it.ts +176 -0
  79. package/src/tool/underKeel/i18n/ja.ts +185 -0
  80. package/src/tool/underKeel/i18n/ko.ts +185 -0
  81. package/src/tool/underKeel/i18n/nl.ts +176 -0
  82. package/src/tool/underKeel/i18n/pl.ts +176 -0
  83. package/src/tool/underKeel/i18n/pt.ts +176 -0
  84. package/src/tool/underKeel/i18n/ru.ts +176 -0
  85. package/src/tool/underKeel/i18n/sv.ts +176 -0
  86. package/src/tool/underKeel/i18n/tr.ts +185 -0
  87. package/src/tool/underKeel/i18n/zh.ts +185 -0
  88. package/src/tool/underKeel/index.ts +12 -0
@@ -0,0 +1,203 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { TideCalculatorUI, TideCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'kalkulator-plywow-pl';
5
+ const title = 'Kalkulator Wysokości Pływów';
6
+ const description =
7
+ 'Oszacuj głębokość wody w dowolnym punkcie cyklu pływów za pomocą nawigacyjnej zasady dwunastu części. Idealny do planowania przybrzeżnego i nauki do licencji morskiej.';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: 'Parametry',
11
+ highTideLabel: 'Wysoka Woda',
12
+ lowTideLabel: 'Niska Woda',
13
+ targetTimeLabel: 'Czas zapytania',
14
+ estimatedHeightLabel: 'Szacowana Wysokość',
15
+ metersLabel: 'metry',
16
+ amplitudeLabel: 'Skok Pływu',
17
+ durationLabel: 'Czas Trwania',
18
+ tableBreakdownLabel: 'Rozkład Dwunastych Części',
19
+ tableHourLabel: 'Czas',
20
+ tableStateLabel: 'Stan',
21
+ tableStartLabel: 'Start',
22
+ tableEndLabel: 'Koniec',
23
+ statusUpLabel: 'Wznoszenie',
24
+ statusDownLabel: 'Opadanie',
25
+ statusOutOfRange: 'Poza zakresem',
26
+ faqTitle: 'Często Zadawane Pytania',
27
+ bibliographyTitle: 'Bibliografia',
28
+ };
29
+
30
+ const faq: TideCalculatorLocaleContent['faq'] = [
31
+ {
32
+ question: 'Co to jest zasada dwunastych części i do czego służy?',
33
+ answer:
34
+ 'Zasada dwunastych części to uproszczona metoda matematyczna stosowana w nawigacji do szacowania wysokości pływu w dowolnym momencie między wysoką a niską wodą. Opiera się na obserwacji, że przepływ pływów następuje po przybliżonej krzywej sinusoidalnej, dzieląc całkowity skok na 12 części w ciągu 6 godzin (1/12, 2/12, 3/12, 3/12, 2/12, 1/12).',
35
+ },
36
+ {
37
+ question: 'Czy ta metoda jest wiarygodna w rzeczywistej nawigacji?',
38
+ answer:
39
+ 'Jest to bardzo przydatna teoretyczna metoda szacowania do szybkiego planowania i celów edukacyjnych. Nie uwzględnia ona jednak czynników meteorologicznych, takich jak ciśnienie atmosferyczne czy wiatr, które mogą zmienić poziom morza o kilka decymetrów. W przypadku rzeczywistej nawigacji należy zawsze korzystać z oficjalnych tablic pływów.',
40
+ },
41
+ {
42
+ question: 'Jakich danych potrzebuję do obliczenia wysokości pływu?',
43
+ answer:
44
+ 'Potrzebujesz czasu i wysokości (w metrach) wysokiej i niskiej wody najbliższej momentowi, o który chcesz zapytać. Dane te można znaleźć w almanachach pływowych lub aplikacjach pogodowych dla żeglarzy.',
45
+ },
46
+ {
47
+ question: 'Dlaczego pływ nie zawsze wznosi się z tą samą prędkością?',
48
+ answer:
49
+ 'Wynika to z bezwładności dużych mas wody i konfiguracji basenów oceanicznych. Pływ zaczyna wznosić się powoli po niskiej wodzie, osiąga maksymalną prędkość w środkowych godzinach (3/12 i 4/12 wody) i ponownie zwalnia, gdy zbliża się do wysokiej wody.',
50
+ },
51
+ {
52
+ question: 'Jak ciśnienie atmosferyczne wpływa na pływy?',
53
+ answer:
54
+ 'Wysokie ciśnienie (antycyklon) spycha wodę w dół, zmniejszając rzeczywistą wysokość. Niskie ciśnienie (niż) pozwala wodzie podnieść się wyżej. Zasadniczo zmiana o 1 hPa od średniej odpowiada zmianie poziomu morza o około 1 cm.',
55
+ },
56
+ {
57
+ question: 'Co to jest skok pływu?',
58
+ answer:
59
+ 'Jest to pionowa różnica wysokości między wysoką wodą a bezpośrednio poprzedzającą ją lub następującą po niej niską wodą. Pomiar ten zmienia się w zależności od fazy księżyca (pływy syzygijne i kwadraturowe) oraz lokalizacji geograficznej.',
60
+ },
61
+ ];
62
+
63
+ const howTo: TideCalculatorLocaleContent['howTo'] = [
64
+ {
65
+ name: 'Zidentyfikuj wysoką i niską wodę',
66
+ text: 'Sprawdź w swoim almanachu pływów czasy i wysokości cyklu pływowego, który Cię interesuje.',
67
+ },
68
+ {
69
+ name: 'Wprowadź dane do kalkulatora',
70
+ text: 'Wprowadź czas i wysokość wysokiej i niskiej wody. Narzędzie automatycznie określi czas trwania i skok pływu.',
71
+ },
72
+ {
73
+ name: 'Ustaw czas zapytania',
74
+ text: 'Dostosuj czas, dla którego chcesz poznać poziom wody. Zobaczysz dokładny punkt zaznaczony na wykresie.',
75
+ },
76
+ {
77
+ name: 'Przeanalizuj tabelę dwunastych części',
78
+ text: 'Przejrzyj rozkład godzina po godzinie, aby zrozumieć, jak poziom wody będzie się zmieniać w całym okresie.',
79
+ },
80
+ ];
81
+
82
+ const bibliography: TideCalculatorLocaleContent['bibliography'] = [
83
+ {
84
+ name: 'Puertos del Estado - Tide Prediction',
85
+ url: 'https://portus.puertos.es/#/',
86
+ },
87
+ {
88
+ name: 'Instituto Hidrografico de la Marina',
89
+ url: 'https://armada.defensa.gob.es/ihm/',
90
+ },
91
+ ];
92
+
93
+ const seo: TideCalculatorLocaleContent['seo'] = [
94
+ {
95
+ type: 'title',
96
+ text: 'Mistrzostwo w Pływach: Zasada Dwunastych Części w Nawigacji',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Nawigacja przybrzeżna i wchodzenie do portów o ograniczonej głębokości wymagają dokładnej wiedzy o głębokości wody w każdym momencie. Chociaż obecnie dostępne są aplikacje cyfrowe i GPS dostarczające dane w czasie rzeczywistym, <strong>Zasada Dwunastych Części</strong> pozostaje podstawowym narzędziem w szkoleniu każdego sternika jachtowego lub kapitana jachtowego. Zasada ta jest matematyczną metodą szacowania, która pozwala obliczyć w przybliżeniu i bez skomplikowanych kalkulatorów wysokość pływu w dowolnym momencie cyklu pływowego.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Czym dokładnie jest Zasada Dwunastych Części?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Zasada dwunastych części opiera się na obserwacji, że przepływ pływów nie jest stały. Woda nie wznosi się ani nie opada z tą samą prędkością w ciągu około sześciu godzin między wysoką a niską wodą. Zamiast tego ruch następuje po krzywej sinusoidalnej. W ciągu pierwszej godziny pływ przemieszcza się powoli; przyspiesza w środkowych godzinach i ponownie zwalnia w miarę zbliżania się do kolejnego ekstremum.',
111
+ },
112
+ {
113
+ type: 'table',
114
+ headers: ['Godzina Cyklu', 'Proporcja', 'Stan Przepływu'],
115
+ rows: [
116
+ ['<strong>1. Godzina</strong>', '1/12 skoku pływu', 'Powolny start (Woda stojąca)'],
117
+ ['<strong>2. Godzina</strong>', '2/12 skoku pływu', 'Przepływ przyspieszający'],
118
+ ['<strong>3. Godzina</strong>', '3/12 skoku pływu', 'Maksymalny przepływ (Silny prąd)'],
119
+ ['<strong>4. Godzina</strong>', '3/12 skoku pływu', 'Przepływ podtrzymany'],
120
+ ['<strong>5. Godzina</strong>', '2/12 skoku pływu', 'Zauważalne spowolnienie'],
121
+ ['<strong>6. Godzina</strong>', '1/12 skoku pływu', 'Końcowe spowolnienie (W kierunku martwej wody)'],
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Ograniczenia techniczne: Czynniki wpływające na rzeczywisty pływ',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'glossary',
131
+ items: [
132
+ { term: 'Ciśnienie atmosferyczne', definition: 'Niż podnosi poziom morza; wyż go obniża. Przyjmuje się zasadę ~1 cm zmiany na każdy 1 hPa różnicy względem średniej.' },
133
+ { term: 'Wiatr przybrzeżny', definition: 'Utrzymujące się wiatry dopychające mogą spiętrzać wodę powyżej poziomów przewidzianych w tablicach pływów.' },
134
+ { term: 'Lokalna topografia', definition: 'Kształt wybrzeża, głębokość dna i obecność estuariów mogą znacząco opóźnić lub przyspieszyć przepływ pływów.' },
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: 'Uwaga dotycząca bezpieczeństwa',
140
+ html: 'To narzędzie wykorzystuje matematyczną metodę szacowania. Nie uwzględnia czynników meteorologicznych ani lokalnej topografii. W przypadku rzeczywistej nawigacji należy zawsze korzystać z oficjalnych tablic pływów.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Kluczowe pojęcia dla nowych żeglarzy',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'glossary',
149
+ items: [
150
+ {
151
+ term: 'Skok pływu',
152
+ definition: 'Pionowa różnica między wysoką a niską wodą. W Zatoce Biskajskiej może wynosić kilka metrów; w regionie Morza Śródziemnego jest niemal pomijalny.',
153
+ },
154
+ {
155
+ term: 'Czas trwania pływu',
156
+ definition: 'Interwał czasowy między wysoką wodą a następną niską wodą. Zazwyczaj około 6 godzin i 12 minut (cykl półdobowy).',
157
+ },
158
+ {
159
+ term: 'Zero mapy (Chart datum)',
160
+ definition: 'Poziom odniesienia, od którego mierzone są wszystkie głębokości na mapach morskich. Rzeczywiste głębokości niemal nigdy nie są mniejsze niż te wskazane.',
161
+ },
162
+ ],
163
+ },
164
+ ];
165
+
166
+ const schemas: TideCalculatorLocaleContent['schemas'] = [
167
+ {
168
+ '@context': 'https://schema.org',
169
+ '@type': 'SoftwareApplication',
170
+ name: title,
171
+ description,
172
+ applicationCategory: 'UtilityApplication',
173
+ operatingSystem: 'Web',
174
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
175
+ } as WithContext<SoftwareApplication>,
176
+ {
177
+ '@context': 'https://schema.org',
178
+ '@type': 'FAQPage',
179
+ mainEntity: faq.map((item) => ({
180
+ '@type': 'Question',
181
+ name: item.question,
182
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
183
+ })),
184
+ } as WithContext<FAQPage>,
185
+ {
186
+ '@context': 'https://schema.org',
187
+ '@type': 'HowTo',
188
+ name: `Jak używać: ${title}`,
189
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
190
+ } as WithContext<HowTo>,
191
+ ];
192
+
193
+ export const content: TideCalculatorLocaleContent = {
194
+ slug,
195
+ title,
196
+ description,
197
+ ui,
198
+ seo,
199
+ faq,
200
+ bibliography,
201
+ howTo,
202
+ schemas,
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { TideCalculatorUI, TideCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'calculadora-mare-pt';
5
+ const title = 'Calculadora de Altura de Marés';
6
+ const description =
7
+ 'Estime a profundidade da água em qualquer ponto do ciclo de maré usando a Regra dos Dozeavos náutica. Ideal para planeamento costeiro e estudo para cartas de marinheiro.';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: 'Parâmetros',
11
+ highTideLabel: 'Preia-mar',
12
+ lowTideLabel: 'Baixa-mar',
13
+ targetTimeLabel: 'Hora da consulta',
14
+ estimatedHeightLabel: 'Altura Estimada',
15
+ metersLabel: 'metros',
16
+ amplitudeLabel: 'Amplitude',
17
+ durationLabel: 'Duração',
18
+ tableBreakdownLabel: 'Detalhamento em Dozeavos',
19
+ tableHourLabel: 'Hora',
20
+ tableStateLabel: 'Estado',
21
+ tableStartLabel: 'Início',
22
+ tableEndLabel: 'Fim',
23
+ statusUpLabel: 'A encher',
24
+ statusDownLabel: 'A vazar',
25
+ statusOutOfRange: 'Fora do intervalo',
26
+ faqTitle: 'Perguntas Frequentes',
27
+ bibliographyTitle: 'Bibliografia',
28
+ };
29
+
30
+ const faq: TideCalculatorLocaleContent['faq'] = [
31
+ {
32
+ question: 'O que é a Regra dos Dozeavos e para que serve?',
33
+ answer:
34
+ 'A Regra dos Dozeavos é um método matemático simplificado usado na navegação para estimar a altura da maré em qualquer momento entre a preia-mar e a baixa-mar. Baseia-se na observação de que o fluxo da maré segue uma curva aproximadamente sinusoidal, dividindo a amplitude total em 12 partes ao longo de 6 horas (1/12, 2/12, 3/12, 3/12, 2/12, 1/12).',
35
+ },
36
+ {
37
+ question: 'Este método é fiável para a navegação real?',
38
+ answer:
39
+ 'É um método de estimativa teórica muito útil para planeamento rápido e fins educativos. No entanto, não contabiliza fatores meteorológicos como a pressão atmosférica ou o vento, que podem alterar o nível do mar em vários decímetros. Para a navegação real, consulte sempre as tabelas de marés oficiais.',
40
+ },
41
+ {
42
+ question: 'De que dados preciso para calcular a altura da maré?',
43
+ answer:
44
+ 'Precisa da hora e da altura (em metros) da preia-mar e da baixa-mar mais próximas do momento que deseja consultar. Estes dados encontram-se nos almanaques de marés ou em aplicações de meteorologia marinha.',
45
+ },
46
+ {
47
+ question: 'Porque é que a maré nem sempre sobe à mesma velocidade?',
48
+ answer:
49
+ 'Devido à inércia das grandes massas de água e à configuração das bacias oceânicas. A maré começa a subir lentamente após a baixa-mar, atinge a velocidade máxima nas horas centrais (as horas 3/12 e 4/12) e abranda novamente ao aproximar-se da preia-mar.',
50
+ },
51
+ {
52
+ question: 'Como é que a pressão atmosférica afeta a maré?',
53
+ answer:
54
+ 'A alta pressão (anticiclone) empurra a água para baixo, reduzindo a altura real. A baixa pressão (depressão) permite que a água suba mais. Como regra geral, uma variação de 1 hPa em relação à média corresponde a aproximadamente 1 cm de alteração no nível do mar.',
55
+ },
56
+ {
57
+ question: 'O que é a amplitude de maré?',
58
+ answer:
59
+ 'É a diferença vertical de altura entre uma preia-mar e a baixa-mar imediatamente anterior ou seguinte. Esta medição varia de acordo com a fase lunar (marés de águas vivas e águas mortas) e a localização geográfica.',
60
+ },
61
+ ];
62
+
63
+ const howTo: TideCalculatorLocaleContent['howTo'] = [
64
+ {
65
+ name: 'Identificar preia-mar e baixa-mar',
66
+ text: 'Consulte o seu almanaque de marés para obter as horas e alturas para o ciclo de maré em que está interessado.',
67
+ },
68
+ {
69
+ name: 'Introduzir os dados na calculadora',
70
+ text: 'Insira a hora e altura da preia-mar e baixa-mar. A ferramenta determinará a duração e a amplitude automaticamente.',
71
+ },
72
+ {
73
+ name: 'Definir a hora da consulta',
74
+ text: 'Ajuste a hora para a qual deseja conhecer o nível da água. Verá o ponto exato realçado no gráfico.',
75
+ },
76
+ {
77
+ name: 'Analisar a tabela de dozeavos',
78
+ text: 'Reveja o detalhamento hora a hora para compreender como o nível da água irá flutuar ao longo de todo o período.',
79
+ },
80
+ ];
81
+
82
+ const bibliography: TideCalculatorLocaleContent['bibliography'] = [
83
+ {
84
+ name: 'Puertos del Estado - Tide Prediction',
85
+ url: 'https://portus.puertos.es/#/',
86
+ },
87
+ {
88
+ name: 'Instituto Hidrografico de la Marina',
89
+ url: 'https://armada.defensa.gob.es/ihm/',
90
+ },
91
+ ];
92
+
93
+ const seo: TideCalculatorLocaleContent['seo'] = [
94
+ {
95
+ type: 'title',
96
+ text: 'Dominar a Maré: A Regra dos Dozeavos na Navegação',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'A navegação costeira e a entrada em portos com profundidade restrita exigem um conhecimento preciso da profundidade da água em todos os momentos. Embora hoje existam aplicações digitais e GPS que fornecem dados em tempo real, a <strong>Regra dos Dozeavos</strong> continua a ser uma ferramenta fundamental na formação de qualquer mestre de embarcação de recreio ou capitão de iate. Esta regra é um método de estimativa matemática que permite calcular, aproximadamente e sem calculadoras complexas, a altura da maré em qualquer ponto de um ciclo de maré.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'O que é exatamente a Regra dos Dozeavos?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'A Regra dos Dozeavos baseia-se na observação de que o fluxo da maré não é constante. A água não sobe nem desce à mesma velocidade durante as aproximadamente seis horas entre a preia-mar e a baixa-mar. Em vez disso, o movimento segue uma curva sinusoidal. Durante a primeira hora a maré move-se lentamente; acelera nas horas centrais e abranda novamente ao aproximar-se do próximo extremo.',
111
+ },
112
+ {
113
+ type: 'table',
114
+ headers: ['Hora do Ciclo', 'Proporção', 'Estado do Fluxo'],
115
+ rows: [
116
+ ['<strong>1ª Hora</strong>', '1/12 da amplitude', 'Início lento (Estofa de baixa)'],
117
+ ['<strong>2ª Hora</strong>', '2/12 da amplitude', 'Fluxo em aceleração'],
118
+ ['<strong>3ª Hora</strong>', '3/12 da amplitude', 'Fluxo máximo (Corrente forte)'],
119
+ ['<strong>4ª Hora</strong>', '3/12 da amplitude', 'Fluxo sustentado'],
120
+ ['<strong>5ª Hora</strong>', '2/12 da amplitude', 'Desaceleração notável'],
121
+ ['<strong>6ª Hora</strong>', '1/12 da amplitude', 'Abrandamento final (Em direção à estofa de preia-mar)'],
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Limitações técnicas: Fatores que afetam a maré real',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'glossary',
131
+ items: [
132
+ { term: 'Pressão atmosférica', definition: 'Uma depressão eleva o nível do mar; um anticiclone baixa-o. Como regra geral, ~1 cm de variação por cada hPa de diferença em relação à média.' },
133
+ { term: 'Vento costeiro', definition: 'Ventos sustentados de terra para mar ou mar para terra podem acumular água acima dos níveis previstos nas tabelas de marés.' },
134
+ { term: 'Topografia local', definition: 'A forma da costa, a profundidade do fundo do mar e a presença de estuários podem atrasar ou acelerar significativamente o fluxo da maré.' },
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: 'Nota de Segurança',
140
+ html: 'Esta ferramenta utiliza um método de estimativa matemática. Não contabiliza fatores meteorológicos ou topografia local. Para a navegação real, consulte sempre as tabelas de marés oficiais.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Conceitos-chave para novos marinheiros',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'glossary',
149
+ items: [
150
+ {
151
+ term: 'Amplitude de maré',
152
+ definition: 'Diferença vertical entre a preia-mar e a baixa-mar. Na costa atlântica pode ser de vários metros; no Mediterrâneo é quase desprezível.',
153
+ },
154
+ {
155
+ term: 'Duração da maré',
156
+ definition: 'Intervalo de tempo entre a preia-mar e a baixa-mar seguinte. Tipicamente cerca de 6 horas e 12 minutos (ciclo semidiurno).',
157
+ },
158
+ {
159
+ term: 'Zero Hidrográfico (Chart datum)',
160
+ definition: 'Nível de referência a partir do qual todas as profundidades nas cartas náuticas são medidas. As profundidades reais quase nunca são inferiores às indicadas.',
161
+ },
162
+ ],
163
+ },
164
+ ];
165
+
166
+ const schemas: TideCalculatorLocaleContent['schemas'] = [
167
+ {
168
+ '@context': 'https://schema.org',
169
+ '@type': 'SoftwareApplication',
170
+ name: title,
171
+ description,
172
+ applicationCategory: 'UtilityApplication',
173
+ operatingSystem: 'Web',
174
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
175
+ } as WithContext<SoftwareApplication>,
176
+ {
177
+ '@context': 'https://schema.org',
178
+ '@type': 'FAQPage',
179
+ mainEntity: faq.map((item) => ({
180
+ '@type': 'Question',
181
+ name: item.question,
182
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
183
+ })),
184
+ } as WithContext<FAQPage>,
185
+ {
186
+ '@context': 'https://schema.org',
187
+ '@type': 'HowTo',
188
+ name: `Como usar: ${title}`,
189
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
190
+ } as WithContext<HowTo>,
191
+ ];
192
+
193
+ export const content: TideCalculatorLocaleContent = {
194
+ slug,
195
+ title,
196
+ description,
197
+ ui,
198
+ seo,
199
+ faq,
200
+ bibliography,
201
+ howTo,
202
+ schemas,
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { TideCalculatorUI, TideCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'tide-calculator-ru';
5
+ const title = 'Калькулятор высоты прилива';
6
+ const description =
7
+ 'Оцените глубину воды в любой момент приливного цикла с помощью морского «правила двенадцатых». Идеально подходит для прибрежного планирования и подготовки к сдаче на судоводительские права.';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: 'Параметры',
11
+ highTideLabel: 'Полная вода',
12
+ lowTideLabel: 'Малая вода',
13
+ targetTimeLabel: 'Время запроса',
14
+ estimatedHeightLabel: 'Расчетная высота',
15
+ metersLabel: 'метров',
16
+ amplitudeLabel: 'Амплитуда',
17
+ durationLabel: 'Длительность',
18
+ tableBreakdownLabel: 'Распределение по двенадцатым',
19
+ tableHourLabel: 'Время',
20
+ tableStateLabel: 'Состояние',
21
+ tableStartLabel: 'Начало',
22
+ tableEndLabel: 'Конец',
23
+ statusUpLabel: 'Прилив',
24
+ statusDownLabel: 'Отлив',
25
+ statusOutOfRange: 'Вне диапазона',
26
+ faqTitle: 'Часто задаваемые вопросы',
27
+ bibliographyTitle: 'Библиография',
28
+ };
29
+
30
+ const faq: TideCalculatorLocaleContent['faq'] = [
31
+ {
32
+ question: 'Что такое «правило двенадцатых» и для чего оно нужно?',
33
+ answer:
34
+ 'Правило двенадцатых — это упрощенный математический метод, используемый в навигации для оценки высоты прилива в любой момент времени между полной и малой водой. Он основан на наблюдении, что приливный цикл примерно следует синусоидальной кривой. Весь диапазон прилива делится на 12 частей в течение 6 часов (1/12, 2/12, 3/12, 3/12, 2/12, 1/12).',
35
+ },
36
+ {
37
+ question: 'Насколько этот метод надежен для реальной навигации?',
38
+ answer:
39
+ 'Это очень полезный метод теоретической оценки для быстрого планирования и обучения. Однако он не учитывает метеорологические факторы, такие как атмосферное давление или ветер, которые могут изменить уровень моря на несколько дециметров. Для реальной навигации всегда используйте официальные таблицы приливов.',
40
+ },
41
+ {
42
+ question: 'Какие данные нужны для расчета высоты прилива?',
43
+ answer:
44
+ 'Вам нужны время и высота (в метрах) полной и малой воды, ближайшие к интересующему вас моменту. Эти данные можно найти в приливных ежегодниках или морских погодных приложениях.',
45
+ },
46
+ {
47
+ question: 'Почему прилив не всегда поднимается с одинаковой скоростью?',
48
+ answer:
49
+ 'Это связано с инерцией больших масс воды и конфигурацией океанских бассейнов. Прилив начинает подниматься медленно после малой воды, достигает максимальной скорости в средние часы (3/12 и 4/12 цикла) и снова замедляется при приближении к полной воде.',
50
+ },
51
+ {
52
+ question: 'Как атмосферное давление влияет на прилив?',
53
+ answer:
54
+ 'Высокое давление (антициклон) «придавливает» воду, уменьшая ее фактическую высоту. Низкое давление (циклон) позволяет воде подняться выше. В среднем изменение давления на 1 гПа соответствует изменению уровня моря примерно на 1 см.',
55
+ },
56
+ {
57
+ question: 'Что такое амплитуда (величина) прилива?',
58
+ answer:
59
+ 'Это вертикальная разница в высоте между полной водой и непосредственно предшествующей или последующей малой водой. Эта величина меняется в зависимости от фаз Луны (сизигийные и квадратурные приливы) и географического положения.',
60
+ },
61
+ ];
62
+
63
+ const howTo: TideCalculatorLocaleContent['howTo'] = [
64
+ {
65
+ name: 'Определите время полной и малой воды',
66
+ text: 'Найдите в приливном ежегоднике время и высоту для интересующего вас приливного цикла.',
67
+ },
68
+ {
69
+ name: 'Введите данные в калькулятор',
70
+ text: 'Введите время и высоту полной и малой воды. Инструмент автоматически рассчитает длительность и амплитуду.',
71
+ },
72
+ {
73
+ name: 'Установите время запроса',
74
+ text: 'Настройте время, для которого вы хотите узнать уровень воды. Вы увидите точную точку на графике.',
75
+ },
76
+ {
77
+ name: 'Изучите таблицу двенадцатых',
78
+ text: 'Просмотрите почасовое распределение, чтобы понять, как будет меняться уровень воды в течение всего периода.',
79
+ },
80
+ ];
81
+
82
+ const bibliography: TideCalculatorLocaleContent['bibliography'] = [
83
+ {
84
+ name: 'Puertos del Estado - Tide Prediction',
85
+ url: 'https://portus.puertos.es/#/',
86
+ },
87
+ {
88
+ name: 'Instituto Hidrografico de la Marina',
89
+ url: 'https://armada.defensa.gob.es/ihm/',
90
+ },
91
+ ];
92
+
93
+ const seo: TideCalculatorLocaleContent['seo'] = [
94
+ {
95
+ type: 'title',
96
+ text: 'Освоение приливов: правило двенадцатых в навигации',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Прибрежная навигация и заход в порты с ограниченной глубиной требуют точного знания уровня воды в любой момент. Хотя сегодня доступны цифровые приложения и GPS с данными в реальном времени, <strong>правило двенадцатых</strong> остается фундаментальным инструментом в обучении любого судоводителя. Этот метод математической оценки позволяет примерно рассчитать высоту прилива без сложных вычислений.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Что именно представляет собой правило двенадцатых?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Правило двенадцатых основано на том, что приливный поток не постоянен. Вода не поднимается и не опускается с одинаковой скоростью в течение примерно шести часов между малой и полной водой. Движение следует синусоидальной кривой: в первый час прилив движется медленно, ускоряется в середине цикла и снова замедляется в конце.',
111
+ },
112
+ {
113
+ type: 'table',
114
+ headers: ['Час цикла', 'Пропорция', 'Состояние потока'],
115
+ rows: [
116
+ ['<strong>1-й час</strong>', '1/12 амплитуды', 'Медленное начало (малая вода)'],
117
+ ['<strong>2-й час</strong>', '2/12 амплитуды', 'Ускорение потока'],
118
+ ['<strong>3-й час</strong>', '3/12 амплитуды', 'Максимальный поток (сильное течение)'],
119
+ ['<strong>4-й час</strong>', '3/12 амплитуды', 'Устойчивый поток'],
120
+ ['<strong>5-й час</strong>', '2/12 амплитуды', 'Заметное замедление'],
121
+ ['<strong>6-й час</strong>', '1/12 амплитуды', 'Конечное замедление (к полной воде)'],
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Технические ограничения: факторы, влияющие на реальный прилив',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'glossary',
131
+ items: [
132
+ { term: 'Атмосферное давление', definition: 'Циклон поднимает уровень моря, антициклон — понижает. В среднем ~1 см изменения на 1 гПа разницы с нормой.' },
133
+ { term: 'Ветер', definition: 'Нагонный ветер может поднять уровень воды выше предсказанного в таблицах.' },
134
+ { term: 'Местная топография', definition: 'Форма берега, глубина дна и наличие эстуариев могут значительно задерживать или ускорять приливный поток.' },
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: 'Примечание по безопасности',
140
+ html: 'Этот инструмент использует метод математической оценки. Он не учитывает метеорологические факторы и местную топографию. Для реальной навигации всегда используйте официальные таблицы приливов.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Основные понятия для начинающих моряков',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'glossary',
149
+ items: [
150
+ {
151
+ term: 'Величина (амплитуда) прилива',
152
+ definition: 'Вертикальная разница между полной и малой водой. В океане может достигать многих метров, в Средиземном море — незначительна.',
153
+ },
154
+ {
155
+ term: 'Длительность прилива',
156
+ definition: 'Временной интервал между полной и последующей малой водой. Обычно около 6 часов 12 минут.',
157
+ },
158
+ {
159
+ term: 'Ноль глубины карты',
160
+ definition: 'Уровень отсчета, от которого измеряются все глубины на морских картах. Фактическая глубина почти никогда не бывает меньше указанной.',
161
+ },
162
+ ],
163
+ },
164
+ ];
165
+
166
+ const schemas: TideCalculatorLocaleContent['schemas'] = [
167
+ {
168
+ '@context': 'https://schema.org',
169
+ '@type': 'SoftwareApplication',
170
+ name: title,
171
+ description,
172
+ applicationCategory: 'UtilityApplication',
173
+ operatingSystem: 'Web',
174
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
175
+ } as WithContext<SoftwareApplication>,
176
+ {
177
+ '@context': 'https://schema.org',
178
+ '@type': 'FAQPage',
179
+ mainEntity: faq.map((item) => ({
180
+ '@type': 'Question',
181
+ name: item.question,
182
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
183
+ })),
184
+ } as WithContext<FAQPage>,
185
+ {
186
+ '@context': 'https://schema.org',
187
+ '@type': 'HowTo',
188
+ name: `Как пользоваться: ${title}`,
189
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
190
+ } as WithContext<HowTo>,
191
+ ];
192
+
193
+ export const content: TideCalculatorLocaleContent = {
194
+ slug,
195
+ title,
196
+ description,
197
+ ui,
198
+ seo,
199
+ faq,
200
+ bibliography,
201
+ howTo,
202
+ schemas,
203
+ };