@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,249 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { EnduranceUI, EnduranceLocaleContent } from '../index';
3
+
4
+ const slug = 'actieradius-calculator-nl';
5
+ const title = 'Nautische Actieradius Calculator';
6
+ const description =
7
+ 'Bereken uw maximale bereik und veilige afstand op basis van brandstofverbruik, tankinhoud en kruissnelheid. Brandstofbeheer voor motorboten.';
8
+
9
+ const ui: EnduranceUI = {
10
+ tankCapacityLabel: 'Tankinhoud',
11
+ mainTankLabel: 'Hoofdtank',
12
+ auxTankLabel: 'Hulptank',
13
+ currentFuelLabel: 'Huidige Brandstof',
14
+ seaConditionsLabel: 'Zee- / Windcondities',
15
+ consumptionLabel: 'Theoretisch Verbruik',
16
+ cruiseSpeedLabel: 'Kruissnelheid',
17
+ reserveLabel: 'Reserve',
18
+ fuelPriceLabel: 'Prijs per Liter',
19
+ maxRangeLabel: 'Maximale Actieradius',
20
+ realPerformanceLabel: 'Werkelijke Prestatie',
21
+ hoursLabel: 'Uren Autonomie',
22
+ safeMilesLabel: 'Veilige Mijlen',
23
+ tankValueLabel: 'Tankwaarde',
24
+ inverseCalcLabel: 'Omgekeerde Berekening: Hoeveel moet ik bijtanken?',
25
+ desiredDistLabel: 'Gewenste Afstand',
26
+ minFuelLabel: 'Minimaal Benodigde Brandstof',
27
+ warningLabel: 'Herinnering: Een reserve van 20% is het absolute minimum dat wordt aanbevolen voor de nautische veiligheid.',
28
+ seaCalm: 'Kalm (1.0x)',
29
+ seaLight: 'Lichte deining (+15%)',
30
+ seaModerate: 'Matige deining (+30%)',
31
+ seaStorm: 'Storm (+60%)',
32
+ faqTitle: 'Veelgestelde Vragen',
33
+ bibliographyTitle: 'Bibliografie',
34
+ };
35
+
36
+ const faq: EnduranceLocaleContent['faq'] = [
37
+ {
38
+ question: 'Hoe wordt de autonomie van een motorboot berekend?',
39
+ answer: 'De autonomie wordt berekend door de beschikbare brandstof te delen door het verbruik per uur voor de totale vaartijd, en deze tijd vervolgens te vermenigvuldigen met de kruissnelheid. De tool past ook een zeegangfactor toe voor een realistisch beeld van de omstandigheden.',
40
+ },
41
+ {
42
+ question: 'Waarom is een reserve van 20% aanbevolen in de zeevaart?',
43
+ answer: 'De reserve van 20% is een nautische veiligheidsnorm die voldoende brandstof garandeert in geval van onvoorziene gebeurtenissen: tegenstroom, omwegen door slecht weer, rekenfouten in het verbruik of de noodzaak om een ander schip te helpen. Veel verzekeraars en havenautoriteiten stellen dit verplicht.',
44
+ },
45
+ {
46
+ question: 'Wat is de L/NM prestatie en hoe beïnvloedt dit de planning?',
47
+ answer: 'De prestatie in liters per zeemijl (L/NM) is de werkelijke efficiëntie van de motor onder zeecondities. In tegenstelling tot het verbruik per uur, kunt u hiermee precies berekenen hoeveel brandstof er nodig is voor een specifieke afstand, ongeacht de snelheid.',
48
+ },
49
+ {
50
+ question: 'Welk effect heeft de zeegang op het werkelijke verbruik?',
51
+ answer: 'De zeegang verhoogt het verbruik omdat de romp harder moet werken tegen water- en windweerstand. Bij lichte deining stijgt het verbruik met 15%, bij matige deining met 30% en bij storm kan dit oplopen tot 60% of meer. Het negeren van deze factor kan een schip zonder brandstof laten zitten voordat de haven wordt bereikt.',
52
+ },
53
+ ];
54
+
55
+ const howTo: EnduranceLocaleContent['howTo'] = [
56
+ {
57
+ name: 'Voer uw tankinhoud in',
58
+ text: 'Voer het aantal liters van de hoofdtank in en van de hulptank als u die heeft. De tool berekent het huidige vulpercentage.',
59
+ },
60
+ {
61
+ name: 'Voer het huidige brandstofniveau in',
62
+ text: 'Voer het werkelijke aantal liters in dat u nu heeft. U kunt dit aflezen van de niveaumeter of schatten op basis van de laatste tankbeurt.',
63
+ },
64
+ {
65
+ name: 'Pas de vaaromstandigheden aan',
66
+ text: 'Selecteer de verwachte zeegang voor uw oversteek. De zeegangfactor corrigeert het theoretische verbruik naar het verwachte werkelijke verbruik.',
67
+ },
68
+ {
69
+ name: 'Voer verbruik en kruissnelheid in',
70
+ text: 'Gebruik fabrieksgegevens of uw eigen gegevens voor het verbruik per uur en de snelheid waarmee u gewoonlijk vaart.',
71
+ },
72
+ {
73
+ name: 'Bekijk de veilige afstand en omgekeerde berekening',
74
+ text: 'De tool toont hoeveel mijl u veilig kunt afleggen en hoeveel brandstof u nodig heeft voor een specifieke bestemming.',
75
+ },
76
+ ];
77
+
78
+ const bibliography: EnduranceLocaleContent['bibliography'] = [
79
+ {
80
+ name: 'UK Maritime and Coastguard Agency',
81
+ url: 'https://www.gov.uk/government/organisations/maritime-and-coastguard-agency',
82
+ },
83
+ {
84
+ name: 'RYA - Royal Yachting Association',
85
+ url: 'https://www.rya.org.uk/',
86
+ },
87
+ ];
88
+
89
+ const seo: EnduranceLocaleContent['seo'] = [
90
+ {
91
+ type: 'title',
92
+ text: 'Brandstofbeheer en Autonomie in de Motorvaart',
93
+ level: 2,
94
+ },
95
+ {
96
+ type: 'paragraph',
97
+ html: '<strong>Nautische autonomie</strong> is een van de meest kritische berekeningen voordat u uitvaart met een motorboot. Precies weten hoeveel mijl u kunt afleggen met de beschikbare brandstof maakt het verschil tussen een geplande oversteek en een noodtoestand op zee.',
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Deze actieradius calculator integreert de <strong>zeegangfactor</strong>, het percentage veiligheidsreserve en de omgekeerde brandstofberekening voor een volledig en betrouwbaar brandstofbeheer in elke situatie.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'De Gouden Regel: De Regel van Derden',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'De klassieke brandstofbeheerregel in de zeevaart verdeelt de tank in drie gelijke delen om altijd een veiligheidsmarge te garanderen:',
111
+ },
112
+ {
113
+ type: 'list',
114
+ items: [
115
+ '<strong>Een derde voor de heenreis:</strong> De benodigde brandstof om de geplande bestemming te bereiken.',
116
+ '<strong>Een derde voor de terugreis:</strong> De brandstof om terug te keren naar de vertrekhaven of de dichtstbijzijnde haven.',
117
+ '<strong>Een derde als reserve:</strong> De veiligheidsmarge voor onvoorziene gebeurtenissen, stromingen of slechte omstandigheden.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'In de calculator kunt u het reservepercentage naar eigen inzicht instellen, hoewel <strong>onder de 20% gaan nooit wordt aanbevolen</strong>. Bij grotere tanks of lange oversteken verhogen veel ervaren schippers deze marge tot 30% of zelfs 33%.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Factoren die het Verbruik Beïnvloeden (l/u)',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Het theoretische verbruik van de fabrikant wordt berekend onder ideale laboratoriumomstandigheden. In de praktijk veranderen meerdere factoren het <strong>werkelijke brandstofverbruik</strong>. De rompsnelheid is de meest beslissende factor: boven de economische snelheid varen kan het verbruik per afgelegde mijl verdubbelen of verdrievoudigen.',
132
+ },
133
+ {
134
+ type: 'table',
135
+ headers: ['Vaartoestand', 'Effect op Autonomie', 'Advies'],
136
+ rows: [
137
+ ['<strong>Vuile Romp</strong>', 'Vermindert autonomie tot 20%', 'Reinig de romp voor het seizoen'],
138
+ ['<strong>Tegenstroom</strong>', 'Kan effectieve snelheid met 30% verlagen', 'Reken altijd met de snelheid over de grond (SOG)'],
139
+ ['<strong>Tegenwind</strong>', 'Verhoogt weerstand en verbruik met 10-25%', 'Gebruik de lichte of matige deiningfactor'],
140
+ ['<strong>Overbelading</strong>', 'Verhoogt diepgang en weerstand', 'Weeg uitrusting en proviand voor het berekenen'],
141
+ ],
142
+ },
143
+ {
144
+ type: 'title',
145
+ text: 'Technisch Glossarium Autonomie',
146
+ level: 3,
147
+ },
148
+ {
149
+ type: 'glossary',
150
+ items: [
151
+ { term: 'Prestatie (L/NM)', definition: 'Liters verbruikte brandstof per afgelegde zeemijl. De meest nuttige indicator voor het plannen van tochten omdat het verbruik koppelt aan de werkelijke afstand.' },
152
+ { term: 'Kruissnelheid', definition: 'De optimale snelheid waarbij de motor de beste balans biedt tussen snelheid en verbruik. Meestal tussen 70% en 80% van het maximale vermogen.' },
153
+ { term: 'Kritieke Reserve', definition: 'Het percentage van de tank dat nooit verbruikt mag worden. Een minimum van 20% wordt aanbevolen voor onvoorziene omstandigheden en om te voorkomen dat er lucht in het brandstofcircuit komt.' },
154
+ { term: 'Specifiek Verbruik', definition: 'Gram brandstof per kilowattuur geproduceerd vermogen (g/kWh). Technische motormaat waarmee de efficiëntie tussen verschillende aandrijfsystemen kan worden vergeken.' },
155
+ ],
156
+ },
157
+ {
158
+ type: 'title',
159
+ text: 'Het Gevaar van Slib en Beweging',
160
+ level: 3,
161
+ },
162
+ {
163
+ type: 'paragraph',
164
+ html: 'Een veelvoorkomende bron van problemen bij schepen met een laag brandstofniveau is <strong>slib op de tankbodem</strong>. Als het niveau te laag wordt, kunnen sedimenten die zich in de loop der jaren hebben verzameld het filter bereiken en verstoppen, waardoor de motor uitvalt terwijl de meter nog enkele liters aangeeft.',
165
+ },
166
+ {
167
+ type: 'paragraph',
168
+ html: 'De beweging van de boot op zee met weinig brandstof kan ook problemen veroorzaken: de vloeistof schommelt met de golven en kan de brandstofpomp kortstondig droog laten lopen. Het handhaven van de reserve zorgt ervoor dat dit niet gebeurt op een kritiek moment, zoals bij het binnenvaren van een haven.',
169
+ },
170
+ {
171
+ type: 'tip',
172
+ title: 'Bespaartip voor Brandstof',
173
+ html: 'De snelheid met 10-15% verlagen onder uw gebruikelijke kruissnelheid kan de efficiëntie met wel 30% verbeteren. Als u de tijd heeft en het weer gunstig is, is langzamer varen altijd de meest economische en veilige beslissing.',
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Verschil tussen Zeemijlen (NM) en Kilometers',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'Een <strong>zeemijl</strong> is gelijk aan 1.852 meter (1,852 km) en is de universele afstandseenheid in de maritieme en luchtvaartnavigatie. Het is gebaseerd op één boogminuut van een geografische graad, wat het ideaal maakt voor navigatie met zeekaarten in geografische coördinaten. Snelheid in zeemijlen per uur wordt een knoop (kn) genoemd.',
183
+ },
184
+ {
185
+ type: 'comparative',
186
+ items: [
187
+ {
188
+ title: 'Analoge Wijzermeter',
189
+ description: 'Traditioneel vlottersysteem',
190
+ points: [
191
+ 'Lage kosten en eenvoudige installatie',
192
+ 'Geen elektriciteit nodig voor werking',
193
+ 'Onnauwkeurig bij ruwe zee door brandstofbeweging',
194
+ 'Toont geen verbruik of geschatte autonomie',
195
+ ],
196
+ },
197
+ {
198
+ title: 'Digitale Flowcalculator',
199
+ description: 'Elektronische flowsensoren',
200
+ highlight: true,
201
+ points: [
202
+ '1-2% nauwkeurigheid op werkelijk verbruik',
203
+ 'Toont autonomie, verbruik en kosten in realtime',
204
+ 'Integreerbaar met kaartplotters en NMEA 2000',
205
+ 'Vereist initiële kalibratie en onderhoud',
206
+ ],
207
+ },
208
+ ],
209
+ },
210
+ ];
211
+
212
+ const schemas: EnduranceLocaleContent['schemas'] = [
213
+ {
214
+ '@context': 'https://schema.org',
215
+ '@type': 'SoftwareApplication',
216
+ name: title,
217
+ description,
218
+ applicationCategory: 'UtilityApplication',
219
+ operatingSystem: 'Web',
220
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
221
+ } as WithContext<SoftwareApplication>,
222
+ {
223
+ '@context': 'https://schema.org',
224
+ '@type': 'FAQPage',
225
+ mainEntity: faq.map((item) => ({
226
+ '@type': 'Question',
227
+ name: item.question,
228
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
229
+ })),
230
+ } as WithContext<FAQPage>,
231
+ {
232
+ '@context': 'https://schema.org',
233
+ '@type': 'HowTo',
234
+ name: `Gebruiksaanwijzing: ${title}`,
235
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
236
+ } as WithContext<HowTo>,
237
+ ];
238
+
239
+ export const content: EnduranceLocaleContent = {
240
+ slug,
241
+ title,
242
+ description,
243
+ ui,
244
+ seo,
245
+ faq,
246
+ bibliography,
247
+ howTo,
248
+ schemas,
249
+ };
@@ -0,0 +1,249 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { EnduranceUI, EnduranceLocaleContent } from '../index';
3
+
4
+ const slug = 'kalkulator-autonomii-pl';
5
+ const title = 'Kalkulator Autonomii Jachtu';
6
+ const description =
7
+ 'Oblicz maksymalny zasięg i bezpieczny dystans na podstawie zużycia paliwa, pojemności zbiornika i prędkości przelotowej. Zarządzanie paliwem dla łodzi motorowych.';
8
+
9
+ const ui: EnduranceUI = {
10
+ tankCapacityLabel: 'Pojemność Zbiornika',
11
+ mainTankLabel: 'Główny',
12
+ auxTankLabel: 'Pomocniczy',
13
+ currentFuelLabel: 'Aktualne Paliwo',
14
+ seaConditionsLabel: 'Warunki Morskie / Wiatrowe',
15
+ consumptionLabel: 'Zużycie Teoretyczne',
16
+ cruiseSpeedLabel: 'Prędkość Przelotowa',
17
+ reserveLabel: 'Rezerwa',
18
+ fuelPriceLabel: 'Cena za Litr',
19
+ maxRangeLabel: 'Maksymalny Zasięg',
20
+ realPerformanceLabel: 'Wydajność Rzeczywista',
21
+ hoursLabel: 'Godziny Autonomii',
22
+ safeMilesLabel: 'Bezpieczne Mile',
23
+ tankValueLabel: 'Wartość Zbiornika',
24
+ inverseCalcLabel: 'Obliczenie Odwrotne: Ile muszę dotankować?',
25
+ desiredDistLabel: 'Docelowy Dystans',
26
+ minFuelLabel: 'Minimalne Wymagane Paliwo',
27
+ warningLabel: 'Przypomnienie: Rezerwa 20% to absolutne minimum zalecane dla bezpieczeństwa żeglugi.',
28
+ seaCalm: 'Spokojne (1.0x)',
29
+ seaLight: 'Lekka fala (+15%)',
30
+ seaModerate: 'Umiarkowana fala (+30%)',
31
+ seaStorm: 'Sztorm (+60%)',
32
+ faqTitle: 'Często Zadawane Pytania',
33
+ bibliographyTitle: 'Bibliografia',
34
+ };
35
+
36
+ const faq: EnduranceLocaleContent['faq'] = [
37
+ {
38
+ question: 'Jak oblicza się autonomię łodzi motorowej?',
39
+ answer: 'Autonomię oblicza się, dzieląc dostępne paliwo przez godzinowe zużycie, aby otrzymać łączną liczbę godzin, a następnie mnożąc ten czas przez prędkość przelotową. Narzędzie uwzględnia również współczynnik stanu morza, aby odzwierciedlić rzeczywiste warunki żeglugi.',
40
+ },
41
+ {
42
+ question: 'Dlaczego w żegludze zaleca się 20% rezerwy?',
43
+ answer: 'Rezerwa 20% to standard bezpieczeństwa morskiego, który gwarantuje wystarczającą ilość paliwa w przypadku nieprzewidzianych zdarzeń: przeciwnych prądów, zboczenia z kursu z powodu złej pogody, błędów w szacowaniu zużycia czy konieczności udzielenia pomocy innej jednostce. Wielu ubezpieczycieli i kapitanatów uznaje to za obowiązkowe.',
44
+ },
45
+ {
46
+ question: 'Co to jest wydajność L/NM i jak wpływa na planowanie?',
47
+ answer: 'Wydajność w litrach na milę morską (L/NM) to rzeczywista efektywność silnika w danych warunkach morskich. W przeciwieństwie do zużycia godzinowego, pozwala ona dokładnie obliczyć, ile paliwa potrzeba do pokonania określonego dystansu, niezależnie od prędkości.',
48
+ },
49
+ {
50
+ question: 'Jak stan morza wpływa na rzeczywiste zużycie paliwa?',
51
+ answer: 'Stan morza zwiększa zużycie, ponieważ kadłub musi ciężej pracować przeciwko oporowi wody i wiatru. Przy lekkiej fali zużycie wzrasta o 15%, przy umiarkowanej o 30%, a podczas sztormu może skoczyć o 60% lub więcej. Zignorowanie tego czynnika może sprawić, że jednostka zostanie bez paliwa przed dotarciem do portu.',
52
+ },
53
+ ];
54
+
55
+ const howTo: EnduranceLocaleContent['howTo'] = [
56
+ {
57
+ name: 'Wprowadź pojemność zbiornika',
58
+ text: 'Wpisz litry głównego zbiornika oraz pomocniczego, jeśli go posiadasz. Narzędzie obliczy aktualny procent napełnienia.',
59
+ },
60
+ {
61
+ name: 'Wprowadź aktualny poziom paliwa',
62
+ text: 'Wpisz rzeczywistą ilość litrów, którą masz w tej chwili. Możesz ją zmierzyć wskaźnikiem na łodzi lub oszacować na podstawie ostatniego tankowania.',
63
+ },
64
+ {
65
+ name: 'Dostosuj warunki żeglugi',
66
+ text: 'Wybierz oczekiwany stan morza dla swojej trasy. Współczynnik morski koryguje teoretyczne zużycie do przewidywanego zużycia rzeczywistego.',
67
+ },
68
+ {
69
+ name: 'Wprowadź zużycie i prędkość przelotową',
70
+ text: 'Użyj danych producenta lub własnych zapisów dotyczących zużycia godzinowego i prędkości, z jaką zwykle się poruszasz.',
71
+ },
72
+ {
73
+ name: 'Sprawdź bezpieczny dystans i obliczenie odwrotne',
74
+ text: 'Narzędzie pokazuje, ile mil możesz bezpiecznie przebyć i ile paliwa potrzebujesz, aby dotrzeć do konkretnego celu.',
75
+ },
76
+ ];
77
+
78
+ const bibliography: EnduranceLocaleContent['bibliography'] = [
79
+ {
80
+ name: 'UK Maritime and Coastguard Agency',
81
+ url: 'https://www.gov.uk/government/organisations/maritime-and-coastguard-agency',
82
+ },
83
+ {
84
+ name: 'RYA - Royal Yachting Association',
85
+ url: 'https://www.rya.org.uk/',
86
+ },
87
+ ];
88
+
89
+ const seo: EnduranceLocaleContent['seo'] = [
90
+ {
91
+ type: 'title',
92
+ text: 'Zarządzanie Paliwem i Autonomia w Żegludze Motorowej',
93
+ level: 2,
94
+ },
95
+ {
96
+ type: 'paragraph',
97
+ html: '<strong>Autonomia morska</strong> to jedno z najbardziej krytycznych obliczeń przed wypłynięciem łodzią motorową. Dokładna wiedza o tym, ile mil można pokonać z dostępnym paliwem, stanowi różnicę między zaplanowanym rejsem a sytuacją awaryjną na morzu.',
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Ten kalkulator autonomii integruje <strong>współczynnik warunków morskich</strong>, procent rezerwy bezpieczeństwa oraz odwrotne obliczanie paliwa, aby zarządzanie paliwem było pełne i niezawodne w każdej sytuacji.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Złota Zasada: Zasada Trzech Części',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Klasyczna zasada zarządzania paliwem w żegludze dzieli zbiornik na trzy równe części, aby zawsze zagwarantować margines bezpieczeństwa:',
111
+ },
112
+ {
113
+ type: 'list',
114
+ items: [
115
+ '<strong>Jedna trzecia na drogę tam:</strong> Paliwo potrzebne do dotarcia do zaplanowanego celu.',
116
+ '<strong>Jedna trzecia na powrót:</strong> Paliwo na powrót do portu wyjścia lub najbliższego portu.',
117
+ '<strong>Jedna trzecia jako rezerwa:</strong> Margines bezpieczeństwa na nieprzewidziane zdarzenia, prądy lub trudne warunki.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'W kalkulatorze możesz ustawić procent rezerwy według własnych kryteriów, choć <strong>zejście poniżej 20% nigdy nie jest zalecane</strong>. Przy większych zbiornikach lub długich rejsach wielu doświadczonych skipperów podnosi ten margines do 30% lub nawet 33%.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Czynniki wpływające na zużycie (l/h)',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Teoretyczne zużycie producenta jest obliczane w idealnych warunkach laboratoryjnych. W praktyce wiele czynników zmienia <strong>rzeczywiste zużycie paliwa</strong>. Prędkość kadłubowa jest najbardziej decydująca: żegluga powyżej prędkości ekonomicznej może dwu- lub trzykrotnie zwiększyć zużycie na każdą przebyte milę.',
132
+ },
133
+ {
134
+ type: 'table',
135
+ headers: ['Stan Żeglugi', 'Wpływ na Autonomię', 'Rada'],
136
+ rows: [
137
+ ['<strong>Zarośnięty Kadłub</strong>', 'Zmniejsza autonomię nawet o 20%', 'Wyczyść kadłub przed sezonem'],
138
+ ['<strong>Prąd Przeciwny</strong>', 'Może zmniejszyć prędkość efektywną o 30%', 'Zawsze licz z prędkością nad dnem (SOG)'],
139
+ ['<strong>Wiatr Przeciwny</strong>', 'Zwiększa opór i zużycie o 10-25%', 'Użyj współczynnika lekkiej lub umiarkowanej fali'],
140
+ ['<strong>Przeładowanie</strong>', 'Zwiększa zanurzenie i opór', 'Zważ sprzęt i zapasy przed obliczeniami'],
141
+ ],
142
+ },
143
+ {
144
+ type: 'title',
145
+ text: 'Słownik Techniczny Autonomii',
146
+ level: 3,
147
+ },
148
+ {
149
+ type: 'glossary',
150
+ items: [
151
+ { term: 'Wydajność (L/NM)', definition: 'Litry paliwa zużyte na przebyte milę morską. Najbardziej użyteczny wskaźnik do planowania rejsów, ponieważ łączy zużycie z faktycznym dystansem.' },
152
+ { term: 'Prędkość Przelotowa', definition: 'Optymalna prędkość, przy której silnik oferuje najlepszą równowagę między szybkością a zużyciem. Zazwyczaj między 70% a 80% mocy maksymalnej.' },
153
+ { term: 'Rezerwa Krytyczna', definition: 'Procent zbiornika, który nigdy nie powinien zostać zużyty. Zaleca się minimum 20%, aby pokryć nieprzewidziane sytuacje i zapobiec dostaniu się powietrza do układu paliwowego.' },
154
+ { term: 'Zużycie Jednostkowe', definition: 'Gramy paliwa na kilowatogodzinę wytworzonej mocy (g/kWh). Techniczna miara silnika pozwalająca na porównanie wydajności różnych układów napędowych.' },
155
+ ],
156
+ },
157
+ {
158
+ type: 'title',
159
+ text: 'Niebezpieczeństwo osadów i ruchu',
160
+ level: 3,
161
+ },
162
+ {
163
+ type: 'paragraph',
164
+ html: 'Częstym źródłem problemów na jednostkach z niskim poziomem paliwa są <strong>osady na dnie zbiornika</strong>. Gdy poziom spadnie zbyt nisko, osady gromadzone latami mogą dotrzeć do filtra i go zatkać, pozostawiając silnik bez paliwa, mimo że wskaźnik pokazuje jeszcze kilka litrów.',
165
+ },
166
+ {
167
+ type: 'paragraph',
168
+ html: 'Ruch łodzi na morzu przy małej ilości paliwa również może powodować problemy: ciecz kołysze się wraz z falami i może momentalnie zapowietrzyć pompę paliwową. Utrzymywanie rezerwy gwarantuje, że nie stanie się to w krytycznym momencie, takim jak manewr wejścia do portu.',
169
+ },
170
+ {
171
+ type: 'tip',
172
+ title: 'Rada dot. oszczędzania paliwa',
173
+ html: 'Zmniejszenie prędkości o 10-15% poniżej zwykłej prędkości przelotowej może poprawić wydajność nawet o 30%. Jeśli masz czas i pogoda sprzyja, wolniejsze płynięcie jest zawsze najbardziej ekonomiczną i bezpieczną decyzją.',
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Różnica między milami morskimi (NM) a kilometrami',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'Jedna <strong>mila morska</strong> to 1852 metry (1,852 km) i jest uniwersalną jednostką odległości w nawigacji morskiej i lotniczej. Opiera się na jednej minucie kątowej stopnia geograficznego, co czyni ją idealną do nawigacji z mapami we współrzędnych geograficznych. Prędkość w milach morskich na godzinę nazywana jest węzłem (kn).',
183
+ },
184
+ {
185
+ type: 'comparative',
186
+ items: [
187
+ {
188
+ title: 'Analogowy Wskaźnik Igłowy',
189
+ description: 'Tradycyjny system pływakowy',
190
+ points: [
191
+ 'Niski koszt i prosta instalacja',
192
+ 'Nie wymaga prądu do działania',
193
+ 'Niedokładny przy wzburzonym morzu z powodu ruchu paliwa',
194
+ 'Nie pokazuje zużycia ani szacowanej autonomii',
195
+ ],
196
+ },
197
+ {
198
+ title: 'Cyfrowy Kalkulator Przepływu',
199
+ description: 'Elektroniczne czujniki przepływu',
200
+ highlight: true,
201
+ points: [
202
+ 'Wydajność 1-2% dokładności przy rzeczywistym zużyciu',
203
+ 'Pokazuje autonomię, zużycie i koszty w czasie rzeczywistym',
204
+ 'Możliwość integracji z chartploterami i NMEA 2000',
205
+ 'Wymaga wstępnej kalibracji i konserwacji',
206
+ ],
207
+ },
208
+ ],
209
+ },
210
+ ];
211
+
212
+ const schemas: EnduranceLocaleContent['schemas'] = [
213
+ {
214
+ '@context': 'https://schema.org',
215
+ '@type': 'SoftwareApplication',
216
+ name: title,
217
+ description,
218
+ applicationCategory: 'UtilityApplication',
219
+ operatingSystem: 'Web',
220
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
221
+ } as WithContext<SoftwareApplication>,
222
+ {
223
+ '@context': 'https://schema.org',
224
+ '@type': 'FAQPage',
225
+ mainEntity: faq.map((item) => ({
226
+ '@type': 'Question',
227
+ name: item.question,
228
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
229
+ })),
230
+ } as WithContext<FAQPage>,
231
+ {
232
+ '@context': 'https://schema.org',
233
+ '@type': 'HowTo',
234
+ name: `Jak używać: ${title}`,
235
+ step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
236
+ } as WithContext<HowTo>,
237
+ ];
238
+
239
+ export const content: EnduranceLocaleContent = {
240
+ slug,
241
+ title,
242
+ description,
243
+ ui,
244
+ seo,
245
+ faq,
246
+ bibliography,
247
+ howTo,
248
+ schemas,
249
+ };