@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.
- package/package.json +72 -71
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/endurance/i18n/de.ts +249 -0
- package/src/tool/endurance/i18n/id.ts +249 -0
- package/src/tool/endurance/i18n/it.ts +249 -0
- package/src/tool/endurance/i18n/ja.ts +249 -0
- package/src/tool/endurance/i18n/ko.ts +249 -0
- package/src/tool/endurance/i18n/nl.ts +249 -0
- package/src/tool/endurance/i18n/pl.ts +249 -0
- package/src/tool/endurance/i18n/pt.ts +249 -0
- package/src/tool/endurance/i18n/ru.ts +249 -0
- package/src/tool/endurance/i18n/sv.ts +249 -0
- package/src/tool/endurance/i18n/tr.ts +249 -0
- package/src/tool/endurance/i18n/zh.ts +249 -0
- package/src/tool/endurance/index.ts +12 -0
- package/src/tool/nauticalConverter/i18n/de.ts +239 -0
- package/src/tool/nauticalConverter/i18n/id.ts +239 -0
- package/src/tool/nauticalConverter/i18n/it.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
- package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
- package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
- package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
- package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
- package/src/tool/nauticalConverter/index.ts +12 -0
- package/src/tool/sailArea/component.astro +1 -1
- package/src/tool/sailArea/i18n/de.ts +275 -0
- package/src/tool/sailArea/i18n/id.ts +275 -0
- package/src/tool/sailArea/i18n/it.ts +275 -0
- package/src/tool/sailArea/i18n/ja.ts +275 -0
- package/src/tool/sailArea/i18n/ko.ts +275 -0
- package/src/tool/sailArea/i18n/nl.ts +275 -0
- package/src/tool/sailArea/i18n/pl.ts +275 -0
- package/src/tool/sailArea/i18n/pt.ts +275 -0
- package/src/tool/sailArea/i18n/ru.ts +275 -0
- package/src/tool/sailArea/i18n/sv.ts +275 -0
- package/src/tool/sailArea/i18n/tr.ts +275 -0
- package/src/tool/sailArea/i18n/zh.ts +275 -0
- package/src/tool/sailArea/index.ts +12 -0
- package/src/tool/speedConverter/i18n/de.ts +271 -0
- package/src/tool/speedConverter/i18n/id.ts +271 -0
- package/src/tool/speedConverter/i18n/it.ts +271 -0
- package/src/tool/speedConverter/i18n/ja.ts +271 -0
- package/src/tool/speedConverter/i18n/ko.ts +271 -0
- package/src/tool/speedConverter/i18n/nl.ts +271 -0
- package/src/tool/speedConverter/i18n/pl.ts +271 -0
- package/src/tool/speedConverter/i18n/pt.ts +271 -0
- package/src/tool/speedConverter/i18n/ru.ts +194 -0
- package/src/tool/speedConverter/i18n/sv.ts +271 -0
- package/src/tool/speedConverter/i18n/tr.ts +225 -0
- package/src/tool/speedConverter/i18n/zh.ts +271 -0
- package/src/tool/speedConverter/index.ts +12 -0
- package/src/tool/tideCalculator/i18n/de.ts +203 -0
- package/src/tool/tideCalculator/i18n/id.ts +203 -0
- package/src/tool/tideCalculator/i18n/it.ts +203 -0
- package/src/tool/tideCalculator/i18n/ja.ts +203 -0
- package/src/tool/tideCalculator/i18n/ko.ts +203 -0
- package/src/tool/tideCalculator/i18n/nl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pt.ts +203 -0
- package/src/tool/tideCalculator/i18n/ru.ts +203 -0
- package/src/tool/tideCalculator/i18n/sv.ts +203 -0
- package/src/tool/tideCalculator/i18n/tr.ts +203 -0
- package/src/tool/tideCalculator/i18n/zh.ts +203 -0
- package/src/tool/tideCalculator/index.ts +12 -0
- package/src/tool/underKeel/i18n/de.ts +189 -0
- package/src/tool/underKeel/i18n/en.ts +2 -2
- package/src/tool/underKeel/i18n/fr.ts +2 -2
- package/src/tool/underKeel/i18n/id.ts +189 -0
- package/src/tool/underKeel/i18n/it.ts +176 -0
- package/src/tool/underKeel/i18n/ja.ts +185 -0
- package/src/tool/underKeel/i18n/ko.ts +185 -0
- package/src/tool/underKeel/i18n/nl.ts +176 -0
- package/src/tool/underKeel/i18n/pl.ts +176 -0
- package/src/tool/underKeel/i18n/pt.ts +176 -0
- package/src/tool/underKeel/i18n/ru.ts +176 -0
- package/src/tool/underKeel/i18n/sv.ts +176 -0
- package/src/tool/underKeel/i18n/tr.ts +185 -0
- package/src/tool/underKeel/i18n/zh.ts +185 -0
- package/src/tool/underKeel/index.ts +12 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { UnderKeelUI, UnderKeelLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'ukc-kalkulator-pl';
|
|
5
|
+
const title = 'Kalkulator Rezerwy pod Stępką UKC';
|
|
6
|
+
const description =
|
|
7
|
+
'Oblicz bezpieczne okno czasowe na pokonanie mielizn, kanałów lub punktów z ograniczonym zanurzeniem. Wprowadź zanurzenie łodzi, głębokość z mapy i dane pływowe.';
|
|
8
|
+
|
|
9
|
+
const ui: UnderKeelUI = {
|
|
10
|
+
parametersLabel: 'Parametry',
|
|
11
|
+
boatDraftLabel: 'Zanurzenie łodzi',
|
|
12
|
+
chartDepthLabel: 'Głębokość z mapy',
|
|
13
|
+
safetyMarginLabel: 'Margines bezpieczeństwa',
|
|
14
|
+
highTideLabel: 'Wysoka woda',
|
|
15
|
+
lowTideLabel: 'Niska woda',
|
|
16
|
+
metersLabel: 'metry',
|
|
17
|
+
passWindowLabel: 'Okno przejścia',
|
|
18
|
+
neededLabel: 'Wymagana głębokość',
|
|
19
|
+
tideRequiredLabel: 'Minimalny wymagany pływ',
|
|
20
|
+
statusNeverLabel: 'Brak rezerwy w tym cyklu',
|
|
21
|
+
statusAlwaysLabel: 'Bezpiecznie przez cały cykl',
|
|
22
|
+
statusFromLabel: 'Przejście od:',
|
|
23
|
+
statusUntilLabel: 'Przejście do:',
|
|
24
|
+
bottomLabel: 'DNO',
|
|
25
|
+
faqTitle: 'Często zadawane pytania',
|
|
26
|
+
bibliographyTitle: 'Bibliografia',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const faq: UnderKeelLocaleContent['faq'] = [
|
|
30
|
+
{
|
|
31
|
+
question: 'Czym dokładnie jest obliczenie rezerwy pod stępką (under-keel clearance)?',
|
|
32
|
+
answer: 'Jest to obliczenie momentu, w którym w krytycznym punkcie (takim jak mielizna lub wąski kanał) jest wystarczająca głębokość, aby umożliwić bezpieczne przejście jednostki zgodnie z jej zanurzeniem.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Jaki margines bezpieczeństwa jest zalecany?',
|
|
36
|
+
answer: 'Dla jednostek rekreacyjnych zazwyczaj zaleca się minimalny margines bezpieczeństwa od 0,5 do 1 metra powyżej zanurzenia łodzi. Margines ten kompensuje błędy w obliczeniach pływów lub zmiany ciśnienia.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
question: 'Jak falowanie wpływa na rezerwę pod stępką?',
|
|
40
|
+
answer: 'Falowanie generuje pionowe oscylacje kadłuba. W najniższym punkcie fali łódź znajduje się bliżej dna niż w spoczynku. Podczas przechodzenia przez obszary z falowaniem margines musi zostać zwiększony.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: 'Co to jest głębokość z mapy (chart sounding)?',
|
|
44
|
+
answer: 'Jest to minimalna głębokość w danym punkcie, gdy pływ jest na poziomie Zero Mapy (Chart Datum). Dodaje się ją do wysokości pływu w danym momencie, aby uzyskać całkowitą dostępną głębokość.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: 'Co oznacza podkreślona wartość głębokości na mapie?',
|
|
48
|
+
answer: 'Oznacza to, że ten punkt jest odsłonięty (osycha), gdy pływ jest na poziomie Zero Mapy. Będziesz potrzebować większej wysokości pływu, aby móc nad nim przepłynąć.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
question: 'Co to jest efekt Squat?',
|
|
52
|
+
answer: 'To zjawisko hydrodynamiczne, polegające na tym, że jednostka nawigująca przez płytkie kanały ma tendencję do głębszego osiadania względem linii wodnej. Im szybciej płyniesz, tym mniej wody masz pod stępką.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const howTo: UnderKeelLocaleContent['howTo'] = [
|
|
57
|
+
{
|
|
58
|
+
name: 'Zdefiniuj zanurzenie i margines',
|
|
59
|
+
text: 'Zmierz zanurzenie łodzi w jej najniższym punkcie i dodaj ostrożny margines bezpieczeństwa (np. 0,5 m).',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Sprawdź głębokość na mapie',
|
|
63
|
+
text: 'Znajdź wartość głębokości dla krytycznego punktu, przez który będziesz nawigować. Zwróć uwagę, czy jest to obszar piaszczysty czy skalisty.',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Wprowadź dane pływowe',
|
|
67
|
+
text: 'Użyj czasów i wysokości wysokiej i niskiej wody z najbliższego oficjalnego almanachu pływów.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Sprawdź swoje okno przejścia',
|
|
71
|
+
text: 'Narzędzie pokaże dokładny przedział czasowy, w którym będziesz mieć wystarczającą głębokość do bezpiecznej nawigacji.',
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
const bibliography: UnderKeelLocaleContent['bibliography'] = [
|
|
76
|
+
{
|
|
77
|
+
name: 'Ministerio de Transportes - Recreational Boating',
|
|
78
|
+
url: 'https://www.mitma.gob.es/marina-mercante/nautica-de-recreo/',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'Portos de Galicia - Tide Tables',
|
|
82
|
+
url: 'https://portosdegalicia.gal/es/taboa-de-mareas',
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const seo: UnderKeelLocaleContent['seo'] = [
|
|
87
|
+
{
|
|
88
|
+
type: 'title',
|
|
89
|
+
text: 'Rezerwa pod stępką: Bezpieczna nawigacja nad mieliznami',
|
|
90
|
+
level: 2,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'paragraph',
|
|
94
|
+
html: 'Planowanie przejścia nie kończy się na wykreśleniu kursu na mapie. Dla nawigatora przybrzeżnego jednym z najbardziej krytycznych obliczeń jest <strong>rezerwa pod stępką (Under-Keel Clearance)</strong>: wiedza o tym, o której godzinie będzie wystarczająca głębokość, aby pokonać krytyczny punkt bez wejścia na mieliznę.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'title',
|
|
98
|
+
text: 'Głębokość z mapy a pływ',
|
|
99
|
+
level: 3,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'Na mapach morskich głębokości odnoszą się do <strong>Zero Mapy (Chart Datum)</strong>. Rzeczywista głębokość, jaką napotka Twoja łódź w dowolnym momencie, jest sumą tej głębokości i wysokości pływu w danej chwili.',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Elementy obliczeń: Zanurzenie i Margines',
|
|
108
|
+
level: 3,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'list',
|
|
112
|
+
items: [
|
|
113
|
+
{ term: 'Maksymalne zanurzenie pod ładunkiem', definition: 'Głębokość osiągana przez najniższy punkt łodzi (stępkę) przy pełnym obciążeniu.' },
|
|
114
|
+
{ term: 'Głębokość z mapy', definition: 'Liczba na mapie morskiej dla punktu, który chcesz pokonać. Jeśli podkreślona, punkt osycha przy Zero Mapy.' },
|
|
115
|
+
{ term: 'Margines bezpieczeństwa', definition: 'Dodatkowa rezerwa (co najmniej 0,5 do 1 metra) powyżej zanurzenia.' },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
text: 'Czynniki wpływające na przejście',
|
|
121
|
+
level: 3,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'table',
|
|
125
|
+
headers: ['Czynnik', 'Efekt', 'Rekomendacja'],
|
|
126
|
+
rows: [
|
|
127
|
+
['<strong>Falowanie</strong>', 'Zmniejsza wodę pod kadłubem', 'Znacznie zwiększ margines bezpieczeństwa'],
|
|
128
|
+
['<strong>Efekt Squat</strong>', 'Zwiększa zanurzenie przez ssanie', 'Zredukuj prędkość w krytycznych obszarach'],
|
|
129
|
+
['<strong>Piaszczyste dno</strong>', 'Zmienna głębokość przez sztormy', 'Utrzymuj echosondę włączoną'],
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Wskazówka nawigacyjna',
|
|
135
|
+
html: 'Jeśli okno przejścia jest bardzo wąskie lub pogoda się pogarsza, najrozsądniejszą decyzją jest poczekanie, aż pływ wzrośnie.',
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
const schemas: UnderKeelLocaleContent['schemas'] = [
|
|
140
|
+
{
|
|
141
|
+
'@context': 'https://schema.org',
|
|
142
|
+
'@type': 'SoftwareApplication',
|
|
143
|
+
name: title,
|
|
144
|
+
description,
|
|
145
|
+
applicationCategory: 'UtilityApplication',
|
|
146
|
+
operatingSystem: 'Web',
|
|
147
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
148
|
+
} as WithContext<SoftwareApplication>,
|
|
149
|
+
{
|
|
150
|
+
'@context': 'https://schema.org',
|
|
151
|
+
'@type': 'FAQPage',
|
|
152
|
+
mainEntity: faq.map((item) => ({
|
|
153
|
+
'@type': 'Question',
|
|
154
|
+
name: item.question,
|
|
155
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
156
|
+
})),
|
|
157
|
+
} as WithContext<FAQPage>,
|
|
158
|
+
{
|
|
159
|
+
'@context': 'https://schema.org',
|
|
160
|
+
'@type': 'HowTo',
|
|
161
|
+
name: `Jak używać: ${title}`,
|
|
162
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
163
|
+
} as WithContext<HowTo>,
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
export const content: UnderKeelLocaleContent = {
|
|
167
|
+
slug,
|
|
168
|
+
title,
|
|
169
|
+
description,
|
|
170
|
+
ui,
|
|
171
|
+
seo,
|
|
172
|
+
faq,
|
|
173
|
+
bibliography,
|
|
174
|
+
howTo,
|
|
175
|
+
schemas,
|
|
176
|
+
};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { UnderKeelUI, UnderKeelLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'ukc-calculadora-pt';
|
|
5
|
+
const title = 'Calculadora de Margem sob a Quilha UKC';
|
|
6
|
+
const description =
|
|
7
|
+
'Calcule a janela de tempo segura para cruzar bancos de areia, canais ou pontos com restrição de calado. Insira o calado do seu barco, a profundidade da carta e os dados de maré.';
|
|
8
|
+
|
|
9
|
+
const ui: UnderKeelUI = {
|
|
10
|
+
parametersLabel: 'Parâmetros',
|
|
11
|
+
boatDraftLabel: 'Calado do Barco',
|
|
12
|
+
chartDepthLabel: 'Profundidade da Carta',
|
|
13
|
+
safetyMarginLabel: 'Margem de Segurança',
|
|
14
|
+
highTideLabel: 'Preia-mar',
|
|
15
|
+
lowTideLabel: 'Baixa-mar',
|
|
16
|
+
metersLabel: 'metros',
|
|
17
|
+
passWindowLabel: 'Janela de Travessia',
|
|
18
|
+
neededLabel: 'Profundidade necessária',
|
|
19
|
+
tideRequiredLabel: 'Maré mínima necessária',
|
|
20
|
+
statusNeverLabel: 'Sem margem neste ciclo',
|
|
21
|
+
statusAlwaysLabel: 'Seguro durante todo o ciclo',
|
|
22
|
+
statusFromLabel: 'Travessia de:',
|
|
23
|
+
statusUntilLabel: 'Travessia até:',
|
|
24
|
+
bottomLabel: 'FUNDO',
|
|
25
|
+
faqTitle: 'Perguntas Frequentes',
|
|
26
|
+
bibliographyTitle: 'Bibliografia',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const faq: UnderKeelLocaleContent['faq'] = [
|
|
30
|
+
{
|
|
31
|
+
question: 'O que é exatamente o cálculo da margem sob a quilha (under-keel clearance)?',
|
|
32
|
+
answer: 'É o cálculo do momento em que existe profundidade suficiente num ponto crítico (como um banco de areia ou canal estreito) para permitir o trânsito seguro de uma embarcação de acordo com o seu calado.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Qual a margem de segurança recomendada?',
|
|
36
|
+
answer: 'Para barcos de recreio, recomenda-se geralmente uma margem de segurança mínima entre 0,5 e 1 metro acima do calado do barco. Esta margem compensa erros nos cálculos de maré ou variações de pressão.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
question: 'Como é que a ondulação afeta a margem sob a quilha?',
|
|
40
|
+
answer: 'A ondulação gera oscilações verticais no casco. No ponto mais baixo da onda, o barco está mais próximo do fundo do que em repouso. Ao cruzar áreas com ondulação, a margem deve ser aumentada.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: 'O que é a profundidade da carta (chart sounding)?',
|
|
44
|
+
answer: 'É a profundidade mínima num ponto quando a maré está no Zero Hidrográfico (Chart Datum). Soma-se à altura da maré no momento para obter a profundidade total disponível.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: 'O que significa uma profundidade sublinhada na carta?',
|
|
48
|
+
answer: 'Significa que esse ponto seca quando a maré está no Zero Hidrográfico. Precisará de uma altura de maré maior para poder passar por cima.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
question: 'O que é o efeito Squat?',
|
|
52
|
+
answer: 'É um fenómeno hidrodinâmico pelo qual uma embarcação que navega em canais pouco profundos tende a baixar em relação à sua linha de flutuação. Quanto mais rápido navegar, menos água terá sob a quilha.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const howTo: UnderKeelLocaleContent['howTo'] = [
|
|
57
|
+
{
|
|
58
|
+
name: 'Defina calado e margem',
|
|
59
|
+
text: 'Meça o calado do seu barco no ponto máximo e adicione uma margem de segurança prudente (ex: 0,5 m).',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Verifique a profundidade na carta',
|
|
63
|
+
text: 'Encontre o valor de profundidade para o ponto crítico onde irá navegar. Note se é uma área arenosa ou rochosa.',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Insira os dados de maré',
|
|
67
|
+
text: 'Use os horários e alturas de preia-mar e baixa-mar do almanaque de marés oficial mais próximo.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Verifique a sua janela de travessia',
|
|
71
|
+
text: 'A ferramenta mostrará o intervalo de tempo exato em que terá profundidade suficiente para navegar com segurança.',
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
const bibliography: UnderKeelLocaleContent['bibliography'] = [
|
|
76
|
+
{
|
|
77
|
+
name: 'Ministerio de Transportes - Recreational Boating',
|
|
78
|
+
url: 'https://www.mitma.gob.es/marina-mercante/nautica-de-recreo/',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'Portos de Galicia - Tide Tables',
|
|
82
|
+
url: 'https://portosdegalicia.gal/es/taboa-de-mareas',
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const seo: UnderKeelLocaleContent['seo'] = [
|
|
87
|
+
{
|
|
88
|
+
type: 'title',
|
|
89
|
+
text: 'Margem sob a Quilha: Navegar em Segurança sobre Baixios',
|
|
90
|
+
level: 2,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'paragraph',
|
|
94
|
+
html: 'O planeamento de uma travessia não termina com o traçar de um rumo na carta. Para o navegador costeiro, um dos cálculos mais críticos é a <strong>margem sob a quilha (Under-Keel Clearance)</strong>: saber a que horas haverá profundidade suficiente para cruzar um ponto crítico sem encalhar.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'title',
|
|
98
|
+
text: 'Profundidade da carta e maré',
|
|
99
|
+
level: 3,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'Nas cartas náuticas, as profundidades referem-se ao <strong>Zero Hidrográfico (Chart Datum)</strong>. A profundidade real que o seu barco encontrará é a soma dessa profundidade com a altura da maré no momento.',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Elementos do cálculo: Calado e Margem',
|
|
108
|
+
level: 3,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'list',
|
|
112
|
+
items: [
|
|
113
|
+
{ term: 'Calado máximo carregado', definition: 'A profundidade atingida pelo ponto mais baixo do barco (a quilha) em plena carga.' },
|
|
114
|
+
{ term: 'Profundidade da carta', definition: 'O número na carta náutica para o ponto que deseja cruzar. Se sublinhado, o ponto seca no Zero Hidrográfico.' },
|
|
115
|
+
{ term: 'Margem de segurança', definition: 'Espaço livre adicional (pelo menos 0,5 a 1 metro) acima do calado.' },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
text: 'Fatores que afetam a travessia',
|
|
121
|
+
level: 3,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'table',
|
|
125
|
+
headers: ['Factor', 'Efeito', 'Recomendação'],
|
|
126
|
+
rows: [
|
|
127
|
+
['<strong>Ondulação</strong>', 'Reduz a água sob o casco', 'Aumentar significativamente a margem de segurança'],
|
|
128
|
+
['<strong>Efeito Squat</strong>', 'Aumenta o calado por sucção', 'Reduzir a velocidade em áreas críticas'],
|
|
129
|
+
['<strong>Fundo arenoso</strong>', 'Profundidade variável com tempestades', 'Manter o ecobatímetro ligado'],
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Dica de Navegação',
|
|
135
|
+
html: 'Se a sua janela de travessia for muito estreita ou o tempo piorar, a decisão mais sensata é esperar até que a maré suba.',
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
const schemas: UnderKeelLocaleContent['schemas'] = [
|
|
140
|
+
{
|
|
141
|
+
'@context': 'https://schema.org',
|
|
142
|
+
'@type': 'SoftwareApplication',
|
|
143
|
+
name: title,
|
|
144
|
+
description,
|
|
145
|
+
applicationCategory: 'UtilityApplication',
|
|
146
|
+
operatingSystem: 'Web',
|
|
147
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
148
|
+
} as WithContext<SoftwareApplication>,
|
|
149
|
+
{
|
|
150
|
+
'@context': 'https://schema.org',
|
|
151
|
+
'@type': 'FAQPage',
|
|
152
|
+
mainEntity: faq.map((item) => ({
|
|
153
|
+
'@type': 'Question',
|
|
154
|
+
name: item.question,
|
|
155
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
156
|
+
})),
|
|
157
|
+
} as WithContext<FAQPage>,
|
|
158
|
+
{
|
|
159
|
+
'@context': 'https://schema.org',
|
|
160
|
+
'@type': 'HowTo',
|
|
161
|
+
name: `Como usar: ${title}`,
|
|
162
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
163
|
+
} as WithContext<HowTo>,
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
export const content: UnderKeelLocaleContent = {
|
|
167
|
+
slug,
|
|
168
|
+
title,
|
|
169
|
+
description,
|
|
170
|
+
ui,
|
|
171
|
+
seo,
|
|
172
|
+
faq,
|
|
173
|
+
bibliography,
|
|
174
|
+
howTo,
|
|
175
|
+
schemas,
|
|
176
|
+
};
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { UnderKeelUI, UnderKeelLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'ukc-kalkulator-ru';
|
|
5
|
+
const title = 'Калькулятор запаса глубины под килем UKC';
|
|
6
|
+
const description =
|
|
7
|
+
'Рассчитайте безопасное временное окно для прохода через мели, каналы или точки с ограниченной осадкой. Введите осадку судна, глубину по карте и данные о приливах.';
|
|
8
|
+
|
|
9
|
+
const ui: UnderKeelUI = {
|
|
10
|
+
parametersLabel: 'Параметры',
|
|
11
|
+
boatDraftLabel: 'Осадка судна',
|
|
12
|
+
chartDepthLabel: 'Глубина по карте',
|
|
13
|
+
safetyMarginLabel: 'Запас безопасности',
|
|
14
|
+
highTideLabel: 'Полная вода',
|
|
15
|
+
lowTideLabel: 'Малая вода',
|
|
16
|
+
metersLabel: 'метров',
|
|
17
|
+
passWindowLabel: 'Окно прохода',
|
|
18
|
+
neededLabel: 'Необходимая глубина',
|
|
19
|
+
tideRequiredLabel: 'Минимальный уровень прилива',
|
|
20
|
+
statusNeverLabel: 'Недостаточно глубины в этом цикле',
|
|
21
|
+
statusAlwaysLabel: 'Безопасно на протяжении всего цикла',
|
|
22
|
+
statusFromLabel: 'Проход возможен с:',
|
|
23
|
+
statusUntilLabel: 'Проход возможен до:',
|
|
24
|
+
bottomLabel: 'ДНО',
|
|
25
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
26
|
+
bibliographyTitle: 'Библиография',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const faq: UnderKeelLocaleContent['faq'] = [
|
|
30
|
+
{
|
|
31
|
+
question: 'Что такое расчет запаса глубины под килем (under-keel clearance)?',
|
|
32
|
+
answer: 'Это расчет момента, когда в критической точке (например, на мели или в узком канале) будет достаточно глубины для безопасного прохода судна с учетом его осадки.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Какой запас безопасности рекомендуется?',
|
|
36
|
+
answer: 'Для прогулочных судов обычно рекомендуется минимальный запас от 0,5 до 1 метра сверх осадки судна. Этот запас компенсирует возможные ошибки в расчетах приливов или изменения давления.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
question: 'Как волнение влияет на запас глубины под килем?',
|
|
40
|
+
answer: 'Волнение вызывает вертикальные колебания корпуса. В нижней точке волны судно находится ближе к дну, чем в состоянии покоя. При проходе участков с волнением запас должен быть увеличен.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: 'Что такое глубина по карте (chart sounding)?',
|
|
44
|
+
answer: 'Это минимальная глубина в точке при уровне моря, соответствующем «нулю глубин» карты (Chart Datum). Она суммируется с высотой прилива для получения полной доступной глубины.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: 'Что означает подчеркнутое значение глубины на карте?',
|
|
48
|
+
answer: 'Это означает, что данная точка осушается при «нуле глубин». Вам потребуется достаточная высота прилива, чтобы пройти над ней.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
question: 'Что такое эффект просадки (Squat effect)?',
|
|
52
|
+
answer: 'Это гидродинамическое явление, при котором судно, идущее по мелководному каналу, стремится «сесть» глубже относительно ватерлинии. Чем быстрее вы идете, тем меньше воды остается под килем.',
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
const howTo: UnderKeelLocaleContent['howTo'] = [
|
|
57
|
+
{
|
|
58
|
+
name: 'Определите осадку и запас',
|
|
59
|
+
text: 'Измерьте осадку вашего судна в максимальной точке и добавьте разумный запас безопасности (например, 0,5 м).',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Найдите глубину по карте',
|
|
63
|
+
text: 'Найдите значение глубины для критической точки вашего маршрута. Учтите характер дна (песок или камни).',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Введите данные о приливе',
|
|
67
|
+
text: 'Используйте время и высоту полной и малой воды из ближайшего официального ежегодника приливов.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Проверьте окно прохода',
|
|
71
|
+
text: 'Инструмент покажет точный временной интервал, в течение которого глубина будет достаточной для безопасной навигации.',
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
const bibliography: UnderKeelLocaleContent['bibliography'] = [
|
|
76
|
+
{
|
|
77
|
+
name: 'Ministerio de Transportes - Recreational Boating',
|
|
78
|
+
url: 'https://www.mitma.gob.es/marina-mercante/nautica-de-recreo/',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: 'Portos de Galicia - Tide Tables',
|
|
82
|
+
url: 'https://portosdegalicia.gal/es/taboa-de-mareas',
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
const seo: UnderKeelLocaleContent['seo'] = [
|
|
87
|
+
{
|
|
88
|
+
type: 'title',
|
|
89
|
+
text: 'Запас глубины под килем: безопасная навигация на мелководье',
|
|
90
|
+
level: 2,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'paragraph',
|
|
94
|
+
html: 'Планирование перехода не ограничивается прокладкой курса. Для прибрежного навигатора одним из важнейших расчетов является <strong>запас глубины под килем (UKC)</strong>: знание того, в какое время будет достаточно глубины для прохода критической точки без посадки на мель.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'title',
|
|
98
|
+
text: 'Глубина по карте и прилив',
|
|
99
|
+
level: 3,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'paragraph',
|
|
103
|
+
html: 'На морских картах глубины привязаны к <strong>«нулю глубин» (Chart Datum)</strong>. Реальная глубина, которую встретит ваше судно, — это сумма этой глубины и высоты прилива в данный момент.',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
type: 'title',
|
|
107
|
+
text: 'Элементы расчета: Осадка и Запас',
|
|
108
|
+
level: 3,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'list',
|
|
112
|
+
items: [
|
|
113
|
+
{ term: 'Максимальная осадка в грузу', definition: 'Глубина, которой достигает самая нижняя точка судна (киль) при полной загрузке.' },
|
|
114
|
+
{ term: 'Глубина по карте', definition: 'Число на карте для точки, в которой вы хотите пройти.' },
|
|
115
|
+
{ term: 'Запас безопасности', definition: 'Дополнительное свободное пространство (не менее 0,5 – 1 метра) поверх осадки.' },
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'title',
|
|
120
|
+
text: 'Факторы, влияющие на проход',
|
|
121
|
+
level: 3,
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'table',
|
|
125
|
+
headers: ['Фактор', 'Эффект', 'Рекомендация'],
|
|
126
|
+
rows: [
|
|
127
|
+
['<strong>Волнение</strong>', 'Уменьшает слой воды под корпусом', 'Значительно увеличьте запас безопасности'],
|
|
128
|
+
['<strong>Эффект просадки</strong>', 'Увеличивает осадку за счет присасывания', 'Снизьте скорость на критических участках'],
|
|
129
|
+
['<strong>Песчаное дно</strong>', 'Глубина меняется после штормов', 'Держите эхолот включенным'],
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Совет по навигации',
|
|
135
|
+
html: 'Если окно прохода слишком узкое или погода ухудшается, самым мудрым решением будет подождать, пока прилив не поднимется выше.',
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
|
|
139
|
+
const schemas: UnderKeelLocaleContent['schemas'] = [
|
|
140
|
+
{
|
|
141
|
+
'@context': 'https://schema.org',
|
|
142
|
+
'@type': 'SoftwareApplication',
|
|
143
|
+
name: title,
|
|
144
|
+
description,
|
|
145
|
+
applicationCategory: 'UtilityApplication',
|
|
146
|
+
operatingSystem: 'Web',
|
|
147
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
148
|
+
} as WithContext<SoftwareApplication>,
|
|
149
|
+
{
|
|
150
|
+
'@context': 'https://schema.org',
|
|
151
|
+
'@type': 'FAQPage',
|
|
152
|
+
mainEntity: faq.map((item) => ({
|
|
153
|
+
'@type': 'Question',
|
|
154
|
+
name: item.question,
|
|
155
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
156
|
+
})),
|
|
157
|
+
} as WithContext<FAQPage>,
|
|
158
|
+
{
|
|
159
|
+
'@context': 'https://schema.org',
|
|
160
|
+
'@type': 'HowTo',
|
|
161
|
+
name: `Как пользоваться: ${title}`,
|
|
162
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
163
|
+
} as WithContext<HowTo>,
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
export const content: UnderKeelLocaleContent = {
|
|
167
|
+
slug,
|
|
168
|
+
title,
|
|
169
|
+
description,
|
|
170
|
+
ui,
|
|
171
|
+
seo,
|
|
172
|
+
faq,
|
|
173
|
+
bibliography,
|
|
174
|
+
howTo,
|
|
175
|
+
schemas,
|
|
176
|
+
};
|