fix(i18n): restore missing translations and enable Suspense loading
This commit is contained in:
7
.gitignore
vendored
7
.gitignore
vendored
@@ -23,11 +23,6 @@ Homestead.yaml
|
|||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
/auth.json
|
/auth.json
|
||||||
/.fleet
|
|
||||||
/.idea
|
|
||||||
/.nova
|
|
||||||
/.vscode
|
/.vscode
|
||||||
/.zed
|
|
||||||
tools/git-askpass.ps1
|
|
||||||
podman-compose.dev.yml
|
|
||||||
test-results
|
test-results
|
||||||
|
GEMINI.md
|
||||||
|
|||||||
@@ -1 +1,80 @@
|
|||||||
{}
|
{
|
||||||
|
"login_failed": "Diese Anmeldedaten wurden nicht gefunden.",
|
||||||
|
"login_success": "Sie sind nun eingeloggt.",
|
||||||
|
"registration_failed": "Registrierung fehlgeschlagen.",
|
||||||
|
"registration_success": "Registrierung erfolgreich – bitte mit dem Kauf fortfahren.",
|
||||||
|
"already_logged_in": "Sie sind bereits eingeloggt.",
|
||||||
|
"failed_credentials": "Diese Anmeldedaten wurden nicht gefunden.",
|
||||||
|
"header": {
|
||||||
|
"login": "Anmelden",
|
||||||
|
"register": "Registrieren",
|
||||||
|
"home": "Startseite",
|
||||||
|
"packages": "Pakete",
|
||||||
|
"blog": "Blog",
|
||||||
|
"occasions": {
|
||||||
|
"wedding": "Hochzeit",
|
||||||
|
"birthday": "Geburtstag",
|
||||||
|
"corporate": "Firmenevent"
|
||||||
|
},
|
||||||
|
"contact": "Kontakt"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Die Fotospiel App",
|
||||||
|
"description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.",
|
||||||
|
"brand": "Die Fotospiel App",
|
||||||
|
"logo_alt": "Logo Die Fotospiel App",
|
||||||
|
"identifier": "E-Mail oder Username",
|
||||||
|
"identifier_placeholder": "z. B. name@beispiel.de oder hochzeit_julia",
|
||||||
|
"username_or_email": "Username oder E-Mail",
|
||||||
|
"email": "E-Mail-Adresse",
|
||||||
|
"email_placeholder": "ihre@email.de",
|
||||||
|
"password": "Passwort",
|
||||||
|
"password_placeholder": "Ihr Passwort",
|
||||||
|
"remember": "Angemeldet bleiben",
|
||||||
|
"forgot": "Passwort vergessen?",
|
||||||
|
"submit": "Anmelden",
|
||||||
|
"oauth_divider": "oder",
|
||||||
|
"google_cta": "Mit Google anmelden",
|
||||||
|
"google_helper": "Nutze dein Google-Konto, um dich sicher bei der Eventverwaltung anzumelden.",
|
||||||
|
"no_account": "Noch keinen Zugang?",
|
||||||
|
"sign_up": "Jetzt registrieren"
|
||||||
|
},
|
||||||
|
"register": {
|
||||||
|
"title": "Registrieren",
|
||||||
|
"name": "Vollständiger Name",
|
||||||
|
"username": "Username",
|
||||||
|
"email": "E-Mail-Adresse",
|
||||||
|
"password": "Passwort",
|
||||||
|
"password_confirmation": "Passwort bestätigen",
|
||||||
|
"first_name": "Vorname",
|
||||||
|
"last_name": "Nachname",
|
||||||
|
"address": "Adresse",
|
||||||
|
"phone": "Telefonnummer",
|
||||||
|
"privacy_consent": "Ich stimme der Datenschutzerklärung zu und akzeptiere die Verarbeitung meiner persönlichen Daten.",
|
||||||
|
"privacy_policy_link": "Datenschutzerklärung",
|
||||||
|
"submit": "Registrieren",
|
||||||
|
"first_name_placeholder": "Vorname",
|
||||||
|
"last_name_placeholder": "Nachname",
|
||||||
|
"email_placeholder": "beispiel@email.de",
|
||||||
|
"address_placeholder": "Straße Hausnummer, PLZ Ort",
|
||||||
|
"phone_placeholder": "+49 170 1234567",
|
||||||
|
"username_placeholder": "z. B. hochzeit_julia",
|
||||||
|
"password_placeholder": "Mindestens 8 Zeichen",
|
||||||
|
"password_confirmation_placeholder": "Passwort erneut eingeben",
|
||||||
|
"server_error_title": "Registrierung konnte nicht abgeschlossen werden",
|
||||||
|
"server_error_message": "Auf unserer Seite ist ein Fehler aufgetreten. Bitte versuche es später erneut oder kontaktiere support@fotospiel.de.",
|
||||||
|
"session_expired_title": "Sicherheitsprüfung abgelaufen",
|
||||||
|
"session_expired_message": "Deine Sitzung ist abgelaufen. Lade die Seite neu und versuche es erneut."
|
||||||
|
},
|
||||||
|
"verification": {
|
||||||
|
"notice": "Bitte bestätigen Sie Ihre E-Mail-Adresse.",
|
||||||
|
"resend": "E-Mail erneut senden",
|
||||||
|
"success_title": "E-Mail bestätigt",
|
||||||
|
"success_message": "Deine E-Mail ist bestätigt. Du kannst dich jetzt anmelden.",
|
||||||
|
"checkout_success_message": "E-Mail bestätigt. Du kannst mit dem Checkout fortfahren.",
|
||||||
|
"toast_success": "E-Mail erfolgreich bestätigt.",
|
||||||
|
"expired_title": "Bestätigungslink abgelaufen",
|
||||||
|
"expired_message": "Dieser Bestätigungslink ist nicht mehr gültig. Fordere unten einen neuen Link an.",
|
||||||
|
"toast_error": "Bestätigungslink abgelaufen. Bitte fordere einen neuen Link an."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1 +1,80 @@
|
|||||||
{}
|
{
|
||||||
|
"login_failed": "Invalid email or password.",
|
||||||
|
"login_success": "You are now logged in.",
|
||||||
|
"registration_failed": "Registration failed.",
|
||||||
|
"registration_success": "Registration successful – proceed with purchase.",
|
||||||
|
"already_logged_in": "You are already logged in.",
|
||||||
|
"failed_credentials": "Wrong credentials.",
|
||||||
|
"header": {
|
||||||
|
"login": "Login",
|
||||||
|
"register": "Register",
|
||||||
|
"home": "Home",
|
||||||
|
"packages": "Packages",
|
||||||
|
"blog": "Blog",
|
||||||
|
"occasions": {
|
||||||
|
"wedding": "Wedding",
|
||||||
|
"birthday": "Birthday",
|
||||||
|
"corporate": "Corporate Event"
|
||||||
|
},
|
||||||
|
"contact": "Contact"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"title": "Die Fotospiel App",
|
||||||
|
"description": "Sign in with your Fotospiel account to manage every event in one place.",
|
||||||
|
"brand": "Die Fotospiel App",
|
||||||
|
"logo_alt": "Fotospiel App logo",
|
||||||
|
"identifier": "Email or Username",
|
||||||
|
"identifier_placeholder": "you@example.com or username",
|
||||||
|
"username_or_email": "Username or Email",
|
||||||
|
"email": "Email Address",
|
||||||
|
"email_placeholder": "your@email.com",
|
||||||
|
"password": "Password",
|
||||||
|
"password_placeholder": "Your password",
|
||||||
|
"remember": "Stay logged in",
|
||||||
|
"forgot": "Forgot password?",
|
||||||
|
"submit": "Login",
|
||||||
|
"oauth_divider": "or",
|
||||||
|
"google_cta": "Continue with Google",
|
||||||
|
"google_helper": "Use your Google account to access the event dashboard securely.",
|
||||||
|
"no_account": "Don't have access yet?",
|
||||||
|
"sign_up": "Create an account"
|
||||||
|
},
|
||||||
|
"register": {
|
||||||
|
"title": "Register",
|
||||||
|
"name": "Full Name",
|
||||||
|
"username": "Username",
|
||||||
|
"email": "Email Address",
|
||||||
|
"password": "Password",
|
||||||
|
"password_confirmation": "Confirm password",
|
||||||
|
"first_name": "First Name",
|
||||||
|
"last_name": "Last Name",
|
||||||
|
"address": "Address",
|
||||||
|
"phone": "Phone Number",
|
||||||
|
"privacy_consent": "I agree to the privacy policy and accept the processing of my personal data.",
|
||||||
|
"privacy_policy_link": "Privacy Policy",
|
||||||
|
"submit": "Register",
|
||||||
|
"first_name_placeholder": "First name",
|
||||||
|
"last_name_placeholder": "Last name",
|
||||||
|
"email_placeholder": "you@example.com",
|
||||||
|
"address_placeholder": "Street, ZIP, City",
|
||||||
|
"phone_placeholder": "+1 555 123 4567",
|
||||||
|
"username_placeholder": "e.g. wedding_julia",
|
||||||
|
"password_placeholder": "At least 8 characters",
|
||||||
|
"password_confirmation_placeholder": "Repeat your password",
|
||||||
|
"server_error_title": "We couldn't finish your registration",
|
||||||
|
"server_error_message": "Something went wrong on our side. Please try again in a moment or contact support@fotospiel.de.",
|
||||||
|
"session_expired_title": "Security check expired",
|
||||||
|
"session_expired_message": "Your session expired. Refresh the page and try again."
|
||||||
|
},
|
||||||
|
"verification": {
|
||||||
|
"notice": "Please verify your email address.",
|
||||||
|
"resend": "Resend email",
|
||||||
|
"success_title": "Email verified",
|
||||||
|
"success_message": "Your email is confirmed. You can sign in now.",
|
||||||
|
"checkout_success_message": "Email confirmed. Continue your checkout to finish the order.",
|
||||||
|
"toast_success": "Email verified successfully.",
|
||||||
|
"expired_title": "Verification link expired",
|
||||||
|
"expired_message": "That verification link is no longer valid. Request a new email below.",
|
||||||
|
"toast_error": "Verification link expired. Request a new one."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -22,6 +22,12 @@ const InertiaFallback: React.FC = () => (
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const LoadingFallback: React.FC = () => (
|
||||||
|
<div className="flex min-h-screen items-center justify-center text-sm text-muted-foreground">
|
||||||
|
Lade...
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
initSentry('inertia');
|
initSentry('inertia');
|
||||||
|
|
||||||
const LocaleSync: React.FC<{ children: React.ReactNode }> = ({ children }) => {
|
const LocaleSync: React.FC<{ children: React.ReactNode }> = ({ children }) => {
|
||||||
@@ -75,11 +81,13 @@ createInertiaApp({
|
|||||||
<AppearanceProvider>
|
<AppearanceProvider>
|
||||||
<ConsentProvider>
|
<ConsentProvider>
|
||||||
<I18nextProvider i18n={i18n}>
|
<I18nextProvider i18n={i18n}>
|
||||||
|
<React.Suspense fallback={<LoadingFallback />}>
|
||||||
<LocaleSync>
|
<LocaleSync>
|
||||||
<App {...props} />
|
<App {...props} />
|
||||||
</LocaleSync>
|
</LocaleSync>
|
||||||
<CookieBanner />
|
<CookieBanner />
|
||||||
<Toaster position="top-right" toastOptions={{ duration: 4000 }} />
|
<Toaster position="top-right" toastOptions={{ duration: 4000 }} />
|
||||||
|
</React.Suspense>
|
||||||
</I18nextProvider>
|
</I18nextProvider>
|
||||||
</ConsentProvider>
|
</ConsentProvider>
|
||||||
</AppearanceProvider>
|
</AppearanceProvider>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ i18n
|
|||||||
loadPath: '/lang/{{lng}}/{{ns}}.json?v=20251222',
|
loadPath: '/lang/{{lng}}/{{ns}}.json?v=20251222',
|
||||||
},
|
},
|
||||||
react: {
|
react: {
|
||||||
useSuspense: false,
|
useSuspense: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user