From e152098829a5b60d19e2072ab46c1fb69a7e6953 Mon Sep 17 00:00:00 2001 From: Till JS Date: Thu, 2 Apr 2026 17:05:14 +0200 Subject: [PATCH] refactor(i18n): split monolithic locale files into per-module structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split 5 monolithic JSON files (de/en/es/fr/it) into 7 per-module folders (common, dashboard, credits, profile, subscription, todo, app_slider) with 5 language files each = 35 files total. - Rewrite i18n/index.ts with merge-registration pattern that dynamically imports and merges per-module locale files at registration time - Complete missing translations: IT (was 7% → now 100%), ES/FR (were 43% → now 100%) - Generated missing IT translations for dashboard, credits, profile, subscription, todo - Generated missing ES/FR translations for dashboard, credits, profile, subscription - All 5 languages now have identical key structures across all modules This enables scalable i18n: adding a new module = new folder + 5 JSON files + 1 line in registration. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/manacore/apps/web/src/lib/i18n/index.ts | 55 ++- .../src/lib/i18n/locales/app_slider/de.json | 19 + .../src/lib/i18n/locales/app_slider/en.json | 19 + .../src/lib/i18n/locales/app_slider/es.json | 19 + .../src/lib/i18n/locales/app_slider/fr.json | 19 + .../src/lib/i18n/locales/app_slider/it.json | 19 + .../web/src/lib/i18n/locales/common/de.json | 7 + .../web/src/lib/i18n/locales/common/en.json | 7 + .../web/src/lib/i18n/locales/common/es.json | 7 + .../web/src/lib/i18n/locales/common/fr.json | 7 + .../web/src/lib/i18n/locales/common/it.json | 7 + .../web/src/lib/i18n/locales/credits/de.json | 6 + .../web/src/lib/i18n/locales/credits/en.json | 6 + .../web/src/lib/i18n/locales/credits/es.json | 6 + .../web/src/lib/i18n/locales/credits/fr.json | 6 + .../web/src/lib/i18n/locales/credits/it.json | 6 + .../src/lib/i18n/locales/dashboard/de.json | 139 +++++++ .../src/lib/i18n/locales/dashboard/en.json | 139 +++++++ .../src/lib/i18n/locales/dashboard/es.json | 139 +++++++ .../src/lib/i18n/locales/dashboard/fr.json | 139 +++++++ .../src/lib/i18n/locales/dashboard/it.json | 139 +++++++ .../apps/web/src/lib/i18n/locales/de.json | 390 ------------------ .../apps/web/src/lib/i18n/locales/en.json | 390 ------------------ .../apps/web/src/lib/i18n/locales/es.json | 167 -------- .../apps/web/src/lib/i18n/locales/fr.json | 167 -------- .../apps/web/src/lib/i18n/locales/it.json | 28 -- .../web/src/lib/i18n/locales/profile/de.json | 16 + .../web/src/lib/i18n/locales/profile/en.json | 16 + .../web/src/lib/i18n/locales/profile/es.json | 16 + .../web/src/lib/i18n/locales/profile/fr.json | 16 + .../web/src/lib/i18n/locales/profile/it.json | 16 + .../src/lib/i18n/locales/subscription/de.json | 20 + .../src/lib/i18n/locales/subscription/en.json | 20 + .../src/lib/i18n/locales/subscription/es.json | 20 + .../src/lib/i18n/locales/subscription/fr.json | 20 + .../src/lib/i18n/locales/subscription/it.json | 20 + .../web/src/lib/i18n/locales/todo/de.json | 181 ++++++++ .../web/src/lib/i18n/locales/todo/en.json | 181 ++++++++ .../web/src/lib/i18n/locales/todo/es.json | 181 ++++++++ .../web/src/lib/i18n/locales/todo/fr.json | 181 ++++++++ .../web/src/lib/i18n/locales/todo/it.json | 181 ++++++++ 41 files changed, 1977 insertions(+), 1160 deletions(-) create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/app_slider/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/app_slider/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/app_slider/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/app_slider/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/app_slider/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/common/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/common/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/common/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/common/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/common/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/credits/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/credits/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/credits/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/credits/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/credits/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/dashboard/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/dashboard/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/dashboard/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/dashboard/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/dashboard/it.json delete mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/de.json delete mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/en.json delete mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/es.json delete mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/fr.json delete mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/profile/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/profile/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/profile/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/profile/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/profile/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/subscription/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/subscription/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/subscription/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/subscription/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/subscription/it.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/todo/de.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/todo/en.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/todo/es.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/todo/fr.json create mode 100644 apps/manacore/apps/web/src/lib/i18n/locales/todo/it.json diff --git a/apps/manacore/apps/web/src/lib/i18n/index.ts b/apps/manacore/apps/web/src/lib/i18n/index.ts index 275efd602..913950ab1 100644 --- a/apps/manacore/apps/web/src/lib/i18n/index.ts +++ b/apps/manacore/apps/web/src/lib/i18n/index.ts @@ -2,13 +2,6 @@ import { browser } from '$app/environment'; import { init, register, locale, waitLocale } from 'svelte-i18n'; import { STORAGE_KEYS } from '$lib/config/storage-keys'; -// Register all available locales -register('de', () => import('./locales/de.json')); -register('en', () => import('./locales/en.json')); -register('it', () => import('./locales/it.json')); -register('fr', () => import('./locales/fr.json')); -register('es', () => import('./locales/es.json')); - // List of supported locales export const supportedLocales = ['de', 'en', 'it', 'fr', 'es'] as const; export type SupportedLocale = (typeof supportedLocales)[number]; @@ -16,10 +9,45 @@ export type SupportedLocale = (typeof supportedLocales)[number]; // Default locale const defaultLocale = 'de'; -// Get initial locale from browser or localStorage +// ─── Per-module locale registration ────────────────────────── +// Each module has its own JSON file per language. +// They get merged into a single dictionary at registration time. + +function registerLocale(lang: SupportedLocale) { + register(lang, async () => { + const [common, dashboard, credits, profile, subscription, todo, app_slider] = await Promise.all( + [ + import(`./locales/common/${lang}.json`), + import(`./locales/dashboard/${lang}.json`), + import(`./locales/credits/${lang}.json`), + import(`./locales/profile/${lang}.json`), + import(`./locales/subscription/${lang}.json`), + import(`./locales/todo/${lang}.json`), + import(`./locales/app_slider/${lang}.json`), + ] + ); + + return { + common: common.default, + dashboard: dashboard.default, + credits: credits.default, + profile: profile.default, + subscription: subscription.default, + todo: todo.default, + app_slider: app_slider.default, + }; + }); +} + +for (const lang of supportedLocales) { + registerLocale(lang); +} + +// ─── Initialization ────────────────────────────────────────── + function getInitialLocale(): SupportedLocale { if (browser) { - // Check localStorage first + // Check localStorage first (pre-login fallback) const stored = localStorage.getItem(STORAGE_KEYS.LOCALE); if (stored && supportedLocales.includes(stored as SupportedLocale)) { return stored as SupportedLocale; @@ -35,20 +63,11 @@ function getInitialLocale(): SupportedLocale { return defaultLocale; } -// Initialize i18n at module scope (required for SSR) init({ fallbackLocale: defaultLocale, initialLocale: getInitialLocale(), }); -// Also export initI18n for backwards compatibility -export function initI18n() { - init({ - fallbackLocale: defaultLocale, - initialLocale: getInitialLocale(), - }); -} - // Set locale and persist to localStorage export function setLocale(newLocale: SupportedLocale) { locale.set(newLocale); diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/de.json new file mode 100644 index 000000000..5c548c4db --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/de.json @@ -0,0 +1,19 @@ +{ + "title": "Teil des Mana Ökosystems", + "memoro_desc": "KI-gestützte Sprachnotizen", + "memoro_long_desc": "Erfasse deine Gedanken durch Sprache und lasse sie von KI in strukturierte Notizen verwandeln.", + "maerchenzauber_desc": "Magische Kindergeschichten", + "maerchenzauber_long_desc": "Erstelle personalisierte Kindergeschichten mit KI-generierten Illustrationen.", + "cards_desc": "KI Lernkarten", + "cards_long_desc": "Erstelle und lerne mit smarten Lernkarten und KI-gestützter Wiederholung.", + "moodlit_desc": "Stimmungslicht-Steuerung", + "moodlit_long_desc": "Steuere deine smarten Lichter basierend auf deiner Stimmung und Aktivität.", + "manacore_desc": "Zentrale Verwaltung", + "manacore_long_desc": "Verwalte alle deine Mana-Apps und Einstellungen an einem Ort.", + "status_published": "Verfügbar", + "status_beta": "Beta", + "status_development": "In Entwicklung", + "status_planning": "Geplant", + "coming_soon": "Bald verfügbar", + "download": "App öffnen" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/en.json new file mode 100644 index 000000000..5c41b629d --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/en.json @@ -0,0 +1,19 @@ +{ + "title": "Part of the Mana Ecosystem", + "memoro_desc": "AI-powered voice notes", + "memoro_long_desc": "Capture your thoughts through voice and let AI transform them into structured notes.", + "maerchenzauber_desc": "Magical children's stories", + "maerchenzauber_long_desc": "Create personalized children's stories with AI-generated illustrations.", + "cards_desc": "AI Flashcards", + "cards_long_desc": "Create and study with smart flashcards and AI-powered spaced repetition.", + "moodlit_desc": "Mood light control", + "moodlit_long_desc": "Control your smart lights based on your mood and activity.", + "manacore_desc": "Central management", + "manacore_long_desc": "Manage all your Mana apps and settings in one place.", + "status_published": "Available", + "status_beta": "Beta", + "status_development": "In Development", + "status_planning": "Planned", + "coming_soon": "Coming Soon", + "download": "Open App" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/es.json new file mode 100644 index 000000000..1ae6028c3 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/es.json @@ -0,0 +1,19 @@ +{ + "title": "Parte del ecosistema Mana", + "memoro_desc": "Notas de voz con IA", + "memoro_long_desc": "Captura tus pensamientos con voz y deja que la IA los transforme en notas estructuradas.", + "maerchenzauber_desc": "Historias mágicas para niños", + "maerchenzauber_long_desc": "Crea historias personalizadas para niños con ilustraciones generadas por IA.", + "cards_desc": "Flashcards IA", + "cards_long_desc": "Crea y estudia con flashcards inteligentes y repetición espaciada con IA.", + "moodlit_desc": "Control de luces ambientales", + "moodlit_long_desc": "Controla tus luces inteligentes según tu estado de ánimo y actividades.", + "manacore_desc": "Gestión central", + "manacore_long_desc": "Gestiona todas tus apps Mana y configuraciones en un solo lugar.", + "status_published": "Disponible", + "status_beta": "Beta", + "status_development": "En Desarrollo", + "status_planning": "Planificado", + "coming_soon": "Próximamente", + "download": "Abrir App" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/fr.json new file mode 100644 index 000000000..a0d8da135 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/fr.json @@ -0,0 +1,19 @@ +{ + "title": "Partie de l'écosystème Mana", + "memoro_desc": "Notes vocales IA", + "memoro_long_desc": "Capturez vos pensées par la voix et laissez l'IA les transformer en notes structurées.", + "maerchenzauber_desc": "Histoires magiques pour enfants", + "maerchenzauber_long_desc": "Créez des histoires personnalisées pour enfants avec des illustrations générées par l'IA.", + "cards_desc": "Flashcards IA", + "cards_long_desc": "Créez et étudiez avec des flashcards intelligentes et la répétition espacée assistée par IA.", + "moodlit_desc": "Contrôle d'éclairage ambiant", + "moodlit_long_desc": "Contrôlez vos lumières intelligentes en fonction de votre humeur et de vos activités.", + "manacore_desc": "Gestion centrale", + "manacore_long_desc": "Gérez toutes vos applications Mana et paramètres en un seul endroit.", + "status_published": "Disponible", + "status_beta": "Bêta", + "status_development": "En Développement", + "status_planning": "Planifié", + "coming_soon": "Bientôt", + "download": "Ouvrir l'App" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/it.json new file mode 100644 index 000000000..569e0202d --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/app_slider/it.json @@ -0,0 +1,19 @@ +{ + "title": "Parte dell'ecosistema Mana", + "memoro_desc": "Note vocali AI", + "memoro_long_desc": "Cattura i tuoi pensieri con la voce e lascia che l'AI li trasformi in note strutturate.", + "maerchenzauber_desc": "Storie magiche per bambini", + "maerchenzauber_long_desc": "Crea storie personalizzate per bambini con illustrazioni generate dall'AI.", + "cards_desc": "Flashcard AI", + "cards_long_desc": "Crea e studia con flashcard intelligenti e ripetizione spaziata basata su AI.", + "moodlit_desc": "Controllo luci ambientali", + "moodlit_long_desc": "Controlla le tue luci smart in base al tuo umore e alle tue attività.", + "manacore_desc": "Gestione centrale", + "manacore_long_desc": "Gestisci tutte le tue app Mana e impostazioni in un unico posto.", + "status_published": "Disponibile", + "status_beta": "Beta", + "status_development": "In Sviluppo", + "status_planning": "Pianificato", + "coming_soon": "Prossimamente", + "download": "Apri App" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/common/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/common/de.json new file mode 100644 index 000000000..25609cefe --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/common/de.json @@ -0,0 +1,7 @@ +{ + "save": "Speichern", + "cancel": "Abbrechen", + "delete": "Löschen", + "back": "Zurück", + "loading": "Lädt..." +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/common/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/common/en.json new file mode 100644 index 000000000..911204949 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/common/en.json @@ -0,0 +1,7 @@ +{ + "save": "Save", + "cancel": "Cancel", + "delete": "Delete", + "back": "Back", + "loading": "Loading..." +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/common/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/common/es.json new file mode 100644 index 000000000..efedc8e60 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/common/es.json @@ -0,0 +1,7 @@ +{ + "save": "Guardar", + "cancel": "Cancelar", + "delete": "Eliminar", + "back": "Atrás", + "loading": "Cargando..." +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/common/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/common/fr.json new file mode 100644 index 000000000..6e6cc83f0 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/common/fr.json @@ -0,0 +1,7 @@ +{ + "save": "Enregistrer", + "cancel": "Annuler", + "delete": "Supprimer", + "back": "Retour", + "loading": "Chargement..." +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/common/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/common/it.json new file mode 100644 index 000000000..2ad05c251 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/common/it.json @@ -0,0 +1,7 @@ +{ + "save": "Salva", + "cancel": "Annulla", + "delete": "Elimina", + "back": "Indietro", + "loading": "Caricamento..." +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/credits/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/credits/de.json new file mode 100644 index 000000000..ba36a2a2a --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/credits/de.json @@ -0,0 +1,6 @@ +{ + "available": "Verfügbar", + "daily_free": "Gratis heute", + "total_spent": "Verbraucht", + "manage": "Credits verwalten" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/credits/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/credits/en.json new file mode 100644 index 000000000..f888ad843 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/credits/en.json @@ -0,0 +1,6 @@ +{ + "available": "Available", + "daily_free": "Free today", + "total_spent": "Spent", + "manage": "Manage credits" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/credits/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/credits/es.json new file mode 100644 index 000000000..3838bcb71 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/credits/es.json @@ -0,0 +1,6 @@ +{ + "available": "Disponibles", + "daily_free": "Gratis hoy", + "total_spent": "Gastados", + "manage": "Gestionar créditos" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/credits/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/credits/fr.json new file mode 100644 index 000000000..6106c8d99 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/credits/fr.json @@ -0,0 +1,6 @@ +{ + "available": "Disponibles", + "daily_free": "Gratuits aujourd'hui", + "total_spent": "Dépensés", + "manage": "Gérer les crédits" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/credits/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/credits/it.json new file mode 100644 index 000000000..a8c24c5f9 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/credits/it.json @@ -0,0 +1,6 @@ +{ + "available": "Disponibili", + "daily_free": "Gratis oggi", + "total_spent": "Spesi", + "manage": "Gestisci crediti" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/de.json new file mode 100644 index 000000000..0379eb3f8 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/de.json @@ -0,0 +1,139 @@ +{ + "title": "Dashboard", + "welcome": "Willkommen zurück", + "customize": "Anpassen", + "done": "Fertig", + "no_data": "Keine Daten verfügbar", + "retry": "Erneut versuchen", + "widget_error": "Fehler beim Laden", + "remove_widget": "Entfernen", + "widgets": { + "credits": { + "title": "Credits", + "description": "Dein Kontostand", + "available": "Verfügbar", + "free_today": "Gratis heute", + "manage": "Verwalten" + }, + "quick_actions": { + "title": "Schnellzugriff", + "description": "Schnelle Aktionen" + }, + "transactions": { + "title": "Transaktionen", + "description": "Letzte Aktivitäten", + "empty": "Keine Transaktionen" + }, + "tasks_today": { + "title": "Aufgaben", + "description": "Deine offenen Aufgaben", + "empty": "Keine offenen Aufgaben" + }, + "tasks_upcoming": { + "title": "Kommende Aufgaben", + "description": "Die nächsten 7 Tage", + "empty": "Keine kommenden Aufgaben" + }, + "calendar": { + "title": "Kalender", + "description": "Anstehende Termine", + "empty": "Keine Termine" + }, + "chat": { + "title": "Chat", + "description": "Letzte Unterhaltungen", + "empty": "Keine Unterhaltungen" + }, + "contacts": { + "title": "Kontakte", + "description": "Deine Favoriten", + "empty": "Keine Favoriten", + "add_favorites": "Favoriten hinzufügen", + "view_all": "Alle anzeigen" + }, + "zitare": { + "title": "Inspiration", + "description": "Zitat des Tages", + "empty": "Keine Favoriten", + "explore": "Zitate entdecken", + "refresh": "Neues Zitat", + "view_all": "Alle Zitate" + }, + "picture": { + "title": "Bilder", + "description": "Letzte KI-Generierungen", + "empty": "Noch keine Bilder erstellt", + "create": "Bild erstellen", + "view_all": "Alle Bilder" + }, + "cards": { + "title": "Lernfortschritt", + "description": "Deine Lernkarten", + "empty": "Noch keine Decks erstellt", + "create_deck": "Deck erstellen", + "streak": "Tage Serie", + "due": "fällig", + "today": "heute gelernt", + "learned": "Gelernt", + "start_study": "Lernen starten" + }, + "clock": { + "title": "Timer & Wecker", + "description": "Aktive Timer und Wecker", + "empty": "Keine aktiven Timer oder Wecker", + "open": "Clock öffnen", + "active_timers": "Aktive Timer", + "alarms": "Wecker" + }, + "storage": { + "title": "Speicher", + "description": "Dein Cloud-Speicher", + "total_size": "Genutzt", + "files": "Dateien", + "recent": "Kürzlich", + "empty": "Keine Dateien", + "open": "Storage öffnen" + }, + "mukke": { + "title": "Musik", + "description": "Deine Musikbibliothek", + "songs": "Songs", + "playlists": "Playlists", + "favorites": "Favoriten", + "empty": "Keine Songs", + "open": "Mukke öffnen" + }, + "presi": { + "title": "Präsentationen", + "description": "Deine Slide Decks", + "decks": "Decks", + "empty": "Keine Präsentationen", + "create": "Deck erstellen", + "open": "Presi öffnen" + }, + "context": { + "title": "Context", + "description": "Deine Dokumente & Spaces", + "spaces": "Spaces", + "documents": "Dokumente", + "empty": "Keine Dokumente", + "open": "Context öffnen" + }, + "contacts_recent": { + "title": "Letzte Kontakte", + "description": "Kürzlich aktualisierte Kontakte" + }, + "active_timer": { + "title": "Zeiterfassung", + "description": "Laufender Timer" + }, + "nutrition": { + "title": "Ernährung", + "description": "Heutiger Kalorienfortschritt" + }, + "plant_watering": { + "title": "Pflanzenpflege", + "description": "Pflanzen die gegossen werden müssen" + } + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/en.json new file mode 100644 index 000000000..109822b16 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/en.json @@ -0,0 +1,139 @@ +{ + "title": "Dashboard", + "welcome": "Welcome back", + "customize": "Customize", + "done": "Done", + "no_data": "No data available", + "retry": "Try again", + "widget_error": "Failed to load", + "remove_widget": "Remove", + "widgets": { + "credits": { + "title": "Credits", + "description": "Your balance", + "available": "Available", + "free_today": "Free today", + "manage": "Manage" + }, + "quick_actions": { + "title": "Quick Actions", + "description": "Quick access" + }, + "transactions": { + "title": "Transactions", + "description": "Recent activity", + "empty": "No transactions" + }, + "tasks_today": { + "title": "Tasks", + "description": "Your open tasks", + "empty": "No open tasks" + }, + "tasks_upcoming": { + "title": "Upcoming Tasks", + "description": "Next 7 days", + "empty": "No upcoming tasks" + }, + "calendar": { + "title": "Calendar", + "description": "Upcoming events", + "empty": "No events" + }, + "chat": { + "title": "Chat", + "description": "Recent conversations", + "empty": "No conversations" + }, + "contacts": { + "title": "Contacts", + "description": "Your favorites", + "empty": "No favorites", + "add_favorites": "Add favorites", + "view_all": "View all" + }, + "zitare": { + "title": "Inspiration", + "description": "Quote of the day", + "empty": "No favorites", + "explore": "Explore quotes", + "refresh": "New quote", + "view_all": "All quotes" + }, + "picture": { + "title": "Images", + "description": "Recent AI generations", + "empty": "No images created yet", + "create": "Create image", + "view_all": "View all images" + }, + "cards": { + "title": "Learning Progress", + "description": "Your flashcards", + "empty": "No decks created yet", + "create_deck": "Create deck", + "streak": "Day streak", + "due": "due", + "today": "learned today", + "learned": "Learned", + "start_study": "Start studying" + }, + "clock": { + "title": "Timers & Alarms", + "description": "Active timers and alarms", + "empty": "No active timers or alarms", + "open": "Open Clock", + "active_timers": "Active Timers", + "alarms": "Alarms" + }, + "storage": { + "title": "Storage", + "description": "Your cloud storage", + "total_size": "Used", + "files": "Files", + "recent": "Recent", + "empty": "No files", + "open": "Open Storage" + }, + "mukke": { + "title": "Music", + "description": "Your music library", + "songs": "Songs", + "playlists": "Playlists", + "favorites": "Favorites", + "empty": "No songs", + "open": "Open Mukke" + }, + "presi": { + "title": "Presentations", + "description": "Your slide decks", + "decks": "Decks", + "empty": "No presentations", + "create": "Create deck", + "open": "Open Presi" + }, + "context": { + "title": "Context", + "description": "Your documents & spaces", + "spaces": "Spaces", + "documents": "Documents", + "empty": "No documents", + "open": "Open Context" + }, + "contacts_recent": { + "title": "Recent Contacts", + "description": "Recently updated contacts" + }, + "active_timer": { + "title": "Time Tracking", + "description": "Running timer" + }, + "nutrition": { + "title": "Nutrition", + "description": "Today's calorie progress" + }, + "plant_watering": { + "title": "Plant Care", + "description": "Plants that need watering" + } + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/es.json new file mode 100644 index 000000000..da1e02121 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/es.json @@ -0,0 +1,139 @@ +{ + "title": "Dashboard", + "welcome": "Bienvenido de nuevo", + "customize": "Personalizar", + "done": "Listo", + "no_data": "Sin datos disponibles", + "retry": "Reintentar", + "widget_error": "Error al cargar", + "remove_widget": "Eliminar", + "widgets": { + "credits": { + "title": "Créditos", + "description": "Tu saldo", + "available": "Disponibles", + "free_today": "Gratis hoy", + "manage": "Gestionar" + }, + "quick_actions": { + "title": "Acciones rápidas", + "description": "Acceso rápido" + }, + "transactions": { + "title": "Transacciones", + "description": "Actividad reciente", + "empty": "Sin transacciones" + }, + "tasks_today": { + "title": "Tareas", + "description": "Tus tareas abiertas", + "empty": "Sin tareas abiertas" + }, + "tasks_upcoming": { + "title": "Próximas tareas", + "description": "Próximos 7 días", + "empty": "Sin tareas próximas" + }, + "calendar": { + "title": "Calendario", + "description": "Próximos eventos", + "empty": "Sin eventos" + }, + "chat": { + "title": "Chat", + "description": "Conversaciones recientes", + "empty": "Sin conversaciones" + }, + "contacts": { + "title": "Contactos", + "description": "Tus favoritos", + "empty": "Sin favoritos", + "add_favorites": "Añadir favoritos", + "view_all": "Ver todos" + }, + "zitare": { + "title": "Inspiración", + "description": "Cita del día", + "empty": "Sin favoritos", + "explore": "Explorar citas", + "refresh": "Nueva cita", + "view_all": "Todas las citas" + }, + "picture": { + "title": "Imágenes", + "description": "Generaciones IA recientes", + "empty": "Aún no hay imágenes", + "create": "Crear imagen", + "view_all": "Ver todas" + }, + "cards": { + "title": "Progreso de estudio", + "description": "Tus flashcards", + "empty": "Aún no hay mazos", + "create_deck": "Crear mazo", + "streak": "Días seguidos", + "due": "pendientes", + "today": "aprendidas hoy", + "learned": "Aprendidas", + "start_study": "Empezar a estudiar" + }, + "clock": { + "title": "Temporizadores y alarmas", + "description": "Temporizadores y alarmas activos", + "empty": "Sin temporizadores ni alarmas activos", + "open": "Abrir reloj", + "active_timers": "Temporizadores activos", + "alarms": "Alarmas" + }, + "storage": { + "title": "Almacenamiento", + "description": "Tu almacenamiento en la nube", + "total_size": "Usado", + "files": "Archivos", + "recent": "Recientes", + "empty": "Sin archivos", + "open": "Abrir Storage" + }, + "mukke": { + "title": "Música", + "description": "Tu biblioteca musical", + "songs": "Canciones", + "playlists": "Playlists", + "favorites": "Favoritos", + "empty": "Sin canciones", + "open": "Abrir Mukke" + }, + "presi": { + "title": "Presentaciones", + "description": "Tus diapositivas", + "decks": "Decks", + "empty": "Sin presentaciones", + "create": "Crear deck", + "open": "Abrir Presi" + }, + "context": { + "title": "Context", + "description": "Tus documentos y espacios", + "spaces": "Espacios", + "documents": "Documentos", + "empty": "Sin documentos", + "open": "Abrir Context" + }, + "contacts_recent": { + "title": "Contactos recientes", + "description": "Contactos actualizados recientemente" + }, + "active_timer": { + "title": "Registro de tiempo", + "description": "Temporizador activo" + }, + "nutrition": { + "title": "Nutrición", + "description": "Progreso calórico de hoy" + }, + "plant_watering": { + "title": "Cuidado de plantas", + "description": "Plantas que necesitan riego" + } + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/fr.json new file mode 100644 index 000000000..5eaf69838 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/fr.json @@ -0,0 +1,139 @@ +{ + "title": "Tableau de bord", + "welcome": "Bon retour", + "customize": "Personnaliser", + "done": "Terminé", + "no_data": "Aucune donnée disponible", + "retry": "Réessayer", + "widget_error": "Erreur de chargement", + "remove_widget": "Supprimer", + "widgets": { + "credits": { + "title": "Crédits", + "description": "Ton solde", + "available": "Disponibles", + "free_today": "Gratuits aujourd'hui", + "manage": "Gérer" + }, + "quick_actions": { + "title": "Actions rapides", + "description": "Accès rapide" + }, + "transactions": { + "title": "Transactions", + "description": "Activité récente", + "empty": "Aucune transaction" + }, + "tasks_today": { + "title": "Tâches", + "description": "Tes tâches ouvertes", + "empty": "Aucune tâche ouverte" + }, + "tasks_upcoming": { + "title": "Tâches à venir", + "description": "Prochains 7 jours", + "empty": "Aucune tâche à venir" + }, + "calendar": { + "title": "Calendrier", + "description": "Prochains événements", + "empty": "Aucun événement" + }, + "chat": { + "title": "Chat", + "description": "Conversations récentes", + "empty": "Aucune conversation" + }, + "contacts": { + "title": "Contacts", + "description": "Tes favoris", + "empty": "Aucun favori", + "add_favorites": "Ajouter des favoris", + "view_all": "Tout voir" + }, + "zitare": { + "title": "Inspiration", + "description": "Citation du jour", + "empty": "Aucun favori", + "explore": "Explorer les citations", + "refresh": "Nouvelle citation", + "view_all": "Toutes les citations" + }, + "picture": { + "title": "Images", + "description": "Générations IA récentes", + "empty": "Pas encore d'images", + "create": "Créer une image", + "view_all": "Voir toutes les images" + }, + "cards": { + "title": "Progrès d'apprentissage", + "description": "Tes flashcards", + "empty": "Pas encore de decks", + "create_deck": "Créer un deck", + "streak": "Jours consécutifs", + "due": "à revoir", + "today": "apprises aujourd'hui", + "learned": "Apprises", + "start_study": "Commencer à étudier" + }, + "clock": { + "title": "Minuteurs et alarmes", + "description": "Minuteurs et alarmes actifs", + "empty": "Aucun minuteur ni alarme actif", + "open": "Ouvrir l'horloge", + "active_timers": "Minuteurs actifs", + "alarms": "Alarmes" + }, + "storage": { + "title": "Stockage", + "description": "Ton stockage cloud", + "total_size": "Utilisé", + "files": "Fichiers", + "recent": "Récents", + "empty": "Aucun fichier", + "open": "Ouvrir Storage" + }, + "mukke": { + "title": "Musique", + "description": "Ta bibliothèque musicale", + "songs": "Titres", + "playlists": "Playlists", + "favorites": "Favoris", + "empty": "Aucun titre", + "open": "Ouvrir Mukke" + }, + "presi": { + "title": "Présentations", + "description": "Tes diaporamas", + "decks": "Decks", + "empty": "Aucune présentation", + "create": "Créer un deck", + "open": "Ouvrir Presi" + }, + "context": { + "title": "Context", + "description": "Tes documents et espaces", + "spaces": "Espaces", + "documents": "Documents", + "empty": "Aucun document", + "open": "Ouvrir Context" + }, + "contacts_recent": { + "title": "Contacts récents", + "description": "Contacts mis à jour récemment" + }, + "active_timer": { + "title": "Suivi du temps", + "description": "Minuteur en cours" + }, + "nutrition": { + "title": "Nutrition", + "description": "Progrès calorique du jour" + }, + "plant_watering": { + "title": "Soin des plantes", + "description": "Plantes à arroser" + } + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/it.json new file mode 100644 index 000000000..cd570b6eb --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/dashboard/it.json @@ -0,0 +1,139 @@ +{ + "title": "Dashboard", + "welcome": "Bentornato", + "customize": "Personalizza", + "done": "Fatto", + "no_data": "Nessun dato disponibile", + "retry": "Riprova", + "widget_error": "Errore di caricamento", + "remove_widget": "Rimuovi", + "widgets": { + "credits": { + "title": "Crediti", + "description": "Il tuo saldo", + "available": "Disponibili", + "free_today": "Gratis oggi", + "manage": "Gestisci" + }, + "quick_actions": { + "title": "Azioni rapide", + "description": "Accesso rapido" + }, + "transactions": { + "title": "Transazioni", + "description": "Attività recente", + "empty": "Nessuna transazione" + }, + "tasks_today": { + "title": "Attività", + "description": "Le tue attività aperte", + "empty": "Nessuna attività aperta" + }, + "tasks_upcoming": { + "title": "Attività in arrivo", + "description": "Prossimi 7 giorni", + "empty": "Nessuna attività in arrivo" + }, + "calendar": { + "title": "Calendario", + "description": "Prossimi eventi", + "empty": "Nessun evento" + }, + "chat": { + "title": "Chat", + "description": "Conversazioni recenti", + "empty": "Nessuna conversazione" + }, + "contacts": { + "title": "Contatti", + "description": "I tuoi preferiti", + "empty": "Nessun preferito", + "add_favorites": "Aggiungi preferiti", + "view_all": "Vedi tutti" + }, + "zitare": { + "title": "Ispirazione", + "description": "Citazione del giorno", + "empty": "Nessun preferito", + "explore": "Esplora citazioni", + "refresh": "Nuova citazione", + "view_all": "Tutte le citazioni" + }, + "picture": { + "title": "Immagini", + "description": "Generazioni IA recenti", + "empty": "Nessuna immagine ancora", + "create": "Crea immagine", + "view_all": "Vedi tutte le immagini" + }, + "cards": { + "title": "Progresso di studio", + "description": "Le tue flashcard", + "empty": "Nessun mazzo ancora", + "create_deck": "Crea mazzo", + "streak": "Giorni consecutivi", + "due": "da ripassare", + "today": "imparate oggi", + "learned": "Imparate", + "start_study": "Inizia a studiare" + }, + "clock": { + "title": "Timer e sveglie", + "description": "Timer e sveglie attivi", + "empty": "Nessun timer o sveglia attivo", + "open": "Apri orologio", + "active_timers": "Timer attivi", + "alarms": "Sveglie" + }, + "storage": { + "title": "Archiviazione", + "description": "Il tuo cloud storage", + "total_size": "Usato", + "files": "File", + "recent": "Recenti", + "empty": "Nessun file", + "open": "Apri Storage" + }, + "mukke": { + "title": "Musica", + "description": "La tua libreria musicale", + "songs": "Brani", + "playlists": "Playlist", + "favorites": "Preferiti", + "empty": "Nessun brano", + "open": "Apri Mukke" + }, + "presi": { + "title": "Presentazioni", + "description": "Le tue slide", + "decks": "Deck", + "empty": "Nessuna presentazione", + "create": "Crea deck", + "open": "Apri Presi" + }, + "context": { + "title": "Context", + "description": "I tuoi documenti e spazi", + "spaces": "Spazi", + "documents": "Documenti", + "empty": "Nessun documento", + "open": "Apri Context" + }, + "contacts_recent": { + "title": "Contatti recenti", + "description": "Contatti aggiornati di recente" + }, + "active_timer": { + "title": "Monitoraggio tempo", + "description": "Timer in corso" + }, + "nutrition": { + "title": "Nutrizione", + "description": "Progresso calorico di oggi" + }, + "plant_watering": { + "title": "Cura delle piante", + "description": "Piante da innaffiare" + } + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/de.json deleted file mode 100644 index aa524eb2d..000000000 --- a/apps/manacore/apps/web/src/lib/i18n/locales/de.json +++ /dev/null @@ -1,390 +0,0 @@ -{ - "common": { - "save": "Speichern", - "cancel": "Abbrechen", - "delete": "Löschen", - "back": "Zurück", - "loading": "Lädt..." - }, - "dashboard": { - "title": "Dashboard", - "welcome": "Willkommen zurück", - "customize": "Anpassen", - "done": "Fertig", - "no_data": "Keine Daten verfügbar", - "retry": "Erneut versuchen", - "widget_error": "Fehler beim Laden", - "remove_widget": "Entfernen", - "widgets": { - "credits": { - "title": "Credits", - "description": "Dein Kontostand", - "available": "Verfügbar", - "free_today": "Gratis heute", - "manage": "Verwalten" - }, - "quick_actions": { - "title": "Schnellzugriff", - "description": "Schnelle Aktionen" - }, - "transactions": { - "title": "Transaktionen", - "description": "Letzte Aktivitäten", - "empty": "Keine Transaktionen" - }, - "tasks_today": { - "title": "Aufgaben", - "description": "Deine offenen Aufgaben", - "empty": "Keine offenen Aufgaben" - }, - "tasks_upcoming": { - "title": "Kommende Aufgaben", - "description": "Die nächsten 7 Tage", - "empty": "Keine kommenden Aufgaben" - }, - "calendar": { - "title": "Kalender", - "description": "Anstehende Termine", - "empty": "Keine Termine" - }, - "chat": { - "title": "Chat", - "description": "Letzte Unterhaltungen", - "empty": "Keine Unterhaltungen" - }, - "contacts": { - "title": "Kontakte", - "description": "Deine Favoriten", - "empty": "Keine Favoriten", - "add_favorites": "Favoriten hinzufügen", - "view_all": "Alle anzeigen" - }, - "zitare": { - "title": "Inspiration", - "description": "Zitat des Tages", - "empty": "Keine Favoriten", - "explore": "Zitate entdecken", - "refresh": "Neues Zitat", - "view_all": "Alle Zitate" - }, - "picture": { - "title": "Bilder", - "description": "Letzte KI-Generierungen", - "empty": "Noch keine Bilder erstellt", - "create": "Bild erstellen", - "view_all": "Alle Bilder" - }, - "cards": { - "title": "Lernfortschritt", - "description": "Deine Lernkarten", - "empty": "Noch keine Decks erstellt", - "create_deck": "Deck erstellen", - "streak": "Tage Serie", - "due": "fällig", - "today": "heute gelernt", - "learned": "Gelernt", - "start_study": "Lernen starten" - }, - "clock": { - "title": "Timer & Wecker", - "description": "Aktive Timer und Wecker", - "empty": "Keine aktiven Timer oder Wecker", - "open": "Clock öffnen", - "active_timers": "Aktive Timer", - "alarms": "Wecker" - }, - "storage": { - "title": "Speicher", - "description": "Dein Cloud-Speicher", - "total_size": "Genutzt", - "files": "Dateien", - "recent": "Kürzlich", - "empty": "Keine Dateien", - "open": "Storage öffnen" - }, - "mukke": { - "title": "Musik", - "description": "Deine Musikbibliothek", - "songs": "Songs", - "playlists": "Playlists", - "favorites": "Favoriten", - "empty": "Keine Songs", - "open": "Mukke öffnen" - }, - "presi": { - "title": "Präsentationen", - "description": "Deine Slide Decks", - "decks": "Decks", - "empty": "Keine Präsentationen", - "create": "Deck erstellen", - "open": "Presi öffnen" - }, - "context": { - "title": "Context", - "description": "Deine Dokumente & Spaces", - "spaces": "Spaces", - "documents": "Dokumente", - "empty": "Keine Dokumente", - "open": "Context öffnen" - }, - "contacts_recent": { - "title": "Letzte Kontakte", - "description": "Kürzlich aktualisierte Kontakte" - }, - "active_timer": { - "title": "Zeiterfassung", - "description": "Laufender Timer" - }, - "nutrition": { - "title": "Ernährung", - "description": "Heutiger Kalorienfortschritt" - }, - "plant_watering": { - "title": "Pflanzenpflege", - "description": "Pflanzen die gegossen werden müssen" - } - } - }, - "credits": { - "available": "Verfügbar", - "daily_free": "Gratis heute", - "total_spent": "Verbraucht", - "manage": "Credits verwalten" - }, - "profile": { - "title": "Profil", - "edit": "Profil bearbeiten", - "change_password": "Passwort ändern", - "delete_account": "Konto löschen", - "logout": "Abmelden", - "name": "Name", - "email": "E-Mail", - "save": "Speichern", - "cancel": "Abbrechen", - "current_password": "Aktuelles Passwort", - "new_password": "Neues Passwort", - "confirm_password": "Passwort bestätigen", - "password_changed": "Passwort erfolgreich geändert", - "profile_updated": "Profil erfolgreich aktualisiert" - }, - "subscription": { - "title": "Abonnement", - "current_plan": "Aktueller Plan", - "free_plan": "Free Plan", - "upgrade": "Upgrade", - "cancel": "Kündigen", - "reactivate": "Reaktivieren", - "billing_portal": "Zahlungsmethode verwalten", - "monthly": "Monatlich", - "yearly": "Jährlich", - "save_percent": "Spare {percent}%", - "per_month": "/ Monat", - "per_year": "/ Jahr", - "mana_per_month": "Mana / Monat", - "features": "Features", - "select_plan": "Auswählen", - "current": "Aktuell", - "invoices": "Rechnungen", - "no_invoices": "Noch keine Rechnungen vorhanden" - }, - "todo": { - "title": "Todo", - "tasks": "Aufgaben", - "completed": "erledigt", - "overdue": "überfällig", - "today": "heute", - "inbox": "Inbox", - "todayView": "Heute", - "upcoming": "Bald fällig", - "completedView": "Erledigt", - "search": "Suche", - "newTask": "Neue Aufgabe", - "quickAddPlaceholder": "z.B. 'Meeting morgen um 14 Uhr !hoch #wichtig'", - "addTask": "Hinzufügen", - "cancel": "Abb.", - "syntaxHelp": "Syntax-Hilfe", - "noTasks": "Keine Aufgaben", - "noTasksInbox": "Inbox ist leer", - "noTasksToday": "Keine Aufgaben für heute", - "noTasksUpcoming": "Keine anstehenden Aufgaben", - "noTasksCompleted": "Noch keine Aufgaben erledigt", - "firstTaskHint": "Erstelle deine erste Aufgabe mit dem + Button oben.", - "edit": "Bearbeiten", - "markDone": "Erledigen", - "reopen": "Wieder öffnen", - "deleteConfirm": "Wirklich löschen?", - "yesDelete": "Ja, löschen", - "save": "Speichern", - "close": "Schließen", - "description": "Beschreibung", - "addDescription": "Beschreibung hinzufügen...", - "subtasks": "Teilaufgaben", - "addSubtask": "Teilaufgabe hinzufügen...", - "status": "Status", - "statusPending": "Offen", - "statusInProgress": "In Arbeit", - "statusCompleted": "Erledigt", - "statusCancelled": "Abgebrochen", - "priority": "Priorität", - "priorityUrgent": "Dringend", - "priorityHigh": "Hoch", - "priorityMedium": "Mittel", - "priorityLow": "Niedrig", - "dueDate": "Fällig", - "time": "Uhrzeit", - "startDate": "Start", - "recurrence": "Wiederholung", - "recurrenceNone": "Keine", - "recurrenceDaily": "Täglich", - "recurrenceWeekly": "Wöchentlich", - "recurrenceMonthly": "Monatlich", - "recurrenceYearly": "Jährlich", - "reminder": "Erinnerung", - "reminderNone": "Keine", - "tags": "Tags", - "storypoints": "Punkte", - "duration": "Dauer", - "fun": "Spaß", - "projects": "Projekte", - "labels": "Labels", - "sort": "Sortierung", - "sortManual": "Manuell", - "sortDueDate": "Fälligkeit", - "sortPriority": "Priorität", - "sortName": "Name", - "sortCreated": "Erstellt", - "showCompleted": "Erledigt", - "boardView": "Board", - "listView": "Liste", - "board": { - "new": "Neues Board", - "edit": "Board bearbeiten", - "create": "Board erstellen", - "name": "Board-Name...", - "groupBy": "Gruppierung", - "layout": "Layout", - "columns": "Spalten", - "addColumn": "Spalte", - "columnName": "Spaltenname...", - "delete": "Löschen", - "noTasks": "Keine Aufgaben", - "groupStatus": "Status", - "groupPriority": "Priorität", - "groupDueDate": "Fälligkeit", - "groupTag": "Tag", - "groupCustom": "Benutzerdefiniert", - "layoutKanban": "Kanban", - "layoutGrid": "Grid", - "layoutFocus": "Fokus" - }, - "settings": { - "title": "Todo Einstellungen", - "taskBehavior": "Aufgaben-Verhalten", - "defaultPriority": "Standard-Priorität", - "defaultDueTime": "Standard-Fälligkeit", - "autoArchive": "Auto-Archivierung (Tage)", - "viewDisplay": "Ansicht & Darstellung", - "defaultView": "Standard-Ansicht", - "compactMode": "Kompaktmodus", - "showTaskCounts": "Aufgabenzahl anzeigen", - "showSubtaskProgress": "Teilaufgaben-Fortschritt", - "groupByProject": "Nach Projekt gruppieren", - "kanbanSettings": "Kanban Board", - "cardSize": "Kartengröße", - "cardSizeCompact": "Kompakt", - "cardSizeNormal": "Normal", - "cardSizeLarge": "Groß", - "showLabelsOnCards": "Labels auf Karten", - "wipLimit": "WIP-Limit pro Spalte", - "notifications": "Benachrichtigungen", - "defaultReminder": "Standard-Erinnerung", - "dailyDigest": "Tägliche Zusammenfassung", - "overdueNotifications": "Überfällig-Benachrichtigungen", - "smartDuration": "Smarte Dauer", - "smartDurationEnabled": "Smarte Dauer-Schätzung", - "defaultTaskDuration": "Standard-Dauer (Min.)", - "productivity": "Produktivität", - "focusMode": "Fokus-Modus", - "pomodoro": "Pomodoro", - "dailyGoal": "Tagesziel", - "showStreak": "Streak anzeigen", - "immersiveMode": "Immersiver Modus", - "reset": "Einstellungen zurücksetzen" - }, - "syntaxHelpContent": { - "title": "Quick-Add Syntax", - "date": "Datum: heute, morgen, nächsten Montag, 15.12.", - "time": "Uhrzeit: um 14 Uhr, 14:00", - "priority": "Priorität: !hoch, !niedrig, !dringend, !!!", - "labels": "Labels: #wichtig #idee", - "duration": "Dauer: 30min, 2h, 1.5 Stunden", - "recurrence": "Wiederholung: jeden Tag, wöchentlich", - "multi": "Mehrere: Task1, danach Task2", - "subtasks": "Subtasks: Titel: item1, item2, item3" - }, - "onboarding": { - "welcome": "Willkommen bei Todo!", - "intro": "Dein persönlicher Aufgabenplaner mit Kanban-Boards, smarter Eingabe und mehr.", - "step1Title": "Natürliche Sprache", - "step1": "Erstelle Aufgaben wie \"Meeting morgen um 14 Uhr !hoch #arbeit\" — Datum, Priorität und Labels werden automatisch erkannt.", - "step2Title": "Kanban-Boards", - "step2": "Organisiere deine Aufgaben visuell mit verschiedenen Board-Ansichten: Status, Priorität oder benutzerdefiniert.", - "step3Title": "Los geht's!", - "step3": "Erstelle deine erste Aufgabe mit dem + Button. Tipps findest du jederzeit über das ? Symbol.", - "next": "Weiter", - "letsGo": "Los geht's", - "getStarted": "Los geht's" - }, - "syntaxHelp": { - "title": "Quick-Add Syntax", - "description": "Nutze natürliche Sprache, um Aufgaben schnell zu erstellen. Alle Muster werden automatisch erkannt.", - "date": "Datum", - "dateToday": "Heute", - "dateTomorrow": "Morgen", - "dateNextWeekday": "Nächster Wochentag", - "dateSpecific": "Bestimmtes Datum", - "time": "Uhrzeit", - "priority": "Priorität", - "priorityUrgent": "Dringend", - "priorityHigh": "Hoch", - "priorityLow": "Niedrig", - "labels": "Labels", - "labelsAdd": "Tags hinzufügen", - "duration": "Dauer", - "duration30m": "30 Minuten", - "duration2h": "2 Stunden", - "duration90m": "90 Minuten", - "recurrence": "Wiederholung", - "recurrenceDaily": "Täglich", - "recurrenceWeekly": "Wöchentlich", - "recurrenceMonthly": "Monatlich", - "multiTask": "Mehrere Aufgaben", - "multiTaskChain": "Aufgaben verketten", - "multiTaskSemicolon": "Mit Semikolon trennen", - "subtasks": "Subtasks", - "subtasksColonComma": "Doppelpunkt + Komma", - "exampleTitle": "Beispiel", - "exampleInput": "Meeting morgen um 14 Uhr 1h !hoch #arbeit", - "exampleOutput": "→ \"Meeting\" am nächsten Tag um 14:00, Dauer 1h, Priorität Hoch, Label \"arbeit\"" - } - }, - "app_slider": { - "title": "Teil des Mana Ökosystems", - "memoro_desc": "KI-gestützte Sprachnotizen", - "memoro_long_desc": "Erfasse deine Gedanken durch Sprache und lasse sie von KI in strukturierte Notizen verwandeln.", - "maerchenzauber_desc": "Magische Kindergeschichten", - "maerchenzauber_long_desc": "Erstelle personalisierte Kindergeschichten mit KI-generierten Illustrationen.", - "cards_desc": "KI Lernkarten", - "cards_long_desc": "Erstelle und lerne mit smarten Lernkarten und KI-gestützter Wiederholung.", - "moodlit_desc": "Stimmungslicht-Steuerung", - "moodlit_long_desc": "Steuere deine smarten Lichter basierend auf deiner Stimmung und Aktivität.", - "manacore_desc": "Zentrale Verwaltung", - "manacore_long_desc": "Verwalte alle deine Mana-Apps und Einstellungen an einem Ort.", - "status_published": "Verfügbar", - "status_beta": "Beta", - "status_development": "In Entwicklung", - "status_planning": "Geplant", - "coming_soon": "Bald verfügbar", - "download": "App öffnen" - } -} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/en.json deleted file mode 100644 index 91fbec09a..000000000 --- a/apps/manacore/apps/web/src/lib/i18n/locales/en.json +++ /dev/null @@ -1,390 +0,0 @@ -{ - "common": { - "save": "Save", - "cancel": "Cancel", - "delete": "Delete", - "back": "Back", - "loading": "Loading..." - }, - "dashboard": { - "title": "Dashboard", - "welcome": "Welcome back", - "customize": "Customize", - "done": "Done", - "no_data": "No data available", - "retry": "Try again", - "widget_error": "Failed to load", - "remove_widget": "Remove", - "widgets": { - "credits": { - "title": "Credits", - "description": "Your balance", - "available": "Available", - "free_today": "Free today", - "manage": "Manage" - }, - "quick_actions": { - "title": "Quick Actions", - "description": "Quick access" - }, - "transactions": { - "title": "Transactions", - "description": "Recent activity", - "empty": "No transactions" - }, - "tasks_today": { - "title": "Tasks", - "description": "Your open tasks", - "empty": "No open tasks" - }, - "tasks_upcoming": { - "title": "Upcoming Tasks", - "description": "Next 7 days", - "empty": "No upcoming tasks" - }, - "calendar": { - "title": "Calendar", - "description": "Upcoming events", - "empty": "No events" - }, - "chat": { - "title": "Chat", - "description": "Recent conversations", - "empty": "No conversations" - }, - "contacts": { - "title": "Contacts", - "description": "Your favorites", - "empty": "No favorites", - "add_favorites": "Add favorites", - "view_all": "View all" - }, - "zitare": { - "title": "Inspiration", - "description": "Quote of the day", - "empty": "No favorites", - "explore": "Explore quotes", - "refresh": "New quote", - "view_all": "All quotes" - }, - "picture": { - "title": "Images", - "description": "Recent AI generations", - "empty": "No images created yet", - "create": "Create image", - "view_all": "View all images" - }, - "cards": { - "title": "Learning Progress", - "description": "Your flashcards", - "empty": "No decks created yet", - "create_deck": "Create deck", - "streak": "Day streak", - "due": "due", - "today": "learned today", - "learned": "Learned", - "start_study": "Start studying" - }, - "clock": { - "title": "Timers & Alarms", - "description": "Active timers and alarms", - "empty": "No active timers or alarms", - "open": "Open Clock", - "active_timers": "Active Timers", - "alarms": "Alarms" - }, - "storage": { - "title": "Storage", - "description": "Your cloud storage", - "total_size": "Used", - "files": "Files", - "recent": "Recent", - "empty": "No files", - "open": "Open Storage" - }, - "mukke": { - "title": "Music", - "description": "Your music library", - "songs": "Songs", - "playlists": "Playlists", - "favorites": "Favorites", - "empty": "No songs", - "open": "Open Mukke" - }, - "presi": { - "title": "Presentations", - "description": "Your slide decks", - "decks": "Decks", - "empty": "No presentations", - "create": "Create deck", - "open": "Open Presi" - }, - "context": { - "title": "Context", - "description": "Your documents & spaces", - "spaces": "Spaces", - "documents": "Documents", - "empty": "No documents", - "open": "Open Context" - }, - "contacts_recent": { - "title": "Recent Contacts", - "description": "Recently updated contacts" - }, - "active_timer": { - "title": "Time Tracking", - "description": "Running timer" - }, - "nutrition": { - "title": "Nutrition", - "description": "Today's calorie progress" - }, - "plant_watering": { - "title": "Plant Care", - "description": "Plants that need watering" - } - } - }, - "credits": { - "available": "Available", - "daily_free": "Free today", - "total_spent": "Spent", - "manage": "Manage credits" - }, - "profile": { - "title": "Profile", - "edit": "Edit profile", - "change_password": "Change password", - "delete_account": "Delete account", - "logout": "Log out", - "name": "Name", - "email": "Email", - "save": "Save", - "cancel": "Cancel", - "current_password": "Current password", - "new_password": "New password", - "confirm_password": "Confirm password", - "password_changed": "Password changed successfully", - "profile_updated": "Profile updated successfully" - }, - "subscription": { - "title": "Subscription", - "current_plan": "Current plan", - "free_plan": "Free Plan", - "upgrade": "Upgrade", - "cancel": "Cancel", - "reactivate": "Reactivate", - "billing_portal": "Manage payment method", - "monthly": "Monthly", - "yearly": "Yearly", - "save_percent": "Save {percent}%", - "per_month": "/ month", - "per_year": "/ year", - "mana_per_month": "Mana / month", - "features": "Features", - "select_plan": "Select", - "current": "Current", - "invoices": "Invoices", - "no_invoices": "No invoices yet" - }, - "todo": { - "title": "Todo", - "tasks": "Tasks", - "completed": "completed", - "overdue": "overdue", - "today": "today", - "inbox": "Inbox", - "todayView": "Today", - "upcoming": "Upcoming", - "completedView": "Completed", - "search": "Search", - "newTask": "New task", - "quickAddPlaceholder": "e.g. 'Meeting tomorrow at 2pm !high #important'", - "addTask": "Add", - "cancel": "Cancel", - "syntaxHelp": "Syntax help", - "noTasks": "No tasks", - "noTasksInbox": "Inbox is empty", - "noTasksToday": "No tasks for today", - "noTasksUpcoming": "No upcoming tasks", - "noTasksCompleted": "No tasks completed yet", - "firstTaskHint": "Create your first task with the + button above.", - "edit": "Edit", - "markDone": "Complete", - "reopen": "Reopen", - "deleteConfirm": "Really delete?", - "yesDelete": "Yes, delete", - "save": "Save", - "close": "Close", - "description": "Description", - "addDescription": "Add description...", - "subtasks": "Subtasks", - "addSubtask": "Add subtask...", - "status": "Status", - "statusPending": "Open", - "statusInProgress": "In Progress", - "statusCompleted": "Completed", - "statusCancelled": "Cancelled", - "priority": "Priority", - "priorityUrgent": "Urgent", - "priorityHigh": "High", - "priorityMedium": "Medium", - "priorityLow": "Low", - "dueDate": "Due", - "time": "Time", - "startDate": "Start", - "recurrence": "Recurrence", - "recurrenceNone": "None", - "recurrenceDaily": "Daily", - "recurrenceWeekly": "Weekly", - "recurrenceMonthly": "Monthly", - "recurrenceYearly": "Yearly", - "reminder": "Reminder", - "reminderNone": "None", - "tags": "Tags", - "storypoints": "Points", - "duration": "Duration", - "fun": "Fun", - "projects": "Projects", - "labels": "Labels", - "sort": "Sort", - "sortManual": "Manual", - "sortDueDate": "Due date", - "sortPriority": "Priority", - "sortName": "Name", - "sortCreated": "Created", - "showCompleted": "Completed", - "boardView": "Board", - "listView": "List", - "board": { - "new": "New board", - "edit": "Edit board", - "create": "Create board", - "name": "Board name...", - "groupBy": "Group by", - "layout": "Layout", - "columns": "Columns", - "addColumn": "Column", - "columnName": "Column name...", - "delete": "Delete", - "noTasks": "No tasks", - "groupStatus": "Status", - "groupPriority": "Priority", - "groupDueDate": "Due date", - "groupTag": "Tag", - "groupCustom": "Custom", - "layoutKanban": "Kanban", - "layoutGrid": "Grid", - "layoutFocus": "Focus" - }, - "settings": { - "title": "Todo Settings", - "taskBehavior": "Task Behavior", - "defaultPriority": "Default priority", - "defaultDueTime": "Default due time", - "autoArchive": "Auto-archive (days)", - "viewDisplay": "View & Display", - "defaultView": "Default view", - "compactMode": "Compact mode", - "showTaskCounts": "Show task counts", - "showSubtaskProgress": "Subtask progress", - "groupByProject": "Group by project", - "kanbanSettings": "Kanban Board", - "cardSize": "Card size", - "cardSizeCompact": "Compact", - "cardSizeNormal": "Normal", - "cardSizeLarge": "Large", - "showLabelsOnCards": "Labels on cards", - "wipLimit": "WIP limit per column", - "notifications": "Notifications", - "defaultReminder": "Default reminder", - "dailyDigest": "Daily digest", - "overdueNotifications": "Overdue notifications", - "smartDuration": "Smart Duration", - "smartDurationEnabled": "Smart duration estimation", - "defaultTaskDuration": "Default duration (min)", - "productivity": "Productivity", - "focusMode": "Focus mode", - "pomodoro": "Pomodoro", - "dailyGoal": "Daily goal", - "showStreak": "Show streak", - "immersiveMode": "Immersive mode", - "reset": "Reset settings" - }, - "syntaxHelpContent": { - "title": "Quick-Add Syntax", - "date": "Date: today, tomorrow, next Monday, Dec 15", - "time": "Time: at 2pm, 14:00", - "priority": "Priority: !high, !low, !urgent, !!!", - "labels": "Labels: #important #idea", - "duration": "Duration: 30min, 2h, 1.5 hours", - "recurrence": "Recurrence: every day, weekly", - "multi": "Multiple: Task1, then Task2", - "subtasks": "Subtasks: Title: item1, item2, item3" - }, - "onboarding": { - "welcome": "Welcome to Todo!", - "intro": "Your personal task planner with Kanban boards, smart input, and more.", - "step1Title": "Natural Language", - "step1": "Create tasks like \"Meeting tomorrow at 2pm !high #work\" — date, priority and labels are detected automatically.", - "step2Title": "Kanban Boards", - "step2": "Organize your tasks visually with different board views: status, priority, or custom.", - "step3Title": "Let's go!", - "step3": "Create your first task with the + button. Tips are always available via the ? icon.", - "next": "Next", - "letsGo": "Let's go", - "getStarted": "Get started" - }, - "syntaxHelp": { - "title": "Quick-Add Syntax", - "description": "Use natural language to quickly create tasks. All patterns are automatically detected.", - "date": "Date", - "dateToday": "Today", - "dateTomorrow": "Tomorrow", - "dateNextWeekday": "Next weekday", - "dateSpecific": "Specific date", - "time": "Time", - "priority": "Priority", - "priorityUrgent": "Urgent", - "priorityHigh": "High", - "priorityLow": "Low", - "labels": "Labels", - "labelsAdd": "Add tags", - "duration": "Duration", - "duration30m": "30 minutes", - "duration2h": "2 hours", - "duration90m": "90 minutes", - "recurrence": "Recurrence", - "recurrenceDaily": "Daily", - "recurrenceWeekly": "Weekly", - "recurrenceMonthly": "Monthly", - "multiTask": "Multiple tasks", - "multiTaskChain": "Chain tasks", - "multiTaskSemicolon": "Separate with semicolons", - "subtasks": "Subtasks", - "subtasksColonComma": "Colon + comma", - "exampleTitle": "Example", - "exampleInput": "Meeting tomorrow at 2pm 1h !high #work", - "exampleOutput": "→ \"Meeting\" tomorrow at 14:00, duration 1h, priority High, label \"work\"" - } - }, - "app_slider": { - "title": "Part of the Mana Ecosystem", - "memoro_desc": "AI-powered voice notes", - "memoro_long_desc": "Capture your thoughts through voice and let AI transform them into structured notes.", - "maerchenzauber_desc": "Magical children's stories", - "maerchenzauber_long_desc": "Create personalized children's stories with AI-generated illustrations.", - "cards_desc": "AI Flashcards", - "cards_long_desc": "Create and study with smart flashcards and AI-powered spaced repetition.", - "moodlit_desc": "Mood light control", - "moodlit_long_desc": "Control your smart lights based on your mood and activity.", - "manacore_desc": "Central management", - "manacore_long_desc": "Manage all your Mana apps and settings in one place.", - "status_published": "Available", - "status_beta": "Beta", - "status_development": "In Development", - "status_planning": "Planned", - "coming_soon": "Coming Soon", - "download": "Open App" - } -} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/es.json deleted file mode 100644 index 1d32cb525..000000000 --- a/apps/manacore/apps/web/src/lib/i18n/locales/es.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "common": { - "save": "Guardar", - "cancel": "Cancelar", - "delete": "Eliminar", - "back": "Atrás", - "loading": "Cargando..." - }, - "todo": { - "title": "Tareas", - "tasks": "Tareas", - "completed": "completadas", - "overdue": "vencidas", - "today": "hoy", - "inbox": "Bandeja", - "todayView": "Hoy", - "upcoming": "Próximas", - "completedView": "Completadas", - "search": "Buscar", - "newTask": "Nueva tarea", - "quickAddPlaceholder": "ej. 'Reunión mañana a las 14h !alta #importante'", - "addTask": "Añadir", - "cancel": "Canc.", - "syntaxHelp": "Ayuda sintaxis", - "noTasks": "Sin tareas", - "noTasksInbox": "Bandeja vacía", - "noTasksToday": "Sin tareas para hoy", - "noTasksUpcoming": "Sin tareas próximas", - "noTasksCompleted": "Ninguna tarea completada", - "firstTaskHint": "Crea tu primera tarea con el botón + arriba.", - "edit": "Editar", - "markDone": "Completar", - "reopen": "Reabrir", - "deleteConfirm": "¿Eliminar?", - "yesDelete": "Sí, eliminar", - "save": "Guardar", - "close": "Cerrar", - "description": "Descripción", - "addDescription": "Añadir descripción...", - "subtasks": "Subtareas", - "addSubtask": "Añadir subtarea...", - "status": "Estado", - "statusPending": "Abierta", - "statusInProgress": "En curso", - "statusCompleted": "Completada", - "statusCancelled": "Cancelada", - "priority": "Prioridad", - "priorityUrgent": "Urgente", - "priorityHigh": "Alta", - "priorityMedium": "Media", - "priorityLow": "Baja", - "dueDate": "Vence", - "time": "Hora", - "startDate": "Inicio", - "recurrence": "Recurrencia", - "recurrenceNone": "Ninguna", - "recurrenceDaily": "Diario", - "recurrenceWeekly": "Semanal", - "recurrenceMonthly": "Mensual", - "recurrenceYearly": "Anual", - "reminder": "Recordatorio", - "reminderNone": "Ninguno", - "tags": "Tags", - "storypoints": "Puntos", - "duration": "Duración", - "fun": "Diversión", - "projects": "Proyectos", - "labels": "Etiquetas", - "sort": "Ordenar", - "sortManual": "Manual", - "sortDueDate": "Vencimiento", - "sortPriority": "Prioridad", - "sortName": "Nombre", - "sortCreated": "Creación", - "showCompleted": "Completadas", - "boardView": "Board", - "listView": "Lista", - "board": { - "new": "Nuevo board", - "edit": "Editar board", - "create": "Crear board", - "name": "Nombre del board...", - "groupBy": "Agrupar por", - "layout": "Diseño", - "columns": "Columnas", - "addColumn": "Columna", - "columnName": "Nombre de columna...", - "delete": "Eliminar", - "noTasks": "Sin tareas", - "groupStatus": "Estado", - "groupPriority": "Prioridad", - "groupDueDate": "Vencimiento", - "groupTag": "Tag", - "groupCustom": "Personalizado", - "layoutKanban": "Kanban", - "layoutGrid": "Cuadrícula", - "layoutFocus": "Enfoque" - }, - "settings": { - "title": "Ajustes Todo" - }, - "onboarding": { - "welcome": "¡Bienvenido a Todo!", - "intro": "Tu planificador de tareas personal con boards Kanban, entrada inteligente y más.", - "step1Title": "Lenguaje natural", - "step1": "Crea tareas como \"Reunión mañana a las 14h !alta #trabajo\" — fecha, prioridad y etiquetas se detectan automáticamente.", - "step2Title": "Boards Kanban", - "step2": "Organiza tus tareas visualmente con diferentes vistas: estado, prioridad o personalizado.", - "step3Title": "¡Vamos!", - "step3": "Crea tu primera tarea con el botón +. Los consejos están disponibles en el icono ?.", - "next": "Siguiente", - "letsGo": "¡Vamos!", - "getStarted": "Empezar" - }, - "syntaxHelp": { - "title": "Sintaxis Quick-Add", - "description": "Usa lenguaje natural para crear tareas rápidamente.", - "date": "Fecha", - "dateToday": "Hoy", - "dateTomorrow": "Mañana", - "dateNextWeekday": "Próximo día", - "dateSpecific": "Fecha específica", - "time": "Hora", - "priority": "Prioridad", - "priorityUrgent": "Urgente", - "priorityHigh": "Alta", - "priorityLow": "Baja", - "labels": "Etiquetas", - "labelsAdd": "Añadir tags", - "duration": "Duración", - "duration30m": "30 minutos", - "duration2h": "2 horas", - "duration90m": "90 minutos", - "recurrence": "Recurrencia", - "recurrenceDaily": "Diario", - "recurrenceWeekly": "Semanal", - "recurrenceMonthly": "Mensual", - "multiTask": "Múltiples tareas", - "multiTaskChain": "Encadenar tareas", - "multiTaskSemicolon": "Separar con punto y coma", - "subtasks": "Subtareas", - "subtasksColonComma": "Dos puntos + coma", - "exampleTitle": "Ejemplo", - "exampleInput": "Reunión mañana a las 14h 1h !alta #trabajo", - "exampleOutput": "→ \"Reunión\" mañana a las 14:00, duración 1h, prioridad Alta, etiqueta \"trabajo\"" - } - }, - "app_slider": { - "title": "Parte del ecosistema Mana", - "memoro_desc": "Notas de voz con IA", - "memoro_long_desc": "Captura tus pensamientos con voz y deja que la IA los transforme en notas estructuradas.", - "maerchenzauber_desc": "Historias mágicas para niños", - "maerchenzauber_long_desc": "Crea historias personalizadas para niños con ilustraciones generadas por IA.", - "cards_desc": "Flashcards IA", - "cards_long_desc": "Crea y estudia con flashcards inteligentes y repetición espaciada con IA.", - "moodlit_desc": "Control de luces ambientales", - "moodlit_long_desc": "Controla tus luces inteligentes según tu estado de ánimo y actividades.", - "manacore_desc": "Gestión central", - "manacore_long_desc": "Gestiona todas tus apps Mana y configuraciones en un solo lugar.", - "status_published": "Disponible", - "status_beta": "Beta", - "status_development": "En Desarrollo", - "status_planning": "Planificado", - "coming_soon": "Próximamente", - "download": "Abrir App" - } -} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/fr.json deleted file mode 100644 index fac7caf5a..000000000 --- a/apps/manacore/apps/web/src/lib/i18n/locales/fr.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "common": { - "save": "Enregistrer", - "cancel": "Annuler", - "delete": "Supprimer", - "back": "Retour", - "loading": "Chargement..." - }, - "todo": { - "title": "Tâches", - "tasks": "Tâches", - "completed": "terminées", - "overdue": "en retard", - "today": "aujourd'hui", - "inbox": "Boîte de réception", - "todayView": "Aujourd'hui", - "upcoming": "À venir", - "completedView": "Terminées", - "search": "Recherche", - "newTask": "Nouvelle tâche", - "quickAddPlaceholder": "ex. 'Réunion demain à 14h !haute #important'", - "addTask": "Ajouter", - "cancel": "Ann.", - "syntaxHelp": "Aide syntaxe", - "noTasks": "Aucune tâche", - "noTasksInbox": "Boîte de réception vide", - "noTasksToday": "Aucune tâche aujourd'hui", - "noTasksUpcoming": "Aucune tâche à venir", - "noTasksCompleted": "Aucune tâche terminée", - "firstTaskHint": "Créez votre première tâche avec le bouton + ci-dessus.", - "edit": "Modifier", - "markDone": "Terminer", - "reopen": "Rouvrir", - "deleteConfirm": "Vraiment supprimer ?", - "yesDelete": "Oui, supprimer", - "save": "Enregistrer", - "close": "Fermer", - "description": "Description", - "addDescription": "Ajouter une description...", - "subtasks": "Sous-tâches", - "addSubtask": "Ajouter une sous-tâche...", - "status": "Statut", - "statusPending": "Ouvert", - "statusInProgress": "En cours", - "statusCompleted": "Terminé", - "statusCancelled": "Annulé", - "priority": "Priorité", - "priorityUrgent": "Urgent", - "priorityHigh": "Haute", - "priorityMedium": "Moyenne", - "priorityLow": "Basse", - "dueDate": "Échéance", - "time": "Heure", - "startDate": "Début", - "recurrence": "Récurrence", - "recurrenceNone": "Aucune", - "recurrenceDaily": "Quotidien", - "recurrenceWeekly": "Hebdomadaire", - "recurrenceMonthly": "Mensuel", - "recurrenceYearly": "Annuel", - "reminder": "Rappel", - "reminderNone": "Aucun", - "tags": "Tags", - "storypoints": "Points", - "duration": "Durée", - "fun": "Fun", - "projects": "Projets", - "labels": "Labels", - "sort": "Tri", - "sortManual": "Manuel", - "sortDueDate": "Échéance", - "sortPriority": "Priorité", - "sortName": "Nom", - "sortCreated": "Création", - "showCompleted": "Terminées", - "boardView": "Board", - "listView": "Liste", - "board": { - "new": "Nouveau board", - "edit": "Modifier le board", - "create": "Créer un board", - "name": "Nom du board...", - "groupBy": "Grouper par", - "layout": "Disposition", - "columns": "Colonnes", - "addColumn": "Colonne", - "columnName": "Nom de colonne...", - "delete": "Supprimer", - "noTasks": "Aucune tâche", - "groupStatus": "Statut", - "groupPriority": "Priorité", - "groupDueDate": "Échéance", - "groupTag": "Tag", - "groupCustom": "Personnalisé", - "layoutKanban": "Kanban", - "layoutGrid": "Grille", - "layoutFocus": "Focus" - }, - "settings": { - "title": "Paramètres Todo" - }, - "onboarding": { - "welcome": "Bienvenue dans Todo !", - "intro": "Votre planificateur de tâches personnel avec boards Kanban, saisie intelligente et plus.", - "step1Title": "Langage naturel", - "step1": "Créez des tâches comme \"Réunion demain à 14h !haute #travail\" — date, priorité et labels sont détectés automatiquement.", - "step2Title": "Boards Kanban", - "step2": "Organisez vos tâches visuellement avec différentes vues : statut, priorité ou personnalisé.", - "step3Title": "C'est parti !", - "step3": "Créez votre première tâche avec le bouton +. Des astuces sont disponibles via l'icône ?.", - "next": "Suivant", - "letsGo": "C'est parti", - "getStarted": "Commencer" - }, - "syntaxHelp": { - "title": "Syntaxe Quick-Add", - "description": "Utilisez le langage naturel pour créer rapidement des tâches.", - "date": "Date", - "dateToday": "Aujourd'hui", - "dateTomorrow": "Demain", - "dateNextWeekday": "Prochain jour", - "dateSpecific": "Date spécifique", - "time": "Heure", - "priority": "Priorité", - "priorityUrgent": "Urgent", - "priorityHigh": "Haute", - "priorityLow": "Basse", - "labels": "Labels", - "labelsAdd": "Ajouter des tags", - "duration": "Durée", - "duration30m": "30 minutes", - "duration2h": "2 heures", - "duration90m": "90 minutes", - "recurrence": "Récurrence", - "recurrenceDaily": "Quotidien", - "recurrenceWeekly": "Hebdomadaire", - "recurrenceMonthly": "Mensuel", - "multiTask": "Tâches multiples", - "multiTaskChain": "Enchaîner les tâches", - "multiTaskSemicolon": "Séparer par point-virgule", - "subtasks": "Sous-tâches", - "subtasksColonComma": "Deux-points + virgule", - "exampleTitle": "Exemple", - "exampleInput": "Réunion demain à 14h 1h !haute #travail", - "exampleOutput": "→ \"Réunion\" demain à 14:00, durée 1h, priorité Haute, label \"travail\"" - } - }, - "app_slider": { - "title": "Partie de l'écosystème Mana", - "memoro_desc": "Notes vocales IA", - "memoro_long_desc": "Capturez vos pensées par la voix et laissez l'IA les transformer en notes structurées.", - "maerchenzauber_desc": "Histoires magiques pour enfants", - "maerchenzauber_long_desc": "Créez des histoires personnalisées pour enfants avec des illustrations générées par l'IA.", - "cards_desc": "Flashcards IA", - "cards_long_desc": "Créez et étudiez avec des flashcards intelligentes et la répétition espacée assistée par IA.", - "moodlit_desc": "Contrôle d'éclairage ambiant", - "moodlit_long_desc": "Contrôlez vos lumières intelligentes en fonction de votre humeur et de vos activités.", - "manacore_desc": "Gestion centrale", - "manacore_long_desc": "Gérez toutes vos applications Mana et paramètres en un seul endroit.", - "status_published": "Disponible", - "status_beta": "Bêta", - "status_development": "En Développement", - "status_planning": "Planifié", - "coming_soon": "Bientôt", - "download": "Ouvrir l'App" - } -} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/it.json deleted file mode 100644 index 8dfb2b7e3..000000000 --- a/apps/manacore/apps/web/src/lib/i18n/locales/it.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "common": { - "save": "Salva", - "cancel": "Annulla", - "delete": "Elimina", - "back": "Indietro", - "loading": "Caricamento..." - }, - "app_slider": { - "title": "Parte dell'ecosistema Mana", - "memoro_desc": "Note vocali AI", - "memoro_long_desc": "Cattura i tuoi pensieri con la voce e lascia che l'AI li trasformi in note strutturate.", - "maerchenzauber_desc": "Storie magiche per bambini", - "maerchenzauber_long_desc": "Crea storie personalizzate per bambini con illustrazioni generate dall'AI.", - "cards_desc": "Flashcard AI", - "cards_long_desc": "Crea e studia con flashcard intelligenti e ripetizione spaziata basata su AI.", - "moodlit_desc": "Controllo luci ambientali", - "moodlit_long_desc": "Controlla le tue luci smart in base al tuo umore e alle tue attività.", - "manacore_desc": "Gestione centrale", - "manacore_long_desc": "Gestisci tutte le tue app Mana e impostazioni in un unico posto.", - "status_published": "Disponibile", - "status_beta": "Beta", - "status_development": "In Sviluppo", - "status_planning": "Pianificato", - "coming_soon": "Prossimamente", - "download": "Apri App" - } -} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/profile/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/profile/de.json new file mode 100644 index 000000000..3cf09d536 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/profile/de.json @@ -0,0 +1,16 @@ +{ + "title": "Profil", + "edit": "Profil bearbeiten", + "change_password": "Passwort ändern", + "delete_account": "Konto löschen", + "logout": "Abmelden", + "name": "Name", + "email": "E-Mail", + "save": "Speichern", + "cancel": "Abbrechen", + "current_password": "Aktuelles Passwort", + "new_password": "Neues Passwort", + "confirm_password": "Passwort bestätigen", + "password_changed": "Passwort erfolgreich geändert", + "profile_updated": "Profil erfolgreich aktualisiert" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/profile/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/profile/en.json new file mode 100644 index 000000000..cea220767 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/profile/en.json @@ -0,0 +1,16 @@ +{ + "title": "Profile", + "edit": "Edit profile", + "change_password": "Change password", + "delete_account": "Delete account", + "logout": "Log out", + "name": "Name", + "email": "Email", + "save": "Save", + "cancel": "Cancel", + "current_password": "Current password", + "new_password": "New password", + "confirm_password": "Confirm password", + "password_changed": "Password changed successfully", + "profile_updated": "Profile updated successfully" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/profile/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/profile/es.json new file mode 100644 index 000000000..5794ba946 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/profile/es.json @@ -0,0 +1,16 @@ +{ + "title": "Perfil", + "edit": "Editar perfil", + "change_password": "Cambiar contraseña", + "delete_account": "Eliminar cuenta", + "logout": "Cerrar sesión", + "name": "Nombre", + "email": "Correo electrónico", + "save": "Guardar", + "cancel": "Cancelar", + "current_password": "Contraseña actual", + "new_password": "Nueva contraseña", + "confirm_password": "Confirmar contraseña", + "password_changed": "Contraseña cambiada correctamente", + "profile_updated": "Perfil actualizado correctamente" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/profile/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/profile/fr.json new file mode 100644 index 000000000..2c16fbc85 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/profile/fr.json @@ -0,0 +1,16 @@ +{ + "title": "Profil", + "edit": "Modifier le profil", + "change_password": "Changer le mot de passe", + "delete_account": "Supprimer le compte", + "logout": "Se déconnecter", + "name": "Nom", + "email": "E-mail", + "save": "Enregistrer", + "cancel": "Annuler", + "current_password": "Mot de passe actuel", + "new_password": "Nouveau mot de passe", + "confirm_password": "Confirmer le mot de passe", + "password_changed": "Mot de passe modifié avec succès", + "profile_updated": "Profil mis à jour avec succès" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/profile/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/profile/it.json new file mode 100644 index 000000000..fcafe704e --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/profile/it.json @@ -0,0 +1,16 @@ +{ + "title": "Profilo", + "edit": "Modifica profilo", + "change_password": "Cambia password", + "delete_account": "Elimina account", + "logout": "Esci", + "name": "Nome", + "email": "E-mail", + "save": "Salva", + "cancel": "Annulla", + "current_password": "Password attuale", + "new_password": "Nuova password", + "confirm_password": "Conferma password", + "password_changed": "Password cambiata con successo", + "profile_updated": "Profilo aggiornato con successo" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/subscription/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/de.json new file mode 100644 index 000000000..6314f7499 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/de.json @@ -0,0 +1,20 @@ +{ + "title": "Abonnement", + "current_plan": "Aktueller Plan", + "free_plan": "Free Plan", + "upgrade": "Upgrade", + "cancel": "Kündigen", + "reactivate": "Reaktivieren", + "billing_portal": "Zahlungsmethode verwalten", + "monthly": "Monatlich", + "yearly": "Jährlich", + "save_percent": "Spare {percent}%", + "per_month": "/ Monat", + "per_year": "/ Jahr", + "mana_per_month": "Mana / Monat", + "features": "Features", + "select_plan": "Auswählen", + "current": "Aktuell", + "invoices": "Rechnungen", + "no_invoices": "Noch keine Rechnungen vorhanden" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/subscription/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/en.json new file mode 100644 index 000000000..e078e8728 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/en.json @@ -0,0 +1,20 @@ +{ + "title": "Subscription", + "current_plan": "Current plan", + "free_plan": "Free Plan", + "upgrade": "Upgrade", + "cancel": "Cancel", + "reactivate": "Reactivate", + "billing_portal": "Manage payment method", + "monthly": "Monthly", + "yearly": "Yearly", + "save_percent": "Save {percent}%", + "per_month": "/ month", + "per_year": "/ year", + "mana_per_month": "Mana / month", + "features": "Features", + "select_plan": "Select", + "current": "Current", + "invoices": "Invoices", + "no_invoices": "No invoices yet" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/subscription/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/es.json new file mode 100644 index 000000000..5f0e6906a --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/es.json @@ -0,0 +1,20 @@ +{ + "title": "Suscripción", + "current_plan": "Plan actual", + "free_plan": "Plan gratuito", + "upgrade": "Mejorar", + "cancel": "Cancelar", + "reactivate": "Reactivar", + "billing_portal": "Gestionar método de pago", + "monthly": "Mensual", + "yearly": "Anual", + "save_percent": "Ahorra {percent}%", + "per_month": "/ mes", + "per_year": "/ año", + "mana_per_month": "Mana / mes", + "features": "Funciones", + "select_plan": "Seleccionar", + "current": "Actual", + "invoices": "Facturas", + "no_invoices": "Aún no hay facturas" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/subscription/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/fr.json new file mode 100644 index 000000000..e5ead0ccf --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/fr.json @@ -0,0 +1,20 @@ +{ + "title": "Abonnement", + "current_plan": "Plan actuel", + "free_plan": "Plan gratuit", + "upgrade": "Passer au supérieur", + "cancel": "Annuler", + "reactivate": "Réactiver", + "billing_portal": "Gérer le moyen de paiement", + "monthly": "Mensuel", + "yearly": "Annuel", + "save_percent": "Économise {percent}%", + "per_month": "/ mois", + "per_year": "/ an", + "mana_per_month": "Mana / mois", + "features": "Fonctionnalités", + "select_plan": "Sélectionner", + "current": "Actuel", + "invoices": "Factures", + "no_invoices": "Pas encore de factures" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/subscription/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/it.json new file mode 100644 index 000000000..663220d06 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/subscription/it.json @@ -0,0 +1,20 @@ +{ + "title": "Abbonamento", + "current_plan": "Piano attuale", + "free_plan": "Piano gratuito", + "upgrade": "Passa al superiore", + "cancel": "Annulla", + "reactivate": "Riattiva", + "billing_portal": "Gestisci metodo di pagamento", + "monthly": "Mensile", + "yearly": "Annuale", + "save_percent": "Risparmia {percent}%", + "per_month": "/ mese", + "per_year": "/ anno", + "mana_per_month": "Mana / mese", + "features": "Funzionalità", + "select_plan": "Seleziona", + "current": "Attuale", + "invoices": "Fatture", + "no_invoices": "Nessuna fattura ancora" +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/todo/de.json b/apps/manacore/apps/web/src/lib/i18n/locales/todo/de.json new file mode 100644 index 000000000..d50ab9e99 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/todo/de.json @@ -0,0 +1,181 @@ +{ + "title": "Todo", + "tasks": "Aufgaben", + "completed": "erledigt", + "overdue": "überfällig", + "today": "heute", + "inbox": "Inbox", + "todayView": "Heute", + "upcoming": "Bald fällig", + "completedView": "Erledigt", + "search": "Suche", + "newTask": "Neue Aufgabe", + "quickAddPlaceholder": "z.B. 'Meeting morgen um 14 Uhr !hoch #wichtig'", + "addTask": "Hinzufügen", + "cancel": "Abb.", + "syntaxHelp": "Syntax-Hilfe", + "noTasks": "Keine Aufgaben", + "noTasksInbox": "Inbox ist leer", + "noTasksToday": "Keine Aufgaben für heute", + "noTasksUpcoming": "Keine anstehenden Aufgaben", + "noTasksCompleted": "Noch keine Aufgaben erledigt", + "firstTaskHint": "Erstelle deine erste Aufgabe mit dem + Button oben.", + "edit": "Bearbeiten", + "markDone": "Erledigen", + "reopen": "Wieder öffnen", + "deleteConfirm": "Wirklich löschen?", + "yesDelete": "Ja, löschen", + "save": "Speichern", + "close": "Schließen", + "description": "Beschreibung", + "addDescription": "Beschreibung hinzufügen...", + "subtasks": "Teilaufgaben", + "addSubtask": "Teilaufgabe hinzufügen...", + "status": "Status", + "statusPending": "Offen", + "statusInProgress": "In Arbeit", + "statusCompleted": "Erledigt", + "statusCancelled": "Abgebrochen", + "priority": "Priorität", + "priorityUrgent": "Dringend", + "priorityHigh": "Hoch", + "priorityMedium": "Mittel", + "priorityLow": "Niedrig", + "dueDate": "Fällig", + "time": "Uhrzeit", + "startDate": "Start", + "recurrence": "Wiederholung", + "recurrenceNone": "Keine", + "recurrenceDaily": "Täglich", + "recurrenceWeekly": "Wöchentlich", + "recurrenceMonthly": "Monatlich", + "recurrenceYearly": "Jährlich", + "reminder": "Erinnerung", + "reminderNone": "Keine", + "tags": "Tags", + "storypoints": "Punkte", + "duration": "Dauer", + "fun": "Spaß", + "projects": "Projekte", + "labels": "Labels", + "sort": "Sortierung", + "sortManual": "Manuell", + "sortDueDate": "Fälligkeit", + "sortPriority": "Priorität", + "sortName": "Name", + "sortCreated": "Erstellt", + "showCompleted": "Erledigt", + "boardView": "Board", + "listView": "Liste", + "board": { + "new": "Neues Board", + "edit": "Board bearbeiten", + "create": "Board erstellen", + "name": "Board-Name...", + "groupBy": "Gruppierung", + "layout": "Layout", + "columns": "Spalten", + "addColumn": "Spalte", + "columnName": "Spaltenname...", + "delete": "Löschen", + "noTasks": "Keine Aufgaben", + "groupStatus": "Status", + "groupPriority": "Priorität", + "groupDueDate": "Fälligkeit", + "groupTag": "Tag", + "groupCustom": "Benutzerdefiniert", + "layoutKanban": "Kanban", + "layoutGrid": "Grid", + "layoutFocus": "Fokus" + }, + "settings": { + "title": "Todo Einstellungen", + "taskBehavior": "Aufgaben-Verhalten", + "defaultPriority": "Standard-Priorität", + "defaultDueTime": "Standard-Fälligkeit", + "autoArchive": "Auto-Archivierung (Tage)", + "viewDisplay": "Ansicht & Darstellung", + "defaultView": "Standard-Ansicht", + "compactMode": "Kompaktmodus", + "showTaskCounts": "Aufgabenzahl anzeigen", + "showSubtaskProgress": "Teilaufgaben-Fortschritt", + "groupByProject": "Nach Projekt gruppieren", + "kanbanSettings": "Kanban Board", + "cardSize": "Kartengröße", + "cardSizeCompact": "Kompakt", + "cardSizeNormal": "Normal", + "cardSizeLarge": "Groß", + "showLabelsOnCards": "Labels auf Karten", + "wipLimit": "WIP-Limit pro Spalte", + "notifications": "Benachrichtigungen", + "defaultReminder": "Standard-Erinnerung", + "dailyDigest": "Tägliche Zusammenfassung", + "overdueNotifications": "Überfällig-Benachrichtigungen", + "smartDuration": "Smarte Dauer", + "smartDurationEnabled": "Smarte Dauer-Schätzung", + "defaultTaskDuration": "Standard-Dauer (Min.)", + "productivity": "Produktivität", + "focusMode": "Fokus-Modus", + "pomodoro": "Pomodoro", + "dailyGoal": "Tagesziel", + "showStreak": "Streak anzeigen", + "immersiveMode": "Immersiver Modus", + "reset": "Einstellungen zurücksetzen" + }, + "syntaxHelpContent": { + "title": "Quick-Add Syntax", + "date": "Datum: heute, morgen, nächsten Montag, 15.12.", + "time": "Uhrzeit: um 14 Uhr, 14:00", + "priority": "Priorität: !hoch, !niedrig, !dringend, !!!", + "labels": "Labels: #wichtig #idee", + "duration": "Dauer: 30min, 2h, 1.5 Stunden", + "recurrence": "Wiederholung: jeden Tag, wöchentlich", + "multi": "Mehrere: Task1, danach Task2", + "subtasks": "Subtasks: Titel: item1, item2, item3" + }, + "onboarding": { + "welcome": "Willkommen bei Todo!", + "intro": "Dein persönlicher Aufgabenplaner mit Kanban-Boards, smarter Eingabe und mehr.", + "step1Title": "Natürliche Sprache", + "step1": "Erstelle Aufgaben wie \"Meeting morgen um 14 Uhr !hoch #arbeit\" — Datum, Priorität und Labels werden automatisch erkannt.", + "step2Title": "Kanban-Boards", + "step2": "Organisiere deine Aufgaben visuell mit verschiedenen Board-Ansichten: Status, Priorität oder benutzerdefiniert.", + "step3Title": "Los geht's!", + "step3": "Erstelle deine erste Aufgabe mit dem + Button. Tipps findest du jederzeit über das ? Symbol.", + "next": "Weiter", + "letsGo": "Los geht's", + "getStarted": "Los geht's" + }, + "syntaxHelp": { + "title": "Quick-Add Syntax", + "description": "Nutze natürliche Sprache, um Aufgaben schnell zu erstellen. Alle Muster werden automatisch erkannt.", + "date": "Datum", + "dateToday": "Heute", + "dateTomorrow": "Morgen", + "dateNextWeekday": "Nächster Wochentag", + "dateSpecific": "Bestimmtes Datum", + "time": "Uhrzeit", + "priority": "Priorität", + "priorityUrgent": "Dringend", + "priorityHigh": "Hoch", + "priorityLow": "Niedrig", + "labels": "Labels", + "labelsAdd": "Tags hinzufügen", + "duration": "Dauer", + "duration30m": "30 Minuten", + "duration2h": "2 Stunden", + "duration90m": "90 Minuten", + "recurrence": "Wiederholung", + "recurrenceDaily": "Täglich", + "recurrenceWeekly": "Wöchentlich", + "recurrenceMonthly": "Monatlich", + "multiTask": "Mehrere Aufgaben", + "multiTaskChain": "Aufgaben verketten", + "multiTaskSemicolon": "Mit Semikolon trennen", + "subtasks": "Subtasks", + "subtasksColonComma": "Doppelpunkt + Komma", + "exampleTitle": "Beispiel", + "exampleInput": "Meeting morgen um 14 Uhr 1h !hoch #arbeit", + "exampleOutput": "→ \"Meeting\" am nächsten Tag um 14:00, Dauer 1h, Priorität Hoch, Label \"arbeit\"" + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/todo/en.json b/apps/manacore/apps/web/src/lib/i18n/locales/todo/en.json new file mode 100644 index 000000000..695b3766c --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/todo/en.json @@ -0,0 +1,181 @@ +{ + "title": "Todo", + "tasks": "Tasks", + "completed": "completed", + "overdue": "overdue", + "today": "today", + "inbox": "Inbox", + "todayView": "Today", + "upcoming": "Upcoming", + "completedView": "Completed", + "search": "Search", + "newTask": "New task", + "quickAddPlaceholder": "e.g. 'Meeting tomorrow at 2pm !high #important'", + "addTask": "Add", + "cancel": "Cancel", + "syntaxHelp": "Syntax help", + "noTasks": "No tasks", + "noTasksInbox": "Inbox is empty", + "noTasksToday": "No tasks for today", + "noTasksUpcoming": "No upcoming tasks", + "noTasksCompleted": "No tasks completed yet", + "firstTaskHint": "Create your first task with the + button above.", + "edit": "Edit", + "markDone": "Complete", + "reopen": "Reopen", + "deleteConfirm": "Really delete?", + "yesDelete": "Yes, delete", + "save": "Save", + "close": "Close", + "description": "Description", + "addDescription": "Add description...", + "subtasks": "Subtasks", + "addSubtask": "Add subtask...", + "status": "Status", + "statusPending": "Open", + "statusInProgress": "In Progress", + "statusCompleted": "Completed", + "statusCancelled": "Cancelled", + "priority": "Priority", + "priorityUrgent": "Urgent", + "priorityHigh": "High", + "priorityMedium": "Medium", + "priorityLow": "Low", + "dueDate": "Due", + "time": "Time", + "startDate": "Start", + "recurrence": "Recurrence", + "recurrenceNone": "None", + "recurrenceDaily": "Daily", + "recurrenceWeekly": "Weekly", + "recurrenceMonthly": "Monthly", + "recurrenceYearly": "Yearly", + "reminder": "Reminder", + "reminderNone": "None", + "tags": "Tags", + "storypoints": "Points", + "duration": "Duration", + "fun": "Fun", + "projects": "Projects", + "labels": "Labels", + "sort": "Sort", + "sortManual": "Manual", + "sortDueDate": "Due date", + "sortPriority": "Priority", + "sortName": "Name", + "sortCreated": "Created", + "showCompleted": "Completed", + "boardView": "Board", + "listView": "List", + "board": { + "new": "New board", + "edit": "Edit board", + "create": "Create board", + "name": "Board name...", + "groupBy": "Group by", + "layout": "Layout", + "columns": "Columns", + "addColumn": "Column", + "columnName": "Column name...", + "delete": "Delete", + "noTasks": "No tasks", + "groupStatus": "Status", + "groupPriority": "Priority", + "groupDueDate": "Due date", + "groupTag": "Tag", + "groupCustom": "Custom", + "layoutKanban": "Kanban", + "layoutGrid": "Grid", + "layoutFocus": "Focus" + }, + "settings": { + "title": "Todo Settings", + "taskBehavior": "Task Behavior", + "defaultPriority": "Default priority", + "defaultDueTime": "Default due time", + "autoArchive": "Auto-archive (days)", + "viewDisplay": "View & Display", + "defaultView": "Default view", + "compactMode": "Compact mode", + "showTaskCounts": "Show task counts", + "showSubtaskProgress": "Subtask progress", + "groupByProject": "Group by project", + "kanbanSettings": "Kanban Board", + "cardSize": "Card size", + "cardSizeCompact": "Compact", + "cardSizeNormal": "Normal", + "cardSizeLarge": "Large", + "showLabelsOnCards": "Labels on cards", + "wipLimit": "WIP limit per column", + "notifications": "Notifications", + "defaultReminder": "Default reminder", + "dailyDigest": "Daily digest", + "overdueNotifications": "Overdue notifications", + "smartDuration": "Smart Duration", + "smartDurationEnabled": "Smart duration estimation", + "defaultTaskDuration": "Default duration (min)", + "productivity": "Productivity", + "focusMode": "Focus mode", + "pomodoro": "Pomodoro", + "dailyGoal": "Daily goal", + "showStreak": "Show streak", + "immersiveMode": "Immersive mode", + "reset": "Reset settings" + }, + "syntaxHelpContent": { + "title": "Quick-Add Syntax", + "date": "Date: today, tomorrow, next Monday, Dec 15", + "time": "Time: at 2pm, 14:00", + "priority": "Priority: !high, !low, !urgent, !!!", + "labels": "Labels: #important #idea", + "duration": "Duration: 30min, 2h, 1.5 hours", + "recurrence": "Recurrence: every day, weekly", + "multi": "Multiple: Task1, then Task2", + "subtasks": "Subtasks: Title: item1, item2, item3" + }, + "onboarding": { + "welcome": "Welcome to Todo!", + "intro": "Your personal task planner with Kanban boards, smart input, and more.", + "step1Title": "Natural Language", + "step1": "Create tasks like \"Meeting tomorrow at 2pm !high #work\" — date, priority and labels are detected automatically.", + "step2Title": "Kanban Boards", + "step2": "Organize your tasks visually with different board views: status, priority, or custom.", + "step3Title": "Let's go!", + "step3": "Create your first task with the + button. Tips are always available via the ? icon.", + "next": "Next", + "letsGo": "Let's go", + "getStarted": "Get started" + }, + "syntaxHelp": { + "title": "Quick-Add Syntax", + "description": "Use natural language to quickly create tasks. All patterns are automatically detected.", + "date": "Date", + "dateToday": "Today", + "dateTomorrow": "Tomorrow", + "dateNextWeekday": "Next weekday", + "dateSpecific": "Specific date", + "time": "Time", + "priority": "Priority", + "priorityUrgent": "Urgent", + "priorityHigh": "High", + "priorityLow": "Low", + "labels": "Labels", + "labelsAdd": "Add tags", + "duration": "Duration", + "duration30m": "30 minutes", + "duration2h": "2 hours", + "duration90m": "90 minutes", + "recurrence": "Recurrence", + "recurrenceDaily": "Daily", + "recurrenceWeekly": "Weekly", + "recurrenceMonthly": "Monthly", + "multiTask": "Multiple tasks", + "multiTaskChain": "Chain tasks", + "multiTaskSemicolon": "Separate with semicolons", + "subtasks": "Subtasks", + "subtasksColonComma": "Colon + comma", + "exampleTitle": "Example", + "exampleInput": "Meeting tomorrow at 2pm 1h !high #work", + "exampleOutput": "→ \"Meeting\" tomorrow at 14:00, duration 1h, priority High, label \"work\"" + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/todo/es.json b/apps/manacore/apps/web/src/lib/i18n/locales/todo/es.json new file mode 100644 index 000000000..0ad8ca099 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/todo/es.json @@ -0,0 +1,181 @@ +{ + "title": "Tareas", + "tasks": "Tareas", + "completed": "completadas", + "overdue": "vencidas", + "today": "hoy", + "inbox": "Bandeja", + "todayView": "Hoy", + "upcoming": "Próximas", + "completedView": "Completadas", + "search": "Buscar", + "newTask": "Nueva tarea", + "quickAddPlaceholder": "ej. 'Reunión mañana a las 14h !alta #importante'", + "addTask": "Añadir", + "cancel": "Canc.", + "syntaxHelp": "Ayuda sintaxis", + "noTasks": "Sin tareas", + "noTasksInbox": "Bandeja vacía", + "noTasksToday": "Sin tareas para hoy", + "noTasksUpcoming": "Sin tareas próximas", + "noTasksCompleted": "Ninguna tarea completada", + "firstTaskHint": "Crea tu primera tarea con el botón + arriba.", + "edit": "Editar", + "markDone": "Completar", + "reopen": "Reabrir", + "deleteConfirm": "¿Eliminar?", + "yesDelete": "Sí, eliminar", + "save": "Guardar", + "close": "Cerrar", + "description": "Descripción", + "addDescription": "Añadir descripción...", + "subtasks": "Subtareas", + "addSubtask": "Añadir subtarea...", + "status": "Estado", + "statusPending": "Abierta", + "statusInProgress": "En curso", + "statusCompleted": "Completada", + "statusCancelled": "Cancelada", + "priority": "Prioridad", + "priorityUrgent": "Urgente", + "priorityHigh": "Alta", + "priorityMedium": "Media", + "priorityLow": "Baja", + "dueDate": "Vence", + "time": "Hora", + "startDate": "Inicio", + "recurrence": "Recurrencia", + "recurrenceNone": "Ninguna", + "recurrenceDaily": "Diario", + "recurrenceWeekly": "Semanal", + "recurrenceMonthly": "Mensual", + "recurrenceYearly": "Anual", + "reminder": "Recordatorio", + "reminderNone": "Ninguno", + "tags": "Tags", + "storypoints": "Puntos", + "duration": "Duración", + "fun": "Diversión", + "projects": "Proyectos", + "labels": "Etiquetas", + "sort": "Ordenar", + "sortManual": "Manual", + "sortDueDate": "Vencimiento", + "sortPriority": "Prioridad", + "sortName": "Nombre", + "sortCreated": "Creación", + "showCompleted": "Completadas", + "boardView": "Board", + "listView": "Lista", + "board": { + "new": "Nuevo board", + "edit": "Editar board", + "create": "Crear board", + "name": "Nombre del board...", + "groupBy": "Agrupar por", + "layout": "Diseño", + "columns": "Columnas", + "addColumn": "Columna", + "columnName": "Nombre de columna...", + "delete": "Eliminar", + "noTasks": "Sin tareas", + "groupStatus": "Estado", + "groupPriority": "Prioridad", + "groupDueDate": "Vencimiento", + "groupTag": "Tag", + "groupCustom": "Personalizado", + "layoutKanban": "Kanban", + "layoutGrid": "Cuadrícula", + "layoutFocus": "Enfoque" + }, + "settings": { + "title": "Ajustes Todo", + "taskBehavior": "Comportamiento de tareas", + "defaultPriority": "Prioridad por defecto", + "defaultDueTime": "Hora de vencimiento por defecto", + "autoArchive": "Auto-archivar (días)", + "viewDisplay": "Vista y presentación", + "defaultView": "Vista por defecto", + "compactMode": "Modo compacto", + "showTaskCounts": "Mostrar conteo de tareas", + "showSubtaskProgress": "Progreso de subtareas", + "groupByProject": "Agrupar por proyecto", + "kanbanSettings": "Board Kanban", + "cardSize": "Tamaño de tarjeta", + "cardSizeCompact": "Compacto", + "cardSizeNormal": "Normal", + "cardSizeLarge": "Grande", + "showLabelsOnCards": "Etiquetas en tarjetas", + "wipLimit": "Límite WIP por columna", + "notifications": "Notificaciones", + "defaultReminder": "Recordatorio por defecto", + "dailyDigest": "Resumen diario", + "overdueNotifications": "Notificaciones de vencimiento", + "smartDuration": "Duración inteligente", + "smartDurationEnabled": "Estimación de duración inteligente", + "defaultTaskDuration": "Duración por defecto (min)", + "productivity": "Productividad", + "focusMode": "Modo enfoque", + "pomodoro": "Pomodoro", + "dailyGoal": "Meta diaria", + "showStreak": "Mostrar racha", + "immersiveMode": "Modo inmersivo", + "reset": "Restablecer ajustes" + }, + "syntaxHelpContent": { + "title": "Sintaxis Quick-Add", + "date": "Fecha: hoy, mañana, próximo lunes, 15 dic", + "time": "Hora: a las 14h, 14:00", + "priority": "Prioridad: !alta, !baja, !urgente, !!!", + "labels": "Etiquetas: #importante #idea", + "duration": "Duración: 30min, 2h, 1.5 horas", + "recurrence": "Recurrencia: cada día, semanal", + "multi": "Múltiples: Tarea1, luego Tarea2", + "subtasks": "Subtareas: Título: item1, item2, item3" + }, + "onboarding": { + "welcome": "¡Bienvenido a Todo!", + "intro": "Tu planificador de tareas personal con boards Kanban, entrada inteligente y más.", + "step1Title": "Lenguaje natural", + "step1": "Crea tareas como \"Reunión mañana a las 14h !alta #trabajo\" — fecha, prioridad y etiquetas se detectan automáticamente.", + "step2Title": "Boards Kanban", + "step2": "Organiza tus tareas visualmente con diferentes vistas: estado, prioridad o personalizado.", + "step3Title": "¡Vamos!", + "step3": "Crea tu primera tarea con el botón +. Los consejos están disponibles en el icono ?.", + "next": "Siguiente", + "letsGo": "¡Vamos!", + "getStarted": "Empezar" + }, + "syntaxHelp": { + "title": "Sintaxis Quick-Add", + "description": "Usa lenguaje natural para crear tareas rápidamente.", + "date": "Fecha", + "dateToday": "Hoy", + "dateTomorrow": "Mañana", + "dateNextWeekday": "Próximo día", + "dateSpecific": "Fecha específica", + "time": "Hora", + "priority": "Prioridad", + "priorityUrgent": "Urgente", + "priorityHigh": "Alta", + "priorityLow": "Baja", + "labels": "Etiquetas", + "labelsAdd": "Añadir tags", + "duration": "Duración", + "duration30m": "30 minutos", + "duration2h": "2 horas", + "duration90m": "90 minutos", + "recurrence": "Recurrencia", + "recurrenceDaily": "Diario", + "recurrenceWeekly": "Semanal", + "recurrenceMonthly": "Mensual", + "multiTask": "Múltiples tareas", + "multiTaskChain": "Encadenar tareas", + "multiTaskSemicolon": "Separar con punto y coma", + "subtasks": "Subtareas", + "subtasksColonComma": "Dos puntos + coma", + "exampleTitle": "Ejemplo", + "exampleInput": "Reunión mañana a las 14h 1h !alta #trabajo", + "exampleOutput": "→ \"Reunión\" mañana a las 14:00, duración 1h, prioridad Alta, etiqueta \"trabajo\"" + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/todo/fr.json b/apps/manacore/apps/web/src/lib/i18n/locales/todo/fr.json new file mode 100644 index 000000000..b9188ff79 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/todo/fr.json @@ -0,0 +1,181 @@ +{ + "title": "Tâches", + "tasks": "Tâches", + "completed": "terminées", + "overdue": "en retard", + "today": "aujourd'hui", + "inbox": "Boîte de réception", + "todayView": "Aujourd'hui", + "upcoming": "À venir", + "completedView": "Terminées", + "search": "Recherche", + "newTask": "Nouvelle tâche", + "quickAddPlaceholder": "ex. 'Réunion demain à 14h !haute #important'", + "addTask": "Ajouter", + "cancel": "Ann.", + "syntaxHelp": "Aide syntaxe", + "noTasks": "Aucune tâche", + "noTasksInbox": "Boîte de réception vide", + "noTasksToday": "Aucune tâche aujourd'hui", + "noTasksUpcoming": "Aucune tâche à venir", + "noTasksCompleted": "Aucune tâche terminée", + "firstTaskHint": "Créez votre première tâche avec le bouton + ci-dessus.", + "edit": "Modifier", + "markDone": "Terminer", + "reopen": "Rouvrir", + "deleteConfirm": "Vraiment supprimer ?", + "yesDelete": "Oui, supprimer", + "save": "Enregistrer", + "close": "Fermer", + "description": "Description", + "addDescription": "Ajouter une description...", + "subtasks": "Sous-tâches", + "addSubtask": "Ajouter une sous-tâche...", + "status": "Statut", + "statusPending": "Ouvert", + "statusInProgress": "En cours", + "statusCompleted": "Terminé", + "statusCancelled": "Annulé", + "priority": "Priorité", + "priorityUrgent": "Urgent", + "priorityHigh": "Haute", + "priorityMedium": "Moyenne", + "priorityLow": "Basse", + "dueDate": "Échéance", + "time": "Heure", + "startDate": "Début", + "recurrence": "Récurrence", + "recurrenceNone": "Aucune", + "recurrenceDaily": "Quotidien", + "recurrenceWeekly": "Hebdomadaire", + "recurrenceMonthly": "Mensuel", + "recurrenceYearly": "Annuel", + "reminder": "Rappel", + "reminderNone": "Aucun", + "tags": "Tags", + "storypoints": "Points", + "duration": "Durée", + "fun": "Fun", + "projects": "Projets", + "labels": "Labels", + "sort": "Tri", + "sortManual": "Manuel", + "sortDueDate": "Échéance", + "sortPriority": "Priorité", + "sortName": "Nom", + "sortCreated": "Création", + "showCompleted": "Terminées", + "boardView": "Board", + "listView": "Liste", + "board": { + "new": "Nouveau board", + "edit": "Modifier le board", + "create": "Créer un board", + "name": "Nom du board...", + "groupBy": "Grouper par", + "layout": "Disposition", + "columns": "Colonnes", + "addColumn": "Colonne", + "columnName": "Nom de colonne...", + "delete": "Supprimer", + "noTasks": "Aucune tâche", + "groupStatus": "Statut", + "groupPriority": "Priorité", + "groupDueDate": "Échéance", + "groupTag": "Tag", + "groupCustom": "Personnalisé", + "layoutKanban": "Kanban", + "layoutGrid": "Grille", + "layoutFocus": "Focus" + }, + "settings": { + "title": "Paramètres Todo", + "taskBehavior": "Comportement des tâches", + "defaultPriority": "Priorité par défaut", + "defaultDueTime": "Heure d'échéance par défaut", + "autoArchive": "Auto-archivage (jours)", + "viewDisplay": "Vue et affichage", + "defaultView": "Vue par défaut", + "compactMode": "Mode compact", + "showTaskCounts": "Afficher le nombre de tâches", + "showSubtaskProgress": "Progrès des sous-tâches", + "groupByProject": "Grouper par projet", + "kanbanSettings": "Board Kanban", + "cardSize": "Taille des cartes", + "cardSizeCompact": "Compact", + "cardSizeNormal": "Normal", + "cardSizeLarge": "Grand", + "showLabelsOnCards": "Labels sur les cartes", + "wipLimit": "Limite WIP par colonne", + "notifications": "Notifications", + "defaultReminder": "Rappel par défaut", + "dailyDigest": "Résumé quotidien", + "overdueNotifications": "Notifications de retard", + "smartDuration": "Durée intelligente", + "smartDurationEnabled": "Estimation de durée intelligente", + "defaultTaskDuration": "Durée par défaut (min)", + "productivity": "Productivité", + "focusMode": "Mode focus", + "pomodoro": "Pomodoro", + "dailyGoal": "Objectif quotidien", + "showStreak": "Afficher la série", + "immersiveMode": "Mode immersif", + "reset": "Réinitialiser les paramètres" + }, + "syntaxHelpContent": { + "title": "Syntaxe Quick-Add", + "date": "Date : aujourd'hui, demain, lundi prochain, 15 déc", + "time": "Heure : à 14h, 14:00", + "priority": "Priorité : !haute, !basse, !urgent, !!!", + "labels": "Labels : #important #idée", + "duration": "Durée : 30min, 2h, 1.5 heures", + "recurrence": "Récurrence : chaque jour, hebdomadaire", + "multi": "Multiples : Tâche1, puis Tâche2", + "subtasks": "Sous-tâches : Titre : item1, item2, item3" + }, + "onboarding": { + "welcome": "Bienvenue dans Todo !", + "intro": "Votre planificateur de tâches personnel avec boards Kanban, saisie intelligente et plus.", + "step1Title": "Langage naturel", + "step1": "Créez des tâches comme \"Réunion demain à 14h !haute #travail\" — date, priorité et labels sont détectés automatiquement.", + "step2Title": "Boards Kanban", + "step2": "Organisez vos tâches visuellement avec différentes vues : statut, priorité ou personnalisé.", + "step3Title": "C'est parti !", + "step3": "Créez votre première tâche avec le bouton +. Des astuces sont disponibles via l'icône ?.", + "next": "Suivant", + "letsGo": "C'est parti", + "getStarted": "Commencer" + }, + "syntaxHelp": { + "title": "Syntaxe Quick-Add", + "description": "Utilisez le langage naturel pour créer rapidement des tâches.", + "date": "Date", + "dateToday": "Aujourd'hui", + "dateTomorrow": "Demain", + "dateNextWeekday": "Prochain jour", + "dateSpecific": "Date spécifique", + "time": "Heure", + "priority": "Priorité", + "priorityUrgent": "Urgent", + "priorityHigh": "Haute", + "priorityLow": "Basse", + "labels": "Labels", + "labelsAdd": "Ajouter des tags", + "duration": "Durée", + "duration30m": "30 minutes", + "duration2h": "2 heures", + "duration90m": "90 minutes", + "recurrence": "Récurrence", + "recurrenceDaily": "Quotidien", + "recurrenceWeekly": "Hebdomadaire", + "recurrenceMonthly": "Mensuel", + "multiTask": "Tâches multiples", + "multiTaskChain": "Enchaîner les tâches", + "multiTaskSemicolon": "Séparer par point-virgule", + "subtasks": "Sous-tâches", + "subtasksColonComma": "Deux-points + virgule", + "exampleTitle": "Exemple", + "exampleInput": "Réunion demain à 14h 1h !haute #travail", + "exampleOutput": "→ \"Réunion\" demain à 14:00, durée 1h, priorité Haute, label \"travail\"" + } +} diff --git a/apps/manacore/apps/web/src/lib/i18n/locales/todo/it.json b/apps/manacore/apps/web/src/lib/i18n/locales/todo/it.json new file mode 100644 index 000000000..98295f5a6 --- /dev/null +++ b/apps/manacore/apps/web/src/lib/i18n/locales/todo/it.json @@ -0,0 +1,181 @@ +{ + "title": "Attività", + "tasks": "Attività", + "completed": "completate", + "overdue": "scadute", + "today": "oggi", + "inbox": "In arrivo", + "todayView": "Oggi", + "upcoming": "In arrivo", + "completedView": "Completate", + "search": "Cerca", + "newTask": "Nuova attività", + "quickAddPlaceholder": "es. 'Riunione domani alle 14 !alta #importante'", + "addTask": "Aggiungi", + "cancel": "Ann.", + "syntaxHelp": "Aiuto sintassi", + "noTasks": "Nessuna attività", + "noTasksInbox": "Posta in arrivo vuota", + "noTasksToday": "Nessuna attività per oggi", + "noTasksUpcoming": "Nessuna attività in arrivo", + "noTasksCompleted": "Nessuna attività completata", + "firstTaskHint": "Crea la tua prima attività con il pulsante + qui sopra.", + "edit": "Modifica", + "markDone": "Completa", + "reopen": "Riapri", + "deleteConfirm": "Eliminare davvero?", + "yesDelete": "Sì, elimina", + "save": "Salva", + "close": "Chiudi", + "description": "Descrizione", + "addDescription": "Aggiungi descrizione...", + "subtasks": "Sotto-attività", + "addSubtask": "Aggiungi sotto-attività...", + "status": "Stato", + "statusPending": "Aperta", + "statusInProgress": "In corso", + "statusCompleted": "Completata", + "statusCancelled": "Annullata", + "priority": "Priorità", + "priorityUrgent": "Urgente", + "priorityHigh": "Alta", + "priorityMedium": "Media", + "priorityLow": "Bassa", + "dueDate": "Scadenza", + "time": "Ora", + "startDate": "Inizio", + "recurrence": "Ricorrenza", + "recurrenceNone": "Nessuna", + "recurrenceDaily": "Giornaliero", + "recurrenceWeekly": "Settimanale", + "recurrenceMonthly": "Mensile", + "recurrenceYearly": "Annuale", + "reminder": "Promemoria", + "reminderNone": "Nessuno", + "tags": "Tag", + "storypoints": "Punti", + "duration": "Durata", + "fun": "Divertimento", + "projects": "Progetti", + "labels": "Etichette", + "sort": "Ordina", + "sortManual": "Manuale", + "sortDueDate": "Scadenza", + "sortPriority": "Priorità", + "sortName": "Nome", + "sortCreated": "Creazione", + "showCompleted": "Completate", + "boardView": "Board", + "listView": "Lista", + "board": { + "new": "Nuovo board", + "edit": "Modifica board", + "create": "Crea board", + "name": "Nome del board...", + "groupBy": "Raggruppa per", + "layout": "Layout", + "columns": "Colonne", + "addColumn": "Colonna", + "columnName": "Nome colonna...", + "delete": "Elimina", + "noTasks": "Nessuna attività", + "groupStatus": "Stato", + "groupPriority": "Priorità", + "groupDueDate": "Scadenza", + "groupTag": "Tag", + "groupCustom": "Personalizzato", + "layoutKanban": "Kanban", + "layoutGrid": "Griglia", + "layoutFocus": "Focus" + }, + "settings": { + "title": "Impostazioni Todo", + "taskBehavior": "Comportamento attività", + "defaultPriority": "Priorità predefinita", + "defaultDueTime": "Ora di scadenza predefinita", + "autoArchive": "Auto-archiviazione (giorni)", + "viewDisplay": "Vista e visualizzazione", + "defaultView": "Vista predefinita", + "compactMode": "Modalità compatta", + "showTaskCounts": "Mostra conteggio attività", + "showSubtaskProgress": "Progresso sotto-attività", + "groupByProject": "Raggruppa per progetto", + "kanbanSettings": "Board Kanban", + "cardSize": "Dimensione scheda", + "cardSizeCompact": "Compatta", + "cardSizeNormal": "Normale", + "cardSizeLarge": "Grande", + "showLabelsOnCards": "Etichette sulle schede", + "wipLimit": "Limite WIP per colonna", + "notifications": "Notifiche", + "defaultReminder": "Promemoria predefinito", + "dailyDigest": "Riepilogo giornaliero", + "overdueNotifications": "Notifiche scadenze", + "smartDuration": "Durata intelligente", + "smartDurationEnabled": "Stima durata intelligente", + "defaultTaskDuration": "Durata predefinita (min)", + "productivity": "Produttività", + "focusMode": "Modalità focus", + "pomodoro": "Pomodoro", + "dailyGoal": "Obiettivo giornaliero", + "showStreak": "Mostra serie", + "immersiveMode": "Modalità immersiva", + "reset": "Ripristina impostazioni" + }, + "syntaxHelpContent": { + "title": "Sintassi Quick-Add", + "date": "Data: oggi, domani, prossimo lunedì, 15 dic", + "time": "Ora: alle 14, 14:00", + "priority": "Priorità: !alta, !bassa, !urgente, !!!", + "labels": "Etichette: #importante #idea", + "duration": "Durata: 30min, 2h, 1.5 ore", + "recurrence": "Ricorrenza: ogni giorno, settimanale", + "multi": "Multiple: Attività1, poi Attività2", + "subtasks": "Sotto-attività: Titolo: item1, item2, item3" + }, + "onboarding": { + "welcome": "Benvenuto in Todo!", + "intro": "Il tuo pianificatore personale con board Kanban, inserimento intelligente e altro.", + "step1Title": "Linguaggio naturale", + "step1": "Crea attività come \"Riunione domani alle 14 !alta #lavoro\" — data, priorità ed etichette vengono rilevate automaticamente.", + "step2Title": "Board Kanban", + "step2": "Organizza le tue attività visivamente con diverse viste: stato, priorità o personalizzato.", + "step3Title": "Iniziamo!", + "step3": "Crea la tua prima attività con il pulsante +. I suggerimenti sono disponibili tramite l'icona ?.", + "next": "Avanti", + "letsGo": "Iniziamo", + "getStarted": "Inizia" + }, + "syntaxHelp": { + "title": "Sintassi Quick-Add", + "description": "Usa il linguaggio naturale per creare attività rapidamente. Tutti i pattern vengono rilevati automaticamente.", + "date": "Data", + "dateToday": "Oggi", + "dateTomorrow": "Domani", + "dateNextWeekday": "Prossimo giorno feriale", + "dateSpecific": "Data specifica", + "time": "Ora", + "priority": "Priorità", + "priorityUrgent": "Urgente", + "priorityHigh": "Alta", + "priorityLow": "Bassa", + "labels": "Etichette", + "labelsAdd": "Aggiungi tag", + "duration": "Durata", + "duration30m": "30 minuti", + "duration2h": "2 ore", + "duration90m": "90 minuti", + "recurrence": "Ricorrenza", + "recurrenceDaily": "Giornaliero", + "recurrenceWeekly": "Settimanale", + "recurrenceMonthly": "Mensile", + "multiTask": "Attività multiple", + "multiTaskChain": "Concatena attività", + "multiTaskSemicolon": "Separa con punto e virgola", + "subtasks": "Sotto-attività", + "subtasksColonComma": "Due punti + virgola", + "exampleTitle": "Esempio", + "exampleInput": "Riunione domani alle 14 1h !alta #lavoro", + "exampleOutput": "→ \"Riunione\" domani alle 14:00, durata 1h, priorità Alta, etichetta \"lavoro\"" + } +}