Files
BloomFeed-RSS/lang/en/app.php
T

195 lines
10 KiB
PHP

<?php
return [
// Navigation
'articles' => 'Articles',
'catalog' => 'Catalog',
'my_feeds' => 'My feeds',
'settings' => 'Settings',
'logout' => 'Log out',
'change_theme' => 'Switch theme',
'language' => 'Language',
'self_hosting' => 'Self-hosting',
'login' => 'Log in',
'create_account' => 'Create an account',
'source_code' => 'Source code',
'footer_tagline' => 'BloomFeed — open-source, self-hosted project.',
'meta_description' => 'BloomFeed is a personal, self-hosted RSS aggregator with a built-in reader.',
// Home
'hero_eyebrow' => 'Self-hosted · Privacy first',
'hero_title' => 'Your RSS feeds, read in depth, without ever leaving BloomFeed.',
'hero_lede' => 'BloomFeed gathers your favorite feeds and extracts their full content on demand, right on your own server. No data ever sent to third parties.',
'how_to_self_host' => 'How to self-host it?',
'feature_feeds_title' => 'Your feeds, your way',
'feature_feeds_text' => 'Add any RSS or Atom feed, organize them and keep track of your unread items at a glance.',
'feature_reader_title' => 'Built-in deep reader',
'feature_reader_text' => 'BloomFeed fetches the source page, extracts the main content and displays it cleanly — no more juggling ten tabs.',
'feature_home_title' => 'Your home, your rules',
'feature_home_text' => 'One BloomFeed instance = one owner. No public sign-ups by default, no tracking, your server, your data.',
'screenshots_title' => 'See it in action',
'screenshots_lede' => 'A quick look at the dashboard, the built-in reader, the feed catalog and the notifiers screen.',
'screenshot_dashboard' => 'Dashboard',
'screenshot_dark' => 'Dark mode',
'screenshot_reader' => 'Built-in reader',
'screenshot_catalog' => 'One-click feed catalog',
'screenshot_notifiers' => 'Discord & webhook notifiers',
'badge_self_hosted' => 'Self-hosted',
'badge_open_source' => 'Open-source',
'badge_mit_license' => 'MIT license',
'badge_four_languages' => '4 languages',
'feature_multiuser_title' => 'Built for your household',
'feature_multiuser_text' => 'Invite the people you trust with a direct account, or open registrations for a while — everyone keeps their own feeds, reads and notifiers.',
// Authentication
'login_title' => 'Log in',
'login_subtitle' => 'Access your feeds and your reading list',
'email' => 'Email address',
'password' => 'Password',
'confirm_password' => 'Confirm password',
'name' => 'Name',
'no_account_yet' => 'No account yet?',
'already_account' => 'Already have an account?',
'register_owner_title' => 'Set up your instance',
'register_owner_subtitle' => 'This account will be the owner of this BloomFeed instance',
'register_title' => 'Create an account',
'register_subtitle' => 'Join this BloomFeed instance',
'register_button' => 'Create my account',
'registrations_closed' => 'Registrations are closed on this instance. Please log in.',
'invalid_credentials' => 'These credentials do not match any account.',
// Dashboard
'latest_articles' => 'Latest articles',
'unread_only' => 'Unread only',
'show_all' => 'Show all',
'empty_no_feeds' => 'Add your first RSS feed from the sidebar to get started.',
'empty_no_articles' => 'No articles yet. Try refreshing your feeds.',
// Sidebar
'feeds_label' => 'Feeds',
'all_articles' => 'All articles',
'add_feed' => 'Add a feed',
'add' => 'Add',
'refresh_all' => 'Refresh all',
'manage_feeds' => 'Manage my feeds',
'feed_url_placeholder' => 'https://example.com/rss.xml',
// Feed management
'custom_title_optional' => 'Custom title (optional)',
'articles_count' => ':count article(s)',
'refreshed_ago' => 'refreshed :time',
'refresh' => 'Refresh',
'delete' => 'Delete',
'confirm_delete_feed' => 'Delete this feed and all its articles?',
'no_feeds_yet' => "You haven't added any feeds yet.",
'feed_added' => 'Feed added with :count article(s).',
'feed_added_error' => 'Feed added, but the first fetch failed: :error',
'feed_deleted' => 'Feed deleted.',
'refresh_failed' => 'Fetch failed: :error',
'new_articles' => ':count new article(s).',
'new_articles_across' => ':count new article(s) across :feeds feeds.',
// Reader
'back_to_articles' => 'Back to articles',
'view_original' => 'View original source',
'fetch_error' => 'Could not fetch the full content of this article (:error).',
'retry' => 'Retry',
'fetching' => 'Fetching content…',
// Catalog
'catalog_title' => 'Feed catalog',
'catalog_lede' => 'A curated selection of RSS feeds shipped with BloomFeed — add them to your collection in one click.',
'search_placeholder' => 'Search feeds… (name, description, category)',
'all' => 'All',
'added' => 'Added',
'catalog_empty' => 'The catalog is empty for now.',
'no_match' => 'No feed matches your search.',
// Settings
'settings_title' => 'Instance settings',
'registrations_section' => 'Public registrations',
'registrations_desc' => 'Allow any visitor to create an account on this instance from the login page.',
'registrations_state_open' => 'Registrations are currently open.',
'registrations_state_closed' => 'Registrations are currently closed.',
'open_registrations' => 'Open registrations',
'close_registrations' => 'Close registrations',
'registrations_now_open' => 'Registrations are now open.',
'registrations_now_closed' => 'Registrations are now closed.',
'create_user_section' => 'Create an account',
'create_user_desc' => 'Create an account directly for someone you trust, without opening public registrations.',
'user_created' => 'Account created.',
'users_section' => 'Existing accounts',
'owner_badge' => 'Owner',
// Self-hosting page
'selfhost_title' => 'Self-host BloomFeed',
'selfhost_intro' => 'BloomFeed is designed to run on your own server, for you (or your household). Everything runs in Docker: the application, the scheduler and the MariaDB database.',
'prereq_title' => 'Prerequisites',
'prereq_docker' => 'A Linux server with Docker and the Docker Compose plugin.',
'prereq_port' => 'Port 7081 available (configurable in docker-compose.yml).',
'prereq_proxy' => 'Optional: a domain name and a reverse proxy if you want HTTPS.',
'install_title' => 'Installation',
'install_step_clone' => 'Clone the repository on your server.',
'install_step_script' => 'Run the deployment script:',
'install_env_note' => 'It automatically creates a .env file (from .env.example) and generates random secrets (APP_KEY, database passwords) when missing — they are never regenerated on subsequent deployments.',
'install_step_containers' => 'The script builds the images and starts the containers (application, scheduler, MariaDB).',
'install_step_owner' => 'Open http://your-server:7081 and create the owner account — registrations close automatically afterwards.',
'config_title' => 'Configuration',
'config_registrations' => 'From the Settings menu, the owner account can directly create accounts for trusted people, or open/close public registrations with one click.',
'config_language' => 'The interface is available in French, English, Spanish and German — each user picks their language from the selector at the top of the page.',
'config_catalog' => 'The built-in feed catalog can be customized by editing resources/data/bloomflux.json and redeploying.',
'update_title' => 'Update',
'update_text' => 'Simply re-run the deployment script: it pulls the latest changes and rebuilds the stack without touching your data.',
'uninstall_title' => 'Uninstall',
'uninstall_text' => 'The uninstall.sh script cleanly stops and removes the Docker stack. It asks for explicit confirmation before deleting your data and never removes the source code without a separate confirmation.',
'source_title' => 'Source code',
// Catalog sources & language filter
'all_languages' => 'All languages',
'catalog_sources_section' => 'Catalog sources',
'catalog_sources_desc' => 'Add more feed catalogs by providing the raw URL of a bloomflux.json file hosted in another git repository. Feeds are merged with the built-in catalog, and the last known copy is served if the source is unreachable.',
'source_url_label' => 'URL of the bloomflux.json file',
'add_source' => 'Add source',
'remove' => 'Remove',
'source_added' => 'Source added (:count feeds).',
'source_already_added' => 'This source is already registered.',
'source_removed' => 'Source removed.',
'source_invalid' => 'Could not read this source (a valid bloomflux.json file is expected).',
'no_sources' => 'No external sources yet.',
// Notifiers
'notifiers' => 'Notifiers',
'notifiers_lede' => 'Get a Discord alert or a generic webhook call whenever a new article arrives on your feeds. Each user manages their own notifiers.',
'new_notifier' => 'New notifier',
'notifier_type' => 'Type',
'generic_webhook' => 'Generic webhook',
'notifier_name' => 'Name',
'notifier_name_placeholder' => 'e.g. Discord #news',
'notifier_url' => 'Webhook URL',
'notifier_scope' => 'Scope',
'scope_all' => 'All my feeds',
'scope_feeds' => 'Specific feeds',
'scope_feeds_pick' => 'Choose feeds',
'scope_feeds_list' => 'Feeds: :feeds',
'no_feeds_selected' => 'no feed selected',
'add_notifier' => 'Add notifier',
'your_notifiers' => 'Your notifiers',
'no_notifiers_yet' => "You haven't configured any notifier yet.",
'disabled' => 'disabled',
'send_test' => 'Test',
'enable' => 'Enable',
'disable' => 'Disable',
'confirm_delete_notifier' => 'Delete this notifier?',
'edit' => 'Edit',
'save' => 'Save',
'last_triggered' => 'triggered :time',
'notifier_created' => 'Notifier created.',
'notifier_updated' => 'Notifier updated.',
'notifier_deleted' => 'Notifier deleted.',
'notifier_test_ok' => 'Test notification sent successfully.',
'notifier_test_failed' => 'Failed to send the test notification — check the URL.',
'reset_title' => 'Reset',
'reset_text' => 'The reset.sh script wipes the instance back to a blank state (accounts, feeds, articles, notifiers) without touching the source code, .env or Docker images — useful to start over on a clean instance.',
];