182 lines
10 KiB
PHP
182 lines
10 KiB
PHP
<?php
|
|
|
|
return [
|
|
// Navigation
|
|
'articles' => 'Artikel',
|
|
'catalog' => 'Katalog',
|
|
'my_feeds' => 'Meine Feeds',
|
|
'settings' => 'Einstellungen',
|
|
'logout' => 'Abmelden',
|
|
'change_theme' => 'Design wechseln',
|
|
'language' => 'Sprache',
|
|
'self_hosting' => 'Self-Hosting',
|
|
'login' => 'Anmelden',
|
|
'create_account' => 'Konto erstellen',
|
|
'source_code' => 'Quellcode',
|
|
'footer_tagline' => 'BloomFeed — Open-Source-Projekt, selbst gehostet.',
|
|
'meta_description' => 'BloomFeed ist ein persönlicher, selbst gehosteter RSS-Aggregator mit integriertem Reader.',
|
|
|
|
// Startseite
|
|
'hero_eyebrow' => 'Selbst gehostet · Privatsphäre',
|
|
'hero_title' => 'Deine RSS-Feeds, gründlich gelesen, ohne BloomFeed je zu verlassen.',
|
|
'hero_lede' => 'BloomFeed bündelt deine Lieblings-Feeds und extrahiert deren vollständigen Inhalt auf Abruf, direkt auf deinem eigenen Server. Keine Daten an Dritte.',
|
|
'how_to_self_host' => 'Wie hostet man es selbst?',
|
|
'feature_feeds_title' => 'Deine Feeds, dein Stil',
|
|
'feature_feeds_text' => 'Füge beliebige RSS- oder Atom-Feeds hinzu, organisiere sie und behalte Ungelesenes im Blick.',
|
|
'feature_reader_title' => 'Integrierter Reader',
|
|
'feature_reader_text' => 'BloomFeed ruft die Originalseite ab, extrahiert den Hauptinhalt und zeigt ihn sauber an — Schluss mit zehn offenen Tabs.',
|
|
'feature_home_title' => 'Bei dir, für dich',
|
|
'feature_home_text' => 'Eine BloomFeed-Instanz = ein Besitzer. Keine öffentlichen Registrierungen standardmäßig, kein Tracking, dein Server, deine Daten.',
|
|
|
|
// Authentifizierung
|
|
'login_title' => 'Anmelden',
|
|
'login_subtitle' => 'Zugriff auf deine Feeds und deine Lektüre',
|
|
'email' => 'E-Mail-Adresse',
|
|
'password' => 'Passwort',
|
|
'confirm_password' => 'Passwort bestätigen',
|
|
'name' => 'Name',
|
|
'no_account_yet' => 'Noch kein Konto?',
|
|
'already_account' => 'Bereits ein Konto?',
|
|
'register_owner_title' => 'Instanz einrichten',
|
|
'register_owner_subtitle' => 'Dieses Konto wird das Besitzerkonto dieser BloomFeed-Instanz',
|
|
'register_title' => 'Konto erstellen',
|
|
'register_subtitle' => 'Tritt dieser BloomFeed-Instanz bei',
|
|
'register_button' => 'Mein Konto erstellen',
|
|
'registrations_closed' => 'Registrierungen sind auf dieser Instanz geschlossen. Bitte melde dich an.',
|
|
'invalid_credentials' => 'Diese Zugangsdaten passen zu keinem Konto.',
|
|
|
|
// Übersicht
|
|
'latest_articles' => 'Neueste Artikel',
|
|
'unread_only' => 'Nur Ungelesene',
|
|
'show_all' => 'Alle anzeigen',
|
|
'empty_no_feeds' => 'Füge deinen ersten RSS-Feed über die Seitenleiste hinzu, um loszulegen.',
|
|
'empty_no_articles' => 'Noch keine Artikel. Aktualisiere deine Feeds.',
|
|
|
|
// Seitenleiste
|
|
'feeds_label' => 'Feeds',
|
|
'all_articles' => 'Alle Artikel',
|
|
'add_feed' => 'Feed hinzufügen',
|
|
'add' => 'Hinzufügen',
|
|
'refresh_all' => 'Alle aktualisieren',
|
|
'manage_feeds' => 'Meine Feeds verwalten',
|
|
'feed_url_placeholder' => 'https://beispiel.de/rss.xml',
|
|
|
|
// Feed-Verwaltung
|
|
'custom_title_optional' => 'Eigener Titel (optional)',
|
|
'articles_count' => ':count Artikel',
|
|
'refreshed_ago' => 'aktualisiert :time',
|
|
'refresh' => 'Aktualisieren',
|
|
'delete' => 'Löschen',
|
|
'confirm_delete_feed' => 'Diesen Feed und alle seine Artikel löschen?',
|
|
'no_feeds_yet' => 'Du hast noch keine Feeds hinzugefügt.',
|
|
'feed_added' => 'Feed mit :count Artikel(n) hinzugefügt.',
|
|
'feed_added_error' => 'Feed hinzugefügt, aber der erste Abruf schlug fehl: :error',
|
|
'feed_deleted' => 'Feed gelöscht.',
|
|
'refresh_failed' => 'Abruf fehlgeschlagen: :error',
|
|
'new_articles' => ':count neue(r) Artikel.',
|
|
'new_articles_across' => ':count neue(r) Artikel aus :feeds Feeds.',
|
|
|
|
// Reader
|
|
'back_to_articles' => 'Zurück zu den Artikeln',
|
|
'view_original' => 'Originalquelle ansehen',
|
|
'fetch_error' => 'Der vollständige Inhalt dieses Artikels konnte nicht abgerufen werden (:error).',
|
|
'retry' => 'Erneut versuchen',
|
|
'fetching' => 'Inhalt wird abgerufen…',
|
|
|
|
// Katalog
|
|
'catalog_title' => 'Feed-Katalog',
|
|
'catalog_lede' => 'Eine kuratierte Auswahl an RSS-Feeds, die mit BloomFeed mitgeliefert wird — mit einem Klick zu deiner Sammlung hinzufügen.',
|
|
'search_placeholder' => 'Feed suchen… (Name, Beschreibung, Kategorie)',
|
|
'all' => 'Alle',
|
|
'added' => 'Hinzugefügt',
|
|
'catalog_empty' => 'Der Katalog ist derzeit leer.',
|
|
'no_match' => 'Kein Feed entspricht deiner Suche.',
|
|
|
|
// Einstellungen
|
|
'settings_title' => 'Instanz-Einstellungen',
|
|
'registrations_section' => 'Öffentliche Registrierungen',
|
|
'registrations_desc' => 'Erlaubt jedem Besucher, über die Anmeldeseite ein Konto auf dieser Instanz zu erstellen.',
|
|
'registrations_state_open' => 'Registrierungen sind derzeit geöffnet.',
|
|
'registrations_state_closed' => 'Registrierungen sind derzeit geschlossen.',
|
|
'open_registrations' => 'Registrierungen öffnen',
|
|
'close_registrations' => 'Registrierungen schließen',
|
|
'registrations_now_open' => 'Registrierungen sind jetzt geöffnet.',
|
|
'registrations_now_closed' => 'Registrierungen sind jetzt geschlossen.',
|
|
'create_user_section' => 'Konto erstellen',
|
|
'create_user_desc' => 'Erstelle direkt ein Konto für eine vertraute Person, ohne öffentliche Registrierungen zu öffnen.',
|
|
'user_created' => 'Konto erstellt.',
|
|
'users_section' => 'Vorhandene Konten',
|
|
'owner_badge' => 'Besitzer',
|
|
|
|
// Self-Hosting-Seite
|
|
'selfhost_title' => 'BloomFeed selbst hosten',
|
|
'selfhost_intro' => 'BloomFeed ist dafür gemacht, auf deinem eigenen Server zu laufen — für dich (oder deinen Haushalt). Alles läuft in Docker: die Anwendung, der Scheduler und die MariaDB-Datenbank.',
|
|
'prereq_title' => 'Voraussetzungen',
|
|
'prereq_docker' => 'Ein Linux-Server mit Docker und dem Docker-Compose-Plugin.',
|
|
'prereq_port' => 'Port 7081 frei (konfigurierbar in docker-compose.yml).',
|
|
'prereq_proxy' => 'Optional: ein Domainname und ein Reverse Proxy für HTTPS.',
|
|
'install_title' => 'Installation',
|
|
'install_step_clone' => 'Klone das Repository auf deinen Server.',
|
|
'install_step_script' => 'Führe das Deployment-Skript aus:',
|
|
'install_env_note' => 'Es erstellt automatisch eine .env-Datei (aus .env.example) und generiert fehlende Zufallsgeheimnisse (APP_KEY, Datenbank-Passwörter) — sie werden bei späteren Deployments nie neu generiert.',
|
|
'install_step_containers' => 'Das Skript baut die Images und startet die Container (Anwendung, Scheduler, MariaDB).',
|
|
'install_step_owner' => 'Öffne http://dein-server:7081 und erstelle das Besitzerkonto — Registrierungen schließen sich danach automatisch.',
|
|
'config_title' => 'Konfiguration',
|
|
'config_registrations' => 'Über das Einstellungsmenü kann das Besitzerkonto direkt Konten für vertraute Personen erstellen oder öffentliche Registrierungen mit einem Klick öffnen/schließen.',
|
|
'config_language' => 'Die Oberfläche ist auf Französisch, Englisch, Spanisch und Deutsch verfügbar — jeder Nutzer wählt seine Sprache über den Selektor oben auf der Seite.',
|
|
'config_catalog' => 'Der integrierte Feed-Katalog lässt sich durch Bearbeiten von resources/data/bloomflux.json und erneutes Deployment anpassen.',
|
|
'update_title' => 'Aktualisieren',
|
|
'update_text' => 'Führe einfach das Deployment-Skript erneut aus: Es holt die neuesten Änderungen und baut den Stack neu, ohne deine Daten anzutasten.',
|
|
'uninstall_title' => 'Deinstallieren',
|
|
'uninstall_text' => 'Das Skript uninstall.sh stoppt und entfernt den Docker-Stack sauber. Es fragt vor dem Löschen deiner Daten explizit nach und entfernt den Quellcode nie ohne separate Bestätigung.',
|
|
'source_title' => 'Quellcode',
|
|
|
|
// Katalogquellen & Sprachfilter
|
|
'all_languages' => 'Alle Sprachen',
|
|
'catalog_sources_section' => 'Katalogquellen',
|
|
'catalog_sources_desc' => 'Füge weitere Feed-Kataloge hinzu, indem du die Raw-URL einer bloomflux.json-Datei aus einem anderen Git-Repository angibst. Die Feeds werden mit dem integrierten Katalog zusammengeführt; ist die Quelle nicht erreichbar, wird die letzte bekannte Kopie verwendet.',
|
|
'source_url_label' => 'URL der bloomflux.json-Datei',
|
|
'add_source' => 'Quelle hinzufügen',
|
|
'remove' => 'Entfernen',
|
|
'source_added' => 'Quelle hinzugefügt (:count Feeds).',
|
|
'source_already_added' => 'Diese Quelle ist bereits registriert.',
|
|
'source_removed' => 'Quelle entfernt.',
|
|
'source_invalid' => 'Diese Quelle konnte nicht gelesen werden (gültige bloomflux.json-Datei erwartet).',
|
|
'no_sources' => 'Noch keine externen Quellen.',
|
|
|
|
// Benachrichtigungen
|
|
'notifiers' => 'Benachrichtigungen',
|
|
'notifiers_lede' => 'Erhalte eine Discord-Benachrichtigung oder einen generischen Webhook-Aufruf, sobald ein neuer Artikel in deinen Feeds erscheint. Jeder Nutzer verwaltet seine eigenen Benachrichtigungen.',
|
|
'new_notifier' => 'Neue Benachrichtigung',
|
|
'notifier_type' => 'Typ',
|
|
'generic_webhook' => 'Generischer Webhook',
|
|
'notifier_name' => 'Name',
|
|
'notifier_name_placeholder' => 'z. B. Discord #news',
|
|
'notifier_url' => 'Webhook-URL',
|
|
'notifier_scope' => 'Umfang',
|
|
'scope_all' => 'Alle meine Feeds',
|
|
'scope_feeds' => 'Bestimmte Feeds',
|
|
'scope_feeds_pick' => 'Feeds auswählen',
|
|
'scope_feeds_list' => 'Feeds: :feeds',
|
|
'no_feeds_selected' => 'kein Feed ausgewählt',
|
|
'add_notifier' => 'Benachrichtigung hinzufügen',
|
|
'your_notifiers' => 'Deine Benachrichtigungen',
|
|
'no_notifiers_yet' => 'Du hast noch keine Benachrichtigung eingerichtet.',
|
|
'disabled' => 'deaktiviert',
|
|
'send_test' => 'Testen',
|
|
'enable' => 'Aktivieren',
|
|
'disable' => 'Deaktivieren',
|
|
'confirm_delete_notifier' => 'Diese Benachrichtigung löschen?',
|
|
'edit' => 'Bearbeiten',
|
|
'save' => 'Speichern',
|
|
'last_triggered' => 'ausgelöst :time',
|
|
'notifier_created' => 'Benachrichtigung erstellt.',
|
|
'notifier_updated' => 'Benachrichtigung aktualisiert.',
|
|
'notifier_deleted' => 'Benachrichtigung gelöscht.',
|
|
'notifier_test_ok' => 'Testbenachrichtigung erfolgreich gesendet.',
|
|
'notifier_test_failed' => 'Testbenachrichtigung konnte nicht gesendet werden — URL prüfen.',
|
|
|
|
'reset_title' => 'Zurücksetzen',
|
|
'reset_text' => 'Das Skript reset.sh setzt die Instanz auf einen leeren Zustand zurück (Konten, Feeds, Artikel, Benachrichtigungen), ohne Quellcode, .env oder Docker-Images anzutasten — nützlich, um mit einer sauberen Instanz neu zu starten.',
|
|
];
|