193 lines
11 KiB
PHP
193 lines
11 KiB
PHP
<?php
|
|
|
|
return [
|
|
// Navigation
|
|
'articles' => 'Articles',
|
|
'catalog' => 'Catalogue',
|
|
'my_feeds' => 'Mes flux',
|
|
'settings' => 'Paramètres',
|
|
'logout' => 'Déconnexion',
|
|
'change_theme' => 'Changer de thème',
|
|
'language' => 'Langue',
|
|
'self_hosting' => 'Self-hosting',
|
|
'login' => 'Se connecter',
|
|
'create_account' => 'Créer un compte',
|
|
'source_code' => 'Code source',
|
|
'footer_tagline' => 'BloomFeed — projet open-source, auto-hébergé.',
|
|
'meta_description' => 'BloomFeed est un agrégateur RSS personnel et auto-hébergé, avec lecture approfondie intégrée.',
|
|
|
|
// Accueil
|
|
'hero_eyebrow' => 'Auto-hébergé · Vie privée',
|
|
'hero_title' => 'Vos flux RSS, lus en profondeur, sans jamais quitter BloomFeed.',
|
|
'hero_lede' => 'BloomFeed centralise vos flux préférés et en extrait le contenu complet à la demande, directement sur votre propre serveur. Aucune donnée envoyée à des tiers.',
|
|
'how_to_self_host' => "Comment l'auto-héberger ?",
|
|
'feature_feeds_title' => 'Flux personnalisés',
|
|
'feature_feeds_text' => "Ajoutez n'importe quel flux RSS ou Atom, organisez-les et suivez vos non-lus en un coup d'œil.",
|
|
'feature_reader_title' => 'Lecture approfondie intégrée',
|
|
'feature_reader_text' => "BloomFeed récupère la page source, en extrait le contenu principal et l'affiche proprement — plus besoin d'ouvrir dix onglets.",
|
|
'feature_home_title' => 'Chez vous, pour vous',
|
|
'feature_home_text' => "Une instance BloomFeed = un propriétaire. Pas d'inscriptions publiques par défaut, pas de tracking, votre serveur, vos données.",
|
|
'screenshots_title' => 'En images',
|
|
'screenshots_lede' => 'Un aperçu rapide du tableau de bord, du lecteur intégré, du catalogue de flux et de l’écran des notifieurs.',
|
|
'screenshot_dashboard' => 'Tableau de bord',
|
|
'screenshot_dark' => 'Mode sombre',
|
|
'screenshot_reader' => 'Lecteur intégré',
|
|
'screenshot_catalog' => 'Catalogue de flux en un clic',
|
|
'screenshot_notifiers' => 'Notifieurs Discord et webhook',
|
|
'badge_self_hosted' => 'Auto-hébergé',
|
|
'badge_open_source' => 'Open-source',
|
|
'badge_mit_license' => 'Licence MIT',
|
|
'badge_four_languages' => '4 langues',
|
|
|
|
// Authentification
|
|
'login_title' => 'Connexion',
|
|
'login_subtitle' => 'Accédez à vos flux et à votre lecture approfondie',
|
|
'email' => 'Adresse e-mail',
|
|
'password' => 'Mot de passe',
|
|
'confirm_password' => 'Confirmer le mot de passe',
|
|
'name' => 'Nom',
|
|
'no_account_yet' => 'Pas encore de compte ?',
|
|
'already_account' => 'Déjà un compte ?',
|
|
'register_owner_title' => 'Configurer votre instance',
|
|
'register_owner_subtitle' => 'Ce compte sera le compte propriétaire de cette instance BloomFeed',
|
|
'register_title' => 'Créer un compte',
|
|
'register_subtitle' => 'Rejoignez cette instance BloomFeed',
|
|
'register_button' => 'Créer mon compte',
|
|
'registrations_closed' => 'Les inscriptions sont fermées sur cette instance. Connectez-vous.',
|
|
'invalid_credentials' => 'Ces identifiants ne correspondent à aucun compte.',
|
|
|
|
// Tableau de bord
|
|
'latest_articles' => 'Derniers articles',
|
|
'unread_only' => 'Non lus uniquement',
|
|
'show_all' => 'Tout afficher',
|
|
'empty_no_feeds' => 'Ajoutez votre premier flux RSS depuis la barre latérale pour commencer.',
|
|
'empty_no_articles' => "Aucun article pour le moment. Essayez d'actualiser vos flux.",
|
|
|
|
// Barre latérale
|
|
'feeds_label' => 'Flux',
|
|
'all_articles' => 'Tous les articles',
|
|
'add_feed' => 'Ajouter un flux',
|
|
'add' => 'Ajouter',
|
|
'refresh_all' => 'Tout actualiser',
|
|
'manage_feeds' => 'Gérer mes flux',
|
|
'feed_url_placeholder' => 'https://exemple.com/rss.xml',
|
|
|
|
// Gestion des flux
|
|
'custom_title_optional' => 'Titre personnalisé (optionnel)',
|
|
'articles_count' => ':count article(s)',
|
|
'refreshed_ago' => 'actualisé :time',
|
|
'refresh' => 'Actualiser',
|
|
'delete' => 'Supprimer',
|
|
'confirm_delete_feed' => 'Supprimer ce flux et tous ses articles ?',
|
|
'no_feeds_yet' => "Vous n'avez pas encore ajouté de flux.",
|
|
'feed_added' => 'Flux ajouté avec :count article(s).',
|
|
'feed_added_error' => 'Flux ajouté, mais la première récupération a échoué : :error',
|
|
'feed_deleted' => 'Flux supprimé.',
|
|
'refresh_failed' => 'Échec de la récupération : :error',
|
|
'new_articles' => ':count nouvel(aux) article(s).',
|
|
'new_articles_across' => ':count nouvel(aux) article(s) sur :feeds flux.',
|
|
|
|
// Lecteur
|
|
'back_to_articles' => 'Retour aux articles',
|
|
'view_original' => 'Voir la source originale',
|
|
'fetch_error' => 'Impossible de récupérer le contenu complet de cet article (:error).',
|
|
'retry' => 'Réessayer',
|
|
'fetching' => 'Récupération du contenu en cours…',
|
|
|
|
// Catalogue
|
|
'catalog_title' => 'Catalogue de flux',
|
|
'catalog_lede' => 'Une sélection de flux RSS livrée avec BloomFeed — ajoutez-les à votre collection en un clic.',
|
|
'search_placeholder' => 'Rechercher un flux… (nom, description, catégorie)',
|
|
'all' => 'Tout',
|
|
'added' => 'Ajouté',
|
|
'catalog_empty' => 'Le catalogue est vide pour le moment.',
|
|
'no_match' => 'Aucun flux ne correspond à votre recherche.',
|
|
|
|
// Paramètres
|
|
'settings_title' => "Paramètres de l'instance",
|
|
'registrations_section' => 'Inscriptions publiques',
|
|
'registrations_desc' => "Autorise n'importe quel visiteur à créer un compte sur cette instance depuis la page de connexion.",
|
|
'registrations_state_open' => 'Les inscriptions sont actuellement ouvertes.',
|
|
'registrations_state_closed' => 'Les inscriptions sont actuellement fermées.',
|
|
'open_registrations' => 'Ouvrir les inscriptions',
|
|
'close_registrations' => 'Fermer les inscriptions',
|
|
'registrations_now_open' => 'Les inscriptions sont maintenant ouvertes.',
|
|
'registrations_now_closed' => 'Les inscriptions sont maintenant fermées.',
|
|
'create_user_section' => 'Créer un compte',
|
|
'create_user_desc' => 'Créez directement un compte pour un proche, sans ouvrir les inscriptions publiques.',
|
|
'user_created' => 'Compte créé.',
|
|
'users_section' => 'Comptes existants',
|
|
'owner_badge' => 'Propriétaire',
|
|
|
|
// Page self-hosting
|
|
'selfhost_title' => 'Auto-héberger BloomFeed',
|
|
'selfhost_intro' => "BloomFeed est pensé pour être installé sur votre propre serveur, pour vous (ou votre foyer). Tout tourne dans Docker : l'application, le planificateur et la base de données MariaDB.",
|
|
'prereq_title' => 'Prérequis',
|
|
'prereq_docker' => 'Un serveur Linux avec Docker et le plugin Docker Compose.',
|
|
'prereq_port' => 'Le port 7081 libre (modifiable dans docker-compose.yml).',
|
|
'prereq_proxy' => 'Optionnel : un nom de domaine et un reverse proxy si vous voulez du HTTPS.',
|
|
'install_title' => 'Installation',
|
|
'install_step_clone' => 'Clonez le dépôt sur votre serveur.',
|
|
'install_step_script' => 'Lancez le script de déploiement :',
|
|
'install_env_note' => "Il crée automatiquement un fichier .env (à partir de .env.example) et y génère des secrets aléatoires (APP_KEY, mots de passe de base de données) s'ils sont absents — ils ne sont jamais régénérés lors des déploiements suivants.",
|
|
'install_step_containers' => 'Le script construit les images et démarre les conteneurs (application, planificateur, MariaDB).',
|
|
'install_step_owner' => 'Ouvrez http://votre-serveur:7081 et créez le compte propriétaire — les inscriptions se referment ensuite automatiquement.',
|
|
'config_title' => 'Configuration',
|
|
'config_registrations' => "Depuis le menu Paramètres, le compte propriétaire peut créer directement des comptes pour ses proches, ou ouvrir/fermer les inscriptions publiques d'un clic.",
|
|
'config_language' => "L'interface est disponible en français, anglais, espagnol et allemand — chaque utilisateur choisit sa langue via le sélecteur en haut de page.",
|
|
'config_catalog' => "Le catalogue de flux intégré se personnalise en éditant resources/data/bloomflux.json puis en redéployant.",
|
|
'update_title' => 'Mettre à jour',
|
|
'update_text' => 'Relancez simplement le script de déploiement : il récupère les derniers changements et reconstruit la stack sans toucher à vos données.',
|
|
'uninstall_title' => 'Désinstaller',
|
|
'uninstall_text' => "Le script uninstall.sh arrête et supprime proprement la stack Docker. Il demande une confirmation explicite avant de supprimer vos données et ne supprime jamais le code source sans confirmation séparée.",
|
|
'source_title' => 'Code source',
|
|
|
|
// Sources de catalogue & filtre langue
|
|
'all_languages' => 'Toutes les langues',
|
|
'catalog_sources_section' => 'Sources du catalogue',
|
|
'catalog_sources_desc' => "Ajoutez d'autres catalogues de flux en indiquant l'URL brute (raw) d'un fichier bloomflux.json hébergé dans un autre dépôt git. Les flux sont fusionnés avec le catalogue intégré, et la dernière copie connue est servie si la source est injoignable.",
|
|
'source_url_label' => 'URL du fichier bloomflux.json',
|
|
'add_source' => 'Ajouter la source',
|
|
'remove' => 'Retirer',
|
|
'source_added' => 'Source ajoutée (:count flux).',
|
|
'source_already_added' => 'Cette source est déjà enregistrée.',
|
|
'source_removed' => 'Source retirée.',
|
|
'source_invalid' => 'Impossible de lire cette source (fichier bloomflux.json valide attendu).',
|
|
'no_sources' => 'Aucune source externe pour le moment.',
|
|
|
|
// Notifieurs
|
|
'notifiers' => 'Notifieurs',
|
|
'notifiers_lede' => 'Recevez une alerte Discord ou un webhook générique quand un nouvel article arrive sur vos flux. Chaque utilisateur gère ses propres notifieurs.',
|
|
'new_notifier' => 'Nouveau notifieur',
|
|
'notifier_type' => 'Type',
|
|
'generic_webhook' => 'Webhook générique',
|
|
'notifier_name' => 'Nom',
|
|
'notifier_name_placeholder' => 'Ex: Discord #actus',
|
|
'notifier_url' => "URL du webhook",
|
|
'notifier_scope' => 'Portée',
|
|
'scope_all' => 'Tous mes flux',
|
|
'scope_feeds' => 'Flux spécifiques',
|
|
'scope_feeds_pick' => 'Choisir les flux',
|
|
'scope_feeds_list' => 'Flux : :feeds',
|
|
'no_feeds_selected' => 'aucun flux sélectionné',
|
|
'add_notifier' => 'Ajouter le notifieur',
|
|
'your_notifiers' => 'Vos notifieurs',
|
|
'no_notifiers_yet' => "Vous n'avez pas encore configuré de notifieur.",
|
|
'disabled' => 'désactivé',
|
|
'send_test' => 'Tester',
|
|
'enable' => 'Activer',
|
|
'disable' => 'Désactiver',
|
|
'confirm_delete_notifier' => 'Supprimer ce notifieur ?',
|
|
'edit' => 'Modifier',
|
|
'save' => 'Enregistrer',
|
|
'last_triggered' => 'déclenché :time',
|
|
'notifier_created' => 'Notifieur créé.',
|
|
'notifier_updated' => 'Notifieur mis à jour.',
|
|
'notifier_deleted' => 'Notifieur supprimé.',
|
|
'notifier_test_ok' => 'Notification de test envoyée avec succès.',
|
|
'notifier_test_failed' => "Échec de l'envoi de la notification de test — vérifiez l'URL.",
|
|
|
|
'reset_title' => 'Réinitialiser',
|
|
'reset_text' => "Le script reset.sh remet l'instance à zéro (comptes, flux, articles, notifieurs) sans toucher au code, au .env ni aux images Docker — utile pour repartir sur une instance vierge.",
|
|
];
|