@jjlmoya/utils-aquarium 1.60.0 → 1.62.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 (72) hide show
  1. package/package.json +18 -5
  2. package/scripts/postbuild.mjs +17 -0
  3. package/scripts/postinstall.mjs +2 -4
  4. package/src/category/index.ts +2 -1
  5. package/src/components/ProductionBreadcrumb.astro +134 -0
  6. package/src/components/ProductionStructuredData.astro +46 -0
  7. package/src/components/ProductionWidget.astro +182 -0
  8. package/src/entries.ts +4 -1
  9. package/src/i18n/header-ui.ts +15 -0
  10. package/src/i18n/language-ui.ts +9 -0
  11. package/src/i18n/languages.ts +24 -0
  12. package/src/identity/brands.ts +5 -0
  13. package/src/index.ts +2 -0
  14. package/src/layouts/ProductionCategoryPage.astro +184 -0
  15. package/src/layouts/ProductionPage.astro +218 -0
  16. package/src/layouts/ProductionUtilityPage.astro +283 -0
  17. package/src/mfe/assets.ts +39 -0
  18. package/src/mfe/category-ui.ts +34 -0
  19. package/src/mfe/manifest.ts +45 -0
  20. package/src/mfe/routes.ts +50 -0
  21. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug]/manifest.json.ts +49 -0
  22. package/src/pages/[locale]/[utilities]/[categories]/[category]/[slug].astro +100 -0
  23. package/src/pages/[locale]/[utilities]/[categories]/[category].astro +44 -0
  24. package/src/pages/index.astro +1 -1
  25. package/src/pages/mfe-sitemaps/[locale]/[vertical]/sitemap.xml.ts +75 -0
  26. package/src/pages/utilidades/[slug]/manifest.json.ts +28 -0
  27. package/src/pages/utilidades/[slug].astro +90 -0
  28. package/src/pages/utilidades/categorias/[category].astro +38 -0
  29. package/src/tests/i18n_coverage.test.ts +1 -1
  30. package/src/tests/mfe_cache_contract.test.ts +14 -0
  31. package/src/tests/mfe_manifest.test.ts +28 -0
  32. package/src/tests/registry_contract.test.ts +67 -0
  33. package/src/tests/tool_validation.test.ts +4 -3
  34. package/src/tool/aquariumEvaporationTopOffPlanner/aquarium-evaporation-top-off-planner.css +490 -0
  35. package/src/tool/aquariumEvaporationTopOffPlanner/bibliography.astro +6 -0
  36. package/src/tool/aquariumEvaporationTopOffPlanner/bibliography.ts +10 -0
  37. package/src/tool/aquariumEvaporationTopOffPlanner/component.astro +61 -0
  38. package/src/tool/aquariumEvaporationTopOffPlanner/controller.ts +232 -0
  39. package/src/tool/aquariumEvaporationTopOffPlanner/dom-views.ts +39 -0
  40. package/src/tool/aquariumEvaporationTopOffPlanner/entry.ts +27 -0
  41. package/src/tool/aquariumEvaporationTopOffPlanner/evaluator.ts +9 -0
  42. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/de.ts +3 -0
  43. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/en.ts +179 -0
  44. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/es.ts +3 -0
  45. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/fr.ts +3 -0
  46. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/id.ts +3 -0
  47. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/it.ts +3 -0
  48. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/ja.ts +3 -0
  49. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/ko.ts +3 -0
  50. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/nl.ts +3 -0
  51. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/pl.ts +3 -0
  52. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/pt.ts +3 -0
  53. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/ru.ts +3 -0
  54. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/shared.ts +79 -0
  55. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/sv.ts +3 -0
  56. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/tr.ts +3 -0
  57. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/translations.ts +509 -0
  58. package/src/tool/aquariumEvaporationTopOffPlanner/i18n/zh.ts +3 -0
  59. package/src/tool/aquariumEvaporationTopOffPlanner/index.ts +11 -0
  60. package/src/tool/aquariumEvaporationTopOffPlanner/logic.test.ts +61 -0
  61. package/src/tool/aquariumEvaporationTopOffPlanner/logic.ts +102 -0
  62. package/src/tool/aquariumEvaporationTopOffPlanner/seo.astro +13 -0
  63. package/src/tool/aquariumEvaporationTopOffPlanner/storage.ts +28 -0
  64. package/src/tool/aquariumEvaporationTopOffPlanner/ui.ts +49 -0
  65. package/src/tool/aquariumLightingPhotoperiodPlanner/i18n/zh.ts +2 -2
  66. package/src/tool/aquariumTankVolumeWaterChangeCalculator/i18n/fr.ts +1 -1
  67. package/src/tool/aquariumTankVolumeWaterChangeCalculator/i18n/it.ts +1 -1
  68. package/src/tools.ts +6 -0
  69. package/src/types.ts +4 -6
  70. package/src/worker.ts +27 -0
  71. package/src/pages/[locale]/[slug].astro +0 -65
  72. package/src/pages/[locale].astro +0 -69
@@ -0,0 +1,509 @@
1
+ import type { SEOSection } from '../../../types';
2
+ import { buildContent, makeUi, type LocalizedCopy } from './shared';
3
+
4
+ interface SeoCopy {
5
+ firstTitle: string;
6
+ firstParagraph: string;
7
+ secondTitle: string;
8
+ secondParagraph: string;
9
+ list: string[];
10
+ thirdTitle: string;
11
+ thirdParagraph: string;
12
+ tipTitle: string;
13
+ tip: string;
14
+ headers: string[];
15
+ rows: string[][];
16
+ }
17
+
18
+ function makeSeo(copy: SeoCopy): SEOSection[] {
19
+ return [
20
+ { type: 'title', text: copy.firstTitle, level: 2 },
21
+ { type: 'paragraph', html: copy.firstParagraph },
22
+ { type: 'title', text: copy.secondTitle, level: 2 },
23
+ { type: 'paragraph', html: copy.secondParagraph },
24
+ { type: 'list', items: copy.list },
25
+ { type: 'title', text: copy.thirdTitle, level: 2 },
26
+ { type: 'paragraph', html: copy.thirdParagraph },
27
+ { type: 'tip', title: copy.tipTitle, html: `<p>${copy.tip}</p>` },
28
+ { type: 'table', headers: copy.headers, rows: copy.rows },
29
+ ];
30
+ }
31
+
32
+ const de: LocalizedCopy = {
33
+ language: 'de',
34
+ slug: 'aquarium-verdunstung-nachfuell-planer',
35
+ title: 'Aquarium Verdunstung und Nachfüllplaner',
36
+ description: 'Verwandle eine echte Verdunstungsmessung in Tagesverlust, Nachfüllmenge und Kalender für Süßwasser oder Meerwasser.',
37
+ ui: makeUi(['Einheiten', 'Metrisch', 'Imperial', 'Nutzvolumen des Aquariums', 'Nach der Beobachtung hinzugefügtes Wasser', 'Einheit des Messverlusts', 'Beobachtungszeitraum', 'Nachfüllen alle', 'ATO Behälter', 'Optionale ATO und Meerwasser Einstellungen', 'Wassertyp', 'Süßwasser', 'Meerwasser', 'Anfangssalinität', 'Geschätzte SG', 'ATO Autonomie', 'Kritischer Pegelverlust: Intervall verkürzen.', 'Verwende das aktuell vorhandene Wasser.', 'Messe die Menge zum Wiederherstellen der Linie.', 'Kürzere Intervalle verringern den Pegelunterschied.', 'Dein Nachfüllrhythmus', 'Tagesverlust', 'Täglicher Anteil des Wasservolumens', 'Nächstes Nachfüllen', 'Vorbereitung für 30 Tage', 'Erwarteter Pegel vor dem Nachfüllen', 'Tage bis 2 Prozent Verlust', 'Wasserlinie für vierzehn Tage', 'Tag', 'Nachfüllen', 'alle', 'Pegel vor dem Nachfüllen', 'Gleichmäßiger gemessener Verlust', 'Wasserlinie beobachten', 'Häufiges Nachfüllen wahrscheinlich', 'Tankdaten eingeben, um zu beginnen.', 'Werte prüfen: positive Zahlen, Beobachtung bis 90 Tage und Intervall bis 30 Tage verwenden.', 'Diese Projektion basiert auf deinem Messverlust. Nach Änderungen an Abdeckung, Luftstrom, Beleuchtung oder Raum erneut messen.', 'Verdunstung lässt gelöste Salze zurück. Verwende die für deine Methode passende Nachfüllflüssigkeit und prüfe die Salinität.', 'Beispiel zurücksetzen', 'L', 'imp gal', 'mL', 'fl oz', 'Tage', '%']),
38
+ seo: makeSeo({
39
+ firstTitle: 'Plane nach einer echten Wasserlinienmessung',
40
+ firstParagraph: 'Verdunstung ist leicht zu sehen und trotzdem schwer richtig einzuschätzen. Eine Abdeckung in einem feuchten Raum kann den Verlust stark bremsen, während Luftbewegung, warme Lampen oder trockene Raumluft den Pegel schneller sinken lassen. Dieses Werkzeug beginnt mit der Menge, die du tatsächlich ergänzt hast, damit der Plan zu deinem Aquarium passt.',
41
+ secondTitle: 'Miss den Verlust vor dem Nachfüllplan',
42
+ secondParagraph: 'Markiere die normale Wasserlinie und beobachte das Aquarium mehrere Tage ohne Wasserwechsel. Miss die Menge, die du zum Wiederherstellen der Linie ergänzt. Das Werkzeug teilt diese Messung durch den Zeitraum und berechnet den Verlust bis zu deinem gewählten Intervall. Wiederhole die Messung nach Änderungen an Deckel, Ventilator, Beleuchtung oder Standort.',
43
+ list: ['<strong>Stabil beobachten:</strong> Mehrere Tage sind aussagekräftiger als ein einzelner Wert.', '<strong>Arbeitsvolumen verwenden:</strong> Nutze das vorhandene Wasser, nicht das leere Glasvolumen.', '<strong>Praktisches Intervall wählen:</strong> Kürzere Intervalle halten die sichtbare Schwankung klein.', '<strong>Nach Änderungen prüfen:</strong> Luftstrom und Oberflächenbewegung verändern die Rate.'],
44
+ thirdTitle: 'Lies die Wasserlinie als Pflegesignal',
45
+ thirdParagraph: 'Die Tagesrate zeigt den Wasserverlust im Verhältnis zum Arbeitsvolumen. Die nächste Füllung sagt dir, welche Menge du für das gewählte Intervall vorbereiten solltest. Der Kalender macht den Verlauf zwischen den Füllungen sichtbar. Die Werte sind Planungsschätzungen und ersetzen weder Wasserqualitätstests noch die Beobachtung der Tiere.',
46
+ tipTitle: 'Meerwasser braucht eine eigene Salinitätskontrolle',
47
+ tip: 'Bei Verdunstung bleibt gelöstes Salz zurück. Fülle ein Meerwasseraquarium mit dem Wasser deiner Methode nach und prüfe die Salinität, wenn sich der Pegel deutlich verändert hat. Die berechnete Menge ist keine allgemeine Dosieranweisung.',
48
+ headers: ['Ausgabe', 'Bedeutung'],
49
+ rows: [['Tagesverlust', 'Gemessene Verdunstung auf einen Tag umgerechnet'], ['Nächstes Nachfüllen', 'Erwartete Menge bis zum gewählten Intervall'], ['Verlust in 30 Tagen', 'Planungsschätzung für die Wasserreserve'], ['Pegel nach dem Intervall', 'Erwarteter Pegel vor dem geplanten Nachfüllen']],
50
+ }),
51
+ faq: [
52
+ { question: 'Wie messe ich die Verdunstung für dieses Werkzeug?', answer: 'Markiere die normale Wasserlinie, verzichte auf Wasserwechsel, miss das nach mehreren Tagen ergänzte Wasser und trage die genaue Menge mit dem Beobachtungszeitraum ein. Ein längerer Zeitraum verringert den Einfluss eines ungewöhnlichen Tages.' },
53
+ { question: 'Verliert ein Meerwasseraquarium durch Verdunstung Salz?', answer: 'Nein. Verdunstung entfernt Wasser, während gelöstes Salz zurückbleibt. Nutze die Berechnung für das fehlende Volumen und folge deiner Aquarienmethode für das Nachfüllwasser.' },
54
+ { question: 'Warum verwendet der Plan meine Messung statt Raumdaten?', answer: 'Abdeckung, Luftstrom, Beleuchtung, Temperatur, Feuchtigkeit und Oberflächenbewegung beeinflussen den Verlust. Eine echte Messung ist für einen Zeitplan nützlicher als eine allgemeine Klimaschätzung.' },
55
+ { question: 'Kann das Werkzeug Wasserwechsel ersetzen?', answer: 'Nein. Nachfüllen ersetzt nur verdunstetes Wasser. Es entfernt weder angesammelte Abfallstoffe noch ersetzt es einen Wasserwechsel für die Wasserqualität.' },
56
+ ],
57
+ howTo: [
58
+ { name: 'Gib das Arbeitsvolumen ein', text: 'Nutze das ungefähre aktuell vorhandene Wasservolumen, nicht die Außenmaße oder die beworbene Maximalgröße.' },
59
+ { name: 'Erfasse einen echten Verdunstungsverlust', text: 'Miss die Menge, die du nach einem stabilen Zeitraum ergänzt hast. Trage Menge und Beobachtungstage ein.' },
60
+ { name: 'Wähle ein Nachfüllintervall', text: 'Bestimme, wie oft du nachfüllen möchtest. Der Plan zeigt Menge und Pegel zwischen den Füllungen.' },
61
+ { name: 'Nutze den Kalender als Routine', text: 'Verwende die geplanten Füllungen als Erinnerung und miss nach Änderungen an Abdeckung, Luftstrom oder Beleuchtung erneut.' },
62
+ ],
63
+ };
64
+
65
+ const es: LocalizedCopy = {
66
+ language: 'es',
67
+ slug: 'planificador-evaporacion-rellenado-acuario',
68
+ title: 'Planificador de evaporación y rellenado del acuario',
69
+ description: 'Convierte una medición real de evaporación en pérdida diaria, cantidad de rellenado y calendario para acuarios de agua dulce o marina.',
70
+ ui: makeUi(['Unidades', 'Métrico', 'Imperial', 'Volumen útil del acuario', 'Agua añadida tras la observación', 'Unidad de pérdida medida', 'Periodo de observación', 'Rellenar cada', 'Depósito ATO', 'Ajustes opcionales de ATO y marino', 'Tipo de agua', 'Agua dulce', 'Agua marina', 'Salinidad inicial', 'SG estimada', 'Autonomía ATO', 'Nivel crítico: acorta el intervalo de rellenado.', 'Usa el agua que hay actualmente en el tanque.', 'Mide la cantidad necesaria para recuperar la línea.', 'Los intervalos cortos reducen la variación visible.', 'Tu ritmo de rellenado', 'Pérdida diaria', 'Tasa diaria del volumen del tanque', 'Próximo rellenado', 'Preparación para treinta días', 'Nivel previsto antes de rellenar', 'Días hasta perder un 2 por ciento', 'Línea de agua durante catorce días', 'Día', 'Rellenar', 'cada', 'Nivel antes de rellenar', 'Pérdida medida estable', 'Vigila la línea de agua', 'Probablemente necesitarás rellenar a menudo', 'Añade los datos del tanque para empezar.', 'Revisa los valores: usa números positivos, una observación de hasta 90 días y un intervalo de hasta 30 días.', 'Esta proyección usa tu pérdida medida. Vuelve a medir después de cambiar la tapa, el flujo de aire, la iluminación o las condiciones de la habitación.', 'La evaporación deja la sal disuelta en el agua. Usa el agua de rellenado adecuado para tu método y revisa la salinidad cuando sea necesario.', 'Restablecer ejemplo', 'L', 'gal imp', 'mL', 'fl oz', 'días', '%']),
71
+ seo: makeSeo({
72
+ firstTitle: 'Programa el rellenado con tu medición real',
73
+ firstParagraph: 'La evaporación se ve fácilmente, pero se calcula mal con facilidad. Una urna tapada en una habitación húmeda puede perder muy poco, mientras que el movimiento de la superficie, las luces calientes o el aire seco aceleran la bajada. Esta herramienta parte del agua que realmente has añadido, para que la rutina refleje tu acuario y no una estimación genérica.',
74
+ secondTitle: 'Mide la pérdida antes de planificar',
75
+ secondParagraph: 'Marca el nivel normal y observa el acuario varios días sin hacer un cambio de agua. Mide el agua que añades para recuperar la marca. El planificador divide ese volumen entre los días observados y proyecta la pérdida al intervalo elegido. Repite la medición si cambias la tapa, el ventilador, el horario de luz o la ubicación.',
76
+ list: ['<strong>Observa un periodo estable:</strong> varios días son más útiles que una sola lectura.', '<strong>Usa el volumen útil:</strong> cuenta el agua presente, no la capacidad del cristal vacío.', '<strong>Elige un intervalo práctico:</strong> los intervalos cortos reducen la oscilación del nivel.', '<strong>Comprueba los cambios:</strong> el aire y el movimiento de superficie alteran la tasa.'],
77
+ thirdTitle: 'Usa la línea de agua como señal de mantenimiento',
78
+ thirdParagraph: 'La tasa diaria muestra cuánto pierde el acuario en relación con su volumen útil. El próximo rellenado indica cuánto preparar para el intervalo seleccionado y el calendario hace visible la bajada entre rellenados. Son estimaciones de planificación, no un análisis de calidad del agua ni un sustituto de observar a los animales y medir parámetros.',
79
+ tipTitle: 'En acuarios marinos revisa también la salinidad',
80
+ tip: 'La evaporación deja la sal disuelta. Rellena con el agua que corresponda a tu método y comprueba la salinidad cuando el nivel haya bajado de forma apreciable. La cantidad calculada no es una instrucción universal de dosificación.',
81
+ headers: ['Resultado', 'Qué indica'],
82
+ rows: [['Pérdida diaria', 'La evaporación medida convertida a un día'], ['Próximo rellenado', 'El volumen previsto para el intervalo elegido'], ['Pérdida en treinta días', 'Una estimación para preparar la reserva'], ['Nivel tras el intervalo', 'El nivel previsto antes del rellenado programado']],
83
+ }),
84
+ faq: [
85
+ { question: '¿Cómo mido la evaporación para este planificador?', answer: 'Marca el nivel normal, evita cambios de agua, mide el agua añadida después de varios días y escribe esa cantidad junto con el periodo exacto. Un periodo más largo reduce el efecto de un día extraño.' },
86
+ { question: '¿La evaporación elimina la sal de un acuario marino?', answer: 'No. Se evapora el agua, pero la sal disuelta permanece. Usa el planificador para conocer el volumen que falta y sigue tu método para preparar el agua de rellenado.' },
87
+ { question: '¿Por qué usa mi medición en lugar de las condiciones de la habitación?', answer: 'La tapa, el flujo de aire, la iluminación, la temperatura, la humedad y el movimiento superficial cambian la pérdida. Una medición propia sirve mejor para programar que una estimación climática general.' },
88
+ { question: '¿Esto sustituye los cambios de agua?', answer: 'No. Rellenar repone el agua evaporada. No elimina residuos acumulados ni sustituye un cambio de agua elegido para cuidar la calidad del agua y los animales.' },
89
+ ],
90
+ howTo: [
91
+ { name: 'Introduce el volumen útil', text: 'Usa el volumen aproximado de agua que hay ahora en el acuario, no las medidas exteriores ni la capacidad máxima anunciada.' },
92
+ { name: 'Registra una pérdida real', text: 'Mide cuánto añadiste después de un periodo estable e introduce la cantidad y los días observados.' },
93
+ { name: 'Elige el intervalo', text: 'Decide cada cuánto quieres rellenar. El planificador estima la cantidad y muestra el nivel entre rellenados.' },
94
+ { name: 'Convierte el calendario en rutina', text: 'Usa las filas del calendario como recordatorio y vuelve a medir después de cambios en tapa, aire, luz o habitación.' },
95
+ ],
96
+ };
97
+
98
+ const fr: LocalizedCopy = {
99
+ language: 'fr',
100
+ slug: 'planificateur-evaporation-remplissage-aquarium',
101
+ title: 'Planificateur d évaporation et de remplissage aquarium',
102
+ description: 'Transformez une mesure réelle d évaporation en perte quotidienne, volume de remplissage et calendrier pour eau douce ou eau de mer.',
103
+ ui: makeUi(['Unités', 'Métrique', 'Impérial', 'Volume utile de l aquarium', 'Eau ajoutée après observation', 'Unité de perte mesurée', 'Période d observation', 'Remplir tous les', 'Réservoir ATO', 'Réglages ATO et marin optionnels', 'Type d eau', 'Eau douce', 'Eau de mer', 'Salinité de départ', 'SG estimée', 'Autonomie ATO', 'Variation critique, réduisez l intervalle.', 'Utilisez le volume actuellement présent.', 'Mesurez la quantité nécessaire pour retrouver la ligne.', 'Des intervalles courts réduisent la variation visible.', 'Votre rythme de remplissage', 'Perte quotidienne', 'Taux quotidien du volume', 'Prochain remplissage', 'Préparation pour trente jours', 'Niveau prévu avant remplissage', 'Jours avant une perte de 2 pour cent', 'Niveau d eau sur quatorze jours', 'Jour', 'Remplissage', 'tous les', 'Niveau avant remplissage', 'Perte mesurée régulière', 'Surveillez le niveau', 'Remplissage fréquent probable', 'Ajoutez les données du bac pour commencer.', 'Vérifiez les valeurs, nombres positifs, observation de 90 jours maximum et intervalle de 30 jours maximum.', 'Cette projection repose sur votre mesure. Mesurez à nouveau après un changement de couvercle, d air, d éclairage ou de pièce.', 'L évaporation laisse le sel dissous. Utilisez l eau adaptée à votre méthode et contrôlez la salinité si nécessaire.', 'Réinitialiser l exemple', 'L', 'gal imp', 'mL', 'fl oz', 'jours', '%']),
104
+ seo: makeSeo({
105
+ firstTitle: 'Planifiez à partir de votre vraie ligne d eau',
106
+ firstParagraph: 'L évaporation est visible mais souvent mal estimée. Un bac couvert dans une pièce humide peut perdre très peu, alors que le mouvement de surface, des lampes chaudes ou un air sec accélèrent la baisse. Cet outil part du volume réellement ajouté afin que la routine corresponde à votre aquarium.',
107
+ secondTitle: 'Mesurez la perte avant de planifier',
108
+ secondParagraph: 'Marquez le niveau habituel et observez le bac pendant plusieurs jours sans changement d eau. Mesurez l eau ajoutée pour retrouver la marque. Le planificateur divise ce volume par la durée observée puis projette la perte sur l intervalle choisi. Recommencez après une modification du couvercle, du ventilateur, de l éclairage ou de la pièce.',
109
+ list: ['<strong>Choisissez une période stable :</strong> plusieurs jours valent mieux qu une seule lecture.', '<strong>Utilisez le volume utile :</strong> comptez l eau présente, pas la capacité du verre vide.', '<strong>Choisissez un intervalle pratique :</strong> des remplissages rapprochés limitent la variation.', '<strong>Mesurez après chaque changement :</strong> l air et le brassage de surface modifient la perte.'],
110
+ thirdTitle: 'Lisez la ligne d eau comme un signal d entretien',
111
+ thirdParagraph: 'Le taux quotidien indique la perte par rapport au volume utile. Le prochain remplissage indique le volume à préparer et le calendrier montre la baisse entre deux interventions. Ce sont des estimations de planification, pas une analyse de qualité de l eau ni un remplacement de l observation des animaux et des tests.',
112
+ tipTitle: 'En eau de mer, contrôlez aussi la salinité',
113
+ tip: 'L évaporation laisse le sel dissous. Ajoutez l eau prévue par votre méthode et contrôlez la salinité lorsque le niveau a sensiblement baissé. Le volume calculé ne constitue pas une consigne universelle de dosage.',
114
+ headers: ['Résultat', 'Interprétation'],
115
+ rows: [['Perte quotidienne', 'Évaporation mesurée ramenée à une journée'], ['Prochain remplissage', 'Volume attendu pour l intervalle choisi'], ['Perte sur trente jours', 'Estimation pour préparer la réserve'], ['Niveau après intervalle', 'Niveau prévu avant le remplissage programmé']],
116
+ }),
117
+ faq: [
118
+ { question: 'Comment mesurer l évaporation pour ce planificateur ?', answer: 'Marquez le niveau normal, évitez les changements d eau, mesurez l eau ajoutée après plusieurs jours et saisissez le volume avec la durée exacte. Une période plus longue réduit l effet d une journée inhabituelle.' },
119
+ { question: 'L évaporation enlève-t-elle le sel d un aquarium marin ?', answer: 'Non. L eau s évapore mais le sel dissous reste dans le bac. Utilisez le planificateur pour le volume manquant, puis suivez votre méthode pour préparer l eau de complément.' },
120
+ { question: 'Pourquoi utiliser ma mesure plutôt que les conditions de la pièce ?', answer: 'Le couvercle, l air, l éclairage, la température, l humidité et le brassage de surface influencent la perte. Une mesure réelle est plus utile qu une estimation climatique générale.' },
121
+ { question: 'Cela peut-il remplacer les changements d eau ?', answer: 'Non. Le remplissage compense uniquement l eau évaporée. Il ne retire pas les déchets accumulés et ne remplace pas un changement choisi pour la qualité de l eau.' },
122
+ ],
123
+ howTo: [
124
+ { name: 'Saisissez le volume utile', text: 'Utilisez le volume d eau présent dans l aquarium, pas les dimensions extérieures ni la capacité maximale annoncée.' },
125
+ { name: 'Mesurez une perte réelle', text: 'Mesurez le volume ajouté après une période stable et saisissez ce volume avec le nombre de jours.' },
126
+ { name: 'Choisissez l intervalle', text: 'Choisissez la fréquence de remplissage. Le planificateur estime le volume et le niveau entre deux remplissages.' },
127
+ { name: 'Suivez le calendrier', text: 'Utilisez les cases comme rappel puis mesurez à nouveau après un changement de couvercle, d air ou d éclairage.' },
128
+ ],
129
+ };
130
+
131
+ const id: LocalizedCopy = {
132
+ language: 'id',
133
+ slug: 'perencana-penguapan-pengisian-aquarium',
134
+ title: 'Perencana penguapan dan pengisian akuarium',
135
+ description: 'Ubah pengukuran penguapan nyata menjadi kehilangan harian, jumlah pengisian, dan kalender untuk akuarium air tawar atau laut.',
136
+ ui: makeUi(['Satuan', 'Metrik', 'Imperial', 'Volume air akuarium', 'Air yang ditambahkan setelah pengamatan', 'Satuan kehilangan terukur', 'Periode pengamatan', 'Isi ulang setiap', 'Reservoir ATO', 'Pengaturan ATO dan laut opsional', 'Jenis air', 'Air tawar', 'Air laut', 'Salinitas awal', 'SG perkiraan', 'Daya tahan ATO', 'Perubahan kritis: pendekkan interval pengisian.', 'Gunakan volume air yang ada di dalam tangki.', 'Ukur jumlah yang diperlukan untuk mengembalikan garis air.', 'Interval lebih pendek mengurangi perubahan permukaan.', 'Pola pengisian Anda', 'Kehilangan harian', 'Persentase volume harian', 'Pengisian berikutnya', 'Persiapan tiga puluh hari', 'Level yang diperkirakan sebelum pengisian', 'Hari sampai kehilangan 2 persen', 'Garis air empat belas hari', 'Hari', 'Isi ulang', 'setiap', 'Level sebelum pengisian', 'Kehilangan terukur stabil', 'Amati garis air', 'Pengisian lebih sering mungkin diperlukan', 'Masukkan data tangki untuk memulai.', 'Periksa nilai: gunakan angka positif, pengamatan maksimal 90 hari, dan interval maksimal 30 hari.', 'Proyeksi ini berdasarkan pengukuran Anda. Ukur lagi setelah mengubah penutup, aliran udara, lampu, atau kondisi ruangan.', 'Penguapan meninggalkan garam terlarut. Gunakan air pengisian yang sesuai metode Anda dan periksa salinitas bila perlu.', 'Atur ulang contoh', 'L', 'gal imp', 'mL', 'fl oz', 'hari', '%']),
137
+ seo: makeSeo({
138
+ firstTitle: 'Buat jadwal dari garis air nyata',
139
+ firstParagraph: 'Penguapan mudah terlihat tetapi sering salah diperkirakan. Tangki tertutup di ruangan lembap dapat kehilangan sedikit air, sedangkan gerakan permukaan, lampu panas, dan udara kering mempercepat penurunan. Alat ini memakai jumlah air yang benar benar Anda tambahkan sehingga jadwal sesuai dengan akuarium Anda.',
140
+ secondTitle: 'Ukur kehilangan sebelum membuat rencana',
141
+ secondParagraph: 'Tandai garis air normal dan amati akuarium selama beberapa hari tanpa mengganti air. Ukur air yang ditambahkan untuk mengembalikan garis tersebut. Perencana membagi volume itu dengan lama pengamatan lalu menghitung kehilangan pada interval pilihan Anda. Ulangi setelah mengubah penutup, kipas, lampu, atau lokasi.',
142
+ list: ['<strong>Gunakan pengamatan stabil:</strong> beberapa hari lebih berguna daripada satu pembacaan.', '<strong>Gunakan volume kerja:</strong> hitung air yang ada, bukan kapasitas kaca kosong.', '<strong>Pilih interval praktis:</strong> interval pendek mengurangi perubahan level.', '<strong>Ukur setelah perubahan:</strong> aliran udara dan gerakan permukaan mengubah laju kehilangan.'],
143
+ thirdTitle: 'Jadikan garis air sebagai tanda perawatan',
144
+ thirdParagraph: 'Laju harian menunjukkan air yang hilang dibandingkan volume kerja. Pengisian berikutnya menunjukkan jumlah yang perlu disiapkan, sedangkan kalender memperlihatkan perubahan di antara pengisian. Ini adalah perkiraan jadwal, bukan pemeriksaan kualitas air dan bukan pengganti pengamatan hewan atau pengujian air.',
145
+ tipTitle: 'Akuarium laut memerlukan pemeriksaan salinitas',
146
+ tip: 'Penguapan meninggalkan garam terlarut. Isi ulang dengan jenis air yang sesuai metode Anda dan periksa salinitas ketika level berubah cukup banyak. Jumlah hasil hitung bukan petunjuk dosis universal.',
147
+ headers: ['Hasil', 'Artinya'],
148
+ rows: [['Kehilangan harian', 'Penguapan terukur yang dibagi menjadi satu hari'], ['Pengisian berikutnya', 'Volume yang diperkirakan pada interval pilihan'], ['Kehilangan tiga puluh hari', 'Perkiraan untuk menyiapkan cadangan air'], ['Level setelah interval', 'Level yang diperkirakan sebelum pengisian terjadwal']],
149
+ }),
150
+ faq: [
151
+ { question: 'Bagaimana mengukur penguapan untuk perencana ini?', answer: 'Tandai garis air normal, jangan lakukan penggantian air, ukur air yang ditambahkan setelah beberapa hari, lalu masukkan jumlah dan lama pengamatan. Pengamatan lebih lama mengurangi pengaruh satu hari yang tidak biasa.' },
152
+ { question: 'Apakah penguapan menghilangkan garam dari akuarium laut?', answer: 'Tidak. Air menguap sementara garam terlarut tetap ada. Gunakan alat ini untuk mengetahui volume yang hilang dan ikuti metode akuarium Anda saat menyiapkan air pengisian.' },
153
+ { question: 'Mengapa memakai pengukuran saya dan bukan kondisi ruangan?', answer: 'Penutup, aliran udara, lampu, suhu, kelembapan, dan gerakan permukaan memengaruhi kehilangan. Pengukuran nyata lebih berguna untuk jadwal daripada perkiraan iklim umum.' },
154
+ { question: 'Apakah ini menggantikan penggantian air?', answer: 'Tidak. Pengisian hanya mengganti air yang menguap. Cara ini tidak membuang limbah yang menumpuk dan tidak menggantikan penggantian air untuk kualitas air.' },
155
+ ],
156
+ howTo: [
157
+ { name: 'Masukkan volume air kerja', text: 'Gunakan perkiraan volume air yang ada sekarang, bukan ukuran luar atau kapasitas maksimum akuarium.' },
158
+ { name: 'Catat kehilangan nyata', text: 'Ukur air yang ditambahkan setelah periode stabil, lalu masukkan jumlah dan hari pengamatan.' },
159
+ { name: 'Pilih interval pengisian', text: 'Tentukan seberapa sering akan mengisi. Perencana menghitung jumlah dan level di antara pengisian.' },
160
+ { name: 'Gunakan kalender sebagai rutinitas', text: 'Pakai kalender sebagai pengingat dan ukur ulang setelah mengubah penutup, udara, lampu, atau lokasi.' },
161
+ ],
162
+ };
163
+
164
+ const it: LocalizedCopy = {
165
+ language: 'it',
166
+ slug: 'pianificatore-evaporazione-rabbocco-acquario',
167
+ title: 'Pianificatore di evaporazione e rabbocco acquario',
168
+ description: 'Trasforma una misurazione reale dell evaporazione in perdita giornaliera, quantità di rabbocco e calendario per acqua dolce o marina.',
169
+ ui: makeUi(['Unità', 'Metrico', 'Imperiale', 'Volume utile dell acquario', 'Acqua aggiunta dopo l osservazione', 'Unità della perdita misurata', 'Periodo di osservazione', 'Rabbocco ogni', 'Serbatoio ATO', 'Impostazioni ATO e marine opzionali', 'Tipo di acqua', 'Acqua dolce', 'Acqua marina', 'Salinità iniziale', 'SG stimata', 'Autonomia ATO', 'Variazione critica: riduci l intervallo di rabbocco.', 'Usa l acqua attualmente presente nella vasca.', 'Misura la quantità necessaria per ripristinare la linea.', 'Intervalli più brevi riducono la variazione visibile.', 'Il tuo ritmo di rabbocco', 'Perdita giornaliera', 'Tasso giornaliero del volume', 'Prossimo rabbocco', 'Preparazione per trenta giorni', 'Livello previsto prima del rabbocco', 'Giorni per perdere il 2 per cento', 'Livello dell acqua per quattordici giorni', 'Giorno', 'Rabbocco', 'ogni', 'Livello prima del rabbocco', 'Perdita misurata regolare', 'Controlla il livello dell acqua', 'Probabile rabbocco frequente', 'Inserisci i dati della vasca per iniziare.', 'Controlla i valori: usa numeri positivi, osservazione fino a 90 giorni e intervallo fino a 30 giorni.', 'Questa proiezione usa la perdita misurata. Misura di nuovo dopo aver cambiato coperchio, flusso d aria, illuminazione o ambiente.', 'L evaporazione lascia il sale disciolto. Usa l acqua di rabbocco prevista dal tuo metodo e controlla la salinità quando serve.', 'Ripristina esempio', 'L', 'gal imp', 'mL', 'fl oz', 'giorni', '%']),
170
+ seo: makeSeo({
171
+ firstTitle: 'Pianifica dalla linea d acqua reale',
172
+ firstParagraph: 'L evaporazione è facile da vedere ma sorprendentemente facile da valutare male. Una vasca coperta in una stanza umida può perdere pochissimo, mentre movimento della superficie, luci calde o aria secca accelerano la discesa. Questo strumento parte dall acqua che hai davvero aggiunto, così la routine rispecchia il tuo acquario.',
173
+ secondTitle: 'Misura la perdita prima di pianificare',
174
+ secondParagraph: 'Segna il livello normale e osserva la vasca per diversi giorni senza fare cambi d acqua. Misura l acqua aggiunta per tornare alla linea. Il pianificatore divide il volume per i giorni osservati e proietta la perdita sull intervallo scelto. Ripeti la misura dopo cambi a coperchio, ventola, luci o posizione.',
175
+ list: ['<strong>Osserva in modo stabile:</strong> più giorni sono più utili di una sola lettura.', '<strong>Usa il volume effettivo:</strong> considera l acqua presente, non la capacità del vetro vuoto.', '<strong>Scegli un intervallo pratico:</strong> intervalli brevi riducono l oscillazione del livello.', '<strong>Ricontrolla dopo i cambi:</strong> aria e movimento superficiale modificano il tasso.'],
176
+ thirdTitle: 'Leggi la linea d acqua come segnale di cura',
177
+ thirdParagraph: 'Il tasso giornaliero mostra quanta acqua perde la vasca rispetto al volume utile. Il prossimo rabbocco indica cosa preparare e il calendario rende visibile la perdita tra due interventi. Sono stime per la programmazione, non un test della qualità dell acqua e non sostituiscono l osservazione degli animali.',
178
+ tipTitle: 'In acqua marina controlla anche la salinità',
179
+ tip: 'L evaporazione lascia il sale disciolto. Rabbocca con l acqua prevista dal tuo metodo e controlla la salinità quando il livello è cambiato in modo evidente. Il volume calcolato non è un istruzione universale di dosaggio.',
180
+ headers: ['Risultato', 'Cosa indica'],
181
+ rows: [['Perdita giornaliera', 'Evaporazione misurata convertita in un giorno'], ['Prossimo rabbocco', 'Volume previsto all intervallo scelto'], ['Perdita in trenta giorni', 'Stima per preparare la riserva'], ['Livello dopo l intervallo', 'Livello previsto prima del rabbocco programmato']],
182
+ }),
183
+ faq: [
184
+ { question: 'Come misuro l evaporazione per questo pianificatore?', answer: 'Segna il livello normale, evita cambi d acqua, misura l acqua aggiunta dopo diversi giorni e inserisci quantità e durata esatte. Un periodo più lungo riduce l effetto di una giornata insolita.' },
185
+ { question: 'L evaporazione rimuove il sale da un acquario marino?', answer: 'No. Evapora l acqua mentre il sale disciolto resta. Usa il pianificatore per il volume mancante e segui il tuo metodo per preparare l acqua di rabbocco.' },
186
+ { question: 'Perché usa la mia misura invece delle condizioni ambientali?', answer: 'Coperchio, aria, luci, temperatura, umidità e movimento superficiale possono cambiare la perdita. Una misura reale è più utile di una stima climatica generica.' },
187
+ { question: 'Può sostituire i cambi d acqua?', answer: 'No. Il rabbocco sostituisce solo l acqua evaporata. Non rimuove i rifiuti accumulati e non sostituisce un cambio scelto per la qualità dell acqua.' },
188
+ ],
189
+ howTo: [
190
+ { name: 'Inserisci il volume utile', text: 'Usa il volume approssimativo presente nell acquario, non le dimensioni esterne o la capacità massima dichiarata.' },
191
+ { name: 'Registra una perdita reale', text: 'Misura quanto hai aggiunto dopo un periodo stabile e inserisci quantità e giorni osservati.' },
192
+ { name: 'Scegli l intervallo', text: 'Decidi ogni quanto rabboccare. Il piano stima quantità e livello tra un intervento e l altro.' },
193
+ { name: 'Usa il calendario come routine', text: 'Segui le caselle come promemoria e misura di nuovo dopo modifiche a coperchio, aria, luci o ambiente.' },
194
+ ],
195
+ };
196
+
197
+ const nl: LocalizedCopy = {
198
+ language: 'nl',
199
+ slug: 'aquarium-verdamping-bijvullen-planner',
200
+ title: 'Planner voor verdamping en bijvullen van het aquarium',
201
+ description: 'Zet een echte verdampingsmeting om in dagelijks verlies, bijvulhoeveelheid en een kalender voor zoet of zeewater.',
202
+ ui: makeUi(['Eenheden', 'Metrisch', 'Imperiaal', 'Werkelijk aquariumvolume', 'Water toegevoegd na observatie', 'Eenheid van gemeten verlies', 'Observatieperiode', 'Bijvullen elke', 'ATO reservoir', 'Optionele ATO en zee instellingen', 'Watertype', 'Zoetwater', 'Zeewater', 'Startsaliniteit', 'Geschatte SG', 'ATO autonomie', 'Kritische niveauschommeling: verkort het interval.', 'Gebruik het water dat nu in de bak zit.', 'Meet de hoeveelheid die nodig is om de lijn te herstellen.', 'Kortere intervallen verkleinen de zichtbare schommeling.', 'Jouw bijvulritme', 'Dagelijks verlies', 'Dagelijks deel van het volume', 'Volgende bijvulling', 'Voorbereiding voor dertig dagen', 'Verwacht niveau voor bijvullen', 'Dagen tot 2 procent verlies', 'Veertiendaagse waterlijn', 'Dag', 'Bijvullen', 'elke', 'Niveau voor bijvullen', 'Stabiel gemeten verlies', 'Houd de waterlijn in de gaten', 'Waarschijnlijk vaak bijvullen', 'Voer aquariumgegevens in om te beginnen.', 'Controleer de waarden: gebruik positieve getallen, maximaal 90 observatiedagen en maximaal 30 dagen interval.', 'Deze voorspelling gebruikt jouw meting. Meet opnieuw na een andere kap, luchtstroom, verlichting of kamertoestand.', 'Verdamping laat opgelost zout achter. Gebruik geschikt bijvulwater en controleer de saliniteit wanneer dat nodig is.', 'Voorbeeld resetten', 'L', 'imp gal', 'mL', 'fl oz', 'dagen', '%']),
203
+ seo: makeSeo({
204
+ firstTitle: 'Plan op basis van een echte waterlijn',
205
+ firstParagraph: 'Verdamping is makkelijk te zien maar lastig precies te schatten. Een afgedekte bak in een vochtige kamer verliest misschien weinig, terwijl oppervlaktebeweging, warme lampen en droge lucht het niveau sneller laten zakken. Deze planner gebruikt de hoeveelheid die je echt hebt toegevoegd, zodat het schema bij jouw aquarium past.',
206
+ secondTitle: 'Meet het verlies voordat je plant',
207
+ secondParagraph: 'Markeer het normale niveau en observeer de bak enkele dagen zonder waterwissel. Meet hoeveel water je toevoegt om de lijn te herstellen. De planner deelt dit volume door de observatieperiode en rekent het verlies door naar jouw gekozen interval. Meet opnieuw na veranderingen aan kap, ventilator, verlichting of plek.',
208
+ list: ['<strong>Observeer stabiel:</strong> meerdere dagen zijn nuttiger dan één meting.', '<strong>Gebruik het werkvolume:</strong> tel het aanwezige water, niet de lege glasinhoud.', '<strong>Kies een praktisch interval:</strong> kortere intervallen houden de niveauschommeling kleiner.', '<strong>Controleer veranderingen:</strong> luchtstroom en oppervlaktebeweging wijzigen de snelheid.'],
209
+ thirdTitle: 'Lees de waterlijn als onderhoudssignaal',
210
+ thirdParagraph: 'De dagwaarde toont hoeveel water de bak verliest in verhouding tot het werkvolume. De volgende bijvulling zegt hoeveel je moet voorbereiden en de kalender maakt het verloop tussen bijvullingen zichtbaar. Dit zijn planningsschattingen, geen waterkwaliteitstest en geen vervanging voor het observeren van dieren.',
211
+ tipTitle: 'Controleer bij zeewater ook de saliniteit',
212
+ tip: 'Bij verdamping blijft opgelost zout achter. Vul aan met het watertype dat jouw methode voorschrijft en controleer de saliniteit wanneer het niveau merkbaar is veranderd. De berekende hoeveelheid is geen universele doseerinstructie.',
213
+ headers: ['Uitkomst', 'Betekenis'],
214
+ rows: [['Dagelijks verlies', 'Gemeten verdamping omgerekend naar één dag'], ['Volgende bijvulling', 'Verwacht volume voor het gekozen interval'], ['Verlies in dertig dagen', 'Schatting om de watervoorraad te plannen'], ['Niveau na interval', 'Verwacht niveau voor de geplande bijvulling']],
215
+ }),
216
+ faq: [
217
+ { question: 'Hoe meet ik verdamping voor deze planner?', answer: 'Markeer het normale niveau, doe geen waterwissel, meet het water dat je na enkele dagen toevoegt en vul de exacte periode in. Een langere observatie vermindert het effect van één afwijkende dag.' },
218
+ { question: 'Verdwijnt zout door verdamping uit zeewater?', answer: 'Nee. Het water verdampt, maar opgelost zout blijft achter. Gebruik de planner voor het ontbrekende volume en volg jouw methode voor het bijvulwater.' },
219
+ { question: 'Waarom gebruikt de planner mijn meting in plaats van kameromstandigheden?', answer: 'Kap, luchtstroom, verlichting, temperatuur, vochtigheid en oppervlaktebeweging beïnvloeden het verlies. Een eigen meting is beter voor een schema dan een algemene klimaatschatting.' },
220
+ { question: 'Kan dit waterwissels vervangen?', answer: 'Nee. Bijvullen vervangt alleen verdampt water. Het verwijdert geen opgehoopt afval en vervangt geen waterwissel voor waterkwaliteit.' },
221
+ ],
222
+ howTo: [
223
+ { name: 'Voer het werkvolume in', text: 'Gebruik het geschatte aanwezige watervolume, niet de buitenmaten of geadverteerde maximale inhoud.' },
224
+ { name: 'Meet echt verlies', text: 'Meet hoeveel water je na een stabiele periode toevoegt en voer hoeveelheid en dagen in.' },
225
+ { name: 'Kies een bijvulinterval', text: 'Kies hoe vaak je wilt bijvullen. De planner toont de hoeveelheid en het niveau ertussen.' },
226
+ { name: 'Gebruik de kalender als routine', text: 'Gebruik de vakken als herinnering en meet opnieuw na wijzigingen aan kap, lucht, licht of ruimte.' },
227
+ ],
228
+ };
229
+
230
+ const pt: LocalizedCopy = {
231
+ language: 'pt',
232
+ slug: 'planejador-evaporacao-reposicao-aquario',
233
+ title: 'Planejador de evaporação e reposição do aquário',
234
+ description: 'Transforme uma medição real de evaporação em perda diária, volume de reposição e calendário para água doce ou salgada.',
235
+ ui: makeUi(['Unidades', 'Métrico', 'Imperial', 'Volume útil do aquário', 'Água adicionada após a observação', 'Unidade da perda medida', 'Período de observação', 'Repor a cada', 'Reservatório ATO', 'Definições opcionais de ATO e marinho', 'Tipo de água', 'Água doce', 'Água salgada', 'Salinidade inicial', 'SG estimada', 'Autonomia ATO', 'Variação crítica: reduza o intervalo de reposição.', 'Use a água que está atualmente no aquário.', 'Meça a quantidade necessária para recuperar a linha.', 'Intervalos mais curtos reduzem a variação visível.', 'O seu ritmo de reposição', 'Perda diária', 'Taxa diária do volume', 'Próxima reposição', 'Preparação para trinta dias', 'Nível previsto antes da reposição', 'Dias até perder 2 por cento', 'Linha de água durante catorze dias', 'Dia', 'Reposição', 'a cada', 'Nível antes da reposição', 'Perda medida estável', 'Observe a linha de água', 'É provável que precise de reposições frequentes', 'Adicione os dados do aquário para começar.', 'Verifique os valores: use números positivos, observação até 90 dias e intervalo até 30 dias.', 'Esta projeção usa a sua perda medida. Meça novamente depois de mudar a tampa, o fluxo de ar, a iluminação ou a divisão.', 'A evaporação deixa o sal dissolvido. Use a água de reposição adequada ao seu método e verifique a salinidade quando necessário.', 'Repor exemplo', 'L', 'gal imp', 'mL', 'fl oz', 'dias', '%']),
236
+ seo: makeSeo({
237
+ firstTitle: 'Planeie a partir de uma medição real',
238
+ firstParagraph: 'A evaporação é fácil de notar e surpreendentemente fácil de calcular mal. Um aquário tapado numa divisão húmida pode perder pouca água, enquanto o movimento da superfície, lâmpadas quentes ou ar seco aceleram a descida. Esta ferramenta começa pela quantidade que realmente adicionou, para que a rotina corresponda ao seu aquário.',
239
+ secondTitle: 'Meça a perda antes de planear a reposição',
240
+ secondParagraph: 'Marque o nível normal e observe o aquário durante vários dias sem fazer uma troca de água. Meça a água adicionada para recuperar a marca. O planeador divide esse volume pelos dias observados e projeta a perda para o intervalo escolhido. Repita a medição depois de mudar a tampa, ventoinha, iluminação ou localização.',
241
+ list: ['<strong>Use um período estável:</strong> vários dias são mais úteis do que uma leitura isolada.', '<strong>Use o volume útil:</strong> conte a água presente, não a capacidade do vidro vazio.', '<strong>Escolha um intervalo prático:</strong> intervalos curtos reduzem a oscilação do nível.', '<strong>Verifique após mudanças:</strong> o ar e o movimento superficial alteram a taxa.'],
242
+ thirdTitle: 'Leia a linha de água como sinal de manutenção',
243
+ thirdParagraph: 'A taxa diária mostra a água perdida em relação ao volume útil. A próxima reposição indica quanto preparar e o calendário mostra a descida entre reposições. São estimativas de planeamento, não uma análise da qualidade da água nem um substituto para observar os animais e testar a água.',
244
+ tipTitle: 'Em água salgada verifique também a salinidade',
245
+ tip: 'A evaporação deixa o sal dissolvido. Reponha com a água indicada pelo seu método e verifique a salinidade quando o nível tiver mudado de forma significativa. O volume calculado não é uma instrução universal de dosagem.',
246
+ headers: ['Resultado', 'O que indica'],
247
+ rows: [['Perda diária', 'Evaporação medida convertida para um dia'], ['Próxima reposição', 'Volume esperado no intervalo escolhido'], ['Perda em trinta dias', 'Estimativa para preparar a reserva'], ['Nível após o intervalo', 'Nível previsto antes da reposição programada']],
248
+ }),
249
+ faq: [
250
+ { question: 'Como meço a evaporação para este planeador?', answer: 'Marque o nível normal, evite trocas de água, meça a água adicionada depois de vários dias e indique o volume e o período exatos. Uma observação mais longa reduz o efeito de um dia fora do normal.' },
251
+ { question: 'A evaporação remove o sal de um aquário marinho?', answer: 'Não. A água evapora, mas o sal dissolvido permanece. Use o planeador para o volume em falta e siga o seu método para preparar a água de reposição.' },
252
+ { question: 'Por que razão usa a minha medição em vez das condições da divisão?', answer: 'A tampa, o fluxo de ar, a iluminação, a temperatura, a humidade e o movimento da superfície alteram a perda. Uma medição real é mais útil do que uma estimativa climática geral.' },
253
+ { question: 'Isto pode substituir trocas de água?', answer: 'Não. A reposição compensa apenas a água evaporada. Não remove resíduos acumulados nem substitui uma troca escolhida para manter a qualidade da água.' },
254
+ ],
255
+ howTo: [
256
+ { name: 'Introduza o volume útil', text: 'Use o volume aproximado de água presente, não as dimensões exteriores nem a capacidade máxima anunciada.' },
257
+ { name: 'Registe uma perda real', text: 'Meça quanto adicionou após um período estável e introduza a quantidade e os dias observados.' },
258
+ { name: 'Escolha o intervalo', text: 'Escolha a frequência de reposição. O planeador estima a quantidade e o nível entre intervenções.' },
259
+ { name: 'Use o calendário como rotina', text: 'Use os dias como lembrete e volte a medir depois de mudar tampa, ar, luz ou localização.' },
260
+ ],
261
+ };
262
+
263
+ const sv: LocalizedCopy = {
264
+ language: 'sv',
265
+ slug: 'planer-avdunstning-pafyllning-akvarium',
266
+ title: 'Planerare för avdunstning och påfyllning av akvarium',
267
+ description: 'Omvandla en verklig avdunstningsmätning till daglig förlust, påfyllningsmängd och kalender för sötvatten eller saltvatten.',
268
+ ui: makeUi(['Enheter', 'Metriskt', 'Imperial', 'Akvariets arbetsvolym', 'Vatten tillsatt efter observation', 'Enhet för uppmätt förlust', 'Observationsperiod', 'Fyll på var', 'ATO behållare', 'Valfria ATO och marina inställningar', 'Vattentyp', 'Sötvatten', 'Saltvatten', 'Startsalinitet', 'Beräknad SG', 'ATO uthållighet', 'Kritisk nivåförändring: korta påfyllningsintervallet.', 'Använd vattnet som finns i akvariet nu.', 'Mät mängden som behövs för att återställa nivån.', 'Kortare intervall minskar den synliga förändringen.', 'Din påfyllningsrytm', 'Daglig förlust', 'Daglig andel av vattenvolymen', 'Nästa påfyllning', 'Förberedelse för trettio dagar', 'Beräknad nivå före påfyllning', 'Dagar till 2 procents förlust', 'Vattenlinje i fjorton dagar', 'Dag', 'Fyll på', 'var', 'Nivå före påfyllning', 'Stabil uppmätt förlust', 'Håll koll på vattenlinjen', 'Täta påfyllningar är troliga', 'Lägg till akvariedata för att börja.', 'Kontrollera värdena: använd positiva tal, högst 90 observationsdagar och högst 30 dagars intervall.', 'Prognosen bygger på din mätning. Mät igen efter ändringar av lock, luftflöde, belysning eller rum.', 'Avdunstning lämnar löst salt kvar. Använd rätt påfyllningsvatten för din metod och kontrollera salthalten vid behov.', 'Återställ exempel', 'L', 'imp gal', 'mL', 'fl oz', 'dagar', '%']),
269
+ seo: makeSeo({
270
+ firstTitle: 'Planera från en verklig vattenlinje',
271
+ firstParagraph: 'Avdunstning är lätt att se men svår att uppskatta rätt. Ett täckt akvarium i ett fuktigt rum kan förlora mycket lite, medan ytrörelse, varma lampor och torr luft får nivån att sjunka snabbare. Verktyget börjar med mängden vatten du faktiskt fyllde på, så planen passar ditt akvarium.',
272
+ secondTitle: 'Mät förlusten innan du planerar',
273
+ secondParagraph: 'Markera den normala vattenlinjen och observera akvariet i flera dagar utan vattenbyte. Mät vattnet som behövs för att återställa linjen. Planeraren delar volymen med observationsperioden och räknar fram förlusten för ditt valda intervall. Mät igen efter ändringar av lock, fläkt, ljus eller placering.',
274
+ list: ['<strong>Välj en stabil period:</strong> flera dagar är bättre än en enda avläsning.', '<strong>Använd arbetsvolymen:</strong> räkna vattnet som finns, inte det tomma glasets kapacitet.', '<strong>Välj ett praktiskt intervall:</strong> kortare intervall minskar nivåsvängningen.', '<strong>Kontrollera efter ändringar:</strong> luftflöde och ytrörelse ändrar förlusttakten.'],
275
+ thirdTitle: 'Läs vattenlinjen som en skötselsignal',
276
+ thirdParagraph: 'Dagsvärdet visar förlusten i relation till arbetsvolymen. Nästa påfyllning visar hur mycket du bör förbereda och kalendern gör förändringen mellan påfyllningar tydlig. Detta är planeringsvärden, inte ett vattenkvalitetstest och inte en ersättning för att se till djuren.',
277
+ tipTitle: 'Saltvatten kräver även kontroll av salthalten',
278
+ tip: 'Avdunstning lämnar löst salt kvar. Fyll på med det vatten som din metod kräver och kontrollera salthalten när nivån har ändrats märkbart. Den beräknade mängden är ingen allmän doseringsanvisning.',
279
+ headers: ['Resultat', 'Vad det visar'],
280
+ rows: [['Daglig förlust', 'Uppmätt avdunstning omräknad till en dag'], ['Nästa påfyllning', 'Förväntad volym vid valt intervall'], ['Förlust på trettio dagar', 'Planeringsvärde för vattenreserven'], ['Nivå efter intervall', 'Förväntad nivå före den planerade påfyllningen']],
281
+ }),
282
+ faq: [
283
+ { question: 'Hur mäter jag avdunstning för planeraren?', answer: 'Markera normalnivån, gör inga vattenbyten, mät vattnet du fyller på efter flera dagar och ange exakt mängd och period. En längre period minskar effekten av en ovanlig dag.' },
284
+ { question: 'Försvinner salt när ett saltvattensakvarium avdunstar?', answer: 'Nej. Vattnet avdunstar men det lösta saltet blir kvar. Använd planeraren för den saknade volymen och följ din metod för påfyllningsvattnet.' },
285
+ { question: 'Varför använder verktyget min egen mätning?', answer: 'Lock, luftflöde, belysning, temperatur, fuktighet och ytrörelse påverkar förlusten. En verklig mätning är bättre för planering än en generell uppskattning.' },
286
+ { question: 'Kan detta ersätta vattenbyten?', answer: 'Nej. Påfyllning ersätter bara avdunstat vatten. Den tar inte bort ansamlat avfall och ersätter inte ett vattenbyte för god vattenkvalitet.' },
287
+ ],
288
+ howTo: [
289
+ { name: 'Ange arbetsvolymen', text: 'Använd den ungefärliga vattenvolymen som finns i akvariet, inte ytterdimensionerna eller den annonserade maxvolymen.' },
290
+ { name: 'Registrera en verklig förlust', text: 'Mät hur mycket du fyllde på efter en stabil period och ange mängd och observationsdagar.' },
291
+ { name: 'Välj påfyllningsintervall', text: 'Välj hur ofta du vill fylla på. Planeraren visar mängd och nivå mellan tillfällena.' },
292
+ { name: 'Använd kalendern som rutin', text: 'Använd dagarna som påminnelse och mät på nytt efter ändringar av lock, luft, ljus eller rum.' },
293
+ ],
294
+ };
295
+
296
+ const tr: LocalizedCopy = {
297
+ language: 'tr',
298
+ slug: 'akvaryum-buharlasma-tamamlama-planlayici',
299
+ title: 'Akvaryum buharlaşma ve su tamamlama planlayıcısı',
300
+ description: 'Gerçek buharlaşma ölçümünü günlük kayıp, tamamlama miktarı ve tatlı ya da tuzlu su takvimine dönüştürün.',
301
+ ui: makeUi(['Birimler', 'Metrik', 'İmperyal', 'Çalışma akvaryum hacmi', 'Gözlemden sonra eklenen su', 'Ölçülen kayıp birimi', 'Gözlem süresi', 'Şu sıklıkta tamamla', 'ATO haznesi', 'İsteğe bağlı ATO ve deniz ayarları', 'Su türü', 'Tatlı su', 'Tuzlu su', 'Başlangıç tuzluluğu', 'Tahmini SG', 'ATO özerkliği', 'Kritik seviye değişimi: tamamlama aralığını kısaltın.', 'Şu anda tankta bulunan suyu kullanın.', 'Çizgiyi eski haline getirmek için gereken miktarı ölçün.', 'Kısa aralıklar görünür seviye değişimini azaltır.', 'Su tamamlama düzeniniz', 'Günlük kayıp', 'Tank hacminin günlük oranı', 'Sonraki tamamlama', 'Otuz günlük hazırlık', 'Tamamlama öncesi tahmini seviye', 'Yüzde 2 kayba kadar gün', 'On dört günlük su çizgisi', 'Gün', 'Tamamla', 'her', 'Tamamlama öncesi seviye', 'Dengeli ölçülen kayıp', 'Su çizgisini izleyin', 'Sık tamamlama gerekebilir', 'Başlamak için tank verilerini ekleyin.', 'Değerleri kontrol edin: pozitif sayılar, en fazla 90 günlük gözlem ve en fazla 30 günlük aralık kullanın.', 'Bu tahmin ölçtüğünüz kayba dayanır. Kapak, hava akışı, aydınlatma veya oda koşulları değişince yeniden ölçün.', 'Buharlaşma çözünmüş tuzu geride bırakır. Yönteminize uygun tamamlama suyunu kullanın ve gerektiğinde tuzluluğu kontrol edin.', 'Örneği sıfırla', 'L', 'imp gal', 'mL', 'fl oz', 'gün', '%']),
302
+ seo: makeSeo({
303
+ firstTitle: 'Gerçek su çizgisinden plan yapın',
304
+ firstParagraph: 'Buharlaşmayı görmek kolaydır ancak doğru tahmin etmek zordur. Nemli bir odada kapalı tank çok az su kaybedebilir; yüzey hareketi, sıcak lambalar ve kuru hava ise seviyeyi daha hızlı düşürür. Bu araç gerçekten eklediğiniz miktarla başlar ve planı akvaryumunuza uyarlar.',
305
+ secondTitle: 'Planlamadan önce kaybı ölçün',
306
+ secondParagraph: 'Normal su çizgisini işaretleyin ve su değişimi yapmadan tankı birkaç gün gözlemleyin. Çizgiyi eski haline getirmek için eklediğiniz suyu ölçün. Planlayıcı bu hacmi gözlem günlerine böler ve seçtiğiniz aralığa göre kaybı hesaplar. Kapak, fan, ışık veya konum değişince ölçümü tekrarlayın.',
307
+ list: ['<strong>Sabit bir dönem kullanın:</strong> birkaç gün tek okumadan daha anlamlıdır.', '<strong>Çalışma hacmini kullanın:</strong> boş cam kapasitesini değil, mevcut suyu sayın.', '<strong>Uygun aralık seçin:</strong> kısa aralıklar seviye dalgalanmasını azaltır.', '<strong>Değişikliklerden sonra kontrol edin:</strong> hava akımı ve yüzey hareketi kayıp hızını değiştirir.'],
308
+ thirdTitle: 'Su çizgisini bakım sinyali olarak okuyun',
309
+ thirdParagraph: 'Günlük oran, çalışma hacmine göre kaybedilen suyu gösterir. Sonraki tamamlama seçtiğiniz aralıkta hazırlamanız gereken miktarı söyler; takvim ise iki tamamlama arasındaki düşüşü görünür kılar. Bunlar planlama tahminleridir, su kalitesi testi değildir ve hayvanları gözlemlemenin yerini tutmaz.',
310
+ tipTitle: 'Tuzlu suda tuzluluğu ayrıca kontrol edin',
311
+ tip: 'Buharlaşma çözünmüş tuzu bırakır. Yönteminizin gerektirdiği suyla tamamlayın ve seviye belirgin şekilde değiştiğinde tuzluluğu kontrol edin. Hesaplanan miktarı evrensel bir doz talimatı olarak kullanmayın.',
312
+ headers: ['Sonuç', 'Ne anlatır'],
313
+ rows: [['Günlük kayıp', 'Ölçülen buharlaşmanın bir güne çevrilmiş hali'], ['Sonraki tamamlama', 'Seçilen aralıkta beklenen hacim'], ['Otuz günlük kayıp', 'Su rezervini hazırlamak için tahmin'], ['Aralık sonrası seviye', 'Planlanan tamamlama öncesi beklenen seviye']],
314
+ }),
315
+ faq: [
316
+ { question: 'Bu planlayıcı için buharlaşmayı nasıl ölçerim?', answer: 'Normal çizgiyi işaretleyin, su değişimi yapmayın, birkaç gün sonra eklediğiniz suyu ölçün ve miktarı gözlem süresiyle girin. Daha uzun gözlem sıra dışı bir günün etkisini azaltır.' },
317
+ { question: 'Buharlaşma tuzlu sudaki tuzu yok eder mi?', answer: 'Hayır. Su buharlaşır, çözünmüş tuz tankta kalır. Eksik hacmi görmek için planlayıcıyı kullanın ve tamamlama suyunu kendi yönteminize göre hazırlayın.' },
318
+ { question: 'Neden oda koşulları yerine kendi ölçümümü kullanmalıyım?', answer: 'Kapak, hava akımı, aydınlatma, sıcaklık, nem ve yüzey hareketi kaybı değiştirir. Gerçek ölçüm genel iklim tahmininden daha yararlıdır.' },
319
+ { question: 'Bu araç su değişiminin yerini tutar mı?', answer: 'Hayır. Su tamamlama yalnızca buharlaşan suyu yerine koyar. Biriken atıkları gidermez ve su kalitesi için gereken su değişiminin yerini tutmaz.' },
320
+ ],
321
+ howTo: [
322
+ { name: 'Çalışma hacmini girin', text: 'Dış ölçüleri veya ilan edilen maksimum kapasiteyi değil, tankta bulunan yaklaşık su hacmini kullanın.' },
323
+ { name: 'Gerçek kaybı kaydedin', text: 'Sabit bir dönemden sonra eklediğiniz suyu ölçün ve miktarla gözlem günlerini girin.' },
324
+ { name: 'Tamamlama aralığını seçin', text: 'Ne sıklıkta tamamlayacağınızı seçin. Planlayıcı miktarı ve aradaki seviyeyi gösterir.' },
325
+ { name: 'Takvimi rutine dönüştürün', text: 'Günleri hatırlatıcı olarak kullanın ve kapak, hava, ışık veya oda değişince yeniden ölçün.' },
326
+ ],
327
+ };
328
+
329
+ const pl: LocalizedCopy = {
330
+ language: 'pl',
331
+ slug: 'planer-parowania-dolewania-akwarium',
332
+ title: 'Planer parowania i dolewania wody do akwarium',
333
+ description: 'Zamień rzeczywisty pomiar parowania na dzienną stratę, ilość dolewki i kalendarz dla akwarium słodkowodnego lub morskiego.',
334
+ ui: makeUi(['Jednostki', 'Metryczne', 'Imperialne', 'Objętość robocza akwarium', 'Woda dodana po obserwacji', 'Jednostka zmierzonej straty', 'Okres obserwacji', 'Dolewaj co', 'Zbiornik ATO', 'Opcjonalne ustawienia ATO i akwarium morskiego', 'Rodzaj wody', 'Woda słodka', 'Woda morska', 'Początkowe zasolenie', 'Szacowane SG', 'Autonomia ATO', 'Krytyczna zmiana poziomu: skróć odstęp dolewania.', 'Użyj ilości wody znajdującej się teraz w zbiorniku.', 'Zmierz ilość potrzebną do przywrócenia poziomu.', 'Krótsze odstępy zmniejszają widoczną zmianę poziomu.', 'Twój rytm dolewania', 'Strata dzienna', 'Dzienny udział objętości zbiornika', 'Następna dolewka', 'Przygotowanie na trzydzieści dni', 'Przewidywany poziom przed dolewką', 'Dni do utraty 2 procent', 'Poziom wody przez czternaście dni', 'Dzień', 'Dolewka', 'co', 'Poziom przed dolewką', 'Stabilna zmierzona strata', 'Obserwuj poziom wody', 'Prawdopodobne częste dolewanie', 'Dodaj dane zbiornika, aby zacząć.', 'Sprawdź wartości: użyj liczb dodatnich, obserwacji do 90 dni i odstępu do 30 dni.', 'To obliczenie opiera się na zmierzonej stracie. Zmierz ponownie po zmianie pokrywy, przepływu powietrza, oświetlenia lub warunków w pomieszczeniu.', 'Parowanie pozostawia rozpuszczoną sól. Użyj właściwej wody do dolewki i sprawdź zasolenie, gdy jest to potrzebne.', 'Przywróć przykład', 'L', 'gal imp', 'mL', 'fl oz', 'dni', '%']),
335
+ seo: makeSeo({
336
+ firstTitle: 'Zaplanuj dolewki na podstawie prawdziwego pomiaru',
337
+ firstParagraph: 'Parowanie łatwo zauważyć, ale trudno je dobrze oszacować. Zakryte akwarium w wilgotnym pomieszczeniu może tracić niewiele wody, a ruch powierzchni, ciepłe lampy lub suche powietrze przyspieszają spadek poziomu. To narzędzie wykorzystuje ilość wody, którą rzeczywiście dolano, więc plan pasuje do Twojego akwarium.',
338
+ secondTitle: 'Zmierz stratę przed zaplanowaniem dolewania',
339
+ secondParagraph: 'Zaznacz normalny poziom i obserwuj akwarium przez kilka dni bez podmiany wody. Zmierz ilość wody potrzebną do przywrócenia zaznaczonego poziomu. Planer dzieli tę objętość przez liczbę dni i przelicza stratę na wybrany odstęp. Powtórz pomiar po zmianie pokrywy, wentylatora, światła lub miejsca.',
340
+ list: ['<strong>Wybierz stabilny okres:</strong> kilka dni daje lepszy wynik niż pojedynczy odczyt.', '<strong>Użyj objętości roboczej:</strong> uwzględnij obecną wodę, nie pustą pojemność szkła.', '<strong>Wybierz praktyczny odstęp:</strong> częstsze dolewki ograniczają wahania poziomu.', '<strong>Sprawdź po zmianach:</strong> przepływ powietrza i ruch powierzchni zmieniają tempo straty.'],
341
+ thirdTitle: 'Traktuj poziom wody jako sygnał pielęgnacji',
342
+ thirdParagraph: 'Wartość dzienna pokazuje stratę w odniesieniu do objętości roboczej. Następna dolewka wskazuje, ile wody przygotować, a kalendarz pokazuje spadek między dolewkami. Są to szacunki planistyczne, nie test jakości wody i nie zastępują obserwacji zwierząt ani pomiarów.',
343
+ tipTitle: 'W akwarium morskim kontroluj także zasolenie',
344
+ tip: 'Parowanie pozostawia rozpuszczoną sól. Dolewaj wodę zgodną ze swoją metodą i sprawdź zasolenie, gdy poziom wyraźnie się zmieni. Obliczona ilość nie jest uniwersalną instrukcją dozowania.',
345
+ headers: ['Wynik', 'Co oznacza'],
346
+ rows: [['Strata dzienna', 'Zmierzona utrata wody przeliczona na jeden dzień'], ['Następna dolewka', 'Przewidywana objętość dla wybranego odstępu'], ['Strata w trzydzieści dni', 'Szacunek do przygotowania zapasu wody'], ['Poziom po odstępie', 'Przewidywany poziom przed zaplanowaną dolewką']],
347
+ }),
348
+ faq: [
349
+ { question: 'Jak zmierzyć parowanie na potrzeby tego planera?', answer: 'Zaznacz normalny poziom, nie rób podmiany wody, zmierz wodę dodaną po kilku dniach i wpisz ilość oraz dokładny okres. Dłuższa obserwacja ogranicza wpływ nietypowego dnia.' },
350
+ { question: 'Czy parowanie usuwa sól z akwarium morskiego?', answer: 'Nie. Paruje woda, a rozpuszczona sól zostaje. Użyj planera do określenia brakującej objętości i przygotuj wodę zgodnie ze swoją metodą.' },
351
+ { question: 'Dlaczego planer korzysta z mojego pomiaru?', answer: 'Pokrywa, powietrze, światło, temperatura, wilgotność i ruch powierzchni wpływają na stratę. Rzeczywisty pomiar lepiej nadaje się do planowania niż ogólne dane o klimacie.' },
352
+ { question: 'Czy to zastępuje podmiany wody?', answer: 'Nie. Dolewanie uzupełnia wyłącznie wodę utraconą przez parowanie. Nie usuwa nagromadzonych zanieczyszczeń i nie zastępuje podmiany dla dobrej jakości wody.' },
353
+ ],
354
+ howTo: [
355
+ { name: 'Wpisz objętość roboczą', text: 'Użyj przybliżonej ilości wody obecnej w akwarium, a nie wymiarów zewnętrznych lub maksymalnej pojemności.' },
356
+ { name: 'Zapisz rzeczywistą stratę', text: 'Zmierz ilość dolaną po stabilnym okresie i wpisz ją wraz z liczbą dni obserwacji.' },
357
+ { name: 'Wybierz odstęp dolewania', text: 'Określ częstotliwość dolewek. Planer pokaże ilość oraz poziom pomiędzy nimi.' },
358
+ { name: 'Używaj kalendarza jako rutyny', text: 'Traktuj dni jako przypomnienie i zmierz ponownie po zmianie pokrywy, powietrza, światła lub pomieszczenia.' },
359
+ ],
360
+ };
361
+
362
+ const ru: LocalizedCopy = {
363
+ language: 'ru',
364
+ slug: 'planirovshchik-ispareniya-doliva-akvariuma',
365
+ title: 'Планировщик испарения и долива аквариума',
366
+ description: 'Превратите реальное измерение испарения в суточную потерю, объём долива и календарь для пресной или морской воды.',
367
+ ui: makeUi(['Единицы', 'Метрические', 'Имперские', 'Рабочий объём аквариума', 'Вода, добавленная после наблюдения', 'Единица измеренной потери', 'Период наблюдения', 'Доливать каждые', 'Резервуар ATO', 'Дополнительные настройки ATO и морской воды', 'Тип воды', 'Пресная вода', 'Морская вода', 'Начальная солёность', 'Расчётная SG', 'Автономность ATO', 'Критическое изменение уровня: сократите интервал долива.', 'Используйте объём воды, который сейчас находится в аквариуме.', 'Измерьте количество для восстановления линии.', 'Короткие интервалы уменьшают видимое колебание уровня.', 'Ваш ритм долива', 'Суточная потеря', 'Суточная доля объёма аквариума', 'Следующий долив', 'Запас на тридцать дней', 'Расчётный уровень перед доливом', 'Дней до потери 2 процентов', 'Линия воды на четырнадцать дней', 'День', 'Долив', 'каждые', 'Уровень перед доливом', 'Стабильная измеренная потеря', 'Следите за линией воды', 'Вероятны частые доливы', 'Добавьте данные аквариума, чтобы начать.', 'Проверьте значения: нужны положительные числа, наблюдение до 90 дней и интервал до 30 дней.', 'Прогноз основан на вашей измеренной потере. Повторите измерение после изменения крышки, потока воздуха, освещения или условий комнаты.', 'При испарении растворённая соль остаётся. Используйте подходящую воду для долива и проверяйте солёность при необходимости.', 'Сбросить пример', 'л', 'имп. гал', 'мл', 'жидк. унц.', 'дней', '%']),
368
+ seo: makeSeo({
369
+ firstTitle: 'Планируйте по реальной линии воды',
370
+ firstParagraph: 'Испарение легко заметить, но его трудно точно оценить. В закрытом аквариуме во влажной комнате потеря может быть небольшой, а движение поверхности, тёплые лампы и сухой воздух ускоряют падение уровня. Инструмент использует объём, который вы действительно долили, поэтому план соответствует вашему аквариуму.',
371
+ secondTitle: 'Измерьте потерю до составления плана',
372
+ secondParagraph: 'Отметьте обычный уровень и наблюдайте за аквариумом несколько дней без подмены воды. Измерьте объём, который вернул уровень к отметке. Планировщик делит его на число дней и рассчитывает потерю для выбранного интервала. Повторите измерение после смены крышки, вентилятора, освещения или места.',
373
+ list: ['<strong>Выберите стабильный период:</strong> несколько дней полезнее одного показания.', '<strong>Используйте рабочий объём:</strong> учитывайте воду в аквариуме, а не пустой объём стекла.', '<strong>Выберите удобный интервал:</strong> частые доливы уменьшают колебание уровня.', '<strong>Проверяйте после изменений:</strong> поток воздуха и движение поверхности меняют скорость потери.'],
374
+ thirdTitle: 'Считайте линию воды сигналом ухода',
375
+ thirdParagraph: 'Суточная скорость показывает потерю относительно рабочего объёма. Следующий долив сообщает, сколько подготовить, а календарь показывает изменение между доливами. Это расчёты для планирования, а не тест качества воды и не замена наблюдению за животными и параметрами.',
376
+ tipTitle: 'В морском аквариуме отдельно проверяйте солёность',
377
+ tip: 'Испарение оставляет растворённую соль. Доливайте воду, предусмотренную вашей методикой, и проверяйте солёность после заметного изменения уровня. Расчётный объём не является универсальной инструкцией по дозированию.',
378
+ headers: ['Результат', 'Что показывает'],
379
+ rows: [['Суточная потеря', 'Измеренное испарение, пересчитанное на один день'], ['Следующий долив', 'Ожидаемый объём для выбранного интервала'], ['Потеря за тридцать дней', 'Оценка для подготовки запаса воды'], ['Уровень после интервала', 'Ожидаемый уровень перед плановым доливом']],
380
+ }),
381
+ faq: [
382
+ { question: 'Как измерить испарение для этого планировщика?', answer: 'Отметьте обычный уровень, не делайте подмену воды, через несколько дней измерьте добавленный объём и укажите точный период. Более длинное наблюдение уменьшает влияние необычного дня.' },
383
+ { question: 'Уходит ли соль из морского аквариума при испарении?', answer: 'Нет. Испаряется вода, а растворённая соль остаётся. Используйте расчёт для недостающего объёма и готовьте воду для долива по своей методике.' },
384
+ { question: 'Почему используется моё измерение, а не данные о комнате?', answer: 'Крышка, поток воздуха, свет, температура, влажность и движение поверхности влияют на потерю. Реальное измерение лучше подходит для графика, чем общая климатическая оценка.' },
385
+ { question: 'Может ли это заменить подмены воды?', answer: 'Нет. Долив восполняет только испарившуюся воду. Он не удаляет накопившиеся отходы и не заменяет подмену для поддержания качества воды.' },
386
+ ],
387
+ howTo: [
388
+ { name: 'Введите рабочий объём', text: 'Используйте примерный объём воды в аквариуме, а не внешние размеры или заявленную максимальную вместимость.' },
389
+ { name: 'Запишите реальную потерю', text: 'Измерьте долитый объём после стабильного периода и укажите его вместе с числом дней.' },
390
+ { name: 'Выберите интервал долива', text: 'Определите частоту долива. Планировщик покажет объём и уровень между доливами.' },
391
+ { name: 'Используйте календарь как привычку', text: 'Отмечайте дни как напоминание и повторяйте измерение после изменения крышки, воздуха, света или комнаты.' },
392
+ ],
393
+ };
394
+
395
+ const ja: LocalizedCopy = {
396
+ language: 'ja',
397
+ slug: 'aquarium-evaporation-top-off-planner',
398
+ title: '水槽の蒸発量と足し水プランナー',
399
+ description: '実際に測った蒸発量から、1日あたりの減少量、足し水の量、淡水と海水の水槽向けスケジュールを計算します。',
400
+ ui: makeUi(['単位', 'メートル法', 'ヤードポンド法', '水槽の実水量', '観察後に加えた水', '測定した減少量の単位', '観察期間', '足し水の間隔', 'ATOタンク', 'ATOと海水の追加設定', '水の種類', '淡水', '海水', '開始時の塩分', '推定比重', 'ATOの連続日数', '水位変化が大きすぎます。足し水の間隔を短くしてください。', '現在水槽にある水量を入力します。', '水位を戻すために加えた量を測ります。', '短い間隔なら水位の変化を小さくできます。', '足し水のリズム', '1日の減少量', '水槽容量に対する1日の割合', '次の足し水', '30日分の準備量', '足し水前の予測水位', '2パーセント減るまでの日数', '14日間の水位', '日', '足し水', 'ごと', '足し水前の水位', '安定した測定値', '水位を確認してください', '頻繁な足し水が必要です', '水槽のデータを入力して始めます。', '正の数、90日以内の観察期間、30日以内の足し水間隔を入力してください。', 'この予測は測定した減少量に基づきます。ふた、空気の流れ、照明、室内環境を変えたら再測定してください。', '蒸発しても溶けた塩は残ります。方法に合った足し水を使い、必要に応じて塩分を確認してください。', '例をリセット', 'L', '英ガロン', 'mL', '液量オンス', '日', '%']),
401
+ seo: makeSeo({
402
+ firstTitle: '実際の水位から足し水を計画',
403
+ firstParagraph: '蒸発は見れば分かりますが、量を正確に予想するのは簡単ではありません。湿度の高い部屋でふたをした水槽は減少が小さく、表面の動きや暖かい照明、乾いた空気があると水位は早く下がります。このツールは実際に加えた水量を使うため、水槽に合った予定を作れます。',
404
+ secondTitle: '計画の前に減少量を測る',
405
+ secondParagraph: '通常の水位に印を付け、換水をせずに数日観察します。印まで戻すために加えた水を測定します。観察日数で割り、選んだ足し水間隔の減少量を予測します。ふた、ファン、照明、設置場所を変えた場合は測り直してください。',
406
+ list: ['<strong>安定した期間で測定:</strong> 1日だけより数日間の値が役立ちます。', '<strong>実水量を入力:</strong> 空のガラス容量ではなく、実際に入っている水を使います。', '<strong>無理のない間隔:</strong> 間隔を短くすると水位の変化が小さくなります。', '<strong>変更後に再確認:</strong> 空気の流れや表面の動きで減少量は変わります。'],
407
+ thirdTitle: '水位を日常管理の目安にする',
408
+ thirdParagraph: '1日の減少量は実水量に対する水の減り方を示します。次の足し水は準備する量、カレンダーは足し水の間の変化を示します。これは予定を立てるための目安であり、水質検査や生体の観察の代わりにはなりません。',
409
+ tipTitle: '海水水槽では塩分も確認',
410
+ tip: '蒸発すると水だけが減り、溶けた塩は残ります。使っている方法に合う水を足し、水位が大きく変わったら塩分を測定してください。計算結果を一律の添加指示として使わないでください。',
411
+ headers: ['表示', '意味'],
412
+ rows: [['1日の減少量', '測定した蒸発量を1日に換算した値'], ['次の足し水', '選んだ間隔で必要になる予測量'], ['30日間の減少量', '水の備蓄を準備するための目安'], ['間隔後の水位', '予定した足し水の直前に予測される水位']],
413
+ }),
414
+ faq: [
415
+ { question: 'このプランナー用の蒸発量はどう測りますか?', answer: '通常の水位に印を付け、換水をせず、数日後に足した水の量を測り、正確な日数と一緒に入力します。期間を長くすると特別な1日の影響を減らせます。' },
416
+ { question: '海水水槽では蒸発によって塩もなくなりますか?', answer: 'いいえ。水は蒸発しますが、溶けた塩は残ります。不足した水量の計算に使い、足し水は飼育方法に合わせて準備してください。' },
417
+ { question: 'なぜ室内環境の推定ではなく自分の測定を使うのですか?', answer: 'ふた、空気、照明、温度、湿度、表面の動きによって減少量は変わります。実測値のほうが一般的な環境推定より予定作りに適しています。' },
418
+ { question: '換水の代わりになりますか?', answer: 'いいえ。足し水は蒸発した水を戻すだけです。たまった汚れを取り除いたり、水質維持のための換水を置き換えたりはできません。' },
419
+ ],
420
+ howTo: [
421
+ { name: '実水量を入力', text: '水槽に現在入っているおおよその水量を使い、外寸や最大容量は使いません。' },
422
+ { name: '実測した減少量を記録', text: '安定した期間の後に加えた水を測り、量と観察日数を入力します。' },
423
+ { name: '足し水間隔を選択', text: '足し水の頻度を決めます。水量と、その間の水位を予測できます。' },
424
+ { name: 'カレンダーを習慣にする', text: '表示された日を目安にし、ふた、空気、照明、場所を変えたら再測定します。' },
425
+ ],
426
+ };
427
+
428
+ const ko: LocalizedCopy = {
429
+ language: 'ko',
430
+ slug: 'aquarium-evaporation-top-off-planner',
431
+ title: '어항 증발량과 보충수 계획 도구',
432
+ description: '실제로 측정한 증발량을 일일 손실량, 보충수 양, 담수와 해수 어항용 일정으로 변환합니다.',
433
+ ui: makeUi(['단위', '미터법', '야드파운드법', '어항 실제 물 용량', '관찰 후 추가한 물', '측정 손실 단위', '관찰 기간', '보충 주기', 'ATO 저장통', '선택형 ATO 및 해수 설정', '물 종류', '담수', '해수', '시작 염도', '예상 비중', 'ATO 사용 가능 일수', '수위 변화가 큽니다. 보충 주기를 줄이세요.', '현재 어항에 있는 물의 양을 사용하세요.', '수위를 되돌리는 데 필요한 양을 측정하세요.', '짧은 주기는 눈에 보이는 수위 변화를 줄입니다.', '보충수 주기', '일일 손실량', '어항 용량 대비 일일 비율', '다음 보충수', '30일 준비량', '보충 전 예상 수위', '2퍼센트 손실까지의 일수', '14일 수위 기록', '일', '보충', '주기', '보충 전 수위', '안정적인 측정 손실', '수위를 확인하세요', '자주 보충해야 할 수 있습니다', '시작하려면 어항 데이터를 입력하세요.', '값을 확인하세요. 양수, 최대 90일 관찰 기간, 최대 30일 보충 주기를 사용하세요.', '이 예측은 측정한 손실량을 기준으로 합니다. 뚜껑, 공기 흐름, 조명 또는 실내 환경을 바꾼 뒤 다시 측정하세요.', '증발해도 녹아 있는 소금은 남습니다. 방법에 맞는 보충수를 사용하고 필요하면 염도를 확인하세요.', '예시 초기화', 'L', '영국 갤런', 'mL', '액량 온스', '일', '%']),
434
+ seo: makeSeo({
435
+ firstTitle: '실제 수위로 보충 계획 세우기',
436
+ firstParagraph: '증발은 쉽게 보이지만 양을 정확히 예측하기는 어렵습니다. 습한 방에서 뚜껑을 닫은 어항은 손실이 적을 수 있고, 수면 움직임과 따뜻한 조명, 건조한 공기는 수위를 더 빠르게 낮춥니다. 이 도구는 실제로 추가한 물의 양을 사용하므로 어항에 맞는 일정을 만들 수 있습니다.',
437
+ secondTitle: '계획하기 전에 손실량 측정하기',
438
+ secondParagraph: '평소 수위에 표시를 하고 물갈이 없이 며칠 동안 관찰하세요. 표시까지 되돌리는 데 추가한 물을 측정합니다. 관찰 일수로 나누어 선택한 보충 주기의 손실량을 계산합니다. 뚜껑, 팬, 조명 또는 위치를 바꿨다면 다시 측정하세요.',
439
+ list: ['<strong>안정된 기간 사용:</strong> 하루치보다 며칠간의 측정이 유용합니다.', '<strong>실제 물 용량 사용:</strong> 빈 유리 용량이 아니라 현재 물을 계산합니다.', '<strong>실용적인 주기 선택:</strong> 짧은 주기는 수위 변화를 줄입니다.', '<strong>변경 후 재확인:</strong> 공기 흐름과 수면 움직임은 손실 속도를 바꿉니다.'],
440
+ thirdTitle: '수위를 관리 신호로 읽기',
441
+ thirdParagraph: '일일 비율은 실제 물 용량에 비해 얼마나 물이 줄어드는지 보여줍니다. 다음 보충수는 준비할 양을, 달력은 보충 사이의 변화를 보여줍니다. 이는 계획을 위한 추정치이며 수질 검사나 생물 관찰을 대신하지 않습니다.',
442
+ tipTitle: '해수 어항은 염도도 확인하세요',
443
+ tip: '증발하면 물만 줄고 녹아 있는 소금은 남습니다. 사용하는 방법에 맞는 물로 보충하고 수위가 크게 변하면 염도를 확인하세요. 계산된 양을 일반적인 투여 지침으로 사용하지 마세요.',
444
+ headers: ['결과', '의미'],
445
+ rows: [['일일 손실량', '측정한 증발량을 하루 기준으로 환산한 값'], ['다음 보충수', '선택한 주기에서 예상되는 양'], ['30일 손실량', '물 저장량을 준비하기 위한 추정치'], ['주기 후 수위', '예정된 보충 직전의 예상 수위']],
446
+ }),
447
+ faq: [
448
+ { question: '이 도구를 위해 증발량을 어떻게 측정하나요?', answer: '평소 수위에 표시하고 물갈이를 하지 않은 채 며칠 뒤 추가한 물을 측정하여 정확한 양과 기간을 입력하세요. 기간이 길수록 특별한 하루의 영향이 줄어듭니다.' },
449
+ { question: '해수 어항에서 증발하면 소금도 없어지나요?', answer: '아니요. 물은 증발하지만 녹아 있는 소금은 남습니다. 부족한 물의 양을 계산하고 보충수는 사용하는 방법에 맞게 준비하세요.' },
450
+ { question: '왜 실내 조건이 아니라 직접 측정한 값을 사용하나요?', answer: '뚜껑, 공기, 조명, 온도, 습도, 수면 움직임이 손실량을 바꿉니다. 실제 측정값이 일반적인 환경 추정보다 일정 관리에 유용합니다.' },
451
+ { question: '물갈이를 대신할 수 있나요?', answer: '아니요. 보충수는 증발한 물만 되돌립니다. 쌓인 오염물을 제거하지 않으며 수질 관리를 위한 물갈이를 대신하지 않습니다.' },
452
+ ],
453
+ howTo: [
454
+ { name: '실제 물 용량 입력', text: '외부 크기나 최대 용량이 아니라 현재 어항에 있는 대략적인 물의 양을 사용하세요.' },
455
+ { name: '실제 손실량 기록', text: '안정된 기간 후 추가한 물을 측정하고 양과 관찰 일수를 입력하세요.' },
456
+ { name: '보충 주기 선택', text: '얼마나 자주 보충할지 정하세요. 도구가 양과 사이의 수위를 보여줍니다.' },
457
+ { name: '달력을 관리 습관으로 사용', text: '날짜를 알림으로 사용하고 뚜껑, 공기, 조명 또는 장소를 바꾸면 다시 측정하세요.' },
458
+ ],
459
+ };
460
+
461
+ const zh: LocalizedCopy = {
462
+ language: 'zh',
463
+ slug: 'aquarium-evaporation-top-off-planner',
464
+ title: '鱼缸蒸发量与补水计划工具',
465
+ description: '把实际测得的蒸发量转换为每日损失、补水量和适用于淡水或海水鱼缸的详细补水日程规划。',
466
+ ui: makeUi(['单位', '公制', '英制', '鱼缸实际水量', '观察后添加的水', '测量损失单位', '观察周期', '补水间隔', 'ATO储水箱', '可选的ATO和海水设置', '水的类型', '淡水', '海水', '初始盐度', '预计比重', 'ATO可用天数', '水位变化过大,请缩短补水间隔。', '使用鱼缸当前的实际水量。', '测量恢复水位所需的水量。', '缩短间隔可以减小可见水位变化。', '你的补水节奏', '每日损失', '每日占鱼缸水量的比例', '下一次补水', '三十天准备量', '补水前预计水位', '损失百分之二所需天数', '十四天水位记录', '天', '补水', '每', '补水前水位', '测得的损失稳定', '请留意水位', '可能需要频繁补水', '输入鱼缸数据即可开始。', '请检查数值:使用正数,观察周期不超过90天,补水间隔不超过30天。', '此预测基于你的实测损失。更换盖子、气流、灯光或房间环境后请重新测量。', '蒸发会留下溶解盐。请使用适合你方法的补水,并在需要时检查盐度。', '重置示例', 'L', '英制加仑', 'mL', '液量盎司', '天', '%']),
467
+ seo: makeSeo({
468
+ firstTitle: '根据真实水位制定补水计划',
469
+ firstParagraph: '蒸发很容易看见,但很难凭感觉准确估计。潮湿房间里的加盖鱼缸可能损失很少,而水面扰动、发热灯光和干燥空气会让水位下降更快。本工具使用你实际添加的水量,因此计划会贴合自己的鱼缸。',
470
+ secondTitle: '制定计划前先测量损失',
471
+ secondParagraph: '标记正常水位,在不换水的情况下观察几天。测量恢复标记所添加的水量。工具会用观察天数除以该体积,再计算所选补水间隔的损失。更换盖子、风扇、灯光或摆放位置后请重新测量。',
472
+ list: ['<strong>选择稳定观察期:</strong> 多日数据比单日读数更有参考价值。', '<strong>使用实际水量:</strong> 计算缸内现有的水,不要使用空玻璃容量。', '<strong>选择合适间隔:</strong> 更短的间隔可以减小水位波动。', '<strong>变化后重新检查:</strong> 气流和水面运动会改变损失速度。'],
473
+ thirdTitle: '把水位当作日常维护信号',
474
+ thirdParagraph: '每日比例显示相对于实际水量的损失。下一次补水告诉你需要准备多少,日历显示两次补水之间的变化。这些是计划参考值,不是水质检测,也不能代替观察鱼虾和测量水质。',
475
+ tipTitle: '海水鱼缸还要检查盐度',
476
+ tip: '蒸发只带走水,溶解盐会留下。请按照你的方法使用合适的水补充,并在水位明显变化后检查盐度。计算出的水量不是通用的投加说明。',
477
+ headers: ['结果', '含义'],
478
+ rows: [['每日损失', '把测得的蒸发量换算为一天的损失'], ['下一次补水', '所选间隔内预计需要的水量'], ['三十天损失', '用于准备储水的计划估计'], ['间隔后的水位', '计划补水前预计达到的水位']],
479
+ }),
480
+ faq: [
481
+ { question: '如何测量本工具需要的蒸发量?', answer: '标记正常水位,不进行换水,几天后测量添加的水量,并输入准确的水量和观察周期。观察时间更长可以减少某一天异常情况的影响。' },
482
+ { question: '海水鱼缸蒸发时盐也会消失吗?', answer: '不会。蒸发的是水,溶解盐会留在鱼缸里。请用工具计算缺少的水量,并按照自己的方法准备补水。' },
483
+ { question: '为什么要使用自己的测量,而不是房间条件?', answer: '盖子、气流、灯光、温度、湿度和水面运动都会改变损失。实测数据比通用环境估计更适合制定日程。' },
484
+ { question: '补水可以代替换水吗?', answer: '不可以。补水只补回蒸发的水,不会移除积累的废物,也不能代替为了水质进行的换水。' },
485
+ ],
486
+ howTo: [
487
+ { name: '输入实际水量', text: '使用鱼缸当前的大致水量,不要使用外部尺寸或宣传的最大容量。' },
488
+ { name: '记录真实损失', text: '在稳定观察期后测量添加的水量,并输入水量和观察天数。' },
489
+ { name: '选择补水间隔', text: '选择补水频率,工具会显示补水量和两次补水之间的水位。' },
490
+ { name: '把日历用于日常管理', text: '把日期当作提醒,改变盖子、空气、灯光或房间后再次测量。' },
491
+ ],
492
+ };
493
+
494
+ export const localizedContents = {
495
+ de: buildContent(de),
496
+ es: buildContent(es),
497
+ fr: buildContent(fr),
498
+ id: buildContent(id),
499
+ it: buildContent(it),
500
+ ja: buildContent(ja),
501
+ ko: buildContent(ko),
502
+ nl: buildContent(nl),
503
+ pl: buildContent(pl),
504
+ pt: buildContent(pt),
505
+ ru: buildContent(ru),
506
+ sv: buildContent(sv),
507
+ tr: buildContent(tr),
508
+ zh: buildContent(zh),
509
+ };