@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.
- package/package.json +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +4 -1
- package/src/tests/i18n_coverage.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +4 -3
- package/src/tool/aquariumLightingPhotoperiodPlanner/aquarium-lighting-photoperiod-planner.css +667 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/bibliography.astro +6 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/bibliography.ts +12 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/component.astro +94 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/controller.ts +191 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/dom-views.test.ts +27 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/dom-views.ts +199 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/entry.ts +29 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/evaluator.ts +47 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/de.ts +127 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/en.ts +127 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/es.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/fr.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/id.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/it.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ja.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ko.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/nl.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/pl.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/pt.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/ru.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/sv.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/tr.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/zh.ts +112 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/index.ts +11 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/logic.test.ts +125 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/logic.ts +258 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/seo.astro +13 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/storage.ts +43 -0
- package/src/tool/aquariumLightingPhotoperiodPlanner/ui.ts +46 -0
- package/src/tools.ts +6 -0
|
@@ -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: 'Quantas horas deve a iluminação do aquário ficar ligada?', answer: 'Um intervalo inicial comum situa-se entre 6 e 10 horas diárias, mas a duração ideal depende do tipo de aquário, plantas e espécies. Este planejador apresenta essa recomendação de forma clara.' },
|
|
6
|
+
{ question: 'Por que usar um período de amanhecer e anoitecer gradual?', answer: 'Uma iluminação regulável permite uma transição suave no início e no final do fotoperíodo, reduzindo o estresse dos animais.' },
|
|
7
|
+
{ question: 'Este planejador previne o aparecimento de algas?', answer: 'Não. Ele cria uma programação estável para o temporizador e avisa quando a duração ultrapassa a faixa recomendada. Algas dependem também de nutrientes e luz solar.' },
|
|
8
|
+
{ question: 'A luz deve ser ligada todos os dias no mesmo horário?', answer: 'Sim. Um ciclo diário estável é muito melhor para a biologia do aquário do que acionamentos manuais irregulares.' },
|
|
9
|
+
{ question: 'O que fazer se a minha lâmpada não for regulável?', answer: 'Ajuste ambos os tempos de rampa para 0 minutos. O planejador exibirá um horário direto de ligar e desligar para um temporizador padrão.' },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const howTo = [
|
|
13
|
+
{ name: 'Escolha o tipo de aquário', text: 'Selecione água doce tropical, água fria ou marinho para determinar a faixa de referência.' },
|
|
14
|
+
{ name: 'Indique o perfil de plantas', text: 'Escolha entre sem plantas vivas, plantas pouco exigentes ou plantas exigentes em luz.' },
|
|
15
|
+
{ name: 'Defina a hora de início e duração', text: 'Insira o horário de início do ciclo e ajuste o total de horas de luz.' },
|
|
16
|
+
{ name: 'Adicione rampas opcionais', text: 'Utilize as rampas de amanhecer e anoitecer apenas se a iluminação for regulável.' },
|
|
17
|
+
{ name: 'Programe o seu temporizador', text: 'Utilize os horários calculados para configurar a sua tomada temporizada.' },
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const ui = {
|
|
21
|
+
controlsLabel: 'Configure a sua programação',
|
|
22
|
+
aquariumTypeLabel: 'Tipo de aquário',
|
|
23
|
+
aquariumTypeTropical: 'Água doce tropical',
|
|
24
|
+
aquariumTypeColdwater: 'Água fria',
|
|
25
|
+
aquariumTypeMarine: 'Marinho',
|
|
26
|
+
plantProfileLabel: 'Perfil de plantas e luz',
|
|
27
|
+
plantProfileNone: 'Sem plantas vivas',
|
|
28
|
+
plantProfileLow: 'Plantas pouco exigentes',
|
|
29
|
+
plantProfileHigh: 'Plantas exigentes em luz',
|
|
30
|
+
startTimeLabel: 'Hora de início do ciclo',
|
|
31
|
+
photoperiodLabel: 'Fotoperíodo total',
|
|
32
|
+
intensityLabel: 'Potência definida da luminária',
|
|
33
|
+
rampUpLabel: 'Rampa de amanhecer acendimento',
|
|
34
|
+
rampDownLabel: 'Rampa de anoitecer desligamento',
|
|
35
|
+
optionalRampsLabel: 'Rampas de regulação opcionais',
|
|
36
|
+
optionalRampsSummary: 'Abrir apenas se a luminária for regulável',
|
|
37
|
+
hoursUnit: 'h',
|
|
38
|
+
minutesUnit: 'min',
|
|
39
|
+
statusBelow: 'Abaixo da faixa',
|
|
40
|
+
statusInside: 'Dentro da faixa',
|
|
41
|
+
statusAbove: 'Acima da faixa',
|
|
42
|
+
targetBandLabel: 'Faixa de referência',
|
|
43
|
+
lightWindowLabel: 'Janela de iluminação',
|
|
44
|
+
fullIntensityLabel: 'Intensidade total',
|
|
45
|
+
fixtureLevelLabel: 'Nível da luminária',
|
|
46
|
+
lightsOnLabel: 'acendimento',
|
|
47
|
+
fullLightLabel: 'luz total',
|
|
48
|
+
lightsOffLabel: 'desligamento',
|
|
49
|
+
dayNightLabel: 'Cronologia de dia e noite',
|
|
50
|
+
fullDayLabel: 'Relógio de 24 horas',
|
|
51
|
+
dailyRepeatLabel: 'repete-se diariamente',
|
|
52
|
+
co2Label: 'Guia de CO₂',
|
|
53
|
+
co2Hint: 'Horário sugerido para aquário plantado',
|
|
54
|
+
phaseDark: 'Escuridão',
|
|
55
|
+
phaseRampUp: 'Amanhecer',
|
|
56
|
+
phaseFull: 'Luz total',
|
|
57
|
+
phaseRampDown: 'Anoitecer',
|
|
58
|
+
adjustmentBelow: 'O ciclo é {hours} horas mais curto. Verifique os requisitos das suas espécies antes de aumentar o tempo.',
|
|
59
|
+
adjustmentInside: 'Bom ponto de partida. Mantenha o temporizador estável e altere apenas uma variável por vez.',
|
|
60
|
+
adjustmentAbove: 'O ciclo é {hours} horas mais longo. O excesso de luz favorece o crescimento de algas.',
|
|
61
|
+
limitsText: 'Apenas um ponto de partida indicativo. Não mede intensidade PAR nem parâmetros químicos da água.',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const softwareApplicationSchema: WithContext<SoftwareApplication> = {
|
|
65
|
+
'@context': 'https://schema.org',
|
|
66
|
+
'@type': 'SoftwareApplication',
|
|
67
|
+
name: 'Planejador de Iluminação e Fotoperíodo de Aquário',
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'Web',
|
|
70
|
+
description: 'Calcule e programe o horário de iluminação do seu aquário com base no tipo de aquário, plantas e rampas.',
|
|
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: 'Como programar o temporizador de luz de um aquário',
|
|
84
|
+
step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
|
|
88
|
+
slug: 'planejador-iluminacao-fotoperiodo-aquario',
|
|
89
|
+
title: 'Planejador de iluminação e fotoperíodo de aquário',
|
|
90
|
+
description: 'Planeje um horário de iluminação estável para o seu aquário a partir do tipo de aquário, plantas, horário de início e rampas.',
|
|
91
|
+
ui,
|
|
92
|
+
seo: [
|
|
93
|
+
{ type: 'title', level: 2, text: 'Por que um ciclo de iluminação constante é importante' },
|
|
94
|
+
{ type: 'paragraph', html: 'Avaliar o desenvolvimento do aquário é muito mais simples quando a iluminação segue um horário fixo e repetível. Variáveis importantes incluem o fotoperíodo total e a estabilidade da rotina.' },
|
|
95
|
+
{ type: 'title', level: 2, text: 'Como escolher o fotoperíodo inicial correto' },
|
|
96
|
+
{ type: 'paragraph', html: 'A ferramenta combina o tipo de aquário e as necessidades das plantas para sugerir uma faixa recomendada. Entidades como a OATA recomendam entre 6 e 8 horas como ponto de partida para aquários plantados.' },
|
|
97
|
+
{ type: 'table', headers: ['Perfil', 'Faixa recomendada', 'Uso sugerido'], rows: [['Água doce tropical sem plantas', '7 a 8 horas', 'Base segura para aquário só com peixes'], ['Água doce tropical plantas simples', '7 a 9 horas', 'Ponto de partida equilibrado para plantados'], ['Água doce tropical plantas exigentes', '8 a 10 horas', 'Faixa ampliada para alta necessidade de luz'], ['Marinho só peixes', '8 horas', 'Ponto de partida seguro para água salgada']] },
|
|
98
|
+
{ type: 'title', level: 2, text: 'A função das rampas de amanhecer e anoitecer' },
|
|
99
|
+
{ type: 'paragraph', html: 'As rampas são transições temporais que suavizam a entrada e saída de luz, mas não aumentam a potência máxima da lâmpada.' },
|
|
100
|
+
{ type: 'title', level: 2, text: 'Dicas práticas de ajuste' },
|
|
101
|
+
{ type: 'list', items: ['Comece com o fotoperíodo mais curto adequado aos seus habitantes.', 'Mantenha o temporizador sem alterações por várias semanas para observar os resultados.', 'Evite luz solar direta incidindo sobre o aquário.', 'Altere apenas um parâmetro de cada vez.', 'Consulte as fichas de cuidados de cada espécie mantida.'] },
|
|
102
|
+
{ type: 'tip', title: 'Um temporizador não resolve sozinho problemas de algas', html: 'Caso note aumento de algas, verifique também nitratos, fosfatos, fertilização e manutenção.' },
|
|
103
|
+
{ type: 'diagnostic', variant: 'warning', title: 'A faixa recomendada não é uma garantia biológica', badge: 'Limite', html: 'Este resultado não mede o valor PAR nem parâmetros químicos da água.' },
|
|
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: 'Сколько часов в день должен гореть свет в аквариуме?', answer: 'Обычно рекомендуемая продолжительность составляет от 6 до 10 часов в день. Точное время зависит от типа аквариума, растений и обитателей.' },
|
|
6
|
+
{ question: 'Зачем нужны фазы рассвета и заката?', answer: 'Плавное изменение освещения снижает стресс у рыб и позволяет настроить график под время наблюдения за аквариумом.' },
|
|
7
|
+
{ question: 'Помогает ли этот планировщик предотвратить водоросли?', answer: 'Нет. Он помогает настроить стабильный таймер. Водоросли также зависят от питательных веществ, качества воды и яркого света.' },
|
|
8
|
+
{ question: 'Должен ли свет включаться каждый день в одно время?', answer: 'Да. Постоянный световой день важен для биобаланса аквариума и здоровья обитателей.' },
|
|
9
|
+
{ question: 'Что делать, если светильник не поддерживает диммирование?', answer: 'Установите время рассвета и заката на 0 минут. Планировщик покажет точное время включения и выключения для обычного таймера.' },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const howTo = [
|
|
13
|
+
{ name: 'Выберите тип аквариума', text: 'Выберите пресноводный тропический, холодноводный или морской аквариум.' },
|
|
14
|
+
{ name: 'Укажите профиль растений', text: 'Выберите варианты без живых растений, неприхотливые или светолюбивые растения.' },
|
|
15
|
+
{ name: 'Задайте время старта и длительность', text: 'Укажите время начала светового дня и общую продолжительность освещения.' },
|
|
16
|
+
{ name: 'Добавьте фазы рассвета и заката', text: 'Настройте плавные переходы, если ваш светильник поддерживает функции диммирования.' },
|
|
17
|
+
{ name: 'Настройте розетку-таймер', text: 'Используйте полученный график для настройки автоматического таймера.' },
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const ui = {
|
|
21
|
+
controlsLabel: 'Настройка графика освещения',
|
|
22
|
+
aquariumTypeLabel: 'Тип аквариума',
|
|
23
|
+
aquariumTypeTropical: 'Пресноводный тропический',
|
|
24
|
+
aquariumTypeColdwater: 'Холодноводный',
|
|
25
|
+
aquariumTypeMarine: 'Морской',
|
|
26
|
+
plantProfileLabel: 'Профиль растений и света',
|
|
27
|
+
plantProfileNone: 'Без живых растений',
|
|
28
|
+
plantProfileLow: 'Неприхотливые растения',
|
|
29
|
+
plantProfileHigh: 'Светолюбивые растения',
|
|
30
|
+
startTimeLabel: 'Время начала светового дня',
|
|
31
|
+
photoperiodLabel: 'Общий фотопериод',
|
|
32
|
+
intensityLabel: 'Настройка мощности светильника',
|
|
33
|
+
rampUpLabel: 'Рассвет (плавное включение)',
|
|
34
|
+
rampDownLabel: 'Закат (плавное выключение)',
|
|
35
|
+
optionalRampsLabel: 'Фазы рассвета и заката (опционально)',
|
|
36
|
+
optionalRampsSummary: 'Открывайте только для светильников с диммированием',
|
|
37
|
+
hoursUnit: 'ч',
|
|
38
|
+
minutesUnit: 'мин',
|
|
39
|
+
statusBelow: 'Ниже нормы',
|
|
40
|
+
statusInside: 'В пределах нормы',
|
|
41
|
+
statusAbove: 'Выше нормы',
|
|
42
|
+
targetBandLabel: 'Рекомендуемый диапазон',
|
|
43
|
+
lightWindowLabel: 'График освещения',
|
|
44
|
+
fullIntensityLabel: 'Полная мощность света',
|
|
45
|
+
fixtureLevelLabel: 'Уровень светильника',
|
|
46
|
+
lightsOnLabel: 'включение',
|
|
47
|
+
fullLightLabel: 'полный свет',
|
|
48
|
+
lightsOffLabel: 'выключение',
|
|
49
|
+
dayNightLabel: 'Суточный таймлайн',
|
|
50
|
+
fullDayLabel: '24-часовые часы',
|
|
51
|
+
dailyRepeatLabel: 'повторяется ежедневно',
|
|
52
|
+
co2Label: 'График подачи CO₂',
|
|
53
|
+
co2Hint: 'Рекомендуемое время для травника',
|
|
54
|
+
phaseDark: 'Ночь (темнота)',
|
|
55
|
+
phaseRampUp: 'Рассвет',
|
|
56
|
+
phaseFull: 'Полный свет',
|
|
57
|
+
phaseRampDown: 'Закат',
|
|
58
|
+
adjustmentBelow: 'Световой день короче нормы на {hours} ч. Проверьте потребности растений перед увеличением.',
|
|
59
|
+
adjustmentInside: 'Отличный ориентир. Сохраняйте постоянный график таймера.',
|
|
60
|
+
adjustmentAbove: 'Световой день длиннее нормы на {hours} ч. Избыток света провоцирует вспышку водорослей.',
|
|
61
|
+
limitsText: 'Ориентировочные данные. Не заменяет измерение уровня PAR и химического анализа воды.',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const softwareApplicationSchema: WithContext<SoftwareApplication> = {
|
|
65
|
+
'@context': 'https://schema.org',
|
|
66
|
+
'@type': 'SoftwareApplication',
|
|
67
|
+
name: 'Планировщик Освещения Аквариума',
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'Web',
|
|
70
|
+
description: 'Рассчитайте график освещения аквариума на основе типа аквариума, растений и диммирования.',
|
|
71
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'RUB' },
|
|
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: 'Как настроить таймер света в аквариуме',
|
|
84
|
+
step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
|
|
88
|
+
slug: 'planiruoshik-osvesheniya-fotoperioda-akvariuma',
|
|
89
|
+
title: 'Планировщик освещения и фотопериода аквариума',
|
|
90
|
+
description: 'Составьте стабильный график освещения аквариума с учетом типа емкости, растений, времени старта и фаз диммирования.',
|
|
91
|
+
ui,
|
|
92
|
+
seo: [
|
|
93
|
+
{ type: 'title', level: 2, text: 'Почему важен стабильный световой день в аквариуме' },
|
|
94
|
+
{ type: 'paragraph', html: 'Наблюдать за состоянием растений и поведением рыб гораздо проще, когда свет включается по строгому графику. Постоянный фотопериод обеспечивает стабильность биосистемы.' },
|
|
95
|
+
{ type: 'title', level: 2, text: 'Как выбрать начальную продолжительность освещения' },
|
|
96
|
+
{ type: 'paragraph', html: 'Инструмент сопоставляет тип аквариума и потребности растений, предлагая оптимальный диапазон. Организация OATA рекомендует от 6 до 8 часов в качестве базового значения для травников.' },
|
|
97
|
+
{ type: 'table', headers: ['Профиль', 'Рекомендуемый диапазон', 'Назначение'], rows: [['Тропический без живых растений', '7-8 часов', 'Безопасный старт для аквариума с рыбами'], ['Тропический с простыми растениями', '7-9 часов', 'Сбалансированный старт для травника'], ['Тропический со светолюбивыми растениями', '8-10 часов', 'Диапазон для разогнанных травников'], ['Морской без растений', '8 часов', 'Базовый старт для морского аквариума']] },
|
|
98
|
+
{ type: 'title', level: 2, text: 'Зачем нужны рассветы и закаты' },
|
|
99
|
+
{ type: 'paragraph', html: 'Плавное увеличение и уменьшение яркости позволяет симулировать естественные условия и снижает испуг у рыб.' },
|
|
100
|
+
{ type: 'title', level: 2, text: 'Практические советы по настройке' },
|
|
101
|
+
{ type: 'list', items: ['Начинайте с минимальной рекомендуемой продолжительности света.', 'Не меняйте настройки таймера в течение нескольких недель для оценки результата.', 'Избегайте попадания прямых солнечных лучей на аквариум.', 'При необходимости меняйте только один параметр за раз.', 'Учитывайте требования конкретных видов рыб и растений.'] },
|
|
102
|
+
{ type: 'tip', title: 'Таймер сам по себе не решает проблему водорослей', html: 'При появлении водорослей также проверьте уровень нитратов, фосфатов и режим подмен воды.' },
|
|
103
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Рекомендация не является гарантией', badge: 'Ограничение', html: 'Данный инструмент не измеряет уровень PAR и химические параметры воды.' },
|
|
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: 'Hur många timmar om dagen bör akvariebelysningen vara tänd?', answer: 'En vanlig utgångspunkt är mellan 6 och 10 timmar per dag. Exakt tid beror på akvarietyp, växter och invånare. Denna planerare visar rekommendationerna tydligt.' },
|
|
6
|
+
{ question: 'Varför är det bra med dimbara soluppgångs- och solnedgångsfaser?', answer: 'En dimbar ramp ger en mjuk övergång i början och slutet av fotoperioden, vilket minskar stress hos akvariets djur.' },
|
|
7
|
+
{ question: 'Förhindrar denna planerare alger?', answer: 'Nej. Den skapar ett stabilt timerschema och varnar om tiden är utanför rekommenderat intervall. Alger påverkas även av näringsämnen och solljus.' },
|
|
8
|
+
{ question: 'Bör belysningen tändas vid samma tid varje dag?', answer: 'Ja. En stabil daglig cykel är mycket bättre för akvariet än oregelbunden manuell tändning.' },
|
|
9
|
+
{ question: 'Vad gör jag om min lampa inte kan dimras?', answer: 'Ställ in båda dimningstiderna på 0 minuter. Planeraren visar då ett direkt schema för en standardtimer.' },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const howTo = [
|
|
13
|
+
{ name: 'Välj akvarietyp', text: 'Välj tropiskt sötvatten, kallvatten eller saltvatten för att fastställa referensintervallet.' },
|
|
14
|
+
{ name: 'Ange växtprofil', text: 'Välj mellan inga levande växter, enkla växter eller ljuskrävande växter.' },
|
|
15
|
+
{ name: 'Ställ in starttid och varaktighet', text: 'Fyll i starttid för cykeln och justera totalt antal timmar ljus.' },
|
|
16
|
+
{ name: 'Lägg till valfria dimningsfaser', text: 'Använd dimningsfaser endast om din belysning är dimbar.' },
|
|
17
|
+
{ name: 'Programmera din timer', text: 'Använd de beräknade tiderna för tändning och släckning för att ställa in din timer.' },
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const ui = {
|
|
21
|
+
controlsLabel: 'Konfigurera ditt schema',
|
|
22
|
+
aquariumTypeLabel: 'Akvarietyp',
|
|
23
|
+
aquariumTypeTropical: 'Tropiskt sötvatten',
|
|
24
|
+
aquariumTypeColdwater: 'Kallvatten',
|
|
25
|
+
aquariumTypeMarine: 'Saltvatten',
|
|
26
|
+
plantProfileLabel: 'Växt- och ljusprofil',
|
|
27
|
+
plantProfileNone: 'Inga levande växter',
|
|
28
|
+
plantProfileLow: 'Enkla växter (lågt ljus)',
|
|
29
|
+
plantProfileHigh: 'Ljuskrävande växter',
|
|
30
|
+
startTimeLabel: 'Starttid för cykeln',
|
|
31
|
+
photoperiodLabel: 'Total fotoperiod',
|
|
32
|
+
intensityLabel: 'Inställd lampeffekt',
|
|
33
|
+
rampUpLabel: 'Soluppgång (uppdimning)',
|
|
34
|
+
rampDownLabel: 'Solnedgång (neddimning)',
|
|
35
|
+
optionalRampsLabel: 'Valfria dimningsfaser',
|
|
36
|
+
optionalRampsSummary: 'Öppna endast om belysningen är dimbar',
|
|
37
|
+
hoursUnit: 'tim',
|
|
38
|
+
minutesUnit: 'min',
|
|
39
|
+
statusBelow: 'Under rekommenderat intervall',
|
|
40
|
+
statusInside: 'Inom rekommenderat intervall',
|
|
41
|
+
statusAbove: 'Över rekommenderat intervall',
|
|
42
|
+
targetBandLabel: 'Rekommenderat intervall',
|
|
43
|
+
lightWindowLabel: 'Belysningsfönster',
|
|
44
|
+
fullIntensityLabel: 'Full ljusstyrka',
|
|
45
|
+
fixtureLevelLabel: 'Lampnivå',
|
|
46
|
+
lightsOnLabel: 'tändning',
|
|
47
|
+
fullLightLabel: 'fullt ljus',
|
|
48
|
+
lightsOffLabel: 'släckning',
|
|
49
|
+
dayNightLabel: 'Dag- och nattidslinje',
|
|
50
|
+
fullDayLabel: '24-timmarsklocka',
|
|
51
|
+
dailyRepeatLabel: 'upprepas dagligen',
|
|
52
|
+
co2Label: 'CO₂-guide',
|
|
53
|
+
co2Hint: 'Rekommenderad tid för växtakvarium',
|
|
54
|
+
phaseDark: 'Mörker',
|
|
55
|
+
phaseRampUp: 'Soluppgång',
|
|
56
|
+
phaseFull: 'Fullt ljus',
|
|
57
|
+
phaseRampDown: 'Solnedgång',
|
|
58
|
+
adjustmentBelow: 'Cykeln är {hours} timmar för kort. Kontrollera dina arters krav innan du ökar tiden.',
|
|
59
|
+
adjustmentInside: 'Bra utgångspunkt. Håll detta timerschema stabilt.',
|
|
60
|
+
adjustmentAbove: 'Cykeln är {hours} timmar för lång. För mycket ljus gynnar algtillväxt.',
|
|
61
|
+
limitsText: 'Endast en orienterande utgångspunkt. Mäter inte ljusintensitet (PAR) eller vattenkvalitet.',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const softwareApplicationSchema: WithContext<SoftwareApplication> = {
|
|
65
|
+
'@context': 'https://schema.org',
|
|
66
|
+
'@type': 'SoftwareApplication',
|
|
67
|
+
name: 'Akvariebelysning Fotoperiod Planerare',
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'Web',
|
|
70
|
+
description: 'Beräkna ett stabilt belysningsschema för ditt akvarium baserat på akvarietyp, växter och dimningsfaser.',
|
|
71
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'SEK' },
|
|
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: 'Hur man ställer in en timer för akvariebelysning',
|
|
84
|
+
step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
|
|
88
|
+
slug: 'planerare-akvariebelysning-fotoperiod',
|
|
89
|
+
title: 'Planerare för akvariebelysning och fotoperiod',
|
|
90
|
+
description: 'Planera ett stabilt belysningsschema för ditt akvarium baserat på akvarietyp, växter, starttid och dimningsfaser.',
|
|
91
|
+
ui,
|
|
92
|
+
seo: [
|
|
93
|
+
{ type: 'title', level: 2, text: 'Varför en stabil belysningscykel är viktig' },
|
|
94
|
+
{ type: 'paragraph', html: 'Att utvärdera växttillväxt och fiskars beteende är mycket enklare när belysningen följer ett fast dagligt schema.' },
|
|
95
|
+
{ type: 'title', level: 2, text: 'Att välja rätt startfotoperiod' },
|
|
96
|
+
{ type: 'paragraph', html: 'Verktyget kombinerar akvarietyp och växtbehov för att ge ett rekommenderat tidsintervall. Organisationer som OATA rekommenderar 6 till 8 timmar som utgångspunkt för växtakvarier.' },
|
|
97
|
+
{ type: 'table', headers: ['Profil', 'Rekommenderat intervall', 'Rekommenderad användning'], rows: [['Tropiskt sötvatten utan växter', '7 till 8 timmar', 'Försiktig start för rent fiskakvarium'], ['Tropiskt sötvatten enkla växter', '7 till 9 timmar', 'Balanserad start för växtakvarium'], ['Tropiskt sötvatten krävande växter', '8 till 10 timmar', 'Utökat intervall för högt ljusbehov'], ['Saltvatten utan växter', '8 timmar', 'Försiktig start för saltvatten']] },
|
|
98
|
+
{ type: 'title', level: 2, text: 'Funktionen hos dimningsfaser' },
|
|
99
|
+
{ type: 'paragraph', html: 'Soluppgångs- och solnedgångsfaser ger en mjuk övergång som minskar stress hos fiskarna, men ökar inte belysningens maximala effekt.' },
|
|
100
|
+
{ type: 'title', level: 2, text: 'Praktiska råd för justering' },
|
|
101
|
+
{ type: 'list', items: ['Börja med den kortaste rekommenderade fotoperioden.', 'Behåll timerschemat oförändrat i flera veckor för att utvärdera effekten.', 'Undvik direkt solljus på akvariet.', 'Ändra endast en variabel i taget.', 'Kontrollera arternas specifika skötselråd.'] },
|
|
102
|
+
{ type: 'tip', title: 'En timer allena löser inte algproblem', html: 'Om alger ökar, kontrollera även nitrat, fosfat, växtnäring och vattenbyten.' },
|
|
103
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Rekommendationen är ingen biologisk garanti', badge: 'Begränsning', html: 'Detta resultat mäter inte PAR-värde eller vattenkemi.' },
|
|
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: 'Akvaryum aydınlatması günde kaç saat açık kalmalıdır?', answer: 'Genel başlangıç süresi günde 6 ila 10 saat arasındadır. Tam süre akvaryum türüne, bitkilere ve canlılara bağlıdır.' },
|
|
6
|
+
{ question: 'Gün doğumu ve gün batımı karartma geçişleri neden faydalıdır?', answer: 'Kısılabilir aydınlatma armatürleri, fotoperiyodun başında ve sonunda yumuşak bir geçiş sağlayarak canlı stresini azaltır.' },
|
|
7
|
+
{ question: 'Bu planlayıcı yosun oluşumunu engeller mi?', answer: 'Hayır. Düzenli bir zamanlayıcı programı oluşturur ve süre önerilen aralığın dışına çıktığında uyarır. Yosunlaşma besin elementleri ve güneş ışığından da etkilenir.' },
|
|
8
|
+
{ question: 'Işıklar her gün aynı saatte mi açılmalıdır?', answer: 'Evet. Düzenli bir günlük ışık döngüsü, düzensiz manuel açıp kapatmaya göre akvaryum biyolojisi için çok daha sağlıklıdır.' },
|
|
9
|
+
{ question: 'Aydınlatmam kısılabilir değilse ne yapmalıyım?', answer: 'Geçiş sürelerinin her ikisini de 0 dakika olarak ayarlayın. Planlayıcı, standart bir zamanlayıcı prize uygun açılış ve kapanış saatlerini gösterecektir.' },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const howTo = [
|
|
13
|
+
{ name: 'Akvaryum türünü seçin', text: 'Referans aralığını belirlemek için tropikal tatlı su, soğuk su veya deniz akvaryumunu seçin.' },
|
|
14
|
+
{ name: 'Bitki profilini belirtin', text: 'Canlı bitkisiz, kolay bitkiler veya yüksek ışık isteyen bitkiler arasından seçim yapın.' },
|
|
15
|
+
{ name: 'Başlangıç saatini ve süreyi ayarlayın', text: 'Işık döngüsünün başlangıç saatini girin ve toplam aydınlatma saatini seçin.' },
|
|
16
|
+
{ name: 'İsteğe bağlı geçiş sürelerini ekleyin', text: 'Gün doğumu ve batımı geçişlerini yalnızca aydınlatmanız kısılabilir özellikteyse kullanın.' },
|
|
17
|
+
{ name: 'Zamanlayıcınızı programlayın', text: 'Hesaplanan açılış ve kapanış saatlerini otomatik zamanlayıcı prizinize girin.' },
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const ui = {
|
|
21
|
+
controlsLabel: 'Programınızı yapılandırın',
|
|
22
|
+
aquariumTypeLabel: 'Akvaryum türü',
|
|
23
|
+
aquariumTypeTropical: 'Tropikal tatlı su',
|
|
24
|
+
aquariumTypeColdwater: 'Soğuk su',
|
|
25
|
+
aquariumTypeMarine: 'Deniz akvaryumu',
|
|
26
|
+
plantProfileLabel: 'Bitki ve ışık profili',
|
|
27
|
+
plantProfileNone: 'Canlı bitkisiz',
|
|
28
|
+
plantProfileLow: 'Kolay bitkiler (düşük ışık)',
|
|
29
|
+
plantProfileHigh: 'Yüksek ışık isteyen bitkiler',
|
|
30
|
+
startTimeLabel: 'Döngü başlangıç saati',
|
|
31
|
+
photoperiodLabel: 'Toplam fotoperiyod',
|
|
32
|
+
intensityLabel: 'Armatür güç ayarı',
|
|
33
|
+
rampUpLabel: 'Gün doğumu geçişi (açılış)',
|
|
34
|
+
rampDownLabel: 'Gün batımı geçişi (kapanış)',
|
|
35
|
+
optionalRampsLabel: 'İsteğe bağlı karartma geçişleri',
|
|
36
|
+
optionalRampsSummary: 'Yalnızca armatür kısılabilir ise açın',
|
|
37
|
+
hoursUnit: 'saat',
|
|
38
|
+
minutesUnit: 'dk',
|
|
39
|
+
statusBelow: 'Hedef aralığın altında',
|
|
40
|
+
statusInside: 'Hedef aralıkta',
|
|
41
|
+
statusAbove: 'Hedef aralığın üstünde',
|
|
42
|
+
targetBandLabel: 'Hedef zaman aralığı',
|
|
43
|
+
lightWindowLabel: 'Aydınlatma penceresi',
|
|
44
|
+
fullIntensityLabel: 'Tam ışık gücü',
|
|
45
|
+
fixtureLevelLabel: 'Armatür seviyesi',
|
|
46
|
+
lightsOnLabel: 'ışıklar açık',
|
|
47
|
+
fullLightLabel: 'tam ışık',
|
|
48
|
+
lightsOffLabel: 'ışıklar kapalı',
|
|
49
|
+
dayNightLabel: 'Gece ve gündüz zaman çizelgesi',
|
|
50
|
+
fullDayLabel: '24 saatlik saat',
|
|
51
|
+
dailyRepeatLabel: 'her gün tekrarlanır',
|
|
52
|
+
co2Label: 'CO₂ rehberi',
|
|
53
|
+
co2Hint: 'Bitkili akvaryumlar için önerilen zamanlama',
|
|
54
|
+
phaseDark: 'Karanlık',
|
|
55
|
+
phaseRampUp: 'Gün doğumu',
|
|
56
|
+
phaseFull: 'Tam ışık',
|
|
57
|
+
phaseRampDown: 'Gün batımı',
|
|
58
|
+
adjustmentBelow: 'Döngü {hours} saat kısa. Süreyi artırmadan önce canlı gereksinimlerini kontrol edin.',
|
|
59
|
+
adjustmentInside: 'İyi bir başlangıç noktası. Zamanlayıcıyı sabit tutun.',
|
|
60
|
+
adjustmentAbove: 'Döngü {hours} saat uzun. Fazla ışık yosun gelişimini tetikler.',
|
|
61
|
+
limitsText: 'Yalnızca referans başlangıç noktasıdır. PAR ışık şiddetini veya su değerlerini ölçmez.',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const softwareApplicationSchema: WithContext<SoftwareApplication> = {
|
|
65
|
+
'@context': 'https://schema.org',
|
|
66
|
+
'@type': 'SoftwareApplication',
|
|
67
|
+
name: 'Akvaryum Aydınlatma Fotoperiyod Planlayıcı',
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'Web',
|
|
70
|
+
description: 'Akvaryum türü, bitkiler ve karartma sürelerine göre ideal aydınlatma zamanlayıcı programını hesaplayın.',
|
|
71
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'TRY' },
|
|
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: 'Akvaryum ışık zamanlayıcısı nasıl ayarlanır',
|
|
84
|
+
step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
|
|
88
|
+
slug: 'akvaryum-aydinlatma-fotoperiyod-planlayici',
|
|
89
|
+
title: 'Akvaryum aydınlatma ve fotoperiyod planlayıcı',
|
|
90
|
+
description: 'Akvaryum türü, bitki profili, başlangıç saati ve geçiş sürelerine göre dengeli bir aydınlatma programı oluşturun.',
|
|
91
|
+
ui,
|
|
92
|
+
seo: [
|
|
93
|
+
{ type: 'title', level: 2, text: 'Neden düzenli bir aydınlatma döngüsü önemlidir' },
|
|
94
|
+
{ type: 'paragraph', html: 'Akvaryumdaki canlıların gelişimi ve davranışları, aydınlatma her gün sabit bir zaman çizelgesini takip ettiğinde çok daha sağlıklı gözlemlenir.' },
|
|
95
|
+
{ type: 'title', level: 2, text: 'Doğru başlangıç fotoperiyodu nasıl seçilir' },
|
|
96
|
+
{ type: 'paragraph', html: 'Araç, akvaryum türünü ve bitki ihtiyaçlarını birleştirerek önerilen bir zaman aralığı sunar. OATA gibi kuruluşlar bitkili akvaryumlar için başlangıçta 6 ila 8 saat önermektedir.' },
|
|
97
|
+
{ type: 'table', headers: ['Profil', 'Önerilen aralık', 'Önerilen kullanım'], rows: [['Tropikal tatlı su bitkisiz', '7 ila 8 saat', 'Sadece balık akvaryumu için güvenli başlangıç'], ['Tropikal tatlı su kolay bitkili', '7 ila 9 saat', 'Bitkili akvaryum için dengeli başlangıç'], ['Tropikal tatlı su yüksek ışıklı', '8 ila 10 saat', 'Yüksek ışık isteyen bitkiler için geniş aralık'], ['Deniz akvaryumu bitkisiz', '8 saat', 'Tuzlu su için güvenli başlangıç']] },
|
|
98
|
+
{ type: 'title', level: 2, text: 'Gün doğumu ve batımı geçişlerinin işlevi' },
|
|
99
|
+
{ type: 'paragraph', html: 'Geçiş süreleri balıkların ani ışık değişimlerinden ürkmesini engeller, ancak armatürün maksimum ışık gücünü artırmaz.' },
|
|
100
|
+
{ type: 'title', level: 2, text: 'Ayarlama için pratik ipuçları' },
|
|
101
|
+
{ type: 'list', items: ['Canlılarınıza uygun önerilen en kısa fotoperiyod ile başlayın.', 'Sonuçları gözlemlemek için zamanlayıcıyı birkaç hafta değiştirmeden tutun.', 'Akvaryuma doğrudan güneş ışığı gelmesini engelleyin.', 'Değişiklik yaparken tek seferde tek bir parametreyi değiştirin.', 'Beslediğiniz türlerin özel bakım gereksinimlerini kontrol edin.'] },
|
|
102
|
+
{ type: 'tip', title: 'Zamanlayıcı tek başına yosun sorununu çözmez', html: 'Yosun artışı varsa nitrat, fosfat, gübreleme ve su değişimi rutinlerinizi de gözden geçirin.' },
|
|
103
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Önerilen aralık biyolojik bir garanti değildir', badge: 'Sınırlama', html: 'Bu sonuç PAR ışık şiddetini veya su değerlerini ölçmez.' },
|
|
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: '水族箱灯光每天应该开启多少小时?', answer: '通常的建议初始光照时间为每天6至10小时。具体时长取决于水族箱类型、水草种类和饲养生物。本工具会清晰展示建议范围。' },
|
|
6
|
+
{ question: '为什么需要日出和日落渐变调光?', answer: '使用具备调光功能的水族灯可以缓和开灯和关灯时的光线变化,减少对鱼类等生物的惊扰与压力。' },
|
|
7
|
+
{ question: '使用此规划器可以防止藻类滋生吗?', answer: '不能。它主要用于设定稳定的定时器光照周期,并在超出建议范围时予以提示。藻类生长还受水质营养盐及阳光直射影响。' },
|
|
8
|
+
{ question: '灯光必须每天在固定的时间开启吗?', answer: '是的。保持规律的每日光照周期比不定期人工开关灯更有利于水族箱生态系统的稳定。' },
|
|
9
|
+
{ question: '如果水族灯不支持调光功能怎么办?', answer: '请将渐变开灯和渐变关灯时间均设为0分钟。规划器将直接输出开灯与关灯时间,便于设置普通定时器插座。' },
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const howTo = [
|
|
13
|
+
{ name: '选择水族箱类型', text: '选择热带淡水、冷水或海水水族箱,以确定光照规划参考范围。' },
|
|
14
|
+
{ name: '指定水草及光照需求', text: '选择无活体水草、阴性水草(低光照)或阳性水草(高光照需求)。' },
|
|
15
|
+
{ name: '设置开灯时间与总时长', text: '输入光照周期的起始时间,并调节每日总光照时长。' },
|
|
16
|
+
{ name: '添加可选渐变调光时间', text: '仅在灯具支持调光功能时设置日出与日落渐变时长。' },
|
|
17
|
+
{ name: '查看并设置定时器', text: '根据计算出的开灯、全光照及关灯时间,设置水族箱自动定时器。' },
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const ui = {
|
|
21
|
+
controlsLabel: '配置光照时间表',
|
|
22
|
+
aquariumTypeLabel: '水族箱类型',
|
|
23
|
+
aquariumTypeTropical: '热带淡水',
|
|
24
|
+
aquariumTypeColdwater: '冷水水族箱',
|
|
25
|
+
aquariumTypeMarine: '海水水族箱',
|
|
26
|
+
plantProfileLabel: '水草与光照需求',
|
|
27
|
+
plantProfileNone: '无活体水草',
|
|
28
|
+
plantProfileLow: '低光照水草(阴性草)',
|
|
29
|
+
plantProfileHigh: '高光照水草(阳性草)',
|
|
30
|
+
startTimeLabel: '光照周期起始时间',
|
|
31
|
+
photoperiodLabel: '光照总时长',
|
|
32
|
+
intensityLabel: '灯具输出设置',
|
|
33
|
+
rampUpLabel: '日出渐进(开灯调光)',
|
|
34
|
+
rampDownLabel: '日落渐进(关灯调光)',
|
|
35
|
+
optionalRampsLabel: '可选渐变调光设置',
|
|
36
|
+
optionalRampsSummary: '仅限支持调光的灯具设置',
|
|
37
|
+
hoursUnit: '小时',
|
|
38
|
+
minutesUnit: '分钟',
|
|
39
|
+
statusBelow: '低于建议范围',
|
|
40
|
+
statusInside: '处于建议范围内',
|
|
41
|
+
statusAbove: '高于建议范围',
|
|
42
|
+
targetBandLabel: '建议光照范围',
|
|
43
|
+
lightWindowLabel: '光照时间窗口',
|
|
44
|
+
fullIntensityLabel: '全功率光照时长',
|
|
45
|
+
fixtureLevelLabel: '灯具档位',
|
|
46
|
+
lightsOnLabel: '开始开灯',
|
|
47
|
+
fullLightLabel: '全光照',
|
|
48
|
+
lightsOffLabel: '完全关灯',
|
|
49
|
+
dayNightLabel: '24小时光照时间线',
|
|
50
|
+
fullDayLabel: '24小时制',
|
|
51
|
+
dailyRepeatLabel: '每日自动重复',
|
|
52
|
+
co2Label: '二氧化碳(CO₂)指南',
|
|
53
|
+
co2Hint: '草缸二氧化碳建议开启时间',
|
|
54
|
+
phaseDark: '关灯(夜间)',
|
|
55
|
+
phaseRampUp: '日出渐变',
|
|
56
|
+
phaseFull: '全光照',
|
|
57
|
+
phaseRampDown: '日落渐变',
|
|
58
|
+
adjustmentBelow: '当前光照周期比建议少 {hours} 小时。在延长前请确认生物需求。',
|
|
59
|
+
adjustmentInside: '非常理想的初始设置。请保持定时器稳定运行。',
|
|
60
|
+
adjustmentAbove: '当前光照周期比建议多 {hours} 小时。光照过长可能导致藻类爆发。',
|
|
61
|
+
limitsText: '仅供参考。本工具不测量光照强度(PAR值)或水质化学指标。',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const softwareApplicationSchema: WithContext<SoftwareApplication> = {
|
|
65
|
+
'@context': 'https://schema.org',
|
|
66
|
+
'@type': 'SoftwareApplication',
|
|
67
|
+
name: '水族箱灯光光照周期规划器',
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'Web',
|
|
70
|
+
description: '根据水族箱类型、水草需求及调光功能,计算并规划水族灯自动定时时间表。',
|
|
71
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
|
|
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: '如何设置水族箱灯光定时器',
|
|
84
|
+
step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: AquariumLightingPhotoperiodPlannerLocaleContent = {
|
|
88
|
+
slug: 'aquarium-lighting-photoperiod-schedule-planner',
|
|
89
|
+
title: '水族箱灯光与光照周期(Photoperiod)规划器',
|
|
90
|
+
description: '结合水族箱类型、水草环境、开灯时间及调光渐变,制定稳定高效的水族箱定时开灯时间表。',
|
|
91
|
+
ui,
|
|
92
|
+
seo: [
|
|
93
|
+
{ type: 'title', level: 2, text: '为什么规律的光照周期至关重要' },
|
|
94
|
+
{ type: 'paragraph', html: '水草光合成与鱼类的作息均依赖稳定的日光规律。保持每日固定的开灯与关灯时间是维持水族箱生态平衡的基础。' },
|
|
95
|
+
{ type: 'title', level: 2, text: '如何选择合适的初始光照时长' },
|
|
96
|
+
{ type: 'paragraph', html: '本工具综合水族箱类型与水草的光照需求给出建议。专业机构(如OATA)建议水草缸初始光照保持在6至8小时。' },
|
|
97
|
+
{ type: 'table', headers: ['水族箱环境', '建议光照时长', '适用说明'], rows: [['热带淡水(纯鱼缸)', '7至8小时', '无水草水族箱的保守设置'], ['热带淡水(阴性草缸)', '7至9小时', '普通水草缸的平衡初始设置'], ['热带淡水(阳性草缸)', '8至10小时', '高光照需求水草缸的推荐范围'], ['海水水族箱(纯鱼)', '8小时', '海水鱼缸的保守初始设置']] },
|
|
98
|
+
{ type: 'title', level: 2, text: '渐变调光功能的作用' },
|
|
99
|
+
{ type: 'paragraph', html: '日出日落渐进调光模拟了自然界光线变化,能有效减少突然亮灯对鱼类造成的应激反应。' },
|
|
100
|
+
{ type: 'title', level: 2, text: '调整与维护建议' },
|
|
101
|
+
{ type: 'list', items: ['从建议的最短光照时长开始设置。', '修改设置后请保持数周,观察水草与藻类的变化。', '避免阳光直射水族箱。', '如需调整,每次仅修改一个参数。', '请参阅所饲养生物与水草的具体养护指南。'] },
|
|
102
|
+
{ type: 'tip', title: '定时器不能单独解决藻类爆发问题', html: '若出现藻类问题,请同时检查硝酸盐、磷酸盐、水质维护及换水频率。' },
|
|
103
|
+
{ type: 'diagnostic', variant: 'warning', title: '建议范围不作为生物存活保证', badge: '使用限制', html: '计算结果仅作为时间表设定参考,不代表PAR光照强度或水质参数。' },
|
|
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,11 @@
|
|
|
1
|
+
import { aquariumLightingPhotoperiodPlanner } from "./entry";
|
|
2
|
+
import type { ToolDefinition } from "../../types";
|
|
3
|
+
|
|
4
|
+
export * from "./entry";
|
|
5
|
+
|
|
6
|
+
export const AQUARIUM_LIGHTING_PHOTOPERIOD_PLANNER_TOOL: ToolDefinition = {
|
|
7
|
+
entry: aquariumLightingPhotoperiodPlanner,
|
|
8
|
+
Component: () => import("./component.astro"),
|
|
9
|
+
SEOComponent: () => import("./seo.astro"),
|
|
10
|
+
BibliographyComponent: () => import("./bibliography.astro"),
|
|
11
|
+
};
|