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:
parent
f6a8143a2c
commit
052b214bd9
10 changed files with 88 additions and 91 deletions
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue