@jjlmoya/utils-aquarium 1.58.0 → 1.60.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 (36) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -1
  4. package/src/tests/i18n_coverage.test.ts +1 -1
  5. package/src/tests/tool_validation.test.ts +4 -3
  6. package/src/tool/aquariumLightingPhotoperiodPlanner/aquarium-lighting-photoperiod-planner.css +667 -0
  7. package/src/tool/aquariumLightingPhotoperiodPlanner/bibliography.astro +6 -0
  8. package/src/tool/aquariumLightingPhotoperiodPlanner/bibliography.ts +12 -0
  9. package/src/tool/aquariumLightingPhotoperiodPlanner/component.astro +94 -0
  10. package/src/tool/aquariumLightingPhotoperiodPlanner/controller.ts +191 -0
  11. package/src/tool/aquariumLightingPhotoperiodPlanner/dom-views.test.ts +27 -0
  12. package/src/tool/aquariumLightingPhotoperiodPlanner/dom-views.ts +199 -0
  13. package/src/tool/aquariumLightingPhotoperiodPlanner/entry.ts +29 -0
  14. package/src/tool/aquariumLightingPhotoperiodPlanner/evaluator.ts +47 -0
  15. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/de.ts +127 -0
  16. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/en.ts +127 -0
  17. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/es.ts +112 -0
  18. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/fr.ts +112 -0
  19. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/id.ts +112 -0
  20. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/it.ts +112 -0
  21. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ja.ts +112 -0
  22. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ko.ts +112 -0
  23. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/nl.ts +112 -0
  24. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/pl.ts +112 -0
  25. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/pt.ts +112 -0
  26. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ru.ts +112 -0
  27. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/sv.ts +112 -0
  28. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/tr.ts +112 -0
  29. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/zh.ts +112 -0
  30. package/src/tool/aquariumLightingPhotoperiodPlanner/index.ts +11 -0
  31. package/src/tool/aquariumLightingPhotoperiodPlanner/logic.test.ts +125 -0
  32. package/src/tool/aquariumLightingPhotoperiodPlanner/logic.ts +258 -0
  33. package/src/tool/aquariumLightingPhotoperiodPlanner/seo.astro +13 -0
  34. package/src/tool/aquariumLightingPhotoperiodPlanner/storage.ts +43 -0
  35. package/src/tool/aquariumLightingPhotoperiodPlanner/ui.ts +46 -0
  36. package/src/tools.ts +6 -0
@@ -0,0 +1,127 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import type { AquariumLightingPhotoperiodPlannerLocaleContent } from '../entry';
3
+
4
+ const faq = [
5
+ {
6
+ question: 'Wie viele Stunden sollte una Acuarienbeleuchtung eingeschaltet sein?',
7
+ answer: 'Ein üblicher Orientierungswert liegt zwischen 6 und 10 Stunden, jedoch hängt der genaue Bedarf vom Aquarientyp, der Bepflanzung und den gepflegten Arten ab. Dieser Planer macht diese Annahme transparent, anstatt eine universelle Zahl vorzugeben.',
8
+ },
9
+ {
10
+ question: 'Warum sind Dimmphasen wie Sonnenaufgang und Sonnenuntergang sinnvoll?',
11
+ answer: 'Dimmbare Leuchten ermöglichen einen sanften Übergang in die Hauptbeleuchtungsphase und zurück. Dies sorgt für eine ruhigere Kulisse im Schaubecken und lässt sich gut an Beobachtungszeiten anpassen, ersetzt aber keine artspezifische Pflegeanleitung.',
12
+ },
13
+ {
14
+ question: 'Verhindert dieser Planer das Wachstum von Algen?',
15
+ answer: 'Nein. Er erstellt einen gleichmäßigen Schaltuhr-Ablauf und warnt bei Beleuchtungszeiten außerhalb des gewählten Rahmens. Algenwachstum wird ebenso von Nährstoffen, Pflanzengesundheit, Pflegeintervallen und Sonneneinstrahlung beeinflusst.',
16
+ },
17
+ {
18
+ question: 'Sollte das Licht jeden Tag zur gleichen Zeit brennen?',
19
+ answer: 'Ein stabiler Tagesrhythmus ist nachhaltiger als unregelmäßiges manuelles Schalten. Die Wochenansicht wiederholt denselben Zyklus an sieben Tagen, wobei die Gesamtdauer mit dem Besatz und dem Raumlicht abgestimmt sein sollte.',
20
+ },
21
+ {
22
+ question: 'Was tun, wenn die Aquarienleuchte nicht dimmbar ist?',
23
+ answer: 'Stellen Sie beide Dimmregler auf Null. Der Planer zeigt dann eine direkte Ein- und Ausschaltzeit an, die Sie direkt in eine Standard-Schaltuhr übernehmen können.',
24
+ },
25
+ ];
26
+
27
+ const howTo = [
28
+ { name: 'Aquarientyp auswählen', text: 'Wählen Sie Tropisches Süßwasser, Kaltwasser oder Meerwasser, um den passenden Orientierungsrahmen zu bestimmen.' },
29
+ { name: 'Pflanzenprofil festlegen', text: 'Wählen Sie zwischen keinen Lebendpflanzen, Anfdängerpflanzen mit geringem Lichtbedarf oder anspruchsvollen Pflanzen.' },
30
+ { name: 'Startzeit und Dauer eingeben', text: 'Geben Sie den Beginn des Beleuchtungszyklus an und wählen Sie die Photoperiode über den Schieberegler.' },
31
+ { name: 'Optionale Dimmphasen hinzufügen', text: 'Nutzen Sie die Auf- und Abdimmzeiten nur, wenn Ihre Leuchte Dimmfunktionen unterstützt.' },
32
+ { name: 'Schaltplan ablesen', text: 'Verwenden Sie das Beleuchtungsfenster und die Volllichtdauer zum Programmieren Ihrer Schaltuhr.' },
33
+ ];
34
+
35
+ const ui = {
36
+ controlsLabel: 'Beleuchtungsplan konfigurieren',
37
+ aquariumTypeLabel: 'Aquarientyp',
38
+ aquariumTypeTropical: 'Tropisches Süßwasser',
39
+ aquariumTypeColdwater: 'Kaltwasser',
40
+ aquariumTypeMarine: 'Meerwasser',
41
+ plantProfileLabel: 'Pflanzen- und Lichtprofil',
42
+ plantProfileNone: 'Keine Lebendpflanzen',
43
+ plantProfileLow: 'Wenig Licht benötigende Pflanzen',
44
+ plantProfileHigh: 'Lichtintensive Pflanzen',
45
+ startTimeLabel: 'Startzeit des Tageszyklus',
46
+ photoperiodLabel: 'Photoperiode Gesamtdauer',
47
+ intensityLabel: 'Einstellung der Lampenleistung',
48
+ rampUpLabel: 'Sonnenaufgang Aufdimmen',
49
+ rampDownLabel: 'Sonnenuntergang Abdimmen',
50
+ optionalRampsLabel: 'Optionale Dimmphasen',
51
+ optionalRampsSummary: 'Nur bei dimmbaren Leuchten öffnen',
52
+ hoursUnit: 'Std',
53
+ minutesUnit: 'Min',
54
+ statusBelow: 'Unter dem Zielbereich',
55
+ statusInside: 'Im Zielbereich',
56
+ statusAbove: 'Über dem Zielbereich',
57
+ targetBandLabel: 'Orientierungsrahmen',
58
+ lightWindowLabel: 'Beleuchtungsfenster',
59
+ fullIntensityLabel: 'Volle Lichtintensität',
60
+ fixtureLevelLabel: 'Lampenstufe',
61
+ lightsOnLabel: 'Licht an',
62
+ fullLightLabel: 'Volllicht',
63
+ lightsOffLabel: 'Licht aus',
64
+ dayNightLabel: 'Tag und Nacht Verlauf',
65
+ fullDayLabel: '24 Stunden Uhr',
66
+ dailyRepeatLabel: 'wiederholt sich täglich',
67
+ co2Label: 'CO₂ Leitfaden',
68
+ co2Hint: 'Empfohlene Schaltzeit für Pflanzenaquarien',
69
+ phaseDark: 'Dunkel',
70
+ phaseRampUp: 'Aufdimmen',
71
+ phaseFull: 'Volllicht',
72
+ phaseRampDown: 'Abdimmen',
73
+ adjustmentBelow: 'Der Zyklus ist um {hours} Stunden zu kurz. Prüfen Sie die Pflegeanforderungen Ihrer Arten vor einer Verlängerung.',
74
+ adjustmentInside: 'Guter Ausgangspunkt. Halten Sie diese Schaltuhrzeit stabil und verändern Sie Parameter stets einzeln.',
75
+ adjustmentAbove: 'Der Zyklus ist um {hours} Stunden zu lang. Mehr Licht ersetzt keine fehlenden Nährstoffe und begünstigt Algen.',
76
+ limitsText: 'Nur als Orientierung. Ersetzt keine Messung der Lichtstärke, Wasserwerte oder das Tierwohl.',
77
+ };
78
+
79
+ const softwareApplicationSchema: WithContext<SoftwareApplication> = {
80
+ '@context': 'https://schema.org',
81
+ '@type': 'SoftwareApplication',
82
+ name: 'Aquarien Beleuchtungsplaner',
83
+ applicationCategory: 'UtilitiesApplication',
84
+ operatingSystem: 'Web',
85
+ description: 'Erstellen Sie einen wiederholbaren Beleuchtungsplan für Ihr Aquarium basierend auf Aquarientyp, Bepflanzung und Dimmzeiten.',
86
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
87
+ };
88
+
89
+ const faqSchema: WithContext<FAQPage> = {
90
+ '@context': 'https://schema.org',
91
+ '@type': 'FAQPage',
92
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
93
+ };
94
+
95
+ const howToSchema: WithContext<HowTo> = {
96
+ '@context': 'https://schema.org',
97
+ '@type': 'HowTo',
98
+ name: 'Einen Aquarien Beleuchtungsplan erstellen',
99
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
100
+ };
101
+
102
+ export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
103
+ slug: 'planer-beleuchtungsdauer-photoperiode-aquarium',
104
+ title: 'Planer für Aquarienbeleuchtung und Photoperiode',
105
+ description: 'Erstellen Sie einen verlässlichen Beleuchtungsplan für Ihr Aquarium aus Aquarientyp, Pflanzenbesatz, Startzeit und Dimmphasen.',
106
+ ui,
107
+ seo: [
108
+ { type: 'title', level: 2, text: 'Warum ein wiederholbarer Beleuchtungszyklus entscheidend ist' },
109
+ { type: 'paragraph', html: 'Die Beurteilung der Aquarienbeleuchtung gelingt am besten mit einer gleichbleibenden täglichen Schaltung. Wichtige Faktoren sind die Gesamtdauer des Lichts, die Tageszeit der Beleuchtungsphase sowie steuerbare Übergänge. Ein verlässlicher Rhythmus bildet die Grundlage zur Beobachtung von Pflanzenwachstum und Fischverhalten.' },
110
+ { type: 'title', level: 2, text: 'Die richtige Photoperiode als Ausgangspunkt' },
111
+ { type: 'paragraph', html: 'Der Planer kombiniert den gewählten Aquarientyp mit dem Pflanzenprofil zu einem empfohlenen Zeitfenster. Fachverbände wie der OATA empfehlen 6 bis 8 Stunden als allgemeinen Richtwert für Pflanzenaquarien, der bei gedimmten Phasen an den Rändern auf 10 bis 12 Stunden erweitert werden kann.' },
112
+ { type: 'table', headers: ['Profil', 'Orientierungsrahmen', 'Verwendung als'], rows: [['Tropisches Süßwasser ohne Lebendpflanzen', '7 bis 8 Stunden', 'Konservative Basis für Schaubecken'], ['Tropisches Süßwasser mit lichtarmen Pflanzen', '7 bis 9 Stunden', 'Ausgewogener Startwert für Pflanzenaquarien'], ['Tropisches Süßwasser mit lichtintensiven Pflanzen', '8 bis 10 Stunden', 'Erweiterter Rahmen für anspruchsvolles Wachstum'], ['Meerwasser ohne Lebendpflanzen', '8 Stunden', 'Konservativer Startwert für Meerwasseraquarien']] },
113
+ { type: 'title', level: 2, text: 'Funktion von Sonnenaufgangs und Untergangsphasen' },
114
+ { type: 'paragraph', html: 'Sanfte Dimmphasen dienen der zeitlichen Steuerung und messen nicht die tatsächliche Lichtausbeute der Leuchte. Nutzen Sie diese Option nur bei dimmbaren Systemen. Bei einfachen Leuchten ohne Dimmfunktion stellen Sie die Übergangszeiten auf 0 Minuten ein.' },
115
+ { type: 'title', level: 2, text: 'Praktische Schritte zur Anpassung' },
116
+ { type: 'list', items: ['Beginnen Sie mit der kürzesten Beleuchtungsdauer, die zu Ihrem Besatz passt.', 'Lassen Sie die Einstellungen über mehrere Wochen unverändert, um die Entwicklung zu beobachten.', 'Vermeiden Sie direkte Sonneneinstrahlung auf das Aquarium.', 'Verändern Sie bei Anpassungen immer nur einen Parameter gleichzeitig.', 'Beachten Sie stets die speziellen Pflegeanleitungen der gehaltenen Tier- und Pflanzenarten.'] },
117
+ { type: 'tip', title: 'Ein Beleuchtungsplan ersetzt keine Algenanalyse', html: 'Bei vermehrtem Algenwachstum ist selten allein die Schaltuhr verantwortlich. Überprüfen Sie stets auch Nährstoffgehalt, Düngung, Wasserwechsel und Bepflanzungsdichte.' },
118
+ { type: 'diagnostic', variant: 'warning', title: 'Der Orientierungsrahmen ist keine Tierwohlgarantie', badge: 'Grenzen', html: 'Das Ergebnis misst weder Lux, PAR, Lichtspektrum noch Wasserchemie oder Sauerstoffgehalt. Es dient der Strukturierung des Tagesablaufs im Aquarium.' },
119
+ ],
120
+ faq,
121
+ bibliography: [
122
+ { name: 'OATA, How to set up a planted aquarium', url: 'https://ornamentalfish.org/what-we-do/advice-information/care-sheets/caresheets-tropical-freshwater-fish/how-to-set-up-a-planted-aquarium/' },
123
+ { name: 'Deutscher Tierschutzbund, Die Haltung von Aquarienfischen', url: 'https://www.tierschutzbund.de/fileadmin/Seiten/tierschutzbund.de/Downloads/Broschueren/Broschuere_Aquarienfische_Haltung.pdf' },
124
+ ],
125
+ howTo,
126
+ schemas: [softwareApplicationSchema, faqSchema, howToSchema],
127
+ };
@@ -0,0 +1,127 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import type { AquariumLightingPhotoperiodPlannerLocaleContent } from '../entry';
3
+
4
+ const faq = [
5
+ {
6
+ question: 'How many hours should an aquarium light be on?',
7
+ answer: 'A common starting window is 6 to 10 hours, but the useful range depends on the aquarium type, plants and species. This planner makes that assumption visible instead of presenting one universal number.',
8
+ },
9
+ {
10
+ question: 'Why use a ramp up and ramp down period?',
11
+ answer: 'A dimmable light can transition into and out of the main photoperiod. Ramps create a gentler change for the display and make the schedule easier to align with observation time, but they do not replace species specific care guidance.',
12
+ },
13
+ {
14
+ question: 'Does this planner prevent algae?',
15
+ answer: 'No. It creates a consistent timer schedule and flags a photoperiod outside the selected planning window. Algae also depends on nutrients, plant health, maintenance, sunlight and many other conditions.',
16
+ },
17
+ {
18
+ question: 'Should aquarium lights stay on every day?',
19
+ answer: 'A stable daily cycle is easier to maintain than irregular manual switching. The weekly view repeats the same cycle across seven days, while the correct duration still needs to be checked against the animals, plants and room light.',
20
+ },
21
+ {
22
+ question: 'What if my light cannot dim?',
23
+ answer: 'Set both ramp controls to zero. The planner will show a direct on and off schedule, which you can enter into a timer. Do not treat the visual ramp as a claim that a non dimmable fixture can create intermediate intensity.',
24
+ },
25
+ ];
26
+
27
+ const howTo = [
28
+ { name: 'Choose the aquarium type', text: 'Select tropical freshwater, coldwater or marine so the planning window reflects the broad context of the display.' },
29
+ { name: 'Describe the plant profile', text: 'Choose no live plants, low light plants or high light plants. Compare the result with the care requirements of your actual species.' },
30
+ { name: 'Set the start and duration', text: 'Enter the time the light cycle begins and use the photoperiod slider for the number of hours the lamp is on.' },
31
+ { name: 'Add optional transitions', text: 'Use ramp up and ramp down only when the fixture supports dimming. Set them to zero for a simple timer.' },
32
+ { name: 'Read the weekly schedule', text: 'Use the light window, full intensity period and status badge to program the timer, then observe the aquarium before making small adjustments.' },
33
+ ];
34
+
35
+ const ui = {
36
+ controlsLabel: 'Set your schedule',
37
+ aquariumTypeLabel: 'Aquarium type',
38
+ aquariumTypeTropical: 'Tropical freshwater',
39
+ aquariumTypeColdwater: 'Coldwater',
40
+ aquariumTypeMarine: 'Marine',
41
+ plantProfileLabel: 'Plant and light profile',
42
+ plantProfileNone: 'No live plants',
43
+ plantProfileLow: 'Low light plants',
44
+ plantProfileHigh: 'High light plants',
45
+ startTimeLabel: 'Cycle start time',
46
+ photoperiodLabel: 'Photoperiod',
47
+ intensityLabel: 'Fixture output setting',
48
+ rampUpLabel: 'Ramp up',
49
+ rampDownLabel: 'Ramp down',
50
+ optionalRampsLabel: 'Optional dimming ramps',
51
+ optionalRampsSummary: 'Open only if the fixture dims',
52
+ hoursUnit: 'hours',
53
+ minutesUnit: 'min',
54
+ statusBelow: 'Below the window',
55
+ statusInside: 'Inside the window',
56
+ statusAbove: 'Above the window',
57
+ targetBandLabel: 'Planning window',
58
+ lightWindowLabel: 'Light window',
59
+ fullIntensityLabel: 'Full intensity',
60
+ fixtureLevelLabel: 'Fixture level',
61
+ lightsOnLabel: 'lights on',
62
+ fullLightLabel: 'full light',
63
+ lightsOffLabel: 'lights off',
64
+ dayNightLabel: 'Day and night timeline',
65
+ fullDayLabel: '24 hour clock',
66
+ dailyRepeatLabel: 'repeats daily',
67
+ co2Label: 'CO₂ guide',
68
+ co2Hint: 'Suggested timing for a planted tank',
69
+ phaseDark: 'Dark',
70
+ phaseRampUp: 'Ramp up',
71
+ phaseFull: 'Full light',
72
+ phaseRampDown: 'Ramp down',
73
+ adjustmentBelow: 'The cycle is {hours} hours short. Compare species guidance before adding time.',
74
+ adjustmentInside: 'Good starting point. Keep this timer consistent and change one variable at a time.',
75
+ adjustmentAbove: 'The cycle is {hours} hours long. Extra light is not a cure for weak growth and may raise algae pressure.',
76
+ limitsText: 'Starting point only. It does not measure light intensity, water quality or animal welfare.',
77
+ };
78
+
79
+ const softwareApplicationSchema: WithContext<SoftwareApplication> = {
80
+ '@context': 'https://schema.org',
81
+ '@type': 'SoftwareApplication',
82
+ name: 'Aquarium Lighting Photoperiod Planner',
83
+ applicationCategory: 'UtilitiesApplication',
84
+ operatingSystem: 'Web',
85
+ description: 'Build a repeatable aquarium lighting schedule from aquarium type, plant profile, photoperiod and optional dimming ramps.',
86
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
87
+ };
88
+
89
+ const faqSchema: WithContext<FAQPage> = {
90
+ '@context': 'https://schema.org',
91
+ '@type': 'FAQPage',
92
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
93
+ };
94
+
95
+ const howToSchema: WithContext<HowTo> = {
96
+ '@context': 'https://schema.org',
97
+ '@type': 'HowTo',
98
+ name: 'Create an aquarium lighting schedule',
99
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
100
+ };
101
+
102
+ export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
103
+ slug: 'aquarium-lighting-photoperiod-schedule-planner',
104
+ title: 'Aquarium Lighting Photoperiod Schedule Planner',
105
+ description: 'Build a repeatable aquarium lighting schedule from the display type, plant profile, start time, photoperiod and optional dimming ramps.',
106
+ ui,
107
+ seo: [
108
+ { type: 'title', level: 2, text: 'Why a repeatable lighting cycle helps' },
109
+ { type: 'paragraph', html: 'Aquarium lighting is easier to assess when the timer follows a repeatable pattern. The important starting variables are the total photoperiod, the time of day when the aquarium is lit, and whether the fixture can create a controlled transition. A consistent schedule gives you a stable baseline for observing plants, fish behaviour and the appearance of the display.' },
110
+ { type: 'title', level: 2, text: 'How to choose a starting photoperiod' },
111
+ { type: 'paragraph', html: 'The planner combines the broad aquarium type with a plant and light profile to create a planning window. OATA recommends a timer and describes 6 to 8 hours as a general starting range for a planted aquarium, with up to 10 to 12 hours when the light is ramped at each end. That guidance is a starting point, not a promise that a specific fixture or plant will thrive.' },
112
+ { type: 'table', headers: ['Profile', 'Planning window', 'Use it as'], rows: [['Tropical freshwater with no live plants', '7 to 8 hours', 'A conservative display baseline'], ['Tropical freshwater with low light plants', '7 to 9 hours', 'A balanced planted starting point'], ['Tropical freshwater with high light plants', '8 to 10 hours', 'A longer window to compare with species guidance'], ['Marine with no live plants', '8 hours', 'A conservative marine starting point']] },
113
+ { type: 'title', level: 2, text: 'What ramps change and what they cannot change' },
114
+ { type: 'paragraph', html: 'A ramp up or ramp down is a timing transition, not a measurement of the fixture output. Use it only when the lamp can actually dim. The result separates transition time from full intensity so you can see how much of the cycle is spent at the main setting. If the fixture is on or off only, use zero minute ramps and program the light window directly.' },
115
+ { type: 'title', level: 2, text: 'A practical adjustment loop' },
116
+ { type: 'list', items: ['Start with the shortest photoperiod that fits the animals and plants you keep.', 'Keep the timer unchanged long enough to observe the aquarium under the same routine.', 'Check the fixture instructions and prevent direct sunlight from adding an unplanned light period.', 'If you change the duration, intensity, feeding or fertilisation, change one variable at a time.', 'Use species specific care information when the broad profile and the actual inhabitants disagree.'] },
117
+ { type: 'tip', title: 'A schedule cannot diagnose algae', html: 'If algae increases, do not assume that the timer is the only cause. Review light intensity, nutrients, feeding, plant growth, maintenance and sunlight together. The planner can make the time variable explicit, but it cannot establish causation.' },
118
+ { type: 'diagnostic', variant: 'warning', title: 'The planning window is not a welfare guarantee', badge: 'Limit', html: 'The result does not measure lux, PAR, spectrum, water chemistry, temperature, oxygen, animal stress or biological balance. Use it to program a repeatable routine, then follow current care information for every species in the aquarium.' },
119
+ ],
120
+ faq,
121
+ bibliography: [
122
+ { name: 'OATA, How to set up a planted aquarium', url: 'https://ornamentalfish.org/what-we-do/advice-information/care-sheets/caresheets-tropical-freshwater-fish/how-to-set-up-a-planted-aquarium/' },
123
+ { name: 'Deutscher Tierschutzbund, Die Haltung von Aquarienfischen', url: 'https://www.tierschutzbund.de/fileadmin/Seiten/tierschutzbund.de/Downloads/Broschueren/Broschuere_Aquarienfische_Haltung.pdf' },
124
+ ],
125
+ howTo,
126
+ schemas: [softwareApplicationSchema, faqSchema, howToSchema],
127
+ };
@@ -0,0 +1,112 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import type { AquariumLightingPhotoperiodPlannerLocaleContent } from '../entry';
3
+
4
+ const faq = [
5
+ { question: '¿Cuántas horas debe estar encendida la luz del acuario?', answer: 'Un rango inicial habitual es de 6 a 10 horas, pero la duración adecuada depende del tipo de acuario, las plantas y las especies. Este planificador muestra esa suposición de forma transparente.' },
6
+ { question: '¿Por qué usar un periodo de rampa progresiva?', answer: 'Una luz regulable permite una transición suave al inicio y al final de la fotoperiodo. Esto reduce el estrés en el acuario y facilita ajustar el horario a la observación, pero no sustituye la ficha de cada especie.' },
7
+ { question: '¿Previene las algas este planificador?', answer: 'No. Crea un horario de temporizador constante y avisa si la fotoperiodo se sale de la banda recomendada. Las algas también dependen de los nutrientes, la salud vegetal, el mantenimiento y la luz solar.' },
8
+ { question: '¿Deben encenderse las luces todos los días?', answer: 'Un ciclo diario estable es más fácil de mantener que encendidos manuales irregulares. La planificación repite el mismo ciclo los siete días de la semana.' },
9
+ { question: '¿Qué pasa si mi lámpara no es regulable?', answer: 'Ajusta ambas rampas a cero minutos. El planificador mostrará un horario directo de encendido y apagado apto para cualquier temporizador estándar.' },
10
+ ];
11
+
12
+ const howTo = [
13
+ { name: 'Selecciona el tipo de acuario', text: 'Elige dulce tropical, agua fría o marino para establecer el marco de planificación adecuado.' },
14
+ { name: 'Indica el perfil de plantas', text: 'Elige sin plantas vivas, plantas de requerimiento bajo o plantas exigentes.' },
15
+ { name: 'Ajusta el inicio y la duración', text: 'Introduce la hora a la que empieza el ciclo y ajusta las horas totales de luz mediante el selector.' },
16
+ { name: 'Añade rampas opcionales', text: 'Usa las rampas de amanecer y atardecer solo si tu pantalla permite regulación de intensidad.' },
17
+ { name: 'Programa tu temporizador', text: 'Consulta el horario de encendido, luz completa y apagado para configurar tu reloj temporizador.' },
18
+ ];
19
+
20
+ const ui = {
21
+ controlsLabel: 'Configura tu horario',
22
+ aquariumTypeLabel: 'Tipo de acuario',
23
+ aquariumTypeTropical: 'Dulce tropical',
24
+ aquariumTypeColdwater: 'Agua fría',
25
+ aquariumTypeMarine: 'Marino',
26
+ plantProfileLabel: 'Perfil de plantas y luz',
27
+ plantProfileNone: 'Sin plantas vivas',
28
+ plantProfileLow: 'Plantas de requerimiento bajo',
29
+ plantProfileHigh: 'Plantas exigentes en luz',
30
+ startTimeLabel: 'Hora de inicio del ciclo',
31
+ photoperiodLabel: 'Fotoperiodo total',
32
+ intensityLabel: 'Potencia configurada de la pantalla',
33
+ rampUpLabel: 'Rampa de encendido amanecer',
34
+ rampDownLabel: 'Rampa de apagado atardecer',
35
+ optionalRampsLabel: 'Rampas de regulación opcionales',
36
+ optionalRampsSummary: 'Abrir solo si la pantalla es regulable',
37
+ hoursUnit: 'h',
38
+ minutesUnit: 'min',
39
+ statusBelow: 'Por debajo de la banda',
40
+ statusInside: 'Dentro de la banda',
41
+ statusAbove: 'Por encima de la banda',
42
+ targetBandLabel: 'Banda de planificación',
43
+ lightWindowLabel: 'Ventana de iluminación',
44
+ fullIntensityLabel: 'Intensidad completa',
45
+ fixtureLevelLabel: 'Nivel de la pantalla',
46
+ lightsOnLabel: 'encendido',
47
+ fullLightLabel: 'luz completa',
48
+ lightsOffLabel: 'apagado',
49
+ dayNightLabel: 'Cronología de día y noche',
50
+ fullDayLabel: 'Reloj de 24 horas',
51
+ dailyRepeatLabel: 'se repite diariamente',
52
+ co2Label: 'Guía de CO₂',
53
+ co2Hint: 'Horario sugerido para acuario plantado',
54
+ phaseDark: 'Oscuridad',
55
+ phaseRampUp: 'Amanecer',
56
+ phaseFull: 'Luz completa',
57
+ phaseRampDown: 'Atardecer',
58
+ adjustmentBelow: 'El ciclo es {hours} horas corto. Consulta los requerimientos de tus especies antes de ampliar el tiempo.',
59
+ adjustmentInside: 'Buen punto de partida. Mantén el temporizador constante y modifica una sola variable cada vez.',
60
+ adjustmentAbove: 'El ciclo es {hours} horas largo. Más luz no compensa la falta de nutrientes y puede aumentar las algas.',
61
+ limitsText: 'Punto de partida orientativo. No mide la intensidad PAR, la calidad del agua ni el bienestar animal.',
62
+ };
63
+
64
+ const softwareApplicationSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: 'Planificador de Iluminación y Fotoperiodo de Acuario',
68
+ applicationCategory: 'UtilitiesApplication',
69
+ operatingSystem: 'Web',
70
+ description: 'Calcula y planifica el horario de iluminación de tu acuario según el tipo de agua, plantas y tiempos de amanecer o atardecer.',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ };
73
+
74
+ const faqSchema: WithContext<FAQPage> = {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
78
+ };
79
+
80
+ const howToSchema: WithContext<HowTo> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'HowTo',
83
+ name: 'Cómo programar el horario de luz de un acuario',
84
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
85
+ };
86
+
87
+ export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
88
+ slug: 'planificador-iluminacion-fotoperiodo-acuario',
89
+ title: 'Planificador de iluminación y fotoperiodo de acuario',
90
+ description: 'Planifica un horario de iluminación estable para tu acuario a partir del tipo de acuario, plantas, hora de inicio y rampas de regulación.',
91
+ ui,
92
+ seo: [
93
+ { type: 'title', level: 2, text: 'Por qué es importante un ciclo de iluminación constante' },
94
+ { type: 'paragraph', html: 'Evaluar el comportamiento del acuario es mucho más sencillo cuando la iluminación sigue un horario fijo y repetible. Las variables clave son la fotoperiodo total, el momento del día en que el acuario está encendido y la existencia de transiciones progresivas. Mantener la rutina da estabilidad a las plantas y a los peces.' },
95
+ { type: 'title', level: 2, text: 'Cómo elegir la fotoperiodo adecuada de inicio' },
96
+ { type: 'paragraph', html: 'La herramienta cruza el tipo de acuario con las necesidades del perfil vegetal para proponer una banda recomendada. Asociaciones como OATA señalan entre 6 y 8 horas como rango inicial conservador para acuarios plantados, pudiendo llegar a 10 horas en pantallas regulables con rampas suaves.' },
97
+ { type: 'table', headers: ['Perfil', 'Banda recomendada', 'Uso aconsejado'], rows: [['Dulce tropical sin plantas vivas', '7 a 8 horas', 'Base conservadora para acuario de solo peces'], ['Dulce tropical con plantas sencillas', '7 a 9 horas', 'Punto de partida equilibrado para plantados'], ['Dulce tropical con plantas exigentes', '8 a 10 horas', 'Rango amplio para comparar con requerimientos específicos'], ['Marino solo peces', '8 horas', 'Punto de partida conservador en agua salada']] },
98
+ { type: 'title', level: 2, text: 'Qué aportan las rampas de amanecer y atardecer' },
99
+ { type: 'paragraph', html: 'Las rampas representan transiciones temporales de encendido y apagado, pero no miden la intensidad lumínica real. Utilízalas solo si tu pantalla permite regulación. Si tu equipo es de encendido directo, ajusta las rampas a 0 minutos y programa el temporizador directamente.' },
100
+ { type: 'title', level: 2, text: 'Pasos para ajustar el horario' },
101
+ { type: 'list', items: ['Empieza con la fotoperiodo más corta adecuada para tus habitantes.', 'Mantén el temporizador sin cambios durante varias semanas para observar la evolución.', 'Evita que la luz solar directa altere el ciclo planificado.', 'Si cambias tiempo, intensidad o abonado, modifica solo un parámetro a la vez.', 'Consulta siempre la ficha de cuidados de tus peces y plantas.'] },
102
+ { type: 'tip', title: 'Un temporizador no resuelve el exceso de algas', html: 'Si aparecen algas, no asumas que la causa es solo el tiempo de luz. Revisa también los nutrientes, la masa vegetal, el mantenimiento y la luz ambiental.' },
103
+ { type: 'diagnostic', variant: 'warning', title: 'La banda recomendada no es una garantía biológica', badge: 'Límite', html: 'El resultado no mide espectro lumínico, valores PAR, nitratos ni bienestar animal. Sirve como guía de temporización para establecer una rutina diaria.' },
104
+ ],
105
+ faq,
106
+ bibliography: [
107
+ { name: 'OATA, How to set up a planted aquarium', url: 'https://ornamentalfish.org/what-we-do/advice-information/care-sheets/caresheets-tropical-freshwater-fish/how-to-set-up-a-planted-aquarium/' },
108
+ { name: 'Deutscher Tierschutzbund, Die Haltung von Aquarienfischen', url: 'https://www.tierschutzbund.de/fileadmin/Seiten/tierschutzbund.de/Downloads/Broschueren/Broschuere_Aquarienfische_Haltung.pdf' },
109
+ ],
110
+ howTo,
111
+ schemas: [softwareApplicationSchema, faqSchema, howToSchema],
112
+ };
@@ -0,0 +1,112 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import type { AquariumLightingPhotoperiodPlannerLocaleContent } from '../entry';
3
+
4
+ const faq = [
5
+ { question: 'Combien d heures l eclairage d un aquarium doit il rester allume ?', answer: 'Une plage initiale courante se situe entre 6 et 10 heures, mais la duree adaptee dépend du type d aquarium, des plantes et des especes. Ce planificateur rend cette hypothese transparente.' },
6
+ { question: 'Pourquoi utiliser des rampes de lever et coucher de soleil ?', answer: 'Un eclairage variable permet une transition douce au début et a la fin de la photoperiode. Cela réduit le stress et permet de caler l eclairage sur l observation du bac.' },
7
+ { question: 'Ce planificateur empeche t il les algues ?', answer: 'Non. Il établit une programmation reguliere du minuteur et signale une duree hors de la plage recommandée. Les algues dépendent aussi des nutriments, des plantes et de la lumiere naturelle.' },
8
+ { question: 'L eclairage doit il s allumer tous les jours ?', answer: 'Un cycle quotidien stable est préférable a des allumages manuels irreguliers. La programmation repete le meme cycle les sept jours de la semaine.' },
9
+ { question: 'Que faire si mon eclairage n est pas variable ?', answer: 'Réglez les deux rampes sur zéro minute. Le planificateur affichera un horaire direct d allumage et d extinction adapte a un minuteur classique.' },
10
+ ];
11
+
12
+ const howTo = [
13
+ { name: 'Choisir le type d aquarium', text: 'Sélectionnez eau douce tropicale, eau froide ou marin pour définir la plage de référence.' },
14
+ { name: 'Indiquer le profil de plantes', text: 'Choisissez sans plantes vivantes, plantes peu exigeantes ou plantes a fort besoin lumineux.' },
15
+ { name: 'Régler le début et la durée', text: 'Indiquez l heure de début du cycle et ajustez le nombre d heures de lumiere.' },
16
+ { name: 'Ajouter les rampes optionnelles', text: 'Utilisez les rampes de lever et coucher seulement si votre eclairage est variable.' },
17
+ { name: 'Programmer votre minuteur', text: 'Consultez la fenêtre d eclairage et la période de pleine intensité pour régler votre prise programmables.' },
18
+ ];
19
+
20
+ const ui = {
21
+ controlsLabel: 'Configurer votre programme',
22
+ aquariumTypeLabel: 'Type d aquarium',
23
+ aquariumTypeTropical: 'Eau douce tropicale',
24
+ aquariumTypeColdwater: 'Eau froide',
25
+ aquariumTypeMarine: 'Marin',
26
+ plantProfileLabel: 'Profil de plantes et lumiere',
27
+ plantProfileNone: 'Sans plantes vivantes',
28
+ plantProfileLow: 'Plantes peu exigeantes',
29
+ plantProfileHigh: 'Plantes exigeantes en lumiere',
30
+ startTimeLabel: 'Heure de début du cycle',
31
+ photoperiodLabel: 'Photopériode totale',
32
+ intensityLabel: 'Réglage de puissance de la rampe',
33
+ rampUpLabel: 'Rampe d allumage lever',
34
+ rampDownLabel: 'Rampe d extinction coucher',
35
+ optionalRampsLabel: 'Rampes de variation optionnelles',
36
+ optionalRampsSummary: 'Ouvrir uniquement si la rampe est variable',
37
+ hoursUnit: 'h',
38
+ minutesUnit: 'min',
39
+ statusBelow: 'Sous la plage',
40
+ statusInside: 'Dans la plage',
41
+ statusAbove: 'Au dessus de la plage',
42
+ targetBandLabel: 'Plage de référence',
43
+ lightWindowLabel: 'Fenêtre d eclairage',
44
+ fullIntensityLabel: 'Pleine intensité',
45
+ fixtureLevelLabel: 'Niveau de la rampe',
46
+ lightsOnLabel: 'allumage',
47
+ fullLightLabel: 'pleine lumiere',
48
+ lightsOffLabel: 'extinction',
49
+ dayNightLabel: 'Chronologie jour et nuit',
50
+ fullDayLabel: 'Horloge 24 heures',
51
+ dailyRepeatLabel: 'répétition quotidienne',
52
+ co2Label: 'Guide CO₂',
53
+ co2Hint: 'Horaire suggéré pour aquarium planté',
54
+ phaseDark: 'Obscurité',
55
+ phaseRampUp: 'Lever du jour',
56
+ phaseFull: 'Pleine lumière',
57
+ phaseRampDown: 'Coucher du soleil',
58
+ adjustmentBelow: 'Le cycle est plus court de {hours} heures. Vérifiez les besoins de vos espèces avant d augmenter la durée.',
59
+ adjustmentInside: 'Bon point de départ. Conservez ce minuteur stable et modifiez un seul parametre a la fois.',
60
+ adjustmentAbove: 'Le cycle est plus long de {hours} heures. Plus de lumière ne remplace pas les nutriments et favorise les algues.',
61
+ limitsText: 'Point de départ indicatif. Ne mesure pas l intensité PAR, la qualité de l eau ni le bien être animal.',
62
+ };
63
+
64
+ const softwareApplicationSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: 'Planificateur d Eclairage et Photoperiode d Aquarium',
68
+ applicationCategory: 'UtilitiesApplication',
69
+ operatingSystem: 'Web',
70
+ description: 'Calculez et programmez l eclairage de votre aquarium selon le type de bac, les plantes et les rampes de variation.',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ };
73
+
74
+ const faqSchema: WithContext<FAQPage> = {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
78
+ };
79
+
80
+ const howToSchema: WithContext<HowTo> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'HowTo',
83
+ name: 'Comment programmer l eclairage d un aquarium',
84
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
85
+ };
86
+
87
+ export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
88
+ slug: 'planificateur-eclairage-photoperiode-aquarium',
89
+ title: 'Planificateur d eclairage et photopériode d aquarium',
90
+ description: 'Etablissez un horaire d eclairage stable pour votre aquarium a partir du type de bac, des plantes, du début et des rampes.',
91
+ ui,
92
+ seo: [
93
+ { type: 'title', level: 2, text: 'Pourquoi un cycle d eclairage régulier est important' },
94
+ { type: 'paragraph', html: 'L observation d un aquarium s évalue plus facilement quand le minuteur suit un horaire fixe. Les éléments clés sont la photopériode totale, l heure d allumage et l présence de transitions douces. Une routine constante garantit un environnement stable pour les poissons et la végétation.' },
95
+ { type: 'title', level: 2, text: 'Comment choisir une photopériode de départ' },
96
+ { type: 'paragraph', html: 'L outil croise le type d aquarium et les besoins des plantes pour proposer une plage recommandée. Des associations spécialisées comme l OATA indiquent entre 6 et 8 heures comme base prudente pour les bacs plantés, pouvant atteindre 10 heures avec des rampes progressives.' },
97
+ { type: 'table', headers: ['Profil', 'Plage recommandée', 'Utilisation conseillée'], rows: [['Eau douce tropicale sans plantes', '7 à 8 heures', 'Base prudente pour bac poissons seuls'], ['Eau douce tropicale avec plantes faciles', '7 à 9 heures', 'Point de départ équilibré pour bac planté'], ['Eau douce tropicale avec plantes exigeantes', '8 à 10 heures', 'Plage étendue à comparer avec les besoins précis'], ['Eau de mer poissons seuls', '8 heures', 'Point de départ prudent pour l eau de mer']] },
98
+ { type: 'title', level: 2, text: 'Rôle des rampes de lever et coucher de soleil' },
99
+ { type: 'paragraph', html: 'Les rampes sont des transitions temporelles qui facilitent le changement de luminosité, mais elles ne mesurent pas l intensité lumineuse brute. Utilisez les seulement si votre rampe supporte la variation d intensité.' },
100
+ { type: 'title', level: 2, text: 'Conseils pratiques d ajustement' },
101
+ { type: 'list', items: ['Commencez par la photopériode la plus courte adaptée à vos pensionnaires.', 'Conservez les Réglages plusieurs semaines sans changement pour observer l évolution.', 'Evitez la lumière directe du soleil qui perturbe le cycle du minuteur.', 'Ne modifiez qu un seul facteur à la fois en cas de changement.', 'Consultez les fiches de maintenance de vos plantes et poissons.'] },
102
+ { type: 'tip', title: 'Le minuteur ne résout pas à lui seul les algues', html: 'En cas de poussée d algues, n incriminez pas uniquement la durée de lumière. Vérifiez également le taux de nitrates, la fertilisation et l entretien.' },
103
+ { type: 'diagnostic', variant: 'warning', title: 'La plage recommandée n est pas une garantie biologique', badge: 'Limite', html: 'Ce résultat ne mesure pas le spectre lumineux, la valeur PAR ni la chimie de l eau. Il s agit d un outil de planification temporelle.' },
104
+ ],
105
+ faq,
106
+ bibliography: [
107
+ { name: 'OATA, How to set up a planted aquarium', url: 'https://ornamentalfish.org/what-we-do/advice-information/care-sheets/caresheets-tropical-freshwater-fish/how-to-set-up-a-planted-aquarium/' },
108
+ { name: 'Deutscher Tierschutzbund, Die Haltung von Aquarienfischen', url: 'https://www.tierschutzbund.de/fileadmin/Seiten/tierschutzbund.de/Downloads/Broschueren/Broschuere_Aquarienfische_Haltung.pdf' },
109
+ ],
110
+ howTo,
111
+ schemas: [softwareApplicationSchema, faqSchema, howToSchema],
112
+ };
@@ -0,0 +1,112 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import type { AquariumLightingPhotoperiodPlannerLocaleContent } from '../entry';
3
+
4
+ const faq = [
5
+ { question: 'Berapa jam lampu akuarium harus menyala?', answer: 'Rentang awal yang umum adalah 6 hingga 10 jam, tetapi durasi yang tepat tergantung pada jenis akuarium, tanaman, dan spesies. Perencana ini menampilkan asumsi tersebut secara transparan.' },
6
+ { question: 'Mengapa menggunakan periode pencahayaan redup bertahap?', answer: 'Lampu yang dapat diatur intensitasnya memungkinkan transisi halus pada awal dan akhir fotoperiode. Ini mengurangi stres pada biota akuarium.' },
7
+ { question: 'Apakah perencana ini mencegah alga?', answer: 'Tidak. Perencana ini membuat jadwal pengatur waktu yang konsisten dan memberi peringatan jika durasi berada di luar rentang saran.' },
8
+ { question: 'Apakah lampu akuarium harus menyala setiap hari?', answer: 'Siklus harian yang stabil lebih baik daripada penyalaan manual yang tidak teratur.' },
9
+ { question: 'Bagaimana jika lampu saya tidak dapat diatur intensitasnya?', answer: 'Atur kedua durasi transisi ke nol menit. Perencana akan menampilkan jadwal langsung menyala dan padam.' },
10
+ ];
11
+
12
+ const howTo = [
13
+ { name: 'Pilih jenis akuarium', text: 'Pilih air tawar tropis, air dingin, atau air laut untuk menentukan rentang acuan.' },
14
+ { name: 'Tentukan profil tanaman', text: 'Pilih tanpa tanaman hidup, tanaman cahaya rendah, atau tanaman beriklim cahaya tinggi.' },
15
+ { name: 'Atur waktu mulai dan durasi', text: 'Masukkan waktu mulai siklus dan sesuaikan total jam pencahayaan.' },
16
+ { name: 'Tambahkan transisi opsional', text: 'Gunakan transisi redup hanya jika lampu Anda mendukung fitur tersebut.' },
17
+ { name: 'Baca jadwal pengatur waktu', text: 'Gunakan jadwal pencahayaan untuk mengatur sakelar pengatur waktu otomatis Anda.' },
18
+ ];
19
+
20
+ const ui = {
21
+ controlsLabel: 'Atur jadwal pencahayaan Anda',
22
+ aquariumTypeLabel: 'Jenis akuarium',
23
+ aquariumTypeTropical: 'Air tawar tropis',
24
+ aquariumTypeColdwater: 'Air dingin',
25
+ aquariumTypeMarine: 'Air laut',
26
+ plantProfileLabel: 'Profil tanaman dan cahaya',
27
+ plantProfileNone: 'Tanpa tanaman hidup',
28
+ plantProfileLow: 'Tanaman cahaya rendah',
29
+ plantProfileHigh: 'Tanaman cahaya tinggi',
30
+ startTimeLabel: 'Waktu mulai siklus',
31
+ photoperiodLabel: 'Total fotoperiode',
32
+ intensityLabel: 'Tingkat daya lampu',
33
+ rampUpLabel: 'Transisi redup terbit',
34
+ rampDownLabel: 'Transisi redup terbenam',
35
+ optionalRampsLabel: 'Transisi redup opsional',
36
+ optionalRampsSummary: 'Buka hanya jika lampu mendukung fitur redup',
37
+ hoursUnit: 'jam',
38
+ minutesUnit: 'mnt',
39
+ statusBelow: 'Di bawah rentang',
40
+ statusInside: 'Di dalam rentang',
41
+ statusAbove: 'Di atas rentang',
42
+ targetBandLabel: 'Rentang acuan',
43
+ lightWindowLabel: 'Jendela pencahayaan',
44
+ fullIntensityLabel: 'Intensitas penuh',
45
+ fixtureLevelLabel: 'Level lampu',
46
+ lightsOnLabel: 'lampu menyala',
47
+ fullLightLabel: 'cahaya penuh',
48
+ lightsOffLabel: 'lampu padam',
49
+ dayNightLabel: 'Kronologi siang dan malam',
50
+ fullDayLabel: 'Jam 24 jam',
51
+ dailyRepeatLabel: 'berulang setiap hari',
52
+ co2Label: 'Panduan CO₂',
53
+ co2Hint: 'Waktu yang disarankan untuk akuarium bertanaman',
54
+ phaseDark: 'Gelap',
55
+ phaseRampUp: 'Matahari terbit',
56
+ phaseFull: 'Cahaya penuh',
57
+ phaseRampDown: 'Matahari terbenam',
58
+ adjustmentBelow: 'Siklus terlalu pendek {hours} jam. Periksa kebutuhan spesies sebelum menambah waktu.',
59
+ adjustmentInside: 'Titik awal yang baik. Pertahankan jadwal ini secara konsisten.',
60
+ adjustmentAbove: 'Siklus terlalu panjang {hours} jam. Cahaya berlebih dapat memicu pertumbuhan alga.',
61
+ limitsText: 'Hanya titik awal acuan. Tidak mengukur intensitas PAR atau kualitas air.',
62
+ };
63
+
64
+ const softwareApplicationSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: 'Perencana Fotoperiode Pencahayaan Akuarium',
68
+ applicationCategory: 'UtilitiesApplication',
69
+ operatingSystem: 'Web',
70
+ description: 'Buat jadwal pencahayaan akuarium yang konsisten berdasarkan jenis akuarium, tanaman, dan fitur transisi.',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
72
+ };
73
+
74
+ const faqSchema: WithContext<FAQPage> = {
75
+ '@context': 'https://schema.org',
76
+ '@type': 'FAQPage',
77
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
78
+ };
79
+
80
+ const howToSchema: WithContext<HowTo> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'HowTo',
83
+ name: 'Cara mengatur jadwal pencahayaan akuarium',
84
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
85
+ };
86
+
87
+ export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
88
+ slug: 'perencana-pencahayaan-fotoperiode-akuarium',
89
+ title: 'Perencana pencahayaan dan fotoperiode akuarium',
90
+ description: 'Buat jadwal pencahayaan akuarium yang stabil berdasarkan jenis akuarium, tanaman, dan transisi pencahayaan.',
91
+ ui,
92
+ seo: [
93
+ { type: 'title', level: 2, text: 'Mengapa siklus pencahayaan yang stabil sangat penting' },
94
+ { type: 'paragraph', html: 'Mengamati perkembangan akuarium jauh lebih mudah ketika pencahayaan mengikuti jadwal yang tetap. Variabel penting meliputi total fotoperiode dan waktu pengoperasian harian. Jadwal yang konsisten memberikan lingkungan yang stabil bagi tanaman dan ikan.' },
95
+ { type: 'title', level: 2, text: 'Cara memilih durasi fotoperiode awal' },
96
+ { type: 'paragraph', html: 'Alat ini menggabungkan jenis akuarium dan profil tanaman untuk menyarankan rentang waktu awal. Organisasi seperti OATA merekomendasikan antara 6 hingga 8 jam sebagai patokan awal untuk akuarium bertanaman.' },
97
+ { type: 'table', headers: ['Profil', 'Rentang acuan', 'Saran penggunaan'], rows: [['Air tawar tropis tanpa tanaman', '7 hingga 8 jam', 'Acuan awal yang aman untuk akuarium ikan'], ['Air tawar tropis tanaman cahaya rendah', '7 hingga 9 jam', 'Titik awal seimbang untuk akuarium tanaman'], ['Air tawar tropis tanaman cahaya tinggi', '8 hingga 10 jam', 'Rentang lanjutan untuk kebutuhan tinggi'], ['Air laut tanpa tanaman', '8 jam', 'Titik awal aman untuk akuarium air laut']] },
98
+ { type: 'title', level: 2, text: 'Fungsi transisi pencahayaan terbit dan terbenam' },
99
+ { type: 'paragraph', html: 'Transisi bertahap membantu simulasi terbit dan terbenamnya matahari namun tidak menambah daya pencahayaan. Gunakan fitur ini hanya jika lampu mendukung pengatur redup.' },
100
+ { type: 'title', level: 2, text: 'Langkah praktis penyesuaian' },
101
+ { type: 'list', items: ['Mulai dengan durasi terpendek yang sesuai untuk penghuni akuarium Anda.', 'Pertahankan pengatur waktu selama beberapa minggu untuk mengamati perubahan.', 'Hindari sinar matahari langsung yang dapat mengganggu siklus.', 'Ubah satu variabel saja dalam satu waktu jika melakukan penyesuaian.', 'Selalu periksa panduan perawatan khusus untuk setiap spesies.'] },
102
+ { type: 'tip', title: 'Jadwal lampu tidak menyelesaikan masalah alga secara langsung', html: 'Jika alga tumbuh cepat, periksa juga kadar nutrisi, frekuensi ganti air, dan pencahayaan ruangan.' },
103
+ { type: 'diagnostic', variant: 'warning', title: 'Rentang acuan bukan jaminan kesehatan akuarium', badge: 'Batasan', html: 'Hasil ini tidak mengukur nilai PAR, spektrum lampu, atau parameter kimia air.' },
104
+ ],
105
+ faq,
106
+ bibliography: [
107
+ { name: 'OATA, How to set up a planted aquarium', url: 'https://ornamentalfish.org/what-we-do/advice-information/care-sheets/caresheets-tropical-freshwater-fish/how-to-set-up-a-planted-aquarium/' },
108
+ { name: 'Deutscher Tierschutzbund, Die Haltung von Aquarienfischen', url: 'https://www.tierschutzbund.de/fileadmin/Seiten/tierschutzbund.de/Downloads/Broschueren/Broschuere_Aquarienfische_Haltung.pdf' },
109
+ ],
110
+ howTo,
111
+ schemas: [softwareApplicationSchema, faqSchema, howToSchema],
112
+ };