i18n: Auth-Views vollstaendig uebersetzbar machen (Readiness)

Die Auth-Strecke (Login, Registrierung, Passwort-Reset/-Bestaetigung,
Magic-Link, E-Mail-Verifizierung, 2FA) war als einziger Backend-Bereich
noch nicht durchgaengig __()-gewrappt. Alle sichtbaren deutschen Strings
in __() gewickelt (Deutsch bleibt Schluessel). Eingebettete Links (AGB/
Datenschutz) und Alpine-x-text sauber segmentiert. Heading/Eyebrow und
topRight-Label/-Link sowie der From-Banner werden jetzt im Auth-Layout am
Ausgabepunkt uebersetzt (im #[Layout]-Attribut sind keine __()-Aufrufe
moeglich). Leeres lang/en.json als Geruest fuer die spaetere EN-Befuellung.

Kunden-, Admin-, Settings- und Component-Views waren bereits vollstaendig
gewrappt (per Audit bestaetigt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-06-18 17:00:20 +00:00
parent f6a8143a2c
commit 052b214bd9
10 changed files with 88 additions and 91 deletions

View file

@ -63,7 +63,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
<form wire:submit="register" class="space-y-[18px]" x-data="{ showPassword: false, showPasswordConfirmation: false }" novalidate>
<div>
<label class="field-label" for="auth-name">Name</label>
<label class="field-label" for="auth-name">{{ __('Name') }}</label>
<input
id="auth-name"
type="text"
@ -72,7 +72,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
autofocus
autocomplete="name"
class="field-input"
placeholder="Vor- und Nachname"
:placeholder="__('Vor- und Nachname')"
@error('name') aria-invalid="true" @enderror
/>
@error('name')
@ -81,7 +81,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
</div>
<div>
<label class="field-label" for="auth-email">E-Mail-Adresse</label>
<label class="field-label" for="auth-email">{{ __('E-Mail-Adresse') }}</label>
<input
id="auth-email"
type="email"
@ -98,7 +98,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
</div>
<div>
<label class="field-label" for="auth-password">Passwort</label>
<label class="field-label" for="auth-password">{{ __('Passwort') }}</label>
<div class="field-pw-wrap">
<input
id="auth-password"
@ -107,15 +107,15 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
required
autocomplete="new-password"
class="field-input pr-[72px]"
placeholder="Mindestens 8 Zeichen"
:placeholder="__('Mindestens 8 Zeichen')"
@error('password') aria-invalid="true" @enderror
/>
<button
type="button"
class="field-affix"
@click="showPassword = !showPassword"
x-text="showPassword ? 'Verbergen' : 'Anzeigen'"
>Anzeigen</button>
x-text="showPassword ? '{{ __('Verbergen') }}' : '{{ __('Anzeigen') }}'"
>{{ __('Anzeigen') }}</button>
</div>
@error('password')
<p class="field-error">{{ $message }}</p>
@ -123,7 +123,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
</div>
<div>
<label class="field-label" for="auth-password-confirmation">Passwort bestätigen</label>
<label class="field-label" for="auth-password-confirmation">{{ __('Passwort bestätigen') }}</label>
<div class="field-pw-wrap">
<input
id="auth-password-confirmation"
@ -132,14 +132,14 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
required
autocomplete="new-password"
class="field-input pr-[72px]"
placeholder="Passwort wiederholen"
:placeholder="__('Passwort wiederholen')"
/>
<button
type="button"
class="field-affix"
@click="showPasswordConfirmation = !showPasswordConfirmation"
x-text="showPasswordConfirmation ? 'Verbergen' : 'Anzeigen'"
>Anzeigen</button>
x-text="showPasswordConfirmation ? '{{ __('Verbergen') }}' : '{{ __('Anzeigen') }}'"
>{{ __('Anzeigen') }}</button>
</div>
</div>
@ -154,11 +154,11 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
@error('terms_accepted') aria-invalid="true" @enderror
/>
<span class="text-[12.5px] text-ink-2 leading-[1.55]">
Ich habe die
<a href="{{ route('agb') }}" target="_blank" rel="noopener" class="link-hub">AGB</a>
und die
<a href="{{ route('datenschutz') }}" target="_blank" rel="noopener" class="link-hub">Datenschutzerklärung</a>
gelesen und stimme der Verarbeitung meiner Daten zur Konto-Erstellung ausdrücklich zu.
{{ __('Ich habe die') }}
<a href="{{ route('agb') }}" target="_blank" rel="noopener" class="link-hub">{{ __('AGB') }}</a>
{{ __('und die') }}
<a href="{{ route('datenschutz') }}" target="_blank" rel="noopener" class="link-hub">{{ __('Datenschutzerklärung') }}</a>
{{ __('gelesen und stimme der Verarbeitung meiner Daten zur Konto-Erstellung ausdrücklich zu.') }}
</span>
</label>
@error('terms_accepted')
@ -167,18 +167,18 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
</div>
<button type="submit" class="auth-btn-primary !mt-[18px]" wire:loading.attr="disabled" wire:target="register">
<span wire:loading.remove wire:target="register">Konto erstellen</span>
<span wire:loading wire:target="register">Konto wird angelegt …</span>
<span wire:loading.remove wire:target="register">{{ __('Konto erstellen') }}</span>
<span wire:loading wire:target="register">{{ __('Konto wird angelegt …') }}</span>
</button>
<div class="flex items-center gap-3 !mt-[22px] !mb-[14px]">
<span class="flex-1 h-px bg-bg-rule"></span>
<span class="text-[11px] font-semibold tracking-[0.18em] uppercase text-ink-3">Bereits Konto?</span>
<span class="text-[11px] font-semibold tracking-[0.18em] uppercase text-ink-3">{{ __('Bereits Konto?') }}</span>
<span class="flex-1 h-px bg-bg-rule"></span>
</div>
<a href="{{ route('login') }}" class="auth-btn-outline !mt-0" wire:navigate>
Stattdessen anmelden
{{ __('Stattdessen anmelden') }}
</a>
<a href="{{ route('oauth.google.redirect') }}" class="auth-btn-outline !mt-3">
@ -188,7 +188,7 @@ new #[Layout('components.layouts.auth.pressekonto', ['heading' => 'Konto erstell
<path fill="#FBBC05" d="M3.97 10.72A5.4 5.4 0 0 1 3.68 9c0-.6.1-1.18.29-1.72V4.95H.96A9 9 0 0 0 0 9c0 1.45.35 2.82.96 4.05l3.01-2.33z"/>
<path fill="#EA4335" d="M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.59C13.46.89 11.43 0 9 0A9 9 0 0 0 .96 4.95l3.01 2.33C4.68 5.16 6.66 3.58 9 3.58z"/>
</svg>
<span>Mit Google registrieren</span>
<span>{{ __('Mit Google registrieren') }}</span>
</a>
</form>
</div>