Spoke-Frontend-Audit: Fake-Inhalte raus, Newsletter-Rueckbau, echte Boersendaten, EN-Lokalisierung

Frontend-Umbau (Kevin, 06.07.2026), Ergebnis des businessportal24-Audits:

- Fake-Anzeigen und Mock-/Fallback-Daten entfernt (focus-ad, feed-ad,
  highlight-card, press-release-card, featured-releases, press-releases-grid);
  Sektionen rendern nur noch mit echten Daten oder gar nicht
- Newsletter-Strip und Newsletter-Box zurueckgebaut (Feature nachgelagert,
  vor Reaktivierung DOI-Flow noetig)
- Echte Boersendaten: MarketDataService (Yahoo-Finance-Quotes, config/market.php,
  Cache) + market:refresh alle 15 Min. im Scheduler; live-ticker blendet sich
  ohne Daten aus
- EN-Lokalisierung der Kern-Seiten via lang/de/web.php + lang/en/web.php;
  Carbon-Locale folgt app()->getLocale()
- Web-Tests auf den neuen Frontend-Stand nachgezogen (Suite: 993 gruen)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-06 13:36:23 +00:00
parent 3320aaaa85
commit bfad13af7d
67 changed files with 1735 additions and 1521 deletions

302
lang/en/web.php Normal file
View file

@ -0,0 +1,302 @@
<?php
/*
|--------------------------------------------------------------------------
| Web frontend (presseecho / businessportal24) — English edition
|--------------------------------------------------------------------------
*/
return [
'meta' => [
'home_title' => 'Latest press releases from business & industry – :brand',
'home_description' => 'Press releases from Germany, Austria and Switzerland. Quality-checked. Distributed in a structured way.',
],
'shared' => [
'yesterday' => 'Yesterday',
'read_time' => ':minutes min read',
'minutes_short' => ':minutes min',
'recommendation' => 'Recommended',
],
'countries' => [
'de' => 'Germany',
'at' => 'Austria',
'ch' => 'Switzerland',
],
'header' => [
'edition' => 'Edition',
'pricing' => 'Pricing',
'homepage' => 'Homepage',
'login' => 'Sign in',
'publish' => 'Publish',
'publish_aria' => 'Publish a press release',
'search_label' => 'Search press releases, companies, industries, ISIN',
'search_placeholder' => 'Press releases, companies, industries, ISIN…',
'search_open' => 'Open search',
'search_close' => 'Close search',
'search_eyebrow' => 'Search',
'search_title' => 'Search press releases',
'search_submit' => 'Search',
'advanced_search' => 'Advanced search',
'press' => 'Press',
'to_close' => 'to close',
],
'nav' => [
'home' => 'Home',
'menu' => 'Menu',
'aria_label' => 'Main navigation',
'open_menu' => 'Open main menu',
'section' => 'Section',
],
'ticker' => [
'aria_label' => 'Ad-hoc ticker',
'sr_intro' => 'Latest ad-hoc announcements:',
],
'hero' => [
'title' => 'In Focus',
'clock_format' => 'dddd, HH:mm',
'editorial_pick' => 'Top selection',
'top_story' => 'Top story',
'sidebar_title' => 'Also worth noting',
],
'feed' => [
'title' => 'Latest releases',
'filter_all' => 'All',
'filter_today' => 'Today',
'filter_week' => 'This week',
'empty' => 'There are no releases at the moment. As soon as press releases are published, they will appear here.',
'more' => 'Show :count more releases',
],
'most_read' => [
'title' => 'Most read',
],
'newsrooms' => [
'title' => 'Active newsrooms',
'today' => 'Today',
'count_suffix' => 'releases in the last 7 days',
'active_today' => 'active today',
'all' => 'View all newsrooms',
],
'spotlight' => [
'title' => 'In focus today',
'stat_window' => 'Releases (7 days)',
'stat_window_sub' => 'As of :date',
'stat_companies' => 'Active companies',
'stat_companies_sub' => 'in this industry',
'stat_archive' => 'In the archive',
'stat_archive_sub' => 'releases in total',
],
'industry_index' => [
'title' => 'Industry index',
'window' => 'Last 7 days',
'releases' => 'releases',
],
'publisher_cta' => [
'eyebrow' => 'For companies',
'title' => 'Publish your press release',
'subline' => 'Reach across the DACH region · Quality check · Structured distribution',
'submit' => 'Submit now',
'pricing' => 'View plans & packages',
],
'publish_band' => [
'eyebrow' => 'For companies',
'title' => 'Your press release, quality-checked and published',
'subline' => 'Sign up, submit your release, publish — with reach across the DACH region, your own newsroom and a permanently searchable archive.',
'cta_submit' => 'Publish a press release',
'cta_pricing' => 'Plans & pricing',
'footnote' => 'No subscription required · Quality check within 24 h on business days',
'step1_title' => 'Create an account',
'step1_text' => 'Takes about two minutes — one account for all portals, optionally passwordless via magic link.',
'step2_title' => 'Submit your release',
'step2_text' => 'Upload text, image and press contact — an automated quality check runs alongside.',
'step3_title' => 'Publish',
'step3_text' => 'Live after passing the quality check — including newsroom, category mapping and archive.',
],
'pricing_teaser' => [
'title' => 'Plans & packages',
'details' => 'All details',
'popular' => 'Popular',
'month' => 'month',
'year' => 'year',
'two_months_free' => '2 months free',
'quota' => 'press releases / month',
'daily_limit' => 'max. per day',
'no_daily_limit' => 'no daily limit',
'select' => 'Select',
'footnote' => 'All prices excl. VAT · Cancel anytime · Single releases available without a subscription.',
'publish_direct' => 'Publish directly',
],
'quality' => [
'eyebrow' => 'Our quality standard',
'claim' => 'Every press release goes through a quality check.',
'detail' => 'Minimum quality ensured by our content score — an automated assessment of source quality, verification status and content relevance.',
'guidelines' => 'Publishing guidelines',
],
'footer' => [
'sections' => 'Sections',
'newsrooms' => 'Newsrooms',
'for_companies' => 'For companies',
'publish' => 'Publish',
'pricing' => 'Plans & packages',
'company' => 'Company',
'contact' => 'Contact',
'help' => 'Help center',
'cancellation' => 'Cancel contracts here',
'imprint' => 'Imprint',
'privacy' => 'Privacy',
'terms' => 'Terms',
'guidelines' => 'Guidelines',
'report' => 'Report content',
],
'search' => [
'meta_title' => 'Search press releases – :brand',
'meta_description' => 'Search the quality-checked press release archive by keyword, company and industry – permanently discoverable across the DACH region.',
'eyebrow' => 'Archive search',
'intro' => 'Keyword, company or industry – search the complete, quality-checked archive.',
'placeholder' => 'Keyword, company or industry…',
'searching' => 'searching…',
'reset' => 'Reset search',
'all_categories' => 'All sections',
'results' => 'result|results',
'for_term' => 'for ":term"',
'sort' => 'Sort by',
'sort_newest' => 'Newest first',
'sort_oldest' => 'Oldest first',
'no_results' => 'No results',
'no_results_text' => 'There are currently no press releases matching your search. Try a different term or remove filters.',
'pagination' => 'Pagination',
'previous_page' => 'Previous page',
'next_page' => 'Next page',
'discover_title' => 'Search the archive',
'discover_text' => ':count reviewed press releases — searchable by keyword, company and industry. Enter a search term above or choose a section.',
'popular_categories' => 'Popular sections',
],
'newsrooms_page' => [
'meta_title' => 'Newsrooms – :brand',
'meta_description' => 'All active company newsrooms at a glance – quality-checked press releases per company, bundled and permanently discoverable across the DACH region.',
'eyebrow' => 'Company newsrooms',
'intro' => 'All active companies with their quality-checked press releases – bundled in one place.',
'stat_total_sub' => 'with published releases',
'stat_active' => 'Active (30 days)',
'stat_archive' => 'Releases in the archive',
'stat_archive_sub' => 'quality-checked',
'search_label' => 'Search newsrooms',
'search_placeholder' => 'Search companies…',
'reset_filter' => 'Reset filter',
'latest_release' => 'Latest release :date',
'days_30' => '30 days',
'none_found' => 'No newsrooms found',
'none_found_term' => 'There is currently no newsroom matching ":term". Try a different search term.',
'none_available' => 'There are currently no active newsrooms.',
'cta_eyebrow' => 'Your own newsroom',
'cta_title' => 'Bundle your press releases in your own newsroom.',
'cta_text' => 'Your own branded URL · all releases in one place · SEO benefit for your company · quality-checked.',
],
'newsroom_page' => [
'meta_description' => ':company newsroom: all quality-checked press releases bundled in one place.',
'back_aria' => 'Back to all newsrooms',
'all_newsrooms' => 'All newsrooms',
'recent_stat' => ':count releases in the last 30 days',
'since' => 'Newsroom since :year',
'industries' => 'Industries',
'last_30_days' => 'Last 30 days',
'published_releases' => 'published releases',
'total_hits' => 'Total views',
'total_hits_sub' => 'across all releases',
'latest' => 'Latest release',
'empty' => 'No further releases in this newsroom at the moment.',
'own_title' => 'Start your own newsroom',
'own_text' => 'Bundle all your press releases under your own branded URL – with logo, industry mapping and SEO benefit.',
'own_cta' => 'Create newsroom',
],
'category' => [
'fallback_name' => 'Industry',
'default_description' => 'Latest press releases from the :category sector – quality-checked and distributed across the DACH region.',
'meta_title' => ':category press releases – :brand',
'eyebrow' => 'Industry',
'back_aria' => 'Back to all releases',
'all_releases' => 'All releases',
'month_stat' => ':count releases in the last 30 days · :today on :date',
'sub_topics' => 'Subtopics',
'stat_today' => 'Releases today',
'vs_previous_week' => 'vs. previous week',
'last_7_days' => 'in the last 7 days',
'more_top' => 'More top stories',
'no_more_top' => 'No further top stories at the moment.',
'no_more_releases' => 'No further releases in this industry at the moment.',
'week_stat' => ':count releases in the last 7 days',
'search_archive' => 'Search the archive',
'empty_title' => 'No releases in :category yet',
'empty_text' => 'As soon as press releases are published in this industry, they will appear here.',
'sub_industries' => 'Sub-industries',
'volume_30_days' => 'volume last 30 days',
'trend_7_days' => '7-day trend',
'related' => 'Related industries',
'cta_eyebrow' => 'For companies in :category',
'cta_title' => 'Publish your press release directly in :category.',
'cta_text' => 'Reach via active newsrooms · Structured distribution across the DACH region · Quality-checked.',
'cta_submit' => 'Submit press release',
'cta_pricing' => 'View plans & industry packages',
],
'detail' => [
'breadcrumbs' => 'Breadcrumbs',
'press_release' => 'Press release',
'embargo_lifted' => 'Embargo lifted',
'audience' => 'For business journalists',
'time_at' => ':time',
'words' => ':count words',
'recommended' => 'Recommended',
'recommended_hint' => 'This press release achieves a high content score — based on source quality, verification status and content relevance.',
'image_placeholder' => 'Image · Press photo',
'image_placeholder_company' => 'Image · Press photo :company',
'photo' => 'Photo',
'about_company' => 'About the company',
'press_contact' => 'Press contact',
'verified_hint' => 'Verified publisher — identity and domain confirmed',
'verified_by' => 'Identity and domain confirmed by :brand',
'verified_publisher' => 'Verified publisher',
'published_by' => 'Published by',
'to_newsroom' => 'Visit newsroom',
'share' => 'Share',
'email' => 'Email',
'copy_link' => 'Copy link',
'copied' => 'Copied!',
'keywords' => 'Keywords',
'further' => 'Further options',
'print' => 'Print',
'report_release' => 'Report press release',
'privacy_rights' => 'Privacy & personal rights',
'legal_question' => 'Do you have a legal concern about this release?',
'report_content' => 'Report content',
'remove_data' => 'Remove my data',
'reports_free' => 'Reports are free of charge.',
'more_from' => 'More from :company',
'more_from_sub' => 'Latest releases from this newsroom',
'all_from' => 'All releases from :company',
'related' => 'Related releases',
'related_sub' => 'Reactions, similar topics, industry context',
'all_from_category' => 'All releases in :category',
],
];