diff --git a/apps/mana/apps/web/src/lib/i18n/index.ts b/apps/mana/apps/web/src/lib/i18n/index.ts index 36f3c8cec..ab9c3afe4 100644 --- a/apps/mana/apps/web/src/lib/i18n/index.ts +++ b/apps/mana/apps/web/src/lib/i18n/index.ts @@ -49,6 +49,7 @@ function registerLocale(lang: SupportedLocale) { matrix, guides, help, + cycles, ] = await Promise.all([ import(`./locales/apps/${lang}.json`), import(`./locales/common/${lang}.json`), @@ -83,6 +84,7 @@ function registerLocale(lang: SupportedLocale) { import(`./locales/matrix/${lang}.json`), import(`./locales/guides/${lang}.json`), import(`./locales/help/${lang}.json`), + import(`./locales/cycles/${lang}.json`), ]); return { @@ -119,6 +121,7 @@ function registerLocale(lang: SupportedLocale) { matrix: matrix.default, guides: guides.default, help: help.default, + cycles: cycles.default, }; }); } diff --git a/apps/mana/apps/web/src/lib/i18n/locales/cycles/de.json b/apps/mana/apps/web/src/lib/i18n/locales/cycles/de.json new file mode 100644 index 000000000..945885a76 --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/cycles/de.json @@ -0,0 +1,64 @@ +{ + "app": { + "name": "Cycles", + "tagline": "Menstruationszyklus-Tracking" + }, + "phase": { + "menstruation": "Menstruation", + "follicular": "Follikelphase", + "ovulation": "Eisprung", + "luteal": "Lutealphase", + "unknown": "Unbekannt" + }, + "flow": { + "none": "Keine", + "spotting": "Schmierblutung", + "light": "Leicht", + "medium": "Mittel", + "heavy": "Stark" + }, + "mood": { + "great": "Großartig", + "good": "Gut", + "neutral": "Neutral", + "low": "Niedrig", + "bad": "Schlecht" + }, + "label": { + "cycleDay": "Zyklustag", + "daysUntilPeriod": "Tage bis zur Periode", + "today": "Heute", + "predicted": "vorhergesagt", + "daysOverdue": "Tage überfällig", + "todayBleeding": "Heute · Blutung", + "bleeding": "Blutung", + "mood": "Stimmung", + "symptoms": "Symptome", + "basalAndNotes": "Basaltemperatur & Notizen", + "stats": "Statistik", + "recentEntries": "Letzte Einträge", + "editing": "Bearbeite" + }, + "action": { + "startPeriod": "Periode starten", + "endPeriod": "Periode beendet", + "backToToday": "Zurück zu heute", + "delete": "Löschen" + }, + "input": { + "temperaturePlaceholder": "36.5 °C", + "notesPlaceholder": "Notiz..." + }, + "stats": { + "avgDays": "Ø Tage", + "shortest": "kürzester", + "longest": "längster", + "cycles": "Zyklen", + "nextPeriod": "Nächste Periode:", + "fertileWindow": "Fruchtbares Fenster:" + }, + "empty": "Tippe oben auf eine Blutungsstärke, um deinen ersten Tag festzuhalten — oder starte direkt eine Periode.", + "confirm": { + "deleteEntry": "Tageseintrag vom {date} wirklich löschen?" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/cycles/en.json b/apps/mana/apps/web/src/lib/i18n/locales/cycles/en.json new file mode 100644 index 000000000..9b0c367ca --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/cycles/en.json @@ -0,0 +1,64 @@ +{ + "app": { + "name": "Cycles", + "tagline": "Menstrual Cycle Tracking" + }, + "phase": { + "menstruation": "Menstruation", + "follicular": "Follicular phase", + "ovulation": "Ovulation", + "luteal": "Luteal phase", + "unknown": "Unknown" + }, + "flow": { + "none": "None", + "spotting": "Spotting", + "light": "Light", + "medium": "Medium", + "heavy": "Heavy" + }, + "mood": { + "great": "Great", + "good": "Good", + "neutral": "Neutral", + "low": "Low", + "bad": "Bad" + }, + "label": { + "cycleDay": "Cycle day", + "daysUntilPeriod": "days until period", + "today": "Today", + "predicted": "predicted", + "daysOverdue": "days overdue", + "todayBleeding": "Today · Flow", + "bleeding": "Flow", + "mood": "Mood", + "symptoms": "Symptoms", + "basalAndNotes": "Basal temperature & notes", + "stats": "Statistics", + "recentEntries": "Recent entries", + "editing": "Editing" + }, + "action": { + "startPeriod": "Start period", + "endPeriod": "Period ended", + "backToToday": "Back to today", + "delete": "Delete" + }, + "input": { + "temperaturePlaceholder": "98.6 °F", + "notesPlaceholder": "Note..." + }, + "stats": { + "avgDays": "Avg days", + "shortest": "shortest", + "longest": "longest", + "cycles": "cycles", + "nextPeriod": "Next period:", + "fertileWindow": "Fertile window:" + }, + "empty": "Tap a flow level above to log your first day — or start a period directly.", + "confirm": { + "deleteEntry": "Really delete the entry from {date}?" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/cycles/es.json b/apps/mana/apps/web/src/lib/i18n/locales/cycles/es.json new file mode 100644 index 000000000..9b0c367ca --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/cycles/es.json @@ -0,0 +1,64 @@ +{ + "app": { + "name": "Cycles", + "tagline": "Menstrual Cycle Tracking" + }, + "phase": { + "menstruation": "Menstruation", + "follicular": "Follicular phase", + "ovulation": "Ovulation", + "luteal": "Luteal phase", + "unknown": "Unknown" + }, + "flow": { + "none": "None", + "spotting": "Spotting", + "light": "Light", + "medium": "Medium", + "heavy": "Heavy" + }, + "mood": { + "great": "Great", + "good": "Good", + "neutral": "Neutral", + "low": "Low", + "bad": "Bad" + }, + "label": { + "cycleDay": "Cycle day", + "daysUntilPeriod": "days until period", + "today": "Today", + "predicted": "predicted", + "daysOverdue": "days overdue", + "todayBleeding": "Today · Flow", + "bleeding": "Flow", + "mood": "Mood", + "symptoms": "Symptoms", + "basalAndNotes": "Basal temperature & notes", + "stats": "Statistics", + "recentEntries": "Recent entries", + "editing": "Editing" + }, + "action": { + "startPeriod": "Start period", + "endPeriod": "Period ended", + "backToToday": "Back to today", + "delete": "Delete" + }, + "input": { + "temperaturePlaceholder": "98.6 °F", + "notesPlaceholder": "Note..." + }, + "stats": { + "avgDays": "Avg days", + "shortest": "shortest", + "longest": "longest", + "cycles": "cycles", + "nextPeriod": "Next period:", + "fertileWindow": "Fertile window:" + }, + "empty": "Tap a flow level above to log your first day — or start a period directly.", + "confirm": { + "deleteEntry": "Really delete the entry from {date}?" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/cycles/fr.json b/apps/mana/apps/web/src/lib/i18n/locales/cycles/fr.json new file mode 100644 index 000000000..9b0c367ca --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/cycles/fr.json @@ -0,0 +1,64 @@ +{ + "app": { + "name": "Cycles", + "tagline": "Menstrual Cycle Tracking" + }, + "phase": { + "menstruation": "Menstruation", + "follicular": "Follicular phase", + "ovulation": "Ovulation", + "luteal": "Luteal phase", + "unknown": "Unknown" + }, + "flow": { + "none": "None", + "spotting": "Spotting", + "light": "Light", + "medium": "Medium", + "heavy": "Heavy" + }, + "mood": { + "great": "Great", + "good": "Good", + "neutral": "Neutral", + "low": "Low", + "bad": "Bad" + }, + "label": { + "cycleDay": "Cycle day", + "daysUntilPeriod": "days until period", + "today": "Today", + "predicted": "predicted", + "daysOverdue": "days overdue", + "todayBleeding": "Today · Flow", + "bleeding": "Flow", + "mood": "Mood", + "symptoms": "Symptoms", + "basalAndNotes": "Basal temperature & notes", + "stats": "Statistics", + "recentEntries": "Recent entries", + "editing": "Editing" + }, + "action": { + "startPeriod": "Start period", + "endPeriod": "Period ended", + "backToToday": "Back to today", + "delete": "Delete" + }, + "input": { + "temperaturePlaceholder": "98.6 °F", + "notesPlaceholder": "Note..." + }, + "stats": { + "avgDays": "Avg days", + "shortest": "shortest", + "longest": "longest", + "cycles": "cycles", + "nextPeriod": "Next period:", + "fertileWindow": "Fertile window:" + }, + "empty": "Tap a flow level above to log your first day — or start a period directly.", + "confirm": { + "deleteEntry": "Really delete the entry from {date}?" + } +} diff --git a/apps/mana/apps/web/src/lib/i18n/locales/cycles/it.json b/apps/mana/apps/web/src/lib/i18n/locales/cycles/it.json new file mode 100644 index 000000000..9b0c367ca --- /dev/null +++ b/apps/mana/apps/web/src/lib/i18n/locales/cycles/it.json @@ -0,0 +1,64 @@ +{ + "app": { + "name": "Cycles", + "tagline": "Menstrual Cycle Tracking" + }, + "phase": { + "menstruation": "Menstruation", + "follicular": "Follicular phase", + "ovulation": "Ovulation", + "luteal": "Luteal phase", + "unknown": "Unknown" + }, + "flow": { + "none": "None", + "spotting": "Spotting", + "light": "Light", + "medium": "Medium", + "heavy": "Heavy" + }, + "mood": { + "great": "Great", + "good": "Good", + "neutral": "Neutral", + "low": "Low", + "bad": "Bad" + }, + "label": { + "cycleDay": "Cycle day", + "daysUntilPeriod": "days until period", + "today": "Today", + "predicted": "predicted", + "daysOverdue": "days overdue", + "todayBleeding": "Today · Flow", + "bleeding": "Flow", + "mood": "Mood", + "symptoms": "Symptoms", + "basalAndNotes": "Basal temperature & notes", + "stats": "Statistics", + "recentEntries": "Recent entries", + "editing": "Editing" + }, + "action": { + "startPeriod": "Start period", + "endPeriod": "Period ended", + "backToToday": "Back to today", + "delete": "Delete" + }, + "input": { + "temperaturePlaceholder": "98.6 °F", + "notesPlaceholder": "Note..." + }, + "stats": { + "avgDays": "Avg days", + "shortest": "shortest", + "longest": "longest", + "cycles": "cycles", + "nextPeriod": "Next period:", + "fertileWindow": "Fertile window:" + }, + "empty": "Tap a flow level above to log your first day — or start a period directly.", + "confirm": { + "deleteEntry": "Really delete the entry from {date}?" + } +} diff --git a/apps/mana/apps/web/src/lib/modules/cycles/ListView.svelte b/apps/mana/apps/web/src/lib/modules/cycles/ListView.svelte index 7d6ec38d8..ee5ceea36 100644 --- a/apps/mana/apps/web/src/lib/modules/cycles/ListView.svelte +++ b/apps/mana/apps/web/src/lib/modules/cycles/ListView.svelte @@ -3,6 +3,7 @@ Aktueller Zyklus, heutiger Quick-Log, einfache Statistiken. -->