web: Wortwahl „automatisierte Prüfung“ statt „qualitätsgeprüft“

Decision-Update Bildrechte 3.6 / Plan D.6: keine Siegel- oder
Redaktionszusage. Startseiten-Meta, CTA, Veröffentlichen-Seite (DE/EN),
Preisseite, Dashboard. „Qualitätsgeprüft seit 2012“ war sachlich falsch →
„Im Archiv seit :year“. Wächtertest gegen Rückfälle (Roadmap 3.7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-10-09 13:35:54 +00:00
parent ccef83b952
commit ddff7dc989
8 changed files with 42 additions and 16 deletions

View file

@ -38,7 +38,7 @@ return [
'quota' => ':count Pressemitteilungen / Monat',
'daily_limit' => 'max. :count Veröffentlichungen / Tag',
'no_daily_limit' => 'Ohne Tageslimit',
'included' => 'Inhaltsprüfung & Veröffentlichung auf beiden Portalen inklusive',
'included' => 'Automatisierte Prüfung jeder Mitteilung vor der Veröffentlichung & Veröffentlichung auf beiden Portalen inklusive',
'cta' => 'Tarif wählen',
'popular' => 'Beliebt',
'empty' => 'Tarife werden in Kürze veröffentlicht.',
@ -50,7 +50,7 @@ return [
'single' => [
'eyebrow' => 'Ohne Abo',
'title' => 'Einzel-Pressemitteilung',
'description' => 'Genau eine Veröffentlichung inklusive Inhaltsprüfung. Bezahlt wird erst bei Veröffentlichung – abgelehnte Mitteilungen kosten nichts.',
'description' => 'Genau eine Veröffentlichung inklusive automatisierter Prüfung. Bezahlt wird erst bei Veröffentlichung – abgelehnte Mitteilungen kosten nichts.',
'price_suffix' => 'pro Veröffentlichung',
'net' => 'netto zzgl. USt.',
'cta' => 'Einzeln veröffentlichen',

View file

@ -488,16 +488,16 @@ return [
'publish' => [
'meta_title' => 'Pressemitteilung veröffentlichen – :brand',
'meta_description' => 'Pressemitteilungen geprüft veröffentlichen und dauerhaft auffindbar im Archiv. Faire Preise, keine Vertragsbindung – Einreichung über den zentralen Publisher-Bereich.',
'meta_description' => 'Pressemitteilungen nach automatisierter Prüfung veröffentlichen und dauerhaft auffindbar im Archiv. Faire Preise, keine Vertragsbindung – Einreichung über den zentralen Publisher-Bereich.',
'breadcrumb' => 'Veröffentlichen',
'quality_since' => 'Qualitätsgeprüft seit :year',
'quality_since' => 'Im Archiv seit :year',
'help_support' => 'Hilfe & Support',
'pricing' => 'Preise',
'eyebrow' => 'Pressestelle · Veröffentlichen',
'h1_line1' => 'Pressemitteilung veröffentlichen.',
'h1_line2' => 'Geprüft. Dauerhaft auffindbar.',
'hero_text' => ':brand ist die Presseplattform für mittelständische Unternehmen, Selbstständige und PR-Agenturen aus Deutschland, Österreich und der Schweiz. Jede Mitteilung wird auf Qualität geprüft und bleibt dauerhaft im Archiv auffindbar.',
'h1_line2' => 'Automatisiert geprüft. Dauerhaft auffindbar.',
'hero_text' => ':brand ist die Presseplattform für mittelständische Unternehmen, Selbstständige und PR-Agenturen aus Deutschland, Österreich und der Schweiz. Jede Mitteilung durchläuft vor der Veröffentlichung eine automatisierte Prüfung und bleibt dauerhaft im Archiv auffindbar.',
'hub_eyebrow' => 'Einreichen im Publisher-Bereich',
'hub_heading' => 'Die Einreichung läuft über den zentralen Publisher-Bereich.',

View file

@ -15,7 +15,7 @@ return [
'meta' => [
'home_title' => 'Aktuelle Pressemitteilungen aus Wirtschaft & Industrie – :brand',
'home_description' => 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Qualitätsgeprüft. Strukturiert distribuiert.',
'home_description' => 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Automatisiert geprüft. Strukturiert distribuiert.',
],
'shared' => [
@ -320,7 +320,7 @@ return [
'related' => 'Verwandte Branchen',
'cta_eyebrow' => 'Für Unternehmen aus :category',
'cta_title' => 'Veröffentlichen Sie Ihre Pressemitteilung gezielt in :category.',
'cta_text' => 'Reichweite über aktive Newsrooms · Strukturierte Distribution im DACH-Raum · Qualitätsgeprüft.',
'cta_text' => 'Reichweite über aktive Newsrooms · Strukturierte Distribution im DACH-Raum · Automatisiert geprüft.',
'cta_submit' => 'Pressemitteilung einreichen',
'cta_pricing' => 'Tarife & Branchen-Pakete ansehen',
],

View file

@ -35,7 +35,7 @@ return [
'quota' => ':count press releases / month',
'daily_limit' => 'max. :count publications / day',
'no_daily_limit' => 'No daily limit',
'included' => 'Content review & publication on both portals included',
'included' => 'Automated check of every release before publication & publication on both portals included',
'cta' => 'Choose plan',
'popular' => 'Popular',
'empty' => 'Plans will be published shortly.',
@ -46,7 +46,7 @@ return [
'single' => [
'eyebrow' => 'No subscription',
'title' => 'Single press release',
'description' => 'Exactly one publication including content review. You only pay on publication – rejected releases are free.',
'description' => 'Exactly one publication including an automated check. You only pay on publication – rejected releases are free.',
'price_suffix' => 'per publication',
'net' => 'net, plus VAT.',
'cta' => 'Publish a single release',

View file

@ -486,16 +486,16 @@ return [
'publish' => [
'meta_title' => 'Publish a press release – :brand',
'meta_description' => 'Publish quality-checked press releases, permanently discoverable in the archive. Fair prices, no lock-in – submission via the central publisher area.',
'meta_description' => 'Publish press releases after an automated check, permanently discoverable in the archive. Fair prices, no lock-in – submission via the central publisher area.',
'breadcrumb' => 'Publish',
'quality_since' => 'Quality-checked since :year',
'quality_since' => 'In the archive since :year',
'help_support' => 'Help & support',
'pricing' => 'Pricing',
'eyebrow' => 'Press office · Publish',
'h1_line1' => 'Publish a press release.',
'h1_line2' => 'Reviewed. Permanently discoverable.',
'hero_text' => ':brand is the press platform for mid-sized companies, self-employed professionals and PR agencies from Germany, Austria and Switzerland. Every release is quality-checked and remains permanently discoverable in the archive.',
'h1_line2' => 'Automatically checked. Permanently discoverable.',
'hero_text' => ':brand is the press platform for mid-sized companies, self-employed professionals and PR agencies from Germany, Austria and Switzerland. Every release goes through an automated check before publication and remains permanently discoverable in the archive.',
'hub_eyebrow' => 'Submit via the publisher area',
'hub_heading' => 'Submissions run through the central publisher area.',

View file

@ -443,7 +443,7 @@ new #[Layout('components.layouts.app'), Title('Mein Dashboard')] class extends C
class="px-5 py-3 border-t border-[color:var(--color-bg-rule)] flex items-center gap-2.5 text-[11.5px]
bg-[color:var(--color-bg-elev)] text-[color:var(--color-ink-3)]">
<flux:icon.shield-check class="size-[12px] text-[color:var(--color-hub)] flex-shrink-0" />
{{ __('Tipp: Geprüfte Mitteilungen erscheinen i. d. R. binnen') }}
{{ __('Tipp: Freigegebene Mitteilungen erscheinen i. d. R. binnen') }}
<strong class="font-semibold text-[color:var(--color-ink-2)]">{{ __('wenigen Minuten') }}</strong>
{{ __('auf den Portalen.') }}
</div>

View file

@ -40,7 +40,7 @@
? ($brand['meta_title'] ?? 'Aktuelle Pressemitteilungen aus der deutschen Wirtschaft – businessportal24')
: __('web.meta.home_title', ['brand' => ($brand['name'] ?? 'businessportal').($brand['accent'] ?? '')]))
@section('meta_description', app()->getLocale() === 'de'
? ($brand['meta_description'] ?? 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Qualitätsgeprüft. Strukturiert distribuiert.')
? ($brand['meta_description'] ?? 'Pressemitteilungen aus Deutschland, Österreich und der Schweiz. Automatisiert geprüft. Strukturiert distribuiert.')
: __('web.meta.home_description'))
@section('hreflang')

View file

@ -0,0 +1,26 @@
<?php
use Illuminate\Support\Facades\File;
/**
* Öffentliche Wortwahl zur Prüfung (Decision-Update Bildrechte 3.6, Plan D.6):
* Die Prüfung ist automatisiert — kein Qualitätssiegel, keine redaktionelle
* Zusage. Die AGB-Stellen ändert erst Fassung v0.7 (Anwalt).
*/
test('public texts do not promise a quality seal', function () {
$hits = collect([lang_path(), resource_path('views')])
->flatMap(fn (string $dir) => File::allFiles($dir))
->filter(fn ($file) => str_ends_with($file->getFilename(), '.php'))
->reject(fn ($file) => $file->getFilename() === 'agb.blade.php')
->filter(fn ($file) => preg_match('/qualitätsgeprüft|quality-checked|auf Qualität geprüft/iu', $file->getContents()) === 1)
->map(fn ($file) => str_replace(base_path().'/', '', $file->getPathname()))
->values()
->all();
expect($hits)->toBe([]);
});
test('the publish page names the archive year, not a quality check since then', function () {
expect(__('static.publish.quality_since', ['year' => 2012]))->toBe('Im Archiv seit 2012')
->and(trans('static.publish.quality_since', ['year' => 2012], 'en'))->toBe('In the archive since 2012');
});