@jjlmoya/utils-aquarium 1.69.0 → 1.70.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 +13 -4
- package/src/entries.ts +18 -10
- package/src/index.ts +2 -0
- package/src/tests/mfe_assets_contract.test.ts +3 -1
- package/src/tests/tool_validation.test.ts +10 -8
- package/src/tool/aquariumNitrateDilutionCalculator/aquarium-nitrate-dilution-calculator.css +887 -0
- package/src/tool/aquariumNitrateDilutionCalculator/bibliography.astro +6 -0
- package/src/tool/aquariumNitrateDilutionCalculator/bibliography.ts +12 -0
- package/src/tool/aquariumNitrateDilutionCalculator/component.astro +120 -0
- package/src/tool/aquariumNitrateDilutionCalculator/controller.ts +96 -0
- package/src/tool/aquariumNitrateDilutionCalculator/dom-views.ts +151 -0
- package/src/tool/aquariumNitrateDilutionCalculator/entry.ts +27 -0
- package/src/tool/aquariumNitrateDilutionCalculator/evaluator.ts +17 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/de.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/en.ts +124 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/es.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/fr.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/id.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/it.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/ja.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/ko.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/nl.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/pl.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/pt.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/ru.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/sv.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/tr.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/i18n/zh.ts +30 -0
- package/src/tool/aquariumNitrateDilutionCalculator/index.ts +11 -0
- package/src/tool/aquariumNitrateDilutionCalculator/localized-content.ts +138 -0
- package/src/tool/aquariumNitrateDilutionCalculator/logic.test.ts +47 -0
- package/src/tool/aquariumNitrateDilutionCalculator/logic.ts +122 -0
- package/src/tool/aquariumNitrateDilutionCalculator/seo.astro +13 -0
- package/src/tool/aquariumNitrateDilutionCalculator/storage.ts +36 -0
- package/src/tool/aquariumNitrateDilutionCalculator/ui.ts +53 -0
- package/src/tool/aquariumNitrateDilutionCalculator/units.test.ts +17 -0
- package/src/tool/aquariumNitrateDilutionCalculator/units.ts +19 -0
- package/src/tools.ts +16 -37
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'es', slug: 'calculadora-dilucion-nitratos-acuario-cambio-agua', title: 'Calculadora de dilución de nitratos del acuario', description: 'Calcula el cambio de agua necesario para bajar el nitrato medido hacia un objetivo usando el volumen real del acuario y el nitrato del agua nueva.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: '¿Qué calcula esta herramienta de nitratos?', answer: 'Estima el porcentaje y el volumen de agua que habría que sustituir para llevar una lectura de nitratos hacia un objetivo, teniendo en cuenta el nitrato del agua nueva.' },
|
|
7
|
+
{ question: '¿Por qué importa el nitrato del agua nueva?', answer: 'Si el agua de reposición ya contiene nitratos, la dilución no puede bajar del valor que aporta esa fuente. Por eso debe formar parte del cálculo.' },
|
|
8
|
+
{ question: '¿Qué muestra el plan paso a paso?', answer: 'Muestra el nitrato residual después de repetir el mismo cambio varias veces. Es un modelo matemático, no un calendario de mantenimiento.' },
|
|
9
|
+
{ question: '¿Qué hago si el resultado supera el 50 por ciento?', answer: 'Un cambio único muy grande puede estresar a los habitantes y alterar la química del agua. Valora dividirlo y comprueba temperatura y parámetros.' },
|
|
10
|
+
{ question: '¿Se envían mis datos?', answer: 'No. El cálculo se ejecuta en el navegador y los últimos valores pueden guardarse localmente en este navegador.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Introduce el volumen real', text: 'Usa el agua que realmente hay en el acuario, no la capacidad comercial. Descuenta mentalmente sustrato, decoración y espacio no ocupado.' },
|
|
14
|
+
{ name: 'Añade tres lecturas de nitrato', text: 'Escribe el valor actual, tu objetivo y el nitrato del agua nueva. Mantén la misma unidad en los tres campos.' },
|
|
15
|
+
{ name: 'Revisa el cambio calculado', text: 'Lee el porcentaje y los litros del cambio teórico. Si es grande, aparecerá una advertencia para plantear cambios escalonados.' },
|
|
16
|
+
{ name: 'Compara escenarios', text: 'Selecciona 25, 40, 50 o 75 por ciento y abre el plan para ver el nitrato residual tras cada repetición.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Convierte una lectura de nitratos en una decisión de cambio de agua', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Un porcentaje aislado no basta para preparar un cambio. Esta herramienta conecta la lectura actual, el objetivo, el volumen real y el nitrato del agua nueva para obtener una cantidad comprensible.' },
|
|
21
|
+
{ type: 'title', text: 'El agua nueva también forma parte de la mezcla', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'El modelo considera un acuario bien mezclado. Si el agua de reposición aporta nitratos, el valor final conservará parte de esa concentración aunque sustituyas una fracción importante.' },
|
|
23
|
+
{ type: 'list', items: ['Mide el volumen de trabajo y no copies solo la etiqueta del acuario.', 'Analiza el agua nueva de la misma fuente que vas a utilizar.', 'Compara un cambio grande con varios cambios moderados.', 'Vuelve a medir cuando el agua se haya mezclado.'] },
|
|
24
|
+
{ type: 'tip', title: 'Usa el resultado con prudencia', html: '<p>Por encima del 50 por ciento, considera dividir el cambio y repetir las mediciones. Ajusta temperatura y química del agua a las necesidades de tus animales.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Salida', 'Qué significa'], rows: [['Porcentaje necesario', 'Fracción teórica del volumen real que habría que sustituir'], ['Agua a reemplazar', 'Volumen correspondiente a ese cambio'], ['Después del cambio elegido', 'Nitrato previsto tras un escenario práctico'], ['Plan paso a paso', 'Nitrato residual después de varios cambios iguales']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Receta de cambio de nitratos', inputInstruction: 'Introduce lo que hay ahora en el acuario. La receta convierte tu objetivo en una cantidad de cambio.', unitSystemLabel: 'Unidades mostradas', metricLabel: 'Métrico', imperialLabel: 'Imperial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Agua real, no capacidad del tanque', readingHint: 'De tu test', readingsTitle: 'Tu muestra de agua', decisionTitle: 'El cambio necesario', actionLabel: 'Reemplaza', sceneCaption: 'Mezcla y vuelve a medir', newWaterLabel: 'Agua nueva', inputsLegend: 'Usa un volumen y tres lecturas de nitratos', volumeLabel: 'Volumen de trabajo', volumeUnit: 'L', currentLabel: 'Nitrato actual', targetLabel: 'Nitrato objetivo', sourceLabel: 'Nitrato del agua nueva', nitrateUnit: 'mg/L NO3', sourceHint: 'Usa la misma unidad de nitratos en todas las lecturas. Analiza el agua de reposición si no conoces su valor.', currentMarker: 'Actual', targetMarker: 'Objetivo', targetReached: 'Objetivo alcanzable', alreadyBelow: 'Ya está por debajo del objetivo', unreachable: 'No alcanzable por dilución', requiredChangeLabel: 'del volumen de trabajo', requiredLitresLabel: 'Agua a reemplazar', afterChangeLabel: 'Después del cambio elegido', safetyLabel: 'Divide este cambio', safetyHint: 'Un cambio único superior al 50 por ciento puede estresar a los habitantes del acuario. Comprueba temperatura y química del agua y valora dividirlo en cambios menores.', criticalSafetyLabel: 'Evita un cambio único tan grande', criticalSafetyHint: 'La estimación supera el 75 por ciento. Haz cambios escalonados y vuelve a medir entre ellos en lugar de sustituir casi toda el agua de una vez.', scenarioLabel: 'Escenario de cambio', scenarioHint: 'Elige un porcentaje práctico', planLabel: 'Plan paso a paso', planHint: 'El modelo muestra el nitrato residual después de cada cambio igual. No es un calendario ni una garantía.', planChangeLabel: 'Después del cambio', biologyHint: 'El acuario sigue produciendo nitratos entre cambios, así que las lecturas reales se desviarán de este modelo de dilución. Vuelve a medir después de mezclar el agua.', impossibleHint: 'El agua nueva tiene demasiado nitrato para alcanzar este objetivo solo mediante dilución.', belowTargetHint: 'La lectura actual ya está en el objetivo o por debajo. Úsala como referencia y vuelve a medir según tu rutina normal.', measureAgainHint: 'Es una estimación de mezcla. Vuelve a medir cuando el agua se haya mezclado porque el acuario sigue cambiando entre lecturas.', resetLabel: 'Restablecer valores', currentScenarioLabel: 'Cambio elegido', repeatLabel: 'cambios', notReached: 'No alcanzado', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'fr', slug: 'calculateur-dilution-nitrates-aquarium-changement-eau', title: "Calculateur de dilution des nitrates d'aquarium", description: "Calculez la quantité d'eau à remplacer pour rapprocher les nitrates mesurés d'un objectif, en tenant compte du volume réel et des nitrates de l'eau neuve.",
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: "Que calcule cet outil pour l'aquarium ?", answer: "Il estime le pourcentage et le volume d'eau à remplacer pour rapprocher une mesure de nitrates d'un objectif, en tenant compte de l'eau de remplacement." },
|
|
7
|
+
{ question: "Pourquoi mesurer les nitrates de l'eau neuve ?", answer: "Si l'eau ajoutée contient déjà des nitrates, la dilution ne peut pas descendre sous la concentration apportée par cette source." },
|
|
8
|
+
{ question: 'Que montre le plan étape par étape ?', answer: "Il affiche le nitrate résiduel après plusieurs changements identiques. C'est un modèle de mélange, pas un calendrier d'entretien." },
|
|
9
|
+
{ question: 'Que faire au-dessus de 50 % ?', answer: "Un changement unique très important peut stresser les habitants et modifier la chimie. Envisagez de le fractionner et contrôlez température et paramètres." },
|
|
10
|
+
{ question: 'Mes données quittent-elles le navigateur ?', answer: "Non. Le calcul se fait dans le navigateur et les dernières valeurs peuvent y être conservées localement." },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Saisir le volume réel', text: "Utilisez l'eau réellement présente, pas la capacité commerciale. Tenez compte du substrat et du décor qui occupent une partie du bac." },
|
|
14
|
+
{ name: 'Ajouter trois mesures de nitrates', text: "Saisissez la mesure actuelle, votre objectif et les nitrates de l'eau neuve. Gardez la même unité partout." },
|
|
15
|
+
{ name: 'Lire le changement calculé', text: "Consultez le pourcentage et le volume théorique à remplacer. Un résultat important déclenche une recommandation de fractionnement." },
|
|
16
|
+
{ name: 'Comparer les scénarios', text: 'Choisissez 25, 40, 50 ou 75 % et ouvrez le plan pour comparer le nitrate résiduel après chaque répétition.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: "Transformer une mesure de nitrates en décision de changement d'eau", level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: "Un pourcentage seul ne permet pas de préparer un changement. L'outil relie la mesure actuelle, l'objectif, le volume réel et la concentration de l'eau neuve pour donner un volume concret." },
|
|
21
|
+
{ type: 'title', text: "L'eau neuve fait partie de l'équation", level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: "Le modèle considère un aquarium correctement mélangé. Lorsque l'eau de remplacement apporte des nitrates, une partie de cette concentration reste après le changement." },
|
|
23
|
+
{ type: 'list', items: ["Mesurez le volume de travail au lieu de reprendre uniquement l'étiquette du bac.", "Testez l'eau de remplacement de la même source que celle utilisée.", 'Comparez un grand changement avec plusieurs changements modérés.', "Mesurez à nouveau après le mélange."] },
|
|
24
|
+
{ type: 'tip', title: 'Fractionner les grands changements', html: "<p>Au-delà de 50 %, envisagez plusieurs étapes et contrôlez les paramètres entre elles. La température et la chimie doivent rester adaptées aux animaux.</p>" },
|
|
25
|
+
{ type: 'table', headers: ['Résultat', 'Signification'], rows: [['Pourcentage requis', 'Fraction théorique du volume réel à remplacer'], ["Eau à remplacer", "Volume correspondant à ce changement"], ['Après le changement choisi', 'Nitrate prévu après un scénario'], ['Plan étape par étape', 'Nitrate résiduel après plusieurs changements identiques']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Recette de changement des nitrates', inputInstruction: "Saisissez ce qui se trouve maintenant dans le bac. La recette transforme votre objectif en volume d'eau.", unitSystemLabel: 'Unités affichées', metricLabel: 'Métrique', imperialLabel: 'Impérial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: "Eau réelle, pas l'étiquette du bac", readingHint: 'Selon votre test', readingsTitle: 'Votre échantillon', decisionTitle: 'Le changement à faire', actionLabel: 'Remplacer', sceneCaption: 'Mélanger et retester', newWaterLabel: 'Eau neuve', inputsLegend: 'Utilisez un volume et trois mesures de nitrates', volumeLabel: 'Volume de travail', volumeUnit: 'L', currentLabel: 'Nitrates actuels', targetLabel: 'Nitrates cibles', sourceLabel: "Nitrates de l'eau neuve", nitrateUnit: 'mg/L NO3', sourceHint: "Utilisez la même unité pour toutes les mesures. Testez l'eau de remplacement si sa valeur est inconnue.", currentMarker: 'Actuel', targetMarker: 'Cible', targetReached: 'Objectif atteignable', alreadyBelow: "Déjà sous l'objectif", unreachable: 'Inatteignable par dilution', requiredChangeLabel: 'du volume de travail', requiredLitresLabel: 'Eau à remplacer', afterChangeLabel: 'Après le changement choisi', safetyLabel: 'Fractionnez ce changement', safetyHint: "Un changement unique supérieur à 50 % peut stresser les habitants. Vérifiez température et chimie et envisagez plusieurs étapes.", criticalSafetyLabel: 'Évitez un changement unique aussi grand', criticalSafetyHint: "L'estimation dépasse 75 %. Procédez par étapes et retestez entre elles plutôt que de remplacer presque toute l'eau d'un coup.", scenarioLabel: 'Scénario de changement', scenarioHint: 'Choisissez un pourcentage pratique', planLabel: 'Plan étape par étape', planHint: "Le modèle indique le nitrate résiduel après chaque changement identique. Ce n'est ni un calendrier ni une garantie.", planChangeLabel: 'Après le changement', biologyHint: "L'aquarium continue à produire des nitrates entre les changements. Les mesures réelles peuvent donc s'écarter de ce modèle de dilution; retestez après le mélange.", impossibleHint: "L'eau neuve contient trop de nitrates pour atteindre cet objectif par dilution seule.", belowTargetHint: "La mesure actuelle est déjà au niveau ou sous l'objectif. Gardez-la comme référence et retestez selon votre routine.", measureAgainHint: "Il s'agit d'une estimation de mélange. Retestez après homogénéisation, car l'aquarium évolue entre les mesures.", resetLabel: 'Réinitialiser les valeurs', currentScenarioLabel: 'Changement choisi', repeatLabel: 'changements', notReached: 'Non atteint', scenarioTwentyFive: '25 %', scenarioForty: '40 %', scenarioFifty: '50 %', scenarioSeventyFive: '75 %',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'id', slug: 'kalkulator-pengenceran-nitrat-ganti-air-aquarium', title: 'Kalkulator pengenceran nitrat dan penggantian air akuarium', description: 'Hitung jumlah air yang perlu diganti untuk menurunkan nitrat menuju target, dengan memperhitungkan volume air sebenarnya dan nitrat pada air baru.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Apa yang dihitung alat ini?', answer: 'Alat ini memperkirakan persentase dan volume air yang perlu diganti agar kadar nitrat mendekati target, termasuk nitrat yang sudah ada pada air pengganti.' },
|
|
7
|
+
{ question: 'Mengapa nitrat air baru penting?', answer: 'Jika air pengganti mengandung nitrat, pengenceran tidak dapat menurunkan kadar di bawah konsentrasi yang dibawa sumber air tersebut.' },
|
|
8
|
+
{ question: 'Apa yang ditampilkan dalam rencana bertahap?', answer: 'Rencana ini menampilkan sisa nitrat setelah beberapa penggantian dengan persentase yang sama. Ini model perhitungan, bukan jadwal perawatan.' },
|
|
9
|
+
{ question: 'Apa arti hasil di atas 50 persen?', answer: 'Penggantian tunggal yang sangat besar dapat membuat penghuni akuarium stres dan mengubah kimia air. Pertimbangkan beberapa tahap dan cek suhu serta parameter.' },
|
|
10
|
+
{ question: 'Apakah data saya dikirim?', answer: 'Tidak. Perhitungan berjalan di browser dan nilai terakhir dapat disimpan secara lokal di browser ini.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Masukkan volume air sebenarnya', text: 'Gunakan air yang benar-benar ada di akuarium, bukan kapasitas pada label. Perhitungkan ruang yang ditempati substrat dan dekorasi.' },
|
|
14
|
+
{ name: 'Masukkan tiga pembacaan nitrat', text: 'Isi nilai saat ini, target, dan nitrat air baru. Gunakan satuan yang sama untuk semuanya.' },
|
|
15
|
+
{ name: 'Periksa jumlah penggantian', text: 'Baca persentase dan volume teoretis. Hasil besar akan memunculkan peringatan untuk membaginya menjadi beberapa tahap.' },
|
|
16
|
+
{ name: 'Bandingkan skenario', text: 'Pilih 25, 40, 50, atau 75 persen lalu buka rencana untuk melihat sisa nitrat setiap pengulangan.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Ubah pembacaan nitrat menjadi keputusan penggantian air', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Persentase saja belum cukup untuk menyiapkan penggantian air. Alat ini menghubungkan pembacaan saat ini, target, volume nyata, dan nitrat air baru menjadi jumlah air yang mudah digunakan.' },
|
|
21
|
+
{ type: 'title', text: 'Air pengganti ikut menentukan hasil', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Model menganggap akuarium tercampur merata. Jika air baru membawa nitrat, sebagian konsentrasi itu akan tersisa setelah penggantian.' },
|
|
23
|
+
{ type: 'list', items: ['Ukur volume kerja, bukan hanya mengikuti kapasitas pada label.', 'Uji air baru dari sumber yang benar-benar akan digunakan.', 'Bandingkan satu penggantian besar dengan beberapa penggantian sedang.', 'Uji kembali setelah air tercampur.'] },
|
|
24
|
+
{ type: 'tip', title: 'Bagi penggantian besar', html: '<p>Di atas 50 persen, pertimbangkan beberapa tahap dan periksa parameter di antaranya. Suhu dan kimia air harus tetap sesuai untuk penghuni akuarium.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Hasil', 'Arti'], rows: [['Persentase yang diperlukan', 'Bagian teoretis dari volume kerja yang perlu diganti'], ['Air yang diganti', 'Volume yang sesuai dengan hasil perhitungan'], ['Setelah skenario terpilih', 'Perkiraan nitrat setelah satu penggantian'], ['Rencana bertahap', 'Sisa nitrat setelah beberapa penggantian yang sama']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Resep penggantian nitrat', inputInstruction: 'Masukkan kondisi akuarium sekarang. Resep ini mengubah target menjadi jumlah air yang perlu diganti.', unitSystemLabel: 'Satuan tampilan', metricLabel: 'Metrik', imperialLabel: 'Imperial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Air sebenarnya, bukan kapasitas label', readingHint: 'Dari tes Anda', readingsTitle: 'Sampel air Anda', decisionTitle: 'Penggantian yang diperlukan', actionLabel: 'Ganti', sceneCaption: 'Campur dan uji lagi', newWaterLabel: 'Air baru', inputsLegend: 'Gunakan satu volume dan tiga pembacaan nitrat', volumeLabel: 'Volume kerja', volumeUnit: 'L', currentLabel: 'Nitrat saat ini', targetLabel: 'Target nitrat', sourceLabel: 'Nitrat air baru', nitrateUnit: 'mg/L NO3', sourceHint: 'Gunakan satuan nitrat yang sama untuk semua pembacaan. Uji air pengganti jika nilainya belum diketahui.', currentMarker: 'Saat ini', targetMarker: 'Target', targetReached: 'Target dapat dicapai', alreadyBelow: 'Sudah di bawah target', unreachable: 'Tidak tercapai dengan pengenceran', requiredChangeLabel: 'dari volume kerja', requiredLitresLabel: 'Air yang diganti', afterChangeLabel: 'Setelah penggantian terpilih', safetyLabel: 'Bagi penggantian ini', safetyHint: 'Satu penggantian di atas 50 persen dapat membuat penghuni akuarium stres. Periksa suhu dan kimia air, lalu pertimbangkan tahap yang lebih kecil.', criticalSafetyLabel: 'Hindari satu penggantian sebesar ini', criticalSafetyHint: 'Perkiraan melebihi 75 persen. Lakukan bertahap dan uji kembali di antaranya, jangan mengganti hampir seluruh air sekaligus.', scenarioLabel: 'Skenario penggantian', scenarioHint: 'Pilih persentase yang praktis', planLabel: 'Rencana bertahap', planHint: 'Model ini menunjukkan sisa nitrat setelah setiap penggantian yang sama. Ini bukan kalender atau jaminan.', planChangeLabel: 'Setelah penggantian', biologyHint: 'Akuarium terus menghasilkan nitrat di antara penggantian, sehingga hasil nyata dapat berbeda dari model pengenceran saja. Uji kembali setelah air tercampur.', impossibleHint: 'Air baru mengandung terlalu banyak nitrat untuk mencapai target ini hanya dengan pengenceran.', belowTargetHint: 'Pembacaan saat ini sudah sama dengan atau di bawah target. Jadikan sebagai acuan dan uji lagi sesuai rutinitas.', measureAgainHint: 'Ini adalah perkiraan pencampuran. Uji kembali setelah air tercampur karena kondisi akuarium terus berubah.', resetLabel: 'Atur ulang nilai', currentScenarioLabel: 'Penggantian terpilih', repeatLabel: 'penggantian', notReached: 'Belum tercapai', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'it', slug: 'calcolatore-diluizione-nitrati-acquario-cambio-acqua', title: "Calcolatore di diluizione dei nitrati e cambio acqua dell'acquario", description: "Calcola quanta acqua sostituire per ridurre i nitrati misurati verso un obiettivo, considerando il volume reale e i nitrati dell'acqua nuova.",
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Che cosa calcola questo strumento?', answer: "Stima la percentuale e il volume da sostituire per avvicinare una lettura di nitrati al valore obiettivo, includendo i nitrati già presenti nell'acqua nuova." },
|
|
7
|
+
{ question: "Perché servono i nitrati dell'acqua nuova?", answer: "Se l'acqua di reintegro contiene nitrati, la diluizione non può scendere sotto la concentrazione fornita da quella fonte." },
|
|
8
|
+
{ question: 'Che cosa mostra il piano passo dopo passo?', answer: 'Mostra il nitrato residuo dopo più cambi uguali. È un modello di miscelazione, non un calendario di manutenzione.' },
|
|
9
|
+
{ question: 'Che cosa significa un cambio oltre il 50%?', answer: 'Un unico cambio molto grande può stressare gli animali e modificare la chimica. Valuta di dividerlo e controlla temperatura e parametri.' },
|
|
10
|
+
{ question: 'I miei dati vengono inviati?', answer: 'No. Il calcolo viene eseguito nel browser e gli ultimi valori possono essere salvati localmente.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Inserisci il volume reale', text: "Usa l'acqua effettivamente presente, non la capacità commerciale. Considera il volume occupato da fondo e arredi." },
|
|
14
|
+
{ name: 'Inserisci tre letture', text: "Aggiungi valore attuale, obiettivo e nitrati dell'acqua nuova, mantenendo la stessa unità." },
|
|
15
|
+
{ name: 'Controlla il cambio calcolato', text: 'Leggi percentuale e volume teorici. Per valori grandi compare un avviso per procedere a tappe.' },
|
|
16
|
+
{ name: 'Confronta gli scenari', text: 'Scegli 25, 40, 50 o 75% e apri il piano per vedere il residuo dopo ogni ripetizione.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Trasforma una lettura dei nitrati in una decisione', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: "Una percentuale da sola non basta per preparare un cambio. Lo strumento collega lettura attuale, obiettivo, volume reale e nitrati dell'acqua nuova in un volume concreto." },
|
|
21
|
+
{ type: 'title', text: "L'acqua nuova fa parte dell'equazione", level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: "Il modello considera una vasca ben miscelata. Se l'acqua aggiunta contiene nitrati, una parte della concentrazione resta anche dopo la sostituzione." },
|
|
23
|
+
{ type: 'list', items: ["Misura il volume di lavoro invece di usare solo l'etichetta della vasca.", "Analizza l'acqua nuova della fonte che userai davvero.", 'Confronta un cambio grande con più cambi moderati.', "Misura di nuovo dopo che l'acqua si è miscelata."] },
|
|
24
|
+
{ type: 'tip', title: 'Dividi i cambi grandi', html: "<p>Oltre il 50%, valuta più fasi e controlla i parametri tra una fase e l'altra. Temperatura e chimica devono restare adatte agli animali.</p>" },
|
|
25
|
+
{ type: 'table', headers: ['Risultato', 'Significato'], rows: [['Percentuale necessaria', 'Frazione teorica del volume reale da sostituire'], ['Acqua da sostituire', 'Volume corrispondente al cambio calcolato'], ['Dopo il cambio scelto', 'Nitrato previsto dopo uno scenario'], ['Piano passo dopo passo', 'Residuo previsto dopo più cambi uguali']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Ricetta per il cambio dei nitrati', inputInstruction: "Inserisci cosa c'è ora nella vasca. La ricetta trasforma il tuo obiettivo in un volume d'acqua.", unitSystemLabel: 'Unità visualizzate', metricLabel: 'Metrico', imperialLabel: 'Imperiale', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Acqua reale, non capacità della vasca', readingHint: 'Dal tuo test', readingsTitle: 'Il tuo campione', decisionTitle: 'Il cambio da fare', actionLabel: 'Sostituisci', sceneCaption: 'Miscela e riprova', newWaterLabel: 'Acqua nuova', inputsLegend: 'Usa un volume e tre letture dei nitrati', volumeLabel: 'Volume di lavoro', volumeUnit: 'L', currentLabel: 'Nitrati attuali', targetLabel: 'Nitrati obiettivo', sourceLabel: "Nitrati dell'acqua nuova", nitrateUnit: 'mg/L NO3', sourceHint: "Usa la stessa unità per tutte le letture. Analizza l'acqua nuova se non ne conosci il valore.", currentMarker: 'Attuale', targetMarker: "Obiettivo", targetReached: 'Obiettivo raggiungibile', alreadyBelow: "Già sotto l'obiettivo", unreachable: 'Non raggiungibile per diluizione', requiredChangeLabel: 'del volume di lavoro', requiredLitresLabel: 'Acqua da sostituire', afterChangeLabel: 'Dopo il cambio scelto', safetyLabel: 'Dividi questo cambio', safetyHint: "Un cambio singolo oltre il 50% può stressare gli abitanti dell'acquario. Controlla temperatura e chimica e valuta cambi più piccoli.", criticalSafetyLabel: 'Evita un unico cambio così grande', criticalSafetyHint: "La stima supera il 75%. Procedi per fasi e riprova tra una fase e l'altra invece di sostituire quasi tutta l'acqua in una volta.", scenarioLabel: 'Scenario di cambio', scenarioHint: 'Scegli una percentuale pratica', planLabel: 'Piano passo dopo passo', planHint: 'Il modello mostra il nitrato residuo dopo ogni cambio uguale. Non è un calendario né una garanzia.', planChangeLabel: 'Dopo il cambio', biologyHint: "L'acquario continua a produrre nitrati tra un cambio e l'altro, quindi i valori reali possono differire dal modello di sola diluizione. Ripeti il test dopo la miscelazione.", impossibleHint: "L'acqua nuova contiene troppi nitrati per raggiungere questo obiettivo con la sola diluizione.", belowTargetHint: "La lettura attuale è già pari o inferiore all'obiettivo. Usala come riferimento e ripeti il test secondo la tua routine.", measureAgainHint: "È una stima di miscelazione. Ripeti il test dopo che l'acqua si è miscelata, perché la vasca cambia tra una lettura e l'altra.", resetLabel: 'Ripristina valori', currentScenarioLabel: 'Cambio scelto', repeatLabel: 'cambi', notReached: 'Non raggiunto', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'ja', slug: 'aquarium-nitrate-dilution-calculator', title: '水槽の硝酸塩希釈と水換え計算機', description: '実際の水量と新しい水に含まれる硝酸塩を使い、測定値を目標値へ近づけるための水換え量を計算します。',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'このツールは何を計算しますか?', answer: '現在の硝酸塩濃度を目標値へ近づけるために交換する水の割合と量を推定します。新しい水に含まれる硝酸塩も計算に含めます。' },
|
|
7
|
+
{ question: '新しい水の硝酸塩が重要なのはなぜですか?', answer: '補給する水にも硝酸塩が含まれる場合、希釈だけではその水が持ち込む濃度より下げられません。' },
|
|
8
|
+
{ question: '段階プランには何が表示されますか?', answer: '同じ割合の水換えを繰り返したとき、各回の後に残る硝酸塩を表示します。固定の飼育スケジュールではなく計算モデルです。' },
|
|
9
|
+
{ question: '50パーセントを超える結果はどう考えますか?', answer: '一度に大きく換えると生体に負担をかけ、水質も急に変わる可能性があります。温度と水質を確認し、分けて実施してください。' },
|
|
10
|
+
{ question: '入力した値は送信されますか?', answer: '送信されません。計算はブラウザー内で行われ、最後の値はこのブラウザーに保存できます。' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: '実際の水量を入力する', text: '製品表示の容量ではなく、水槽に実際に入っている水を使います。底砂やレイアウトが占める空間も考慮してください。' },
|
|
14
|
+
{ name: '硝酸塩を3つ入力する', text: '現在値、目標値、新しい水の硝酸塩を入力します。3つとも同じ単位を使ってください。' },
|
|
15
|
+
{ name: '必要な水換え量を確認する', text: '理論上必要な割合と量を読みます。大きな値の場合は段階的に行うための注意が表示されます。' },
|
|
16
|
+
{ name: 'シナリオを比較する', text: '25、40、50、75パーセントから選び、各回の残留値を段階プランで確認します。' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: '硝酸塩の測定値を水換えの判断に変える', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: '割合だけでは水換えの準備に十分ではありません。このツールは現在値、目標値、実際の水量、新しい水の硝酸塩を具体的な交換量にまとめます。' },
|
|
21
|
+
{ type: 'title', text: '新しい水も計算結果を左右する', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: '水槽が均一に混ざると仮定して計算します。新しい水に硝酸塩があれば、水換え後にもその一部が残ります。' },
|
|
23
|
+
{ type: 'list', items: ['表示容量ではなく作業に使う水量を測る。', '実際に使う水源の新しい水を測定する。', '大きな一度の交換と複数回の交換を比べる。', '水が混ざった後にもう一度測定する。'] },
|
|
24
|
+
{ type: 'tip', title: '大きな水換えは分けて行う', html: '<p>50パーセントを超える場合は、複数回に分けて各段階で水質を確認してください。温度や水質は生体に合わせる必要があります。</p>' },
|
|
25
|
+
{ type: 'table', headers: ['表示', '意味'], rows: [['必要な割合', '実際の水量に対する理論上の交換割合'], ['交換する水', '計算された水換えに対応する量'], ['選択した水換え後', '選んだシナリオの1回後に予測される硝酸塩'], ['段階プラン', '同じ水換えを複数回行った後の残留硝酸塩']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: '硝酸塩水換えレシピ', inputInstruction: '現在の水槽の状態を入力してください。目標値を水換え量に変換します。', unitSystemLabel: '表示単位', metricLabel: 'メートル法', imperialLabel: 'ヤード・ポンド法', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: '表示容量ではなく実水量', readingHint: '測定値', readingsTitle: '水槽の測定値', decisionTitle: '実施する水換え', actionLabel: '交換', sceneCaption: '混ぜて再測定', newWaterLabel: '新しい水', inputsLegend: '水量と3つの硝酸塩測定値を入力', volumeLabel: '作業水量', volumeUnit: 'L', currentLabel: '現在の硝酸塩', targetLabel: '目標硝酸塩', sourceLabel: '新しい水の硝酸塩', nitrateUnit: 'mg/L NO3', sourceHint: 'すべての測定で同じ単位を使います。値が分からない場合は交換用の水を測定してください。', currentMarker: '現在', targetMarker: '目標', targetReached: '目標に到達可能', alreadyBelow: 'すでに目標以下', unreachable: '希釈だけでは到達不可', requiredChangeLabel: 'の作業水量', requiredLitresLabel: '交換する水', afterChangeLabel: '選択した水換え後', safetyLabel: 'この水換えを分ける', safetyHint: '50パーセントを超える一度の水換えは生体に負担をかけることがあります。温度と水質を確認し、小さな交換に分けることを検討してください。', criticalSafetyLabel: '大きな一度の交換を避ける', criticalSafetyHint: '推定値は75パーセントを超えています。ほぼ全量を一度に交換せず、段階的に交換して間で再測定してください。', scenarioLabel: '水換えシナリオ', scenarioHint: '実用的な割合を選択', planLabel: '段階プラン', planHint: '同じ水換えを繰り返した後の残留硝酸塩を示します。予定表や保証ではありません。', planChangeLabel: '水換え後', biologyHint: '水槽では水換えの間も硝酸塩が発生します。そのため実際の測定値は希釈だけのモデルと異なります。水が混ざった後に再測定してください。', impossibleHint: '新しい水の硝酸塩が高すぎるため、希釈だけでは目標に到達できません。', belowTargetHint: '現在値はすでに目標以下です。参考値として保存し、通常の管理予定で再測定してください。', measureAgainHint: 'これは混合の推定値です。水槽は測定の間も変化するため、水が混ざった後に再測定してください。', resetLabel: '値をリセット', currentScenarioLabel: '選択した水換え', repeatLabel: '回', notReached: '未到達', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'ko', slug: 'aquarium-nitrate-dilution-calculator', title: '수족관 질산염 희석 및 물갈이 계산기', description: '실제 수량과 새 물의 질산염 수치를 반영해 측정된 질산염을 목표값으로 낮추는 물갈이 양을 계산합니다.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: '이 도구는 무엇을 계산하나요?', answer: '현재 질산염 수치를 목표값에 가깝게 만들기 위해 교체할 물의 비율과 양을 추정합니다. 새 물에 들어 있는 질산염도 포함합니다.' },
|
|
7
|
+
{ question: '새 물의 질산염 수치가 왜 중요한가요?', answer: '보충수에 질산염이 있으면 희석만으로는 그 물이 가져오는 농도보다 낮출 수 없습니다.' },
|
|
8
|
+
{ question: '단계별 계획에는 무엇이 표시되나요?', answer: '같은 비율의 물갈이를 반복했을 때 각 단계 후 남는 질산염을 보여 줍니다. 고정된 관리 일정이 아니라 계산 모델입니다.' },
|
|
9
|
+
{ question: '50퍼센트가 넘는 결과는 어떻게 해야 하나요?', answer: '한 번에 큰 물갈이를 하면 생물과 수질에 부담이 될 수 있습니다. 온도와 수질을 확인하고 여러 단계로 나누는 것을 고려하세요.' },
|
|
10
|
+
{ question: '입력값이 전송되나요?', answer: '아니요. 계산은 브라우저에서 실행되며 마지막 값은 이 브라우저에 로컬로 저장할 수 있습니다.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: '실제 물의 양 입력', text: '제품 표기 용량이 아니라 수조에 실제로 들어 있는 물을 사용하세요. 바닥재와 장식이 차지하는 공간도 고려합니다.' },
|
|
14
|
+
{ name: '질산염 측정값 세 가지 입력', text: '현재값, 목표값, 새 물의 질산염을 입력하고 세 값에 같은 단위를 사용하세요.' },
|
|
15
|
+
{ name: '필요한 물갈이 확인', text: '이론상 필요한 비율과 양을 확인합니다. 큰 값이면 단계적으로 진행하라는 주의가 나타납니다.' },
|
|
16
|
+
{ name: '시나리오 비교', text: '25, 40, 50 또는 75퍼센트를 선택하고 단계별 계획에서 반복 후 잔류값을 확인하세요.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: '질산염 측정값을 물갈이 결정으로 바꾸기', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: '비율 하나만으로는 물갈이를 준비하기 어렵습니다. 이 도구는 현재값, 목표값, 실제 물의 양, 새 물의 질산염을 구체적인 교체량으로 연결합니다.' },
|
|
21
|
+
{ type: 'title', text: '새 물도 결과에 포함됩니다', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: '수조가 고르게 섞인다고 가정합니다. 새 물에 질산염이 들어 있으면 물갈이 후에도 일부 농도가 남습니다.' },
|
|
23
|
+
{ type: 'list', items: ['표기 용량 대신 실제 작업 물의 양을 측정하세요.', '실제로 사용할 수원의 새 물을 검사하세요.', '한 번의 큰 물갈이와 여러 번의 중간 물갈이를 비교하세요.', '물이 섞인 후 다시 측정하세요.'] },
|
|
24
|
+
{ type: 'tip', title: '큰 물갈이는 나누어 진행', html: '<p>50퍼센트를 넘으면 여러 단계로 나누고 단계 사이에 수질을 확인하세요. 온도와 수질은 생물의 조건에 맞아야 합니다.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['결과', '의미'], rows: [['필요 비율', '실제 작업 물의 양에서 이론적으로 교체할 비율'], ['교체할 물', '계산된 물갈이에 해당하는 양'], ['선택한 물갈이 후', '선택한 시나리오 한 번 후의 예상 질산염'], ['단계별 계획', '같은 물갈이를 여러 번 한 후의 잔류 질산염']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: '질산염 물갈이 레시피', inputInstruction: '현재 수조의 상태를 입력하세요. 목표값을 물갈이 양으로 바꿔 줍니다.', unitSystemLabel: '표시 단위', metricLabel: '미터법', imperialLabel: '야드파운드법', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: '표기 용량이 아닌 실제 물', readingHint: '측정값', readingsTitle: '수조 측정값', decisionTitle: '실행할 물갈이', actionLabel: '교체', sceneCaption: '섞은 후 재측정', newWaterLabel: '새 물', inputsLegend: '물의 양과 질산염 측정값 세 가지 입력', volumeLabel: '작업 물의 양', volumeUnit: 'L', currentLabel: '현재 질산염', targetLabel: '목표 질산염', sourceLabel: '새 물의 질산염', nitrateUnit: 'mg/L NO3', sourceHint: '모든 측정에 같은 질산염 단위를 사용하세요. 값을 모르면 교체할 물을 검사하세요.', currentMarker: '현재', targetMarker: '목표', targetReached: '목표 도달 가능', alreadyBelow: '이미 목표 이하', unreachable: '희석만으로 도달 불가', requiredChangeLabel: '작업 물의 양 중', requiredLitresLabel: '교체할 물', afterChangeLabel: '선택한 물갈이 후', safetyLabel: '이 물갈이를 나누세요', safetyHint: '50퍼센트를 넘는 한 번의 물갈이는 수조 생물에 부담을 줄 수 있습니다. 온도와 수질을 확인하고 작은 단계로 나누는 것을 고려하세요.', criticalSafetyLabel: '큰 한 번의 물갈이를 피하세요', criticalSafetyHint: '예상값이 75퍼센트를 넘습니다. 물을 거의 전부 한 번에 교체하지 말고 단계별로 진행하며 중간에 다시 측정하세요.', scenarioLabel: '물갈이 시나리오', scenarioHint: '실용적인 비율 선택', planLabel: '단계별 계획', planHint: '같은 물갈이를 반복한 뒤 남는 질산염을 보여 줍니다. 일정표나 보장은 아닙니다.', planChangeLabel: '물갈이 후', biologyHint: '수조는 물갈이 사이에도 질산염을 계속 만듭니다. 따라서 실제 측정값은 희석만 계산한 모델과 달라질 수 있습니다. 물이 섞인 뒤 다시 검사하세요.', impossibleHint: '새 물의 질산염이 너무 높아 희석만으로는 이 목표에 도달할 수 없습니다.', belowTargetHint: '현재 측정값은 이미 목표와 같거나 낮습니다. 참고값으로 두고 평소 일정에 따라 다시 검사하세요.', measureAgainHint: '혼합을 가정한 추정값입니다. 수조는 측정 사이에도 변하므로 물이 섞인 뒤 다시 검사하세요.', resetLabel: '값 초기화', currentScenarioLabel: '선택한 물갈이', repeatLabel: '회', notReached: '도달하지 않음', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'nl', slug: 'aquarium-nitraat-verdunning-waterwissel-calculator', title: 'Aquarium calculator voor nitraatverdunning en waterwissel', description: 'Bereken hoeveel aquariumwater je moet verversen om een gemeten nitraatwaarde richting een doelwaarde te brengen, inclusief nitraat in het nieuwe water.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Wat berekent deze aquariumtool?', answer: 'De tool schat het percentage en volume dat je moet vervangen om een gemeten nitraatwaarde naar een doelwaarde te brengen. Nitraat in het verversingswater telt mee.' },
|
|
7
|
+
{ question: 'Waarom is nitraat in nieuw water belangrijk?', answer: 'Als het nieuwe water al nitraat bevat, kan verdunning de waarde niet onder de concentratie van die bron brengen.' },
|
|
8
|
+
{ question: 'Wat toont het stappenplan?', answer: 'Het toont de verwachte resterende nitraatwaarde na meerdere identieke waterwissels. Het is een model, geen vast onderhoudsschema.' },
|
|
9
|
+
{ question: 'Wat betekent een resultaat boven 50 procent?', answer: 'Een zeer grote wissel in één keer kan dieren en waterchemie belasten. Controleer temperatuur en waarden en overweeg meerdere stappen.' },
|
|
10
|
+
{ question: 'Worden mijn gegevens verstuurd?', answer: 'Nee. De berekening gebeurt in de browser en de laatste waarden kunnen lokaal in deze browser worden bewaard.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Vul het werkelijke volume in', text: 'Gebruik de hoeveelheid water die echt in het aquarium zit, niet de inhoud op het etiket. Houd rekening met bodem en decoratie.' },
|
|
14
|
+
{ name: 'Voer drie nitraatmetingen in', text: 'Vul de huidige waarde, de doelwaarde en nitraat in nieuw water in. Gebruik overal dezelfde eenheid.' },
|
|
15
|
+
{ name: 'Controleer de voorgestelde wissel', text: 'Lees het theoretische percentage en volume af. Bij grote waarden verschijnt een waarschuwing om de wissel te verdelen.' },
|
|
16
|
+
{ name: "Vergelijk scenario's", text: 'Kies 25, 40, 50 of 75 procent en open het stappenplan om de restwaarde per herhaling te zien.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Van een nitraatmeting naar een beslissing over waterwissel', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Een percentage alleen is niet genoeg om een waterwissel voor te bereiden. Deze tool verbindt de huidige meting, het doel, het werkelijke volume en nitraat in nieuw water tot een concreet volume.' },
|
|
21
|
+
{ type: 'title', text: 'Nieuw water hoort bij de berekening', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Het model gaat uit van een goed gemengd aquarium. Als het nieuwe water nitraat toevoegt, blijft een deel van die concentratie na de wissel aanwezig.' },
|
|
23
|
+
{ type: 'list', items: ['Meet het werkvolume in plaats van alleen het etiket te gebruiken.', 'Test nieuw water uit de bron die je echt gaat gebruiken.', 'Vergelijk één grote wissel met meerdere gematigde wissels.', 'Meet opnieuw nadat het water gemengd is.'] },
|
|
24
|
+
{ type: 'tip', title: 'Verdeel grote wissels', html: '<p>Boven 50 procent kun je de wissel beter in stappen uitvoeren en tussendoor meten. Temperatuur en waterchemie moeten bij de dieren passen.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Uitkomst', 'Betekenis'], rows: [['Benodigd percentage', 'Theoretisch deel van het werkvolume dat vervangen wordt'], ['Te vervangen water', 'Volume dat bij de berekende wissel hoort'], ['Na gekozen wissel', 'Verwachte nitraatwaarde na één scenario'], ['Stappenplan', 'Restwaarde na meerdere identieke wissels']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Recept voor nitraatverlaging', inputInstruction: 'Vul in wat er nu in het aquarium zit. Het recept vertaalt je doel naar een hoeveelheid water.', unitSystemLabel: 'Weergave-eenheden', metricLabel: 'Metrisch', imperialLabel: 'Imperial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Werkelijk water, niet het etiket', readingHint: 'Uit je test', readingsTitle: 'Jouw watermeting', decisionTitle: 'De uit te voeren wissel', actionLabel: 'Vervangen', sceneCaption: 'Mengen en opnieuw testen', newWaterLabel: 'Nieuw water', inputsLegend: 'Gebruik één volume en drie nitraatmetingen', volumeLabel: 'Werkvolume', volumeUnit: 'L', currentLabel: 'Huidig nitraat', targetLabel: 'Doelnitraat', sourceLabel: 'Nitraat in nieuw water', nitrateUnit: 'mg/L NO3', sourceHint: 'Gebruik dezelfde nitraateenheid voor alle metingen. Test het verversingswater als je de waarde niet kent.', currentMarker: 'Huidig', targetMarker: 'Doel', targetReached: 'Doel haalbaar', alreadyBelow: 'Al onder het doel', unreachable: 'Niet haalbaar met verdunning', requiredChangeLabel: 'van het werkvolume', requiredLitresLabel: 'Te vervangen water', afterChangeLabel: 'Na gekozen wissel', safetyLabel: 'Verdeel deze wissel', safetyHint: 'Een wissel van meer dan 50 procent in één keer kan aquariumdieren belasten. Controleer temperatuur en waterchemie en overweeg kleinere stappen.', criticalSafetyLabel: 'Vermijd één zo grote wissel', criticalSafetyHint: 'De schatting is hoger dan 75 procent. Werk stapsgewijs en test tussendoor opnieuw in plaats van bijna al het water ineens te vervangen.', scenarioLabel: 'Wisselscenario', scenarioHint: 'Kies een praktisch percentage', planLabel: 'Stappenplan', planHint: 'Het model toont de resterende nitraatwaarde na elke identieke wissel. Het is geen kalender of garantie.', planChangeLabel: 'Na wissel', biologyHint: 'Het aquarium blijft tussen wissels nitraat produceren. Echte metingen kunnen daarom afwijken van dit model dat alleen verdunning berekent. Test opnieuw na het mengen.', impossibleHint: 'Het nieuwe water bevat te veel nitraat om dit doel alleen met verdunning te bereiken.', belowTargetHint: 'De huidige meting zit al op of onder het doel. Gebruik haar als referentie en test opnieuw volgens je normale routine.', measureAgainHint: 'Dit is een mengschatting. Test opnieuw nadat het water gemengd is, omdat het aquarium tussen metingen blijft veranderen.', resetLabel: 'Waarden resetten', currentScenarioLabel: 'Gekozen wissel', repeatLabel: 'wissels', notReached: 'Niet bereikt', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'pl', slug: 'kalkulator-rozcieczania-azotanow-podmiany-wody-akwarium', title: 'Kalkulator rozcieńczania azotanów i podmiany wody w akwarium', description: 'Oblicz ilość wody do podmiany, aby obniżyć zmierzone azotany do wartości docelowej, uwzględniając rzeczywistą objętość i azotany w nowej wodzie.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Co oblicza to narzędzie?', answer: 'Szacuje procent i objętość wody do podmiany, aby przybliżyć aktualny poziom azotanów do celu. Uwzględnia także azotany w wodzie dolewanej.' },
|
|
7
|
+
{ question: 'Dlaczego ważne są azotany w nowej wodzie?', answer: 'Jeżeli woda uzupełniająca zawiera azotany, samo rozcieńczanie nie obniży wyniku poniżej stężenia pochodzącego z tego źródła.' },
|
|
8
|
+
{ question: 'Co pokazuje plan krok po kroku?', answer: 'Pokazuje przewidywane pozostałe azotany po kilku identycznych podmianach. To model obliczeniowy, a nie gotowy harmonogram pielęgnacji.' },
|
|
9
|
+
{ question: 'Co oznacza wynik powyżej 50 procent?', answer: 'Bardzo duża jednorazowa podmiana może obciążyć mieszkańców akwarium i zmienić chemię wody. Rozważ podział na etapy i kontroluj temperaturę oraz parametry.' },
|
|
10
|
+
{ question: 'Czy moje dane są wysyłane?', answer: 'Nie. Obliczenia działają w przeglądarce, a ostatnie wartości mogą zostać zapisane lokalnie.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Wpisz rzeczywistą objętość wody', text: 'Użyj ilości wody faktycznie znajdującej się w akwarium, a nie pojemności z etykiety. Uwzględnij podłoże i dekoracje.' },
|
|
14
|
+
{ name: 'Dodaj trzy odczyty azotanów', text: 'Wpisz wartość bieżącą, cel oraz azotany w nowej wodzie. Wszędzie używaj tej samej jednostki.' },
|
|
15
|
+
{ name: 'Sprawdź obliczoną podmianę', text: 'Odczytaj teoretyczny procent i objętość. Duża wartość wywoła ostrzeżenie o podziale podmiany na etapy.' },
|
|
16
|
+
{ name: 'Porównaj scenariusze', text: 'Wybierz 25, 40, 50 lub 75 procent i otwórz plan, aby zobaczyć poziom po każdej kolejnej podmianie.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Zamień odczyt azotanów w decyzję o podmianie wody', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Sam procent podmiany nie wystarcza do przygotowania zabiegu. Narzędzie łączy bieżący odczyt, cel, rzeczywistą objętość oraz azotany nowej wody w konkretną ilość.' },
|
|
21
|
+
{ type: 'title', text: 'Nowa woda wpływa na wynik', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Model zakłada równomierne wymieszanie wody. Jeżeli woda dolewana zawiera azotany, część tego stężenia pozostanie po podmianie.' },
|
|
23
|
+
{ type: 'list', items: ['Zmierz objętość roboczą zamiast używać wyłącznie oznaczenia zbiornika.', 'Zbadaj nową wodę z tego źródła, którego naprawdę użyjesz.', 'Porównaj jedną dużą podmianę z kilkoma umiarkowanymi.', 'Zbadaj wodę ponownie po wymieszaniu.'] },
|
|
24
|
+
{ type: 'tip', title: 'Dziel duże podmiany', html: '<p>Powyżej 50 procent rozważ kilka etapów i kontroluj parametry pomiędzy nimi. Temperatura oraz chemia wody muszą odpowiadać zwierzętom.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Wynik', 'Znaczenie'], rows: [['Wymagany procent', 'Teoretyczna część objętości roboczej do wymiany'], ['Woda do podmiany', 'Objętość wynikająca z obliczenia'], ['Po wybranej podmianie', 'Przewidywany poziom po jednym scenariuszu'], ['Plan krok po kroku', 'Pozostałe azotany po kolejnych identycznych podmianach']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Przepis na podmianę azotanów', inputInstruction: 'Wpisz, co znajduje się teraz w akwarium. Przepis zamienia cel w ilość wody do podmiany.', unitSystemLabel: 'Wyświetlane jednostki', metricLabel: 'Metryczne', imperialLabel: 'Imperialne', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Rzeczywista woda, nie pojemność zbiornika', readingHint: 'Z Twojego testu', readingsTitle: 'Próbka wody', decisionTitle: 'Podmiana do wykonania', actionLabel: 'Wymień', sceneCaption: 'Wymieszaj i zbadaj ponownie', newWaterLabel: 'Nowa woda', inputsLegend: 'Użyj jednej objętości i trzech odczytów azotanów', volumeLabel: 'Objętość robocza', volumeUnit: 'L', currentLabel: 'Bieżące azotany', targetLabel: 'Docelowe azotany', sourceLabel: 'Azotany w nowej wodzie', nitrateUnit: 'mg/L NO3', sourceHint: 'Używaj tej samej jednostki dla wszystkich odczytów. Zbadaj wodę do podmiany, jeśli nie znasz jej wartości.', currentMarker: 'Bieżące', targetMarker: 'Cel', targetReached: 'Cel jest osiągalny', alreadyBelow: 'Już poniżej celu', unreachable: 'Nieosiągalne przez rozcieńczenie', requiredChangeLabel: 'objętości roboczej', requiredLitresLabel: 'Woda do podmiany', afterChangeLabel: 'Po wybranej podmianie', safetyLabel: 'Podziel tę podmianę', safetyHint: 'Jednorazowa podmiana powyżej 50 procent może obciążyć mieszkańców akwarium. Sprawdź temperaturę i chemię wody oraz rozważ mniejsze etapy.', criticalSafetyLabel: 'Unikaj tak dużej podmiany naraz', criticalSafetyHint: 'Szacunek przekracza 75 procent. Wykonuj podmiany etapami i badaj wodę pomiędzy nimi, zamiast wymieniać prawie całą wodę od razu.', scenarioLabel: 'Scenariusz podmiany', scenarioHint: 'Wybierz praktyczny procent', planLabel: 'Plan krok po kroku', planHint: 'Model pokazuje pozostałe azotany po każdej identycznej podmianie. To nie jest kalendarz ani gwarancja.', planChangeLabel: 'Po podmianie', biologyHint: 'Akwarium nadal produkuje azotany pomiędzy podmianami, więc rzeczywiste odczyty mogą różnić się od modelu samego rozcieńczania. Zbadaj wodę ponownie po wymieszaniu.', impossibleHint: 'Nowa woda zawiera zbyt dużo azotanów, aby osiągnąć ten cel przez samo rozcieńczenie.', belowTargetHint: 'Bieżący odczyt jest już równy celowi lub niższy. Zachowaj go jako punkt odniesienia i badaj wodę zgodnie z rutyną.', measureAgainHint: 'To szacunek mieszania. Zbadaj wodę ponownie po wymieszaniu, ponieważ akwarium zmienia się pomiędzy odczytami.', resetLabel: 'Resetuj wartości', currentScenarioLabel: 'Wybrana podmiana', repeatLabel: 'podmian', notReached: 'Nieosiągnięty', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'pt', slug: 'calculadora-diluicao-nitratos-aquario-troca-agua', title: 'Calculadora de diluição de nitratos e troca de água do aquário', description: 'Calcule a quantidade de água a trocar para reduzir os nitratos medidos até um objetivo, considerando o volume real e os nitratos da água nova.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'O que esta ferramenta calcula?', answer: 'Estima a percentagem e o volume de água a substituir para aproximar a leitura atual de nitratos do objetivo, incluindo os nitratos da água de reposição.' },
|
|
7
|
+
{ question: 'Por que os nitratos da água nova são importantes?', answer: 'Se a água adicionada já tiver nitratos, a diluição não consegue baixar o resultado abaixo da concentração trazida por essa fonte.' },
|
|
8
|
+
{ question: 'O que mostra o plano passo a passo?', answer: 'Mostra o nitrato residual depois de várias trocas iguais. É um modelo de mistura, não um calendário de manutenção.' },
|
|
9
|
+
{ question: 'O que significa um resultado acima de 50 por cento?', answer: 'Uma troca única muito grande pode stressar os habitantes e alterar a química da água. Considere dividi-la e verifique a temperatura e os parâmetros.' },
|
|
10
|
+
{ question: 'Os meus dados são enviados?', answer: 'Não. O cálculo é executado no navegador e os últimos valores podem ser guardados localmente.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Introduza o volume real', text: 'Use a água que está realmente no aquário, não a capacidade indicada no rótulo. Considere o espaço ocupado pelo substrato e pela decoração.' },
|
|
14
|
+
{ name: 'Adicione três leituras de nitratos', text: 'Indique o valor atual, o objetivo e os nitratos da água nova. Use a mesma unidade nos três campos.' },
|
|
15
|
+
{ name: 'Leia a troca calculada', text: 'Consulte a percentagem e o volume teóricos. Um valor elevado mostra um aviso para dividir a troca em etapas.' },
|
|
16
|
+
{ name: 'Compare cenários', text: 'Escolha 25, 40, 50 ou 75 por cento e abra o plano para ver o nitrato residual após cada repetição.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Transforme uma leitura de nitratos numa decisão de troca de água', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Uma percentagem isolada não chega para preparar uma troca. A ferramenta liga a leitura atual, o objetivo, o volume real e os nitratos da água nova a uma quantidade concreta.' },
|
|
21
|
+
{ type: 'title', text: 'A água nova também entra na equação', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'O modelo assume que o aquário fica bem misturado. Quando a água adicionada contém nitratos, parte dessa concentração permanece depois da troca.' },
|
|
23
|
+
{ type: 'list', items: ['Meça o volume de trabalho em vez de usar apenas a capacidade do rótulo.', 'Teste a água nova da fonte que vai realmente utilizar.', 'Compare uma troca grande com várias trocas moderadas.', 'Volte a medir depois de a água misturar.'] },
|
|
24
|
+
{ type: 'tip', title: 'Divida as trocas grandes', html: '<p>Acima de 50 por cento, considere várias etapas e verifique os parâmetros entre elas. A temperatura e a química devem ser adequadas aos animais.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Resultado', 'Significado'], rows: [['Percentagem necessária', 'Fração teórica do volume real a substituir'], ['Água a substituir', 'Volume correspondente à troca calculada'], ['Depois da troca escolhida', 'Nitrato previsto após um cenário'], ['Plano passo a passo', 'Nitrato residual depois de várias trocas iguais']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Receita para troca de nitratos', inputInstruction: 'Introduza o que está agora no aquário. A receita transforma o objetivo numa quantidade de água.', unitSystemLabel: 'Unidades apresentadas', metricLabel: 'Métrico', imperialLabel: 'Imperial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Água real, não capacidade do aquário', readingHint: 'Do seu teste', readingsTitle: 'A sua amostra de água', decisionTitle: 'A troca a fazer', actionLabel: 'Substituir', sceneCaption: 'Misture e volte a testar', newWaterLabel: 'Água nova', inputsLegend: 'Use um volume e três leituras de nitratos', volumeLabel: 'Volume de trabalho', volumeUnit: 'L', currentLabel: 'Nitratos atuais', targetLabel: 'Nitratos alvo', sourceLabel: 'Nitratos da água nova', nitrateUnit: 'mg/L NO3', sourceHint: 'Use a mesma unidade para todas as leituras. Teste a água de reposição se não souber o seu valor.', currentMarker: 'Atual', targetMarker: 'Alvo', targetReached: 'Alvo alcançável', alreadyBelow: 'Já abaixo do alvo', unreachable: 'Não alcançável por diluição', requiredChangeLabel: 'do volume de trabalho', requiredLitresLabel: 'Água a substituir', afterChangeLabel: 'Depois da troca escolhida', safetyLabel: 'Divida esta troca', safetyHint: 'Uma troca única acima de 50 por cento pode stressar os habitantes do aquário. Verifique a temperatura e a química e considere etapas menores.', criticalSafetyLabel: 'Evite uma troca única tão grande', criticalSafetyHint: 'A estimativa ultrapassa 75 por cento. Faça trocas faseadas e volte a testar entre elas em vez de substituir quase toda a água de uma vez.', scenarioLabel: 'Cenário de troca', scenarioHint: 'Escolha uma percentagem prática', planLabel: 'Plano passo a passo', planHint: 'O modelo mostra o nitrato residual depois de cada troca igual. Não é um calendário nem uma garantia.', planChangeLabel: 'Depois da troca', biologyHint: 'O aquário continua a produzir nitratos entre trocas, por isso as leituras reais podem afastar-se deste modelo de diluição. Volte a testar depois da mistura.', impossibleHint: 'A água nova contém nitratos a mais para atingir este objetivo apenas por diluição.', belowTargetHint: 'A leitura atual já está no alvo ou abaixo dele. Use-a como referência e volte a testar na sua rotina normal.', measureAgainHint: 'É uma estimativa de mistura. Volte a testar depois de a água misturar, porque o aquário continua a mudar entre leituras.', resetLabel: 'Repor valores', currentScenarioLabel: 'Troca escolhida', repeatLabel: 'trocas', notReached: 'Não alcançado', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'ru', slug: 'kalkulyator-razbavleniya-nitratov-podmeny-vody-v-akvariume', title: 'Калькулятор разбавления нитратов и подмены воды в аквариуме', description: 'Рассчитайте объем воды для подмены, чтобы приблизить измеренный уровень нитратов к цели с учетом фактического объема и состава новой воды.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Что рассчитывает этот инструмент?', answer: 'Он оценивает процент и объем воды, который нужно заменить, чтобы приблизить текущий уровень нитратов к цели. Нитраты в новой воде тоже учитываются.' },
|
|
7
|
+
{ question: 'Почему важны нитраты в новой воде?', answer: 'Если вода для подмены уже содержит нитраты, одним разбавлением нельзя опустить показатель ниже концентрации, которую приносит этот источник.' },
|
|
8
|
+
{ question: 'Что показывает пошаговый план?', answer: 'Он показывает остаточный уровень нитратов после нескольких одинаковых подмен. Это математическая модель, а не готовый график ухода.' },
|
|
9
|
+
{ question: 'Что делать при результате выше 50 процентов?', answer: 'Очень большая разовая подмена может вызвать стресс у обитателей и резко изменить состав воды. Рассмотрите несколько этапов и проверяйте температуру и параметры.' },
|
|
10
|
+
{ question: 'Передаются ли мои данные?', answer: 'Нет. Расчет выполняется в браузере, а последние значения могут сохраняться локально в этом браузере.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Введите фактический объем воды', text: 'Используйте объем воды, который действительно находится в аквариуме, а не значение на этикетке. Учтите место, занятое грунтом и декорациями.' },
|
|
14
|
+
{ name: 'Добавьте три показателя нитратов', text: 'Введите текущий уровень, цель и нитраты в новой воде. Во всех полях используйте одну единицу.' },
|
|
15
|
+
{ name: 'Проверьте рассчитанную подмену', text: 'Посмотрите теоретический процент и объем. Для больших значений появится предупреждение о поэтапной подмене.' },
|
|
16
|
+
{ name: 'Сравните сценарии', text: 'Выберите 25, 40, 50 или 75 процентов и откройте план, чтобы увидеть остаточный уровень после каждой повторной подмены.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Превратите показание нитратов в решение о подмене воды', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Одного процента недостаточно для подготовки подмены. Инструмент связывает текущий показатель, цель, фактический объем и нитраты новой воды с конкретным объемом замены.' },
|
|
21
|
+
{ type: 'title', text: 'Новая вода тоже влияет на результат', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Модель предполагает равномерное перемешивание. Если новая вода содержит нитраты, часть этой концентрации останется после подмены.' },
|
|
23
|
+
{ type: 'list', items: ['Измерьте рабочий объем, а не только смотрите на маркировку аквариума.', 'Проверьте воду из того источника, который действительно будете использовать.', 'Сравните одну большую подмену с несколькими умеренными.', 'Повторите тест после перемешивания воды.'] },
|
|
24
|
+
{ type: 'tip', title: 'Разделяйте большие подмены', html: '<p>При результате выше 50 процентов рассмотрите несколько этапов и проверяйте параметры между ними. Температура и состав воды должны подходить обитателям.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Результат', 'Значение'], rows: [['Необходимый процент', 'Теоретическая доля рабочего объема для замены'], ['Вода для подмены', 'Объем, соответствующий расчету'], ['После выбранной подмены', 'Прогноз нитратов после одного сценария'], ['Пошаговый план', 'Остаточный уровень после нескольких одинаковых подмен']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Рецепт подмены для снижения нитратов', inputInstruction: 'Введите текущие данные аквариума. Рецепт переведет цель в объем воды для подмены.', unitSystemLabel: 'Единицы отображения', metricLabel: 'Метрические', imperialLabel: 'Имперские', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Фактическая вода, не объем на этикетке', readingHint: 'По вашему тесту', readingsTitle: 'Проба воды', decisionTitle: 'Подмена для выполнения', actionLabel: 'Заменить', sceneCaption: 'Перемешать и проверить снова', newWaterLabel: 'Новая вода', inputsLegend: 'Введите объем и три показателя нитратов', volumeLabel: 'Рабочий объем воды', volumeUnit: 'L', currentLabel: 'Текущие нитраты', targetLabel: 'Целевой уровень нитратов', sourceLabel: 'Нитраты в новой воде', nitrateUnit: 'mg/L NO3', sourceHint: 'Используйте одну единицу для всех показателей. Проверьте воду для подмены, если ее значение неизвестно.', currentMarker: 'Сейчас', targetMarker: 'Цель', targetReached: 'Цель достижима', alreadyBelow: 'Уже ниже цели', unreachable: 'Недостижимо разбавлением', requiredChangeLabel: 'рабочего объема', requiredLitresLabel: 'Вода для подмены', afterChangeLabel: 'После выбранной подмены', safetyLabel: 'Разделите эту подмену', safetyHint: 'Разовая подмена более 50 процентов может вызвать стресс у обитателей. Проверьте температуру и состав воды и рассмотрите меньшие этапы.', criticalSafetyLabel: 'Не делайте такую большую подмену сразу', criticalSafetyHint: 'Расчет превышает 75 процентов. Проводите подмены поэтапно и проверяйте воду между ними, а не заменяйте почти весь объем за один раз.', scenarioLabel: 'Сценарий подмены', scenarioHint: 'Выберите практический процент', planLabel: 'Пошаговый план', planHint: 'Модель показывает остаточные нитраты после каждой одинаковой подмены. Это не календарь и не гарантия.', planChangeLabel: 'После подмены', biologyHint: 'Аквариум продолжает производить нитраты между подменами, поэтому реальные показатели могут отличаться от модели одного разбавления. Проверьте воду после перемешивания.', impossibleHint: 'В новой воде слишком много нитратов, чтобы достичь этой цели одним разбавлением.', belowTargetHint: 'Текущий показатель уже равен цели или ниже нее. Используйте его как ориентир и повторите тест по обычному графику.', measureAgainHint: 'Это оценка смешивания. Повторите тест после перемешивания, поскольку аквариум меняется между измерениями.', resetLabel: 'Сбросить значения', currentScenarioLabel: 'Выбранная подмена', repeatLabel: 'подмены', notReached: 'Не достигнуто', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'sv', slug: 'akvarium-nitratutspadning-vattenbyte-kalkylator', title: 'Kalkylator för nitratutspädning och vattenbyte i akvarium', description: 'Beräkna hur mycket vatten du behöver byta för att sänka ett uppmätt nitratvärde mot ett mål, med hänsyn till verklig vattenvolym och nitrat i det nya vattnet.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Vad beräknar verktyget?', answer: 'Det uppskattar andelen och mängden vatten som behöver bytas för att föra det uppmätta nitratvärdet mot ett mål. Nitrat i det nya vattnet räknas också med.' },
|
|
7
|
+
{ question: 'Varför spelar nitratet i det nya vattnet roll?', answer: 'Om påfyllningsvattnet redan innehåller nitrat kan utspädning inte sänka värdet under koncentrationen från den vattenkällan.' },
|
|
8
|
+
{ question: 'Vad visar planen steg för steg?', answer: 'Den visar det beräknade kvarvarande nitratet efter flera identiska vattenbyten. Det är en modell, inte ett färdigt skötselschema.' },
|
|
9
|
+
{ question: 'Vad betyder ett resultat över 50 procent?', answer: 'Ett mycket stort byte på en gång kan belasta akvariets invånare och vattenkemin. Kontrollera temperatur och värden och överväg flera steg.' },
|
|
10
|
+
{ question: 'Skickas mina värden iväg?', answer: 'Nej. Beräkningen körs i webbläsaren och de senaste värdena kan sparas lokalt.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Ange den verkliga vattenvolymen', text: 'Använd mängden vatten som faktiskt finns i akvariet, inte volymen på etiketten. Ta hänsyn till bottenmaterial och inredning.' },
|
|
14
|
+
{ name: 'Fyll i tre nitratvärden', text: 'Ange aktuellt värde, målvärde och nitrat i det nya vattnet. Använd samma enhet överallt.' },
|
|
15
|
+
{ name: 'Kontrollera vattenbytet', text: 'Läs av teoretisk procent och mängd. Vid stora värden visas en varning om att dela upp bytet.' },
|
|
16
|
+
{ name: 'Jämför scenarier', text: 'Välj 25, 40, 50 eller 75 procent och öppna planen för att se restvärdet efter varje upprepning.' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Gör nitratmätningen till ett beslut om vattenbyte', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'En procentsats räcker inte för att förbereda ett vattenbyte. Verktyget kopplar ihop aktuellt värde, mål, verklig volym och nitrat i nytt vatten till en konkret mängd.' },
|
|
21
|
+
{ type: 'title', text: 'Det nya vattnet ingår i ekvationen', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Modellen antar att akvariet blandas jämnt. Om det nya vattnet innehåller nitrat finns en del av koncentrationen kvar efter bytet.' },
|
|
23
|
+
{ type: 'list', items: ['Mät arbetsvolymen i stället för att bara använda etikettens kapacitet.', 'Testa nytt vatten från den källa du faktiskt ska använda.', 'Jämför ett stort byte med flera måttliga byten.', 'Mät igen när vattnet har blandats.'] },
|
|
24
|
+
{ type: 'tip', title: 'Dela upp stora vattenbyten', html: '<p>Över 50 procent kan flera steg vara skonsammare. Kontrollera värdena mellan stegen och håll temperatur och vattenkemi lämpliga för djuren.</p>' },
|
|
25
|
+
{ type: 'table', headers: ['Resultat', 'Betydelse'], rows: [['Nödvändig procent', 'Teoretisk del av arbetsvolymen som ska bytas'], ['Vatten att byta', 'Mängden som motsvarar beräkningen'], ['Efter valt byte', 'Förväntat nitrat efter ett scenario'], ['Plan steg för steg', 'Kvarvarande nitrat efter flera identiska byten']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Recept för nitratbyte', inputInstruction: 'Ange vad som finns i akvariet nu. Receptet omvandlar ditt mål till en vattenmängd.', unitSystemLabel: 'Visningsenheter', metricLabel: 'Metriskt', imperialLabel: 'Imperial', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Verkligt vatten, inte etikettens volym', readingHint: 'Från ditt test', readingsTitle: 'Ditt vattenprov', decisionTitle: 'Bytet att göra', actionLabel: 'Byt', sceneCaption: 'Blanda och testa igen', newWaterLabel: 'Nytt vatten', inputsLegend: 'Använd en volym och tre nitratmätningar', volumeLabel: 'Arbetsvolym', volumeUnit: 'L', currentLabel: 'Aktuellt nitrat', targetLabel: 'Målnitrat', sourceLabel: 'Nitrat i nytt vatten', nitrateUnit: 'mg/L NO3', sourceHint: 'Använd samma nitratenhet för alla mätningar. Testa bytesvattnet om du inte känner till värdet.', currentMarker: 'Aktuellt', targetMarker: 'Mål', targetReached: 'Målet kan nås', alreadyBelow: 'Redan under målet', unreachable: 'Kan inte nås genom utspädning', requiredChangeLabel: 'av arbetsvolymen', requiredLitresLabel: 'Vatten att byta', afterChangeLabel: 'Efter valt byte', safetyLabel: 'Dela upp bytet', safetyHint: 'Ett byte över 50 procent på en gång kan belasta akvariets invånare. Kontrollera temperatur och vattenkemi och överväg mindre steg.', criticalSafetyLabel: 'Undvik ett så stort byte på en gång', criticalSafetyHint: 'Beräkningen överstiger 75 procent. Byt stegvis och testa mellan stegen i stället för att byta nästan allt vatten direkt.', scenarioLabel: 'Bytescenario', scenarioHint: 'Välj en praktisk procent', planLabel: 'Plan steg för steg', planHint: 'Modellen visar kvarvarande nitrat efter varje identiskt byte. Det är ingen kalender eller garanti.', planChangeLabel: 'Efter byte', biologyHint: 'Akvariet fortsätter att producera nitrat mellan byten. Därför kan verkliga mätningar avvika från denna modell för enbart utspädning. Testa igen efter blandning.', impossibleHint: 'Det nya vattnet innehåller för mycket nitrat för att nå målet genom enbart utspädning.', belowTargetHint: 'Det aktuella värdet ligger redan vid eller under målet. Använd det som referens och testa igen enligt din vanliga rutin.', measureAgainHint: 'Detta är en blandningsuppskattning. Testa igen efter att vattnet blandats eftersom akvariet förändras mellan mätningarna.', resetLabel: 'Återställ värden', currentScenarioLabel: 'Valt byte', repeatLabel: 'byten', notReached: 'Inte nått', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'tr', slug: 'akvaryum-nitrat-seyreltme-su-degisimi-hesaplayici', title: 'Akvaryum nitrat seyreltme ve su değişimi hesaplayıcısı', description: 'Gerçek su hacmini ve yeni sudaki nitratı dikkate alarak ölçülen nitratı hedefe yaklaştırmak için gereken su değişimini hesaplayın.',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: 'Bu araç neyi hesaplar?', answer: 'Ölçülen nitrat değerini hedefe yaklaştırmak için değiştirilecek suyun oranını ve hacmini tahmin eder. Yeni sudaki nitrat da hesaba katılır.' },
|
|
7
|
+
{ question: 'Yeni sudaki nitrat neden önemlidir?', answer: 'Değişim suyu nitrat içeriyorsa, yalnızca seyreltme ile kaynak sudaki konsantrasyonun altına inilemez.' },
|
|
8
|
+
{ question: 'Adım adım plan ne gösterir?', answer: 'Aynı orandaki birkaç su değişiminden sonra beklenen kalan nitratı gösterir. Bu bir modeldir, bakım takvimi değildir.' },
|
|
9
|
+
{ question: "Sonuç yüzde 50'nin üzerindeyse ne yapmalıyım?", answer: 'Tek seferde çok büyük bir değişim canlıları ve su kimyasını zorlayabilir. Sıcaklığı ve değerleri kontrol edip değişimi bölmeyi düşünün.' },
|
|
10
|
+
{ question: 'Verilerim gönderiliyor mu?', answer: 'Hayır. Hesaplama tarayıcıda yapılır ve son değerler bu tarayıcıda yerel olarak saklanabilir.' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: 'Gerçek su hacmini girin', text: 'Etiketteki kapasiteyi değil, akvaryumda gerçekten bulunan suyu kullanın. Taban malzemesi ve dekorun kapladığı alanı dikkate alın.' },
|
|
14
|
+
{ name: 'Üç nitrat ölçümü ekleyin', text: 'Mevcut değeri, hedefi ve yeni sudaki nitratı girin. Her yerde aynı birimi kullanın.' },
|
|
15
|
+
{ name: 'Hesaplanan değişimi inceleyin', text: 'Teorik oranı ve hacmi okuyun. Büyük değerlerde değişimi aşamalara bölmeniz için uyarı gösterilir.' },
|
|
16
|
+
{ name: 'Senaryoları karşılaştırın', text: "Yüzde 25, 40, 50 veya 75'i seçin ve her tekrardan sonraki kalan değeri görmek için planı açın." },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: 'Nitrat ölçümünü su değişimi kararına dönüştürün', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: 'Tek başına bir yüzde, su değişimini hazırlamak için yeterli değildir. Araç mevcut ölçümü, hedefi, gerçek hacmi ve yeni sudaki nitratı kullanılabilir bir hacme bağlar.' },
|
|
21
|
+
{ type: 'title', text: 'Yeni su da denklemin parçasıdır', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: 'Model akvaryumun eşit biçimde karıştığını varsayar. Yeni su nitrat içeriyorsa, bu konsantrasyonun bir bölümü değişimden sonra kalır.' },
|
|
23
|
+
{ type: 'list', items: ['Yalnızca etiket kapasitesini değil çalışma hacmini ölçün.', 'Gerçekte kullanacağınız kaynaktan gelen yeni suyu test edin.', 'Tek ve büyük bir değişimi birkaç orta boy değişimle karşılaştırın.', 'Su karıştıktan sonra tekrar ölçüm yapın.'] },
|
|
24
|
+
{ type: 'tip', title: 'Büyük değişimleri bölün', html: "<p>Yüzde 50'nin üzerinde birkaç aşama daha güvenli olabilir. Aşamalar arasında değerleri kontrol edin ve sıcaklık ile kimyayı canlılara uygun tutun.</p>" },
|
|
25
|
+
{ type: 'table', headers: ['Sonuç', 'Anlamı'], rows: [['Gerekli oran', 'Çalışma hacminin teorik olarak değiştirilecek bölümü'], ['Değiştirilecek su', 'Hesaplanan değişime karşılık gelen hacim'], ['Seçilen değişim sonrası', 'Bir senaryodan sonra beklenen nitrat'], ['Adım adım plan', 'Aynı değişimlerin ardından kalan nitrat']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: 'Nitrat değişimi tarifi', inputInstruction: 'Akvaryumda şu anda ne olduğunu girin. Tarif, hedefinizi değiştirilecek su miktarına dönüştürür.', unitSystemLabel: 'Görüntü birimleri', metricLabel: 'Metrik', imperialLabel: 'İngiliz', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: 'Etiket kapasitesi değil gerçek su', readingHint: 'Testinizden', readingsTitle: 'Su örneğiniz', decisionTitle: 'Yapılacak değişim', actionLabel: 'Değiştir', sceneCaption: 'Karıştır ve tekrar test et', newWaterLabel: 'Yeni su', inputsLegend: 'Bir hacim ve üç nitrat ölçümü kullanın', volumeLabel: 'Çalışma su hacmi', volumeUnit: 'L', currentLabel: 'Mevcut nitrat', targetLabel: 'Hedef nitrat', sourceLabel: 'Yeni sudaki nitrat', nitrateUnit: 'mg/L NO3', sourceHint: 'Tüm ölçümlerde aynı nitrat birimini kullanın. Değerini bilmiyorsanız değişim suyunu test edin.', currentMarker: 'Mevcut', targetMarker: 'Hedef', targetReached: 'Hedefe ulaşılabilir', alreadyBelow: 'Zaten hedefin altında', unreachable: 'Seyreltme ile ulaşılamaz', requiredChangeLabel: 'çalışma hacminin', requiredLitresLabel: 'Değiştirilecek su', afterChangeLabel: 'Seçilen değişim sonrası', safetyLabel: 'Bu değişimi bölün', safetyHint: "Yüzde 50'nin üzerindeki tek seferlik bir değişim akvaryum canlılarını zorlayabilir. Sıcaklığı ve su kimyasını kontrol edip daha küçük aşamalar düşünün.", criticalSafetyLabel: 'Bu kadar büyük tek değişimden kaçının', criticalSafetyHint: "Tahmin yüzde 75'in üzerinde. Neredeyse tüm suyu bir anda değiştirmek yerine aşamalı değişim yapın ve aralarda tekrar test edin.", scenarioLabel: 'Değişim senaryosu', scenarioHint: 'Pratik bir yüzde seçin', planLabel: 'Adım adım plan', planHint: 'Model, aynı değişimlerden sonra kalan nitratı gösterir. Takvim veya garanti değildir.', planChangeLabel: 'Değişim sonrası', biologyHint: 'Akvaryum değişimler arasında nitrat üretmeye devam eder. Bu nedenle gerçek ölçümler yalnızca seyreltme modelinden sapabilir. Su karıştıktan sonra tekrar test edin.', impossibleHint: 'Yeni sudaki nitrat, bu hedefe yalnızca seyreltme ile ulaşmak için çok yüksek.', belowTargetHint: 'Mevcut değer zaten hedefe eşit veya daha düşük. Referans olarak kullanın ve normal rutininizde tekrar test edin.', measureAgainHint: 'Bu bir karışım tahminidir. Akvaryum ölçümler arasında değiştiği için su karıştıktan sonra tekrar test edin.', resetLabel: 'Değerleri sıfırla', currentScenarioLabel: 'Seçilen değişim', repeatLabel: 'değişim', notReached: 'Ulaşılmadı', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createAquariumNitrateContent } from '../localized-content';
|
|
2
|
+
|
|
3
|
+
export const content = createAquariumNitrateContent({
|
|
4
|
+
locale: 'zh', slug: 'aquarium-nitrate-dilution-calculator', title: '鱼缸硝酸盐稀释与换水计算器', description: '结合实际水量和新水中的硝酸盐含量,计算将测得的硝酸盐降到目标值附近所需的换水量,方便复测。',
|
|
5
|
+
faq: [
|
|
6
|
+
{ question: '这个工具计算什么?', answer: '它会估算需要更换的水量和比例,让当前硝酸盐读数接近目标值,同时把新水中已有的硝酸盐计算在内。' },
|
|
7
|
+
{ question: '为什么要输入新水的硝酸盐?', answer: '如果补充水本身含有硝酸盐,仅靠稀释就无法低于这个水源带来的浓度。' },
|
|
8
|
+
{ question: '分步计划显示什么?', answer: '它显示多次执行相同比例换水后预计剩余的硝酸盐。这是计算模型,不是固定的养护日程。' },
|
|
9
|
+
{ question: '结果超过百分之五十怎么办?', answer: '一次换水过多可能让生物承受压力,也会快速改变水质。请检查温度和水质,并考虑分成多个阶段。' },
|
|
10
|
+
{ question: '我的数据会被发送吗?', answer: '不会。计算在浏览器中完成,最近的数值可以保存在当前浏览器本地。' },
|
|
11
|
+
],
|
|
12
|
+
howTo: [
|
|
13
|
+
{ name: '输入实际水量', text: '使用鱼缸中真正存在的水量,而不是标签上的容量。请考虑底砂和装饰占据的空间。' },
|
|
14
|
+
{ name: '输入三个硝酸盐读数', text: '填写当前值、目标值和新水中的硝酸盐,并在三个字段中使用相同单位。' },
|
|
15
|
+
{ name: '查看计算出的换水量', text: '读取理论比例和体积。数值较大时,界面会提醒你考虑分阶段换水。' },
|
|
16
|
+
{ name: '比较换水情景', text: '选择百分之二十五、四十、五十或七十五,并打开分步计划查看每次重复后的剩余值。' },
|
|
17
|
+
],
|
|
18
|
+
seo: [
|
|
19
|
+
{ type: 'title', text: '把硝酸盐读数转化为换水决定', level: 2 },
|
|
20
|
+
{ type: 'paragraph', html: '只有换水比例还不足以准备一次换水。这个工具将当前读数、目标值、实际水量和新水硝酸盐连接成具体的换水体积。' },
|
|
21
|
+
{ type: 'title', text: '新水也会影响结果', level: 2 },
|
|
22
|
+
{ type: 'paragraph', html: '模型假设鱼缸中的水已经均匀混合。如果新水含有硝酸盐,换水后仍会保留其中一部分浓度。' },
|
|
23
|
+
{ type: 'list', items: ['测量实际工作水量,而不是只使用标签容量。', '检测你真正会使用的水源中的新水。', '比较一次大换水和多次适度换水。', '水体混合后再次检测。'] },
|
|
24
|
+
{ type: 'tip', title: '分开进行大换水', html: '<p>超过百分之五十时,可以考虑分成多个阶段,并在阶段之间检查水质。温度和水质需要适合鱼缸中的生物。</p>' },
|
|
25
|
+
{ type: 'table', headers: ['结果', '含义'], rows: [['所需比例', '实际工作水量中理论上需要更换的部分'], ['需要更换的水', '计算出的换水体积'], ['选定换水后', '执行一次所选情景后的预计硝酸盐'], ['分步计划', '多次执行相同换水后的剩余硝酸盐']] },
|
|
26
|
+
],
|
|
27
|
+
ui: {
|
|
28
|
+
toolKicker: '硝酸盐换水配方', inputInstruction: '输入鱼缸现在的状态。配方会把目标值转换成需要更换的水量。', unitSystemLabel: '显示单位', metricLabel: '公制', imperialLabel: '英制', metricUnitSummary: 'L / mg/L', imperialUnitSummary: 'US gal / ppm', volumeHint: '实际水量,不是标签容量', readingHint: '来自你的测试', readingsTitle: '你的水样', decisionTitle: '需要进行的换水', actionLabel: '更换', sceneCaption: '混合后再次测试', newWaterLabel: '新水', inputsLegend: '输入一个水量和三个硝酸盐读数', volumeLabel: '工作水量', volumeUnit: 'L', currentLabel: '当前硝酸盐', targetLabel: '目标硝酸盐', sourceLabel: '新水硝酸盐', nitrateUnit: 'mg/L NO3', sourceHint: '所有读数使用相同的硝酸盐单位。如果不知道补充水的数值,请先检测。', currentMarker: '当前', targetMarker: '目标', targetReached: '可以达到目标', alreadyBelow: '已经低于目标', unreachable: '无法通过稀释达到', requiredChangeLabel: '的工作水量', requiredLitresLabel: '需要更换的水', afterChangeLabel: '选定换水后', safetyLabel: '请分开进行这次换水', safetyHint: '一次超过百分之五十的换水可能让鱼缸生物承受压力。请检查温度和水质,并考虑分成更小的阶段。', criticalSafetyLabel: '避免一次进行这么大的换水', criticalSafetyHint: '估算结果超过百分之七十五。请分阶段换水并在中间再次检测,不要一次更换几乎全部的水。', scenarioLabel: '换水情景', scenarioHint: '选择实用的换水比例', planLabel: '分步计划', planHint: '模型显示每次相同换水后的剩余硝酸盐。这不是日历,也不是保证。', planChangeLabel: '换水后', biologyHint: '鱼缸在两次换水之间仍会产生硝酸盐,因此真实读数可能偏离这个单纯的稀释模型。水体混合后请再次检测。', impossibleHint: '新水中的硝酸盐过高,无法仅靠稀释达到这个目标。', belowTargetHint: '当前读数已经等于或低于目标。请将其作为参考,并按正常养护节奏再次检测。', measureAgainHint: '这是混合结果的估算。鱼缸在两次读数之间会继续变化,因此水体混合后请再次检测。', resetLabel: '重置数值', currentScenarioLabel: '选定换水', repeatLabel: '次换水', notReached: '尚未达到', scenarioTwentyFive: '25%', scenarioForty: '40%', scenarioFifty: '50%', scenarioSeventyFive: '75%',
|
|
29
|
+
},
|
|
30
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { aquariumNitrateDilutionCalculator } from './entry';
|
|
2
|
+
import type { ToolDefinition } from '../../types';
|
|
3
|
+
|
|
4
|
+
export * from './entry';
|
|
5
|
+
|
|
6
|
+
export const AQUARIUM_NITRATE_DILUTION_CALCULATOR_TOOL: ToolDefinition = {
|
|
7
|
+
entry: aquariumNitrateDilutionCalculator,
|
|
8
|
+
Component: () => import('./component.astro'),
|
|
9
|
+
SEOComponent: () => import('./seo.astro'),
|
|
10
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
11
|
+
};
|