@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 = 'rackvidds-kalkylator-sv';
5
+ const title = 'Kalkylator för Maritim Räckvidd';
6
+ const description =
7
+ 'Beräkna din maximala räckvidd och säkerhetsdistans baserat på bränsleförbrukning, tankkapacitet och marschfart. Bränslehantering för motorbåtar.';
8
+
9
+ const ui: EnduranceUI = {
10
+ tankCapacityLabel: 'Tankkapacitet',
11
+ mainTankLabel: 'Huvudtank',
12
+ auxTankLabel: 'Extratank',
13
+ currentFuelLabel: 'Befintligt Bränsle',
14
+ seaConditionsLabel: 'Sjö- / Vindförhållanden',
15
+ consumptionLabel: 'Teoretisk Förbrukning',
16
+ cruiseSpeedLabel: 'Marschfart',
17
+ reserveLabel: 'Reserv',
18
+ fuelPriceLabel: 'Pris per Liter',
19
+ maxRangeLabel: 'Maximal Räckvidd',
20
+ realPerformanceLabel: 'Faktisk Prestanda',
21
+ hoursLabel: 'Autonomitimmar',
22
+ safeMilesLabel: 'Säkra Sjömil',
23
+ tankValueLabel: 'Tankvärde',
24
+ inverseCalcLabel: 'Omvänd Beräkning: Hur mycket behöver jag tanka?',
25
+ desiredDistLabel: 'Önskad Distans',
26
+ minFuelLabel: 'Minsta Bränslebehov',
27
+ warningLabel: 'Kom ihåg: En reserv på 20 % är det absoluta minimum som rekommenderas för maritim säkerhet.',
28
+ seaCalm: 'Lugnt (1.0x)',
29
+ seaLight: 'Lätt sjögång (+15 %)',
30
+ seaModerate: 'Måttlig sjögång (+30 %)',
31
+ seaStorm: 'Storm (+60 %)',
32
+ faqTitle: 'Vanliga Frågor',
33
+ bibliographyTitle: 'Bibliografi',
34
+ };
35
+
36
+ const faq: EnduranceLocaleContent['faq'] = [
37
+ {
38
+ question: 'Hur beräknas räckvidden för en motorbåt?',
39
+ answer: 'Räckvidden beräknas genom att dividera det tillgängliga bränslet med timförbrukningen för att få totalt antal timmar, och sedan multiplicera den tiden med marschfarten. Verktyget tillämpar även en sjögångsfaktor för att återspegla faktiska navigeringsförhållanden.',
40
+ },
41
+ {
42
+ question: 'Varför rekommenderas en reserv på 20 % vid maritim navigering?',
43
+ answer: 'En reserv på 20 % är en maritim säkerhetsstandard som säkerställer tillräckligt med bränsle vid oförutsedda händelser: motström, omvägar på grund av dåligt väder, fel i förbrukningsuppskattningar eller behovet av att assistera ett annat fartyg. Många försäkringsbolag och hamnmyndigheter anser att det är obligatoriskt.',
44
+ },
45
+ {
46
+ question: 'Vad är L/NM-prestanda och hur påverkar det planeringen?',
47
+ answer: 'Prestandat i liter per sjömil (L/NM) är motorns faktiska effektivitet under sjöförhållanden. Till skillnad från timförbrukning kan du med detta beräkna exakt hur mycket bränsle du behöver för att täcka en specifik distans, oavsett din hastighet.',
48
+ },
49
+ {
50
+ question: 'Hur påverkar sjögången den faktiska förbrukningen?',
51
+ answer: 'Sjögång ökar förbrukningen eftersom skrovet får arbeta hårdare mot vatten- och vindmotstånd. Vid lätt sjögång stiger förbrukningen med 15 %, vid måttlig sjögång med 30 %, och i storm kan den stiga med 60 % eller mer. Att ignorera denna faktor kan leda till att ett fartyg blir utan bränsle innan det når hamn.',
52
+ },
53
+ ];
54
+
55
+ const howTo: EnduranceLocaleContent['howTo'] = [
56
+ {
57
+ name: 'Ange din tankkapacitet',
58
+ text: 'Ange liter för huvudtanken och extratanken om du har en. Verktyget beräknar den aktuella fyllnadsgraden.',
59
+ },
60
+ {
61
+ name: 'Ange befintlig bränslenivå',
62
+ text: 'Ange de faktiska literna du har just nu. Du kan mäta dem med båtens nivåmätare eller uppskatta dem från den senaste tankningen.',
63
+ },
64
+ {
65
+ name: 'Anpassa navigeringsförhållanden',
66
+ text: 'Välj den förväntade sjögången för din överfart. Sjöfaktorn korrigerar den teoretiska förbrukningen till den förväntade faktiska förbrukningen.',
67
+ },
68
+ {
69
+ name: 'Ange förbrukning och marschfart',
70
+ text: 'Använd tillverkarens data eller dina egna uppgifter för timförbrukning och den hastighet du vanligtvis navigerar med.',
71
+ },
72
+ {
73
+ name: 'Kontrollera den säkra distansen och den omvända beräkningen',
74
+ text: 'Verktyget visar hur många sjömil du säkert kan täcka och hur mycket bränsle du behöver för att nå en specifik destination.',
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: 'Bränslehantering och Räckvidd vid Motornavigering',
93
+ level: 2,
94
+ },
95
+ {
96
+ type: 'paragraph',
97
+ html: '<strong>Maritim räckvidd</strong> är en av de mest kritiska beräkningarna innan du sätter segel med en motorbåt. Att veta exakt hur många sjömil du kan täcka med tillgängligt bränsle är skillnaden mellan en planerad överfart och en nödsituation till sjöss.',
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Denna räckviddskalkylator integrerar <strong>sjögångsfaktorn</strong>, procentandelen säkerhetsreserv och den omvända bränsleberäkningen så att bränslehanteringen blir komplett och tillförlitlig i alla situationer.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Den Gyllene Regeln: Tredjedelsregeln',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Den klassiska regeln för bränslehantering vid maritim navigering delar in tanken i tre lika delar för att alltid garantera en säkerhetsmarginal:',
111
+ },
112
+ {
113
+ type: 'list',
114
+ items: [
115
+ '<strong>En tredjedel för utresan:</strong> Det bränsle som krävs för att nå den planerade destinationen.',
116
+ '<strong>En tredjedel för hemresan:</strong> Bränsle för att ta sig tillbaka till avgångshamnen eller närmaste hamn.',
117
+ '<strong>En tredjedel som reserv:</strong> Säkerhetsmarginalen för oförutsedda händelser, strömmar eller ogynnsamma förhållanden.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'I kalkylatorn kan du ställa in reservprocenten enligt dina egna kriterier, även om det <strong>aldrig rekommenderas att gå under 20 %</strong>. Med större tankar eller långa överfarter höjer många erfarna skeppare denna marginal till 30 % eller till och med 33 %.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Faktorer som påverkar Förbrukningen (l/h)',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Tillverkarens teoretiska förbrukning beräknas under ideala laboratorieförhållanden. I praktiken ändrar flera faktorer den <strong>faktiska bränsleförbrukningen</strong>. Skrovhastigheten är den mest avgörande: att navigera över den ekonomiska hastigheten kan fördubbla eller tredubbla förbrukningen per tillryggalagd sjömil.',
132
+ },
133
+ {
134
+ type: 'table',
135
+ headers: ['Navigeringsläge', 'Effekt på Räckvidden', 'Råd'],
136
+ rows: [
137
+ ['<strong>Behandlat Skrov</strong>', 'Minskar räckvidden med upp till 20 %', 'Rengör skrovet före säsongen'],
138
+ ['<strong>Motström</strong>', 'Kan minska den effektiva hastigheten med 30 %', 'Beräkna alltid med hastighet över grund (SOG)'],
139
+ ['<strong>Motvind</strong>', 'Ökar motstånd och förbrukning med 10-25 %', 'Använd faktorn för lätt eller måttlig sjögång'],
140
+ ['<strong>Överlastning</strong>', 'Ökar djupgående och motstånd', 'Väg utrustning och proviant före beräkning'],
141
+ ],
142
+ },
143
+ {
144
+ type: 'title',
145
+ text: 'Teknisk Ordlista för Räckvidd',
146
+ level: 3,
147
+ },
148
+ {
149
+ type: 'glossary',
150
+ items: [
151
+ { term: 'Prestanda (L/NM)', definition: 'Liter bränsle som förbrukas per tillryggalagd sjömil. Det mest användbara måttet för planering av överfarter eftersom det kopplar förbrukning till faktiskt avstånd.' },
152
+ { term: 'Marschfart', definition: 'Den optimala hastigheten där motorn erbjuder den bästa balansen mellan hastighet och förbrukning. Generellt mellan 70 % och 80 % av maximal effekt.' },
153
+ { term: 'Kritisk Reserv', definition: 'Den procentandel av tanken som aldrig får förbrukas. Minst 20 % rekommenderas för att täcka oförutsedda händelser och förhindra att luft kommer in i bränslesystemet.' },
154
+ { term: 'Specifik Förbrukning', definition: 'Gram bränsle per kilowattimme producerad effekt (g/kWh). Tekniskt motormått som gör det möjligt att jämföra effektivitet mellan olika framdrivningssystem.' },
155
+ ],
156
+ },
157
+ {
158
+ type: 'title',
159
+ text: 'Faran med Slam och Rörelse',
160
+ level: 3,
161
+ },
162
+ {
163
+ type: 'paragraph',
164
+ html: 'En vanlig källa till problem på fartyg med låga bränslenivåer är <strong>slam i tankens botten</strong>. När nivån sjunker för lågt kan sediment som samlats under åratal nå filtret och täppa till det, vilket lämnar motorn utan bränsle trots att mätaren visar några liter kvar.',
165
+ },
166
+ {
167
+ type: 'paragraph',
168
+ html: 'Båtens rörelse till sjöss med lite bränsle kan också orsaka problem: vätskan svänger med vågorna och kan tillfälligt få bränslepumpen att suga luft. Att behålla reserven säkerställer att detta inte händer i ett kritiskt ögonblick, såsom vid en hamnentré.',
169
+ },
170
+ {
171
+ type: 'tip',
172
+ title: 'Tips för Bränslebesparing',
173
+ html: 'Att sänka hastigheten med 10-15 % under din vanliga marschfart kan förbättra effektiviteten med upp till 30 %. Om du har tid och vädret är gynnsamt är det alltid det mest ekonomiska och säkra beslutet att gå långsammare.',
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Skillnad mellan Sjömil (NM) och Kilometer',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'En <strong>sjömil</strong> motsvarar 1 852 meter (1,852 km) och är den universella distansenheten i maritim och aeronautisk navigering. Den baseras på en bågminut av en geografisk grad, vilket gör den idealisk för navigering med sjökort i geografiska koordinater. Hastighet i sjömil per timme kallas för knop (kn).',
183
+ },
184
+ {
185
+ type: 'comparative',
186
+ items: [
187
+ {
188
+ title: 'Analog Visarmätare',
189
+ description: 'Traditionellt flottörsystem',
190
+ points: [
191
+ 'Låg kostnad och enkel installation',
192
+ 'Kräver ingen elektricitet för att fungera',
193
+ 'Onoggrann vid grov sjö på grund av bränslets rörelse',
194
+ 'Visar inte förbrukning eller beräknad räckvidd',
195
+ ],
196
+ },
197
+ {
198
+ title: 'Digital Flödeskalkylator',
199
+ description: 'Elektroniska flödessensorer',
200
+ highlight: true,
201
+ points: [
202
+ '1-2 % noggrannhet på faktisk förbrukning',
203
+ 'Visar räckvidd, förbrukning och kostnad i realtid',
204
+ 'Går att integrera med chartplottrar och NMEA 2000',
205
+ 'Kräver initial kalibrering och underhåll',
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: `Hur man använder: ${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 = 'menzil-hesaplayici-tr';
5
+ const title = 'Denizcilik Menzil Hesaplayıcı';
6
+ const description =
7
+ 'Yakıt tüketimi, depo kapasitesi ve seyir hızına dayalı olarak maksimum menzilinizi ve güvenli mesafenizi hesaplayın. Motorlu tekneler için yakıt yönetimi.';
8
+
9
+ const ui: EnduranceUI = {
10
+ tankCapacityLabel: 'Depo Kapasitesi',
11
+ mainTankLabel: 'Ana',
12
+ auxTankLabel: 'Yedek',
13
+ currentFuelLabel: 'Mevcut Yakıt',
14
+ seaConditionsLabel: 'Deniz / Rüzgar Koşulları',
15
+ consumptionLabel: 'Teorik Tüketim',
16
+ cruiseSpeedLabel: 'Seyir Hızı',
17
+ reserveLabel: 'Yedek',
18
+ fuelPriceLabel: 'Litre Başına Fiyat',
19
+ maxRangeLabel: 'Maksimum Menzil',
20
+ realPerformanceLabel: 'Gerçek Performans',
21
+ hoursLabel: 'Menzil Saati',
22
+ safeMilesLabel: 'Güvenli Miller',
23
+ tankValueLabel: 'Depo Değeri',
24
+ inverseCalcLabel: 'Ters Hesaplama: Ne kadar yakıt almalıyım?',
25
+ desiredDistLabel: 'Hedeflenen Mesafe',
26
+ minFuelLabel: 'Gereken Minimum Yakıt',
27
+ warningLabel: 'Hatırlatma: Deniz güvenliği için %20 yedek yakıt önerilen mutlak minimumdur.',
28
+ seaCalm: 'Süt Liman (1.0x)',
29
+ seaLight: 'Hafif Çalkantılı (+%15)',
30
+ seaModerate: 'Orta Çalkantılı (+%30)',
31
+ seaStorm: 'Fırtınalı (+%60)',
32
+ faqTitle: 'Sıkça Sorulan Sorular',
33
+ bibliographyTitle: 'Kaynakça',
34
+ };
35
+
36
+ const faq: EnduranceLocaleContent['faq'] = [
37
+ {
38
+ question: 'Bir motorlu teknenin menzili nasıl hesaplanır?',
39
+ answer: 'Menzil, toplam saati bulmak için mevcut yakıtın saatlik tüketime bölünmesi ve ardından bu sürenin seyir hızıyla çarpılmasıyla hesaplanır. Araç, gerçek seyir koşullarını yansıtmak için bir deniz durumu faktörü de ekler.',
40
+ },
41
+ {
42
+ question: 'Deniz navigasyonunda neden %20 yedek yakıt önerilir?',
43
+ answer: '%20 yedek, öngörülemeyen durumlar (ters akıntılar, kötü hava nedeniyle rotadan sapan yollar, tüketim tahminlerindeki hatalar veya başka bir tekneye yardım etme ihtiyacı) için yeterli yakıtı garanti eden bir deniz güvenliği standardıdır. Birçok sigortacı ve liman başkanlığı bunu zorunlu kabul eder.',
44
+ },
45
+ {
46
+ question: 'L/NM performansı nedir ve planlamayı nasıl etkiler?',
47
+ answer: 'Deniz mili başına litre (L/NM) cinsinden performans, motorun deniz koşullarındaki gerçek verimliliğidir. Saatlik tüketimin aksine, hızınız ne olursa olsun belirli bir mesafeyi kat etmek için tam olarak ne kadar yakıta ihtiyacınız olduğunu hesaplamanıza olanak tanır.',
48
+ },
49
+ {
50
+ question: 'Deniz durumu gerçek tüketimi nasıl etkiler?',
51
+ answer: 'Deniz durumu tüketimi artırır çünkü gövde su ve rüzgar direncine karşı daha fazla zorlanır. Hafif çalkantılı denizde tüketim %15 artar, orta çalkantılıda %30 ve fırtınada %60 veya daha fazla fırlayabilir. Bu faktörü görmezden gelmek, limana varmadan yakıtın bitmesine neden olabilir.',
52
+ },
53
+ ];
54
+
55
+ const howTo: EnduranceLocaleContent['howTo'] = [
56
+ {
57
+ name: 'Depo kapasitenizi girin',
58
+ text: 'Ana deponun litre miktarını ve varsa yedek depoyu girin. Araç, mevcut doluluk yüzdesini hesaplayacaktır.',
59
+ },
60
+ {
61
+ name: 'Mevcut yakıt seviyesini girin',
62
+ text: 'Şu anda elinizde bulunan gerçek litre miktarını girin. Bunu teknenizin göstergesinden ölçebilir veya son yakıt alımından tahmin edebilirsiniz.',
63
+ },
64
+ {
65
+ name: 'Seyir koşullarını ayarlayın',
66
+ text: 'Geçişiniz için beklenen deniz durumunu seçin. Deniz faktörü, teorik tüketimi beklenen gerçek tüketime göre düzeltir.',
67
+ },
68
+ {
69
+ name: 'Tüketim ve seyir hızını girin',
70
+ text: 'Saatlik tüketim ve genellikle seyrettiğiniz hız için üretici verilerini veya kendi kayıtlarınızı kullanın.',
71
+ },
72
+ {
73
+ name: 'Güvenli mesafeyi ve ters hesaplamayı gözden geçirin',
74
+ text: 'Araç, kaç mil güvenle kat edebileceğinizi ve belirli bir hedefe ulaşmak için ne kadar yakıta ihtiyacınız olduğunu gösterir.',
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: 'Motorlu Navigasyonda Yakıt Yönetimi ve Menzil',
93
+ level: 2,
94
+ },
95
+ {
96
+ type: 'paragraph',
97
+ html: '<strong>Deniz menzili</strong>, bir motorlu tekneyle yola çıkmadan önceki en kritik hesaplamalardan biridir. Elinizdeki yakıtla tam olarak kaç mil kat edebileceğinizi bilmek, planlı bir geçiş ile denizdeki acil bir durum arasındaki farkı belirler.',
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Bu menzil hesaplayıcı, yakıt yönetiminin her durumda eksiksiz ve güvenilir olması için <strong>deniz durumu faktörünü</strong>, emniyet yedeği yüzdesini ve ters yakıt hesaplamasını entegre eder.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Altın Kural: Üçte Bir Kuralı',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'Deniz navigasyonundaki klasik yakıt yönetimi kuralı, her zaman bir emniyet marjı garanti etmek için depoyu üç eşit parçaya böler:',
111
+ },
112
+ {
113
+ type: 'list',
114
+ items: [
115
+ '<strong>Üçte biri gidiş için:</strong> Planlanan hedefe ulaşmak için gereken yakıt.',
116
+ '<strong>Üçte biri dönüş için:</strong> Kalkış limanına veya en yakın limana geri dönmek için gereken yakıt.',
117
+ '<strong>Üçte biri yedek olarak:</strong> Beklenmedik olaylar, akıntılar veya olumsuz koşullar için emniyet marjı.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Hesaplayıcıda yedek yüzdesini kendi kriterlerinize göre ayarlayabilirsiniz, ancak <strong>%20\'nin altına inmek asla önerilmez</strong>. Büyük depolarda veya uzun geçişlerde, birçok deneyimli kaptan bu marjı %30 hatta %33\'e çıkarır.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Tüketimi Etkileyen Faktörler (l/h)',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Üreticinin teorik tüketimi ideal laboratuvar koşulları altında hesaplanır. Uygulamada, birden fazla faktör <strong>gerçek yakıt tüketimini</strong> değiştirir. Gövde hızı en belirleyici olanıdır: ekonomik hızın üzerinde seyretmek, kat edilen mil başına tüketimi ikiye hatta üçe katlayabilir.',
132
+ },
133
+ {
134
+ type: 'table',
135
+ headers: ['Navigasyon Durumu', 'Menzil Üzerindeki Etkisi', 'Tavsiye'],
136
+ rows: [
137
+ ['<strong>Kirli Gövde</strong>', 'Menzili %20\'ye kadar azaltır', 'Sezon öncesi gövdeyi temizleyin'],
138
+ ['<strong>Karşı Akıntı</strong>', 'Etkili hızı %30 azaltabilir', 'Her zaman yere göre hız (SOG) ile hesaplayın'],
139
+ ['<strong>Karşı Rüzgar</strong>', 'Direnci ve tüketimi %10-25 artırır', 'Hafif veya orta çalkantılı deniz faktörünü kullanın'],
140
+ ['<strong>Aşırı Yükleme</strong>', 'Su çekimini ve direnci artırır', 'Hesaplama yapmadan önce ekipman ve kumanyaları tartın'],
141
+ ],
142
+ },
143
+ {
144
+ type: 'title',
145
+ text: 'Menzil Teknik Terimler Sözlüğü',
146
+ level: 3,
147
+ },
148
+ {
149
+ type: 'glossary',
150
+ items: [
151
+ { term: 'Performans (L/NM)', definition: 'Kat edilen deniz mili başına tüketilen yakıt litresi. Tüketimi gerçek mesafeye bağladığı için geçiş planlamasında en yararlı göstergedir.' },
152
+ { term: 'Seyir Hızı', definition: 'Motorun hız ve tüketim arasında en iyi dengeyi sunduğu optimum hız. Genellikle maksimum gücün %70\'i ile %80\'i arasındadır.' },
153
+ { term: 'Kritik Yedek', definition: 'Deponun asla tüketilmemesi gereken yüzdesi. Beklenmedik durumları karşılamak ve yakıt devresine hava girmesini önlemek için minimum %20 önerilir.' },
154
+ { term: 'Özgül Tüketim', definition: 'Üretilen kilovat-saat güç başına gram yakıt (g/kWh). Farklı tahrik sistemleri arasında verimliliği karşılaştırmayı sağlayan teknik motor ölçümü.' },
155
+ ],
156
+ },
157
+ {
158
+ type: 'title',
159
+ text: 'Tortu ve Hareket Tehlikesi',
160
+ level: 3,
161
+ },
162
+ {
163
+ type: 'paragraph',
164
+ html: 'Düşük yakıt seviyelerine sahip teknelerde sıkça karşılaşılan bir sorun kaynağı <strong>depo dibi tortusu</strong>dur. Seviye çok düştüğünde, yıllar içinde biriken tortular filtreye ulaşabilir ve onu tıkayabilir, böylece gösterge birkaç litre gösterse bile motorun yakıtsız kalmasına neden olabilir.',
165
+ },
166
+ {
167
+ type: 'paragraph',
168
+ html: 'Az yakıtla denizde teknenin hareketi de sorunlara yol açabilir: Sıvı dalgalarla çalkalanır ve yakıt pompasını anlık olarak susuz bırakabilir. Yedeği korumak, bunun liman giriş manevrası gibi kritik bir anda gerçekleşmemesini sağlar.',
169
+ },
170
+ {
171
+ type: 'tip',
172
+ title: 'Yakıt Tasarrufu İpucu',
173
+ html: 'Hızı olağan seyir hızınızın %10-15 altına düşürmek verimliliği %30\'a kadar artırabilir. Zamanınız varsa ve hava uygunsa, daha yavaş gitmek her zaman en ekonomik ve güvenli karardır.',
174
+ },
175
+ {
176
+ type: 'title',
177
+ text: 'Deniz Mili (NM) ile Kilometre Arasındaki Fark',
178
+ level: 3,
179
+ },
180
+ {
181
+ type: 'paragraph',
182
+ html: 'Bir <strong>deniz mili</strong> 1.852 metreye (1,852 km) eşittir ve denizcilik ile havacılık navigasyonunda evrensel mesafe birimidir. Coğrafi bir derecenin bir yay dakikasına dayanır, bu da onu coğrafi koordinatlardaki haritalarla navigasyon için ideal kılar. Saatteki deniz mili cinsinden hıza knot (kn) denir.',
183
+ },
184
+ {
185
+ type: 'comparative',
186
+ items: [
187
+ {
188
+ title: 'Analog İğneli Gösterge',
189
+ description: 'Geleneksel şamandıra sistemi',
190
+ points: [
191
+ 'Düşük maliyet ve basit kurulum',
192
+ 'Çalışmak için elektriğe ihtiyaç duymaz',
193
+ 'Yakıt hareketi nedeniyle dalgalı denizlerde hatalı ölçüm yapar',
194
+ 'Tüketimi veya tahmini menzili göstermez',
195
+ ],
196
+ },
197
+ {
198
+ title: 'Dijital Akış Hesaplayıcı',
199
+ description: 'Elektronik akış sensörleri',
200
+ highlight: true,
201
+ points: [
202
+ 'Gerçek tüketimde %1-2 doğruluk',
203
+ 'Menzil, tüketim ve maliyeti gerçek zamanlı gösterir',
204
+ 'Chartplotter ve NMEA 2000 ile entegre edilebilir',
205
+ 'Başlangıç kalibrasyonu ve bakım gerektirir',
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: `Nasıl kullanılır: ${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
+ };