@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.
- 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/component.astro +340 -1
- 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/component.astro +208 -1
- 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 +355 -2
- 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/component.astro +242 -1
- 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/component.astro +313 -1
- 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/component.astro +321 -1
- 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
- package/src/tool/endurance/style.css +0 -337
- package/src/tool/nauticalConverter/style.css +0 -205
- package/src/tool/sailArea/style.css +0 -351
- package/src/tool/speedConverter/style.css +0 -239
- package/src/tool/tideCalculator/style.css +0 -310
- package/src/tool/underKeel/style.css +0 -318
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
---
|
|
2
|
-
import './style.css';
|
|
3
2
|
import type { EnduranceUI } from './index';
|
|
4
3
|
|
|
5
4
|
interface Props {
|
|
@@ -308,3 +307,343 @@ const { ui } = Astro.props;
|
|
|
308
307
|
void SEA_FACTORS;
|
|
309
308
|
new EnduranceCalculator();
|
|
310
309
|
</script>
|
|
310
|
+
|
|
311
|
+
<style>
|
|
312
|
+
.endurance-calculator {
|
|
313
|
+
--n-bg: #fff;
|
|
314
|
+
--n-bg-muted: #f1f5f9;
|
|
315
|
+
--n-text: #0f172a;
|
|
316
|
+
--n-text-muted: #475569;
|
|
317
|
+
--n-text-dim: #64748b;
|
|
318
|
+
--n-border: #e2e8f0;
|
|
319
|
+
--n-shadow: rgba(0, 0, 0, 0.05);
|
|
320
|
+
--n-primary: #3b82f6;
|
|
321
|
+
--n-primary-on: #fff;
|
|
322
|
+
--n-accent: #6366f1;
|
|
323
|
+
--n-cyan: #0891b2;
|
|
324
|
+
--n-success: #10b981;
|
|
325
|
+
--n-warning: #f59e0b;
|
|
326
|
+
--n-error: #f43f5e;
|
|
327
|
+
--ec-hero-bg: #0f172a;
|
|
328
|
+
--ec-hero-label: #22d3ee;
|
|
329
|
+
|
|
330
|
+
max-width: 1000px;
|
|
331
|
+
margin: 0 auto;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
:global(.theme-dark) .endurance-calculator {
|
|
335
|
+
--n-bg: #0f172a;
|
|
336
|
+
--n-bg-muted: #1e293b;
|
|
337
|
+
--n-text: #f8fafc;
|
|
338
|
+
--n-text-muted: #94a3b8;
|
|
339
|
+
--n-text-dim: #64748b;
|
|
340
|
+
--n-border: #334155;
|
|
341
|
+
--n-shadow: rgba(0, 0, 0, 0.3);
|
|
342
|
+
--n-primary: #60a5fa;
|
|
343
|
+
--n-primary-on: #fff;
|
|
344
|
+
--n-accent: #818cf8;
|
|
345
|
+
--n-cyan: #22d3ee;
|
|
346
|
+
--n-success: #34d399;
|
|
347
|
+
--n-warning: #fbbf24;
|
|
348
|
+
--n-error: #fb7185;
|
|
349
|
+
--ec-hero-bg: #020617;
|
|
350
|
+
--ec-hero-label: #22d3ee;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.ec-main-container {
|
|
354
|
+
background: var(--n-bg);
|
|
355
|
+
border: 1px solid var(--n-border);
|
|
356
|
+
border-radius: 1.5rem;
|
|
357
|
+
display: grid;
|
|
358
|
+
grid-template-columns: 360px 1fr;
|
|
359
|
+
overflow: hidden;
|
|
360
|
+
box-shadow: 0 20px 40px var(--n-shadow);
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.ec-sidebar-inputs {
|
|
364
|
+
padding: 1.5rem;
|
|
365
|
+
border-right: 1px solid var(--n-border);
|
|
366
|
+
background: var(--n-bg-muted);
|
|
367
|
+
display: flex;
|
|
368
|
+
flex-direction: column;
|
|
369
|
+
gap: 1.2rem;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
.ec-compact-group {
|
|
373
|
+
display: flex;
|
|
374
|
+
flex-direction: column;
|
|
375
|
+
gap: 0.4rem;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.ec-compact-group label {
|
|
379
|
+
font-size: 0.7rem;
|
|
380
|
+
font-weight: 800;
|
|
381
|
+
text-transform: uppercase;
|
|
382
|
+
color: var(--n-text-muted);
|
|
383
|
+
letter-spacing: 0.06em;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.ec-dual-row {
|
|
387
|
+
display: grid;
|
|
388
|
+
grid-template-columns: 1fr 1fr;
|
|
389
|
+
gap: 0.5rem;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.ec-sub-label {
|
|
393
|
+
font-size: 0.65rem;
|
|
394
|
+
color: var(--n-text-muted);
|
|
395
|
+
font-weight: 700;
|
|
396
|
+
margin-bottom: 0.2rem;
|
|
397
|
+
display: block;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.ec-field-wrapper {
|
|
401
|
+
position: relative;
|
|
402
|
+
display: flex;
|
|
403
|
+
align-items: center;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.ec-field-icon {
|
|
407
|
+
position: absolute;
|
|
408
|
+
left: 8px;
|
|
409
|
+
font-size: 0.9rem;
|
|
410
|
+
color: var(--n-text-muted);
|
|
411
|
+
pointer-events: none;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.ec-compact-input,
|
|
415
|
+
.ec-compact-select {
|
|
416
|
+
width: 100%;
|
|
417
|
+
background: var(--n-bg);
|
|
418
|
+
border: 1px solid var(--n-border);
|
|
419
|
+
border-radius: 0.5rem;
|
|
420
|
+
padding: 0.6rem 2.4rem 0.6rem 2.2rem;
|
|
421
|
+
font-size: 0.95rem;
|
|
422
|
+
font-weight: 700;
|
|
423
|
+
color: var(--n-text);
|
|
424
|
+
outline: none;
|
|
425
|
+
transition: border-color 0.2s;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.ec-compact-input:focus,
|
|
429
|
+
.ec-compact-select:focus {
|
|
430
|
+
border-color: var(--n-primary);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.ec-compact-select {
|
|
434
|
+
padding-right: 0.6rem;
|
|
435
|
+
cursor: pointer;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.ec-unit-tag {
|
|
439
|
+
position: absolute;
|
|
440
|
+
right: 8px;
|
|
441
|
+
font-size: 0.65rem;
|
|
442
|
+
font-weight: 800;
|
|
443
|
+
color: var(--n-text-muted);
|
|
444
|
+
pointer-events: none;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.ec-dashboard-panel {
|
|
448
|
+
padding: 2rem;
|
|
449
|
+
display: flex;
|
|
450
|
+
flex-direction: column;
|
|
451
|
+
gap: 2rem;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
.ec-hero-display {
|
|
455
|
+
background: var(--ec-hero-bg);
|
|
456
|
+
border-radius: 1rem;
|
|
457
|
+
padding: 2rem;
|
|
458
|
+
color: var(--n-primary-on);
|
|
459
|
+
display: flex;
|
|
460
|
+
flex-direction: column;
|
|
461
|
+
gap: 1.5rem;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.ec-hero-top {
|
|
465
|
+
display: flex;
|
|
466
|
+
justify-content: space-between;
|
|
467
|
+
align-items: flex-start;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.ec-display-title {
|
|
471
|
+
font-size: 0.65rem;
|
|
472
|
+
font-weight: 900;
|
|
473
|
+
text-transform: uppercase;
|
|
474
|
+
color: var(--ec-hero-label);
|
|
475
|
+
letter-spacing: 0.1em;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
.ec-main-value-row {
|
|
479
|
+
display: flex;
|
|
480
|
+
align-items: baseline;
|
|
481
|
+
gap: 0.5rem;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
.ec-main-value {
|
|
485
|
+
font-size: 5rem;
|
|
486
|
+
font-weight: 900;
|
|
487
|
+
color: var(--n-primary-on);
|
|
488
|
+
line-height: 1;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
.ec-main-unit {
|
|
492
|
+
font-size: 1.2rem;
|
|
493
|
+
font-weight: 700;
|
|
494
|
+
opacity: 0.4;
|
|
495
|
+
color: var(--n-primary-on);
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.ec-fuel-badge {
|
|
499
|
+
font-size: 0.85rem;
|
|
500
|
+
font-weight: 900;
|
|
501
|
+
color: var(--ec-hero-label);
|
|
502
|
+
letter-spacing: 0.05em;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
.ec-progress-track {
|
|
506
|
+
height: 10px;
|
|
507
|
+
background: rgba(255, 255, 255, 0.1);
|
|
508
|
+
border-radius: 5px;
|
|
509
|
+
position: relative;
|
|
510
|
+
overflow: hidden;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
.ec-progress-fill {
|
|
514
|
+
height: 100%;
|
|
515
|
+
background: linear-gradient(90deg, var(--n-error) 0%, var(--n-cyan) 100%);
|
|
516
|
+
width: 0%;
|
|
517
|
+
transition: width 0.8s ease-out;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
.ec-marker {
|
|
521
|
+
position: absolute;
|
|
522
|
+
top: 0;
|
|
523
|
+
bottom: 0;
|
|
524
|
+
width: 2px;
|
|
525
|
+
background: var(--n-primary-on);
|
|
526
|
+
z-index: 2;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.ec-stats-grid {
|
|
530
|
+
display: grid;
|
|
531
|
+
grid-template-columns: repeat(2, 1fr);
|
|
532
|
+
gap: 1rem;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
.ec-stat-card {
|
|
536
|
+
background: var(--n-bg-muted);
|
|
537
|
+
border: 1px solid var(--n-border);
|
|
538
|
+
border-radius: 0.75rem;
|
|
539
|
+
padding: 1rem;
|
|
540
|
+
display: flex;
|
|
541
|
+
flex-direction: column;
|
|
542
|
+
gap: 0.2rem;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.ec-stat-label {
|
|
546
|
+
font-size: 0.6rem;
|
|
547
|
+
font-weight: 800;
|
|
548
|
+
text-transform: uppercase;
|
|
549
|
+
color: var(--n-text-muted);
|
|
550
|
+
letter-spacing: 0.06em;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
.ec-stat-value {
|
|
554
|
+
font-size: 1.4rem;
|
|
555
|
+
font-weight: 900;
|
|
556
|
+
color: var(--n-text);
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
.ec-stat-value.danger {
|
|
560
|
+
color: var(--n-error);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
.ec-stat-card.hidden {
|
|
564
|
+
display: none;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
.ec-inverter-card {
|
|
568
|
+
padding: 1.5rem;
|
|
569
|
+
background: var(--n-bg-muted);
|
|
570
|
+
border: 1px dashed var(--n-border);
|
|
571
|
+
border-radius: 1rem;
|
|
572
|
+
display: flex;
|
|
573
|
+
flex-direction: column;
|
|
574
|
+
gap: 1rem;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.ec-inverter-header {
|
|
578
|
+
font-size: 0.75rem;
|
|
579
|
+
font-weight: 900;
|
|
580
|
+
text-transform: uppercase;
|
|
581
|
+
color: var(--n-cyan);
|
|
582
|
+
letter-spacing: 0.06em;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
.ec-inverter-row {
|
|
586
|
+
display: grid;
|
|
587
|
+
grid-template-columns: 1fr 1fr;
|
|
588
|
+
gap: 1.5rem;
|
|
589
|
+
align-items: center;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.ec-inverter-label {
|
|
593
|
+
font-size: 0.65rem;
|
|
594
|
+
font-weight: 800;
|
|
595
|
+
text-transform: uppercase;
|
|
596
|
+
color: var(--n-text-muted);
|
|
597
|
+
margin-bottom: 0.3rem;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.ec-inverter-value {
|
|
601
|
+
font-size: 2rem;
|
|
602
|
+
font-weight: 900;
|
|
603
|
+
color: var(--n-cyan);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
.ec-inverter-unit {
|
|
607
|
+
font-size: 0.85rem;
|
|
608
|
+
color: var(--n-text-muted);
|
|
609
|
+
font-weight: 700;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
.ec-warning-bar {
|
|
613
|
+
background: color-mix(in srgb, var(--n-error), transparent 90%);
|
|
614
|
+
padding: 0.8rem 1.2rem;
|
|
615
|
+
border-radius: 0.5rem;
|
|
616
|
+
display: flex;
|
|
617
|
+
align-items: center;
|
|
618
|
+
gap: 0.6rem;
|
|
619
|
+
font-size: 0.75rem;
|
|
620
|
+
font-weight: 600;
|
|
621
|
+
color: var(--n-error);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
.ec-warning-icon {
|
|
625
|
+
font-size: 1rem;
|
|
626
|
+
flex-shrink: 0;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
@media (max-width: 800px) {
|
|
630
|
+
.ec-main-container {
|
|
631
|
+
grid-template-columns: 1fr;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.ec-sidebar-inputs {
|
|
635
|
+
border-right: none;
|
|
636
|
+
border-bottom: 1px solid var(--n-border);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
@media (max-width: 480px) {
|
|
641
|
+
.ec-main-value {
|
|
642
|
+
font-size: 2.8rem;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
.ec-stats-grid {
|
|
646
|
+
grid-template-columns: 1fr;
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
</style>
|
|
@@ -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 = 'reichweiten-rechner-de';
|
|
5
|
+
const title = 'Reichweiten Rechner für Motorboote';
|
|
6
|
+
const description =
|
|
7
|
+
'Berechnen Sie Ihre maximale Reichweite und Sicherheitsdistanz basierend auf Kraftstoffverbrauch, Tankkapazität und Reisegeschwindigkeit. Kraftstoffmanagement für Motorboote.';
|
|
8
|
+
|
|
9
|
+
const ui: EnduranceUI = {
|
|
10
|
+
tankCapacityLabel: 'Tankkapazität',
|
|
11
|
+
mainTankLabel: 'Haupttank',
|
|
12
|
+
auxTankLabel: 'Zusatztank',
|
|
13
|
+
currentFuelLabel: 'Aktueller Kraftstoffstand',
|
|
14
|
+
seaConditionsLabel: 'See- / Windbedingungen',
|
|
15
|
+
consumptionLabel: 'Theoretischer Verbrauch',
|
|
16
|
+
cruiseSpeedLabel: 'Reisegeschwindigkeit',
|
|
17
|
+
reserveLabel: 'Reserve',
|
|
18
|
+
fuelPriceLabel: 'Preis pro Liter',
|
|
19
|
+
maxRangeLabel: 'Maximale Reichweite',
|
|
20
|
+
realPerformanceLabel: 'Tatsächliche Leistung',
|
|
21
|
+
hoursLabel: 'Autonomie in Stunden',
|
|
22
|
+
safeMilesLabel: 'Sichere Meilen',
|
|
23
|
+
tankValueLabel: 'Tankwert',
|
|
24
|
+
inverseCalcLabel: 'Rückwärtsrechnung: Wie viel muss ich nachtanken?',
|
|
25
|
+
desiredDistLabel: 'Gewünschte Distanz',
|
|
26
|
+
minFuelLabel: 'Benötigter Mindestkraftstoff',
|
|
27
|
+
warningLabel: 'Erinnerung: Eine Reserve von 20% ist das absolute Minimum, das für die nautische Sicherheit empfohlen wird.',
|
|
28
|
+
seaCalm: 'Ruhig (1.0x)',
|
|
29
|
+
seaLight: 'Leichter Wellengang (+15%)',
|
|
30
|
+
seaModerate: 'Mäßiger Wellengang (+30%)',
|
|
31
|
+
seaStorm: 'Sturm (+60%)',
|
|
32
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
33
|
+
bibliographyTitle: 'Bibliografie',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const faq: EnduranceLocaleContent['faq'] = [
|
|
37
|
+
{
|
|
38
|
+
question: 'Wie wird die Autonomie eines Motorboots berechnet?',
|
|
39
|
+
answer: 'Die Autonomie wird berechnet, indem der verfügbare Kraftstoff durch den Stundenverbrauch geteilt wird, um die Gesamtstunden zu erhalten, und diese Zeit dann mit der Reisegeschwindigkeit multipliziert wird. Das Tool berücksichtigt zudem einen Seegangsfaktor, um reale Navigationsbedingungen widerzuspiegeln.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'Warum wird in der Seefahrt eine Reserve von 20% empfohlen?',
|
|
43
|
+
answer: 'Die 20%-Reserve ist ein nautischer Sicherheitsstandard, der ausreichend Kraftstoff für unvorhergesehene Ereignisse garantiert: Gegenströmungen, Umwege wegen schlechten Wetters, Schätzfehler beim Verbrauch oder die Notwendigkeit, einem anderen Schiff zu helfen. Viele Versicherer und Hafenbehörden betrachten dies als obligatorisch.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
question: 'Was ist die L/NM-Leistung und wie beeinflusst sie die Planung?',
|
|
47
|
+
answer: 'Die Leistung in Litern pro Seemeile (L/NM) gibt die tatsächliche Effizienz des Motors unter Seebedingungen an. Im Gegensatz zum Stundenverbrauch ermöglicht sie die genaue Berechnung des Kraftstoffbedarfs für eine bestimmte Strecke, unabhängig von der Geschwindigkeit.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
question: 'Wie wirkt sich der Seegang auf den tatsächlichen Verbrauch aus?',
|
|
51
|
+
answer: 'Der Seegang erhöht den Verbrauch, da der Rumpf stärker gegen Wasser- und Windwiderstand arbeiten muss. Bei leichtem Wellengang steigt der Verbrauch um 15%, bei mäßigem um 30% und bei Sturm kann er um 60% oder mehr sprunghaft ansteigen. Das Ignorieren dieses Faktors kann dazu führen, dass einem Schiff der Kraftstoff ausgeht, bevor es den Hafen erreicht.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const howTo: EnduranceLocaleContent['howTo'] = [
|
|
56
|
+
{
|
|
57
|
+
name: 'Geben Sie Ihre Tankkapazität ein',
|
|
58
|
+
text: 'Tragen Sie die Liter des Haupttanks und des Zusatztanks ein, falls vorhanden. Das Tool berechnet den aktuellen Füllstand in Prozent.',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Geben Sie den aktuellen Kraftstoffstand ein',
|
|
62
|
+
text: 'Tragen Sie die tatsächliche Litermenge ein, die Sie gerade haben. Sie können diese am Füllstandsanzeiger ablesen oder anhand der letzten Betankung schätzen.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Passen Sie die Navigationsbedingungen an',
|
|
66
|
+
text: 'Wählen Sie den für Ihre Überfahrt erwarteten Seegang aus. Der Seegangsfaktor korrigiert den theoretischen Verbrauch auf den erwarteten realen Verbrauch.',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Geben Sie Verbrauch und Reisegeschwindigkeit ein',
|
|
70
|
+
text: 'Nutzen Sie Herstellerangaben oder eigene Aufzeichnungen für den Stundenverbrauch und die Geschwindigkeit, mit der Sie gewöhnlich navigieren.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'Prüfen Sie die sichere Distanz und Rückwärtsrechnung',
|
|
74
|
+
text: 'Das Tool zeigt an, wie viele Meilen Sie sicher zurücklegen können und wie viel Kraftstoff Sie benötigen, um ein bestimmtes Ziel zu erreichen.',
|
|
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: 'Kraftstoffmanagement und Autonomie in der Motorschifffahrt',
|
|
93
|
+
level: 2,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
type: 'paragraph',
|
|
97
|
+
html: 'Die <strong>nautische Autonomie</strong> ist eine der kritischsten Berechnungen vor dem Auslaufen mit einem Motorboot. Genau zu wissen, wie viele Meilen Sie mit dem verfügbaren Kraftstoff zurücklegen können, ist der Unterschied zwischen einer geplanten Überfahrt und einem Notfall auf See.',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: 'Dieser Reichweiten-Rechner integriert den <strong>Seegangsfaktor</strong>, den Prozentsatz der Sicherheitsreserve und die Kraftstoff-Rückwärtsrechnung, damit das Kraftstoffmanagement in jeder Situation vollständig und zuverlässig ist.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'Die goldene Regel: Die Drittel-Regel',
|
|
106
|
+
level: 3,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'Die klassische Regel des Kraftstoffmanagements in der Seefahrt teilt den Tank in drei gleiche Teile auf, um stets eine Sicherheitsmarge zu garantieren:',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'list',
|
|
114
|
+
items: [
|
|
115
|
+
'<strong>Ein Drittel für die Hinfahrt:</strong> Der benötigte Kraftstoff, um das geplante Ziel zu erreichen.',
|
|
116
|
+
'<strong>Ein Drittel für die Rückfahrt:</strong> Der Kraftstoff, um zum Abfahrtshafen oder dem nächstgelegenen Hafen zurückzukehren.',
|
|
117
|
+
'<strong>Ein Drittel als Reserve:</strong> Die Sicherheitsmarge für unvorhergesehene Ereignisse, Strömungen oder widrige Bedingungen.',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: 'paragraph',
|
|
122
|
+
html: 'Im Rechner können Sie den Reserve-Prozentsatz nach Ihren eigenen Kriterien festlegen, wobei <strong>weniger als 20% niemals empfohlen wird</strong>. Bei größeren Tanks oder langen Überfahrten erhöhen viele erfahrene Skipper diese Marge auf 30% oder sogar 33%.',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Faktoren, die den Verbrauch beeinflussen (l/h)',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'paragraph',
|
|
131
|
+
html: 'Der theoretische Verbrauch des Herstellers wird unter idealen Laborbedingungen berechnet. In der Praxis verändern multiple Faktoren den <strong>tatsächlichen Kraftstoffverbrauch</strong>. Die Rumpfgeschwindigkeit ist dabei am entscheidendsten: Das Navigieren oberhalb der wirtschaftlichen Geschwindigkeit kann den Verbrauch pro zurückgelegter Meile verdoppeln oder verdreifachen.',
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'table',
|
|
135
|
+
headers: ['Navigationszustand', 'Auswirkung auf die Autonomie', 'Empfehlung'],
|
|
136
|
+
rows: [
|
|
137
|
+
['<strong>Bewachsener Rumpf</strong>', 'Reduziert die Autonomie um bis zu 20%', 'Reinigen Sie den Rumpf vor der Saison'],
|
|
138
|
+
['<strong>Gegenströmung</strong>', 'Kann die effektive Geschwindigkeit um 30% senken', 'Rechnen Sie immer mit der Geschwindigkeit über Grund'],
|
|
139
|
+
['<strong>Gegenwind</strong>', 'Erhöht Widerstand und Verbrauch um 10-25%', 'Nutzen Sie den Faktor für leichten oder mäßigen Wellengang'],
|
|
140
|
+
['<strong>Überladung</strong>', 'Erhöht Tiefgang und Widerstand', 'Wiegen Sie Ausrüstung und Vorräte vor der Berechnung'],
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Technisches Glossar zur Autonomie',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'glossary',
|
|
150
|
+
items: [
|
|
151
|
+
{ term: 'Leistung (L/NM)', definition: 'Verbrauchte Liter Kraftstoff pro zurückgelegter Seemeile. Der nützlichste Indikator für die Planung von Überfahrten, da er den Verbrauch mit der tatsächlichen Distanz verknüpft.' },
|
|
152
|
+
{ term: 'Reisegeschwindigkeit', definition: 'Die optimale Geschwindigkeit, bei der der Motor das beste Gleichgewicht zwischen Schnelligkeit und Verbrauch bietet. In der Regel zwischen 70% und 80% der Höchstleistung.' },
|
|
153
|
+
{ term: 'Kritische Reserve', definition: 'Der Prozentsatz des Tanks, der niemals verbraucht werden darf. Ein Minimum von 20% wird empfohlen, um Unvorhergesehenes abzudecken und das Eindringen von Luft in das Kraftstoffsystem zu verhindern.' },
|
|
154
|
+
{ term: 'Spezifischer Verbrauch', definition: 'Gramm Kraftstoff pro Kilowattstunde erzeugter Leistung (g/kWh). Technisches Motorenmaß, das den Effizienzvergleich zwischen verschiedenen Antriebssystemen ermöglicht.' },
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'title',
|
|
159
|
+
text: 'Die Gefahr von Schlamm und Bewegung',
|
|
160
|
+
level: 3,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'paragraph',
|
|
164
|
+
html: 'Eine häufige Problemquelle auf Schiffen mit niedrigem Kraftstoffstand ist <strong>Tankschlamm</strong>. Wenn der Stand zu weit sinkt, können sich über Jahre angesammelte Sedimente bis zum Filter bewegen und ihn verstopfen, wodurch der Motor ausfällt, obwohl die Anzeige noch einige Liter anzeigt.',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'paragraph',
|
|
168
|
+
html: 'Auch die Bewegung des Bootes bei Seegang mit wenig Kraftstoff kann Probleme verursachen: Die Flüssigkeit schwankt mit den Wellen und kann die Kraftstoffpumpe kurzzeitig trockenlaufen lassen. Das Einhalten der Reserve stellt sicher, dass dies nicht in einem kritischen Moment wie einem Hafenmanöver passiert.',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'tip',
|
|
172
|
+
title: 'Tipp zum Kraftstoffsparen',
|
|
173
|
+
html: 'Eine Verringerung der Geschwindigkeit um 10-15% unter Ihre übliche Reisegeschwindigkeit kann die Effizienz um bis zu 30% steigern. Wenn Sie Zeit haben und das Wetter günstig ist, ist langsomeres Fahren immer die wirtschaftlichste und sicherste Entscheidung.',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'title',
|
|
177
|
+
text: 'Unterschied zwischen Seemeilen (NM) und Kilometern',
|
|
178
|
+
level: 3,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'paragraph',
|
|
182
|
+
html: 'Eine <strong>Seemeile</strong> entspricht 1.852 Metern (1,852 km) und ist die universelle Distanzeinheit in der maritimen und aeronautischen Navigation. Sie basiert auf einer Bogenminute eines Breitengrades, was sie ideal für die Navigation mit Seekarten in geografischen Koordinaten macht. Die Geschwindigkeit in Seemeilen pro Stunde wird Knoten (kn) genannt.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: 'comparative',
|
|
186
|
+
items: [
|
|
187
|
+
{
|
|
188
|
+
title: 'Analoge Nadelanzeige',
|
|
189
|
+
description: 'Traditionelles Schwimmersystem',
|
|
190
|
+
points: [
|
|
191
|
+
'Geringe Kosten und einfache Installation',
|
|
192
|
+
'Benötigt keinen Strom für den Betrieb',
|
|
193
|
+
'Ungenau bei unruhiger See durch Kraftstoffbewegung',
|
|
194
|
+
'Zeigt weder Verbrauch noch geschätzte Autonomie an',
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
title: 'Digitaler Durchflussrechner',
|
|
199
|
+
description: 'Elektronische Durchflusssensoren',
|
|
200
|
+
highlight: true,
|
|
201
|
+
points: [
|
|
202
|
+
'1-2% Genauigkeit beim realen Verbrauch',
|
|
203
|
+
'Zeigt Autonomie, Verbrauch und Kosten in Echtzeit an',
|
|
204
|
+
'Integrierbar in Kartenplotter und NMEA 2000',
|
|
205
|
+
'Erfordert initiale Kalibrierung und Wartung',
|
|
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: `Bedienungsanleitung: ${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
|
+
};
|