Added SEO attributes and extended localization

- Added `#[SeoDataAttribute]` annotations to Livewire components for SEO management.
- Extended translations in English, Spanish, and German for better localization support.
This commit is contained in:
HolgerHatGarKeineNode
2025-11-22 22:36:46 +01:00
parent d359dd56b0
commit a5dafc67df
32 changed files with 405 additions and 37 deletions

View File

@@ -17,9 +17,117 @@ class SeoDataAttribute
private static function initDefinitions(): void
{
self::$seoDefinitions = [
'login' => new SEOData(
title: __('Login - Bitcoin Meetups'),
description: __('Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.'),
),
'dashboard' => new SEOData(
title: __('Dashboard - Bitcoin Meetups'),
description: __('Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.'),
),
'welcome' => new SEOData(
title: __('Willkommen bei Bitcoin Meetups'),
description: __('Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.'),
),
'follow_the_rabbit' => new SEOData(
title: __('Follow the Rabbit - Bitcoin Journey'),
description: __('Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.'),
),
'cities_create' => new SEOData(
title: __('Neue Stadt hinzufügen - Bitcoin Meetups'),
description: __('Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.'),
),
'cities_edit' => new SEOData(
title: __('Stadt bearbeiten - Bitcoin Meetups'),
description: __('Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.'),
),
'cities_index' => new SEOData(
title: __('Städteübersicht - Bitcoin Meetups'),
description: __('Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.'),
),
'courses_create' => new SEOData(
title: __('Neuen Kurs erstellen - Bitcoin Education'),
description: __('Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.'),
),
'courses_edit_events' => new SEOData(
title: __('Kursevents bearbeiten - Bitcoin Education'),
description: __('Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.'),
),
'courses_edit' => new SEOData(
title: __('Kurs bearbeiten - Bitcoin Education'),
description: __('Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.'),
),
'courses_index' => new SEOData(
title: __('Bitcoin Kurse - Übersicht'),
description: __('Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.'),
),
'courses_landingpage' => new SEOData(
title: __('Bitcoin Bildung & Kurse'),
description: __('Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.'),
),
'lecturers_create' => new SEOData(
title: __('Dozent werden - Bitcoin Education'),
description: __('Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.'),
),
'lecturers_edit' => new SEOData(
title: __('Dozentenprofil bearbeiten'),
description: __('Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.'),
),
'lecturers_index' => new SEOData(
title: __('Bitcoin Dozenten - Übersicht'),
description: __('Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.'),
),
'meetups_create_edit_events' => new SEOData(
title: __('Bitcoin Meetup Events verwalten'),
description: __('Erstelle und bearbeite Bitcoin Meetup Events für deine Community.'),
),
'meetups_edit' => new SEOData(
title: __('Meetup bearbeiten - Bitcoin Events'),
description: __('Aktualisiere die Details und Informationen deines Bitcoin Meetups.'),
),
'meetups_index' => new SEOData(
title: __('Meetups - Übersicht'),
description: __('Entdecke alle verfügbaren Meetups in deiner Region.'),
title: __('Bitcoin Meetups - Alle Events'),
description: __('Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.'),
),
'meetups_landingpage' => new SEOData(
title: __('Bitcoin Meetups - Community Events'),
description: __('Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.'),
),
'meetups_landingpage_event' => new SEOData(
title: __('Bitcoin Event Details'),
description: __('Alle Informationen zum ausgewählten Bitcoin Meetup Event.'),
),
'meetups_map' => new SEOData(
title: __('Bitcoin Meetups Karte'),
description: __('Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.'),
),
'settings_appearance' => new SEOData(
title: __('Erscheinungsbild - Einstellungen'),
description: __('Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.'),
),
'settings_delete_user_form' => new SEOData(
title: __('Konto löschen - Bitcoin Meetups'),
description: __('Informationen zum Löschen deines Bitcoin Meetup Kontos.'),
),
'settings_password' => new SEOData(
title: __('Passwort ändern - Bitcoin Meetups'),
description: __('Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.'),
),
'settings_profile' => new SEOData(
title: __('Profil bearbeiten - Bitcoin Meetups'),
description: __('Aktualisiere deine persönlichen Informationen und Profileinstellungen.'),
),
'venues_create' => new SEOData(
title: __('Neuen Veranstaltungsort erstellen'),
description: __('Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.'),
),
'venues_edit' => new SEOData(
title: __('Veranstaltungsort bearbeiten'),
description: __('Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.'),
),
'venues_index' => new SEOData(
title: __('Veranstaltungsorte - Übersicht'),
description: __('Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.'),
),
// Add more as needed
'default' => new SEOData(

View File

@@ -2,10 +2,12 @@
namespace App\Livewire\Helper;
use App\Attributes\SeoDataAttribute;
use App\Traits\SeoTrait;
use Livewire\Component;
use RalphJSmit\Laravel\SEO\Support\SEOData;
#[SeoDataAttribute(key: 'follow_the_rabbit')]
class FollowTheRabbit extends Component
{
use SeoTrait;

View File

@@ -381,5 +381,64 @@
"BooksForPlebs": "",
"Lokale Buchausleihe für Bitcoin-Meetups.": "",
"Bitcoin - Rabbit Hole": "",
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": ""
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "",
"Login - Bitcoin Meetups": "",
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "",
"Dashboard - Bitcoin Meetups": "",
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "",
"Willkommen bei Bitcoin Meetups": "",
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "",
"Follow the Rabbit - Bitcoin Journey": "",
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "",
"Neue Stadt hinzufügen - Bitcoin Meetups": "",
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "",
"Stadt bearbeiten - Bitcoin Meetups": "",
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "",
"Städteübersicht - Bitcoin Meetups": "",
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "",
"Neuen Kurs erstellen - Bitcoin Education": "",
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "",
"Kursevents bearbeiten - Bitcoin Education": "",
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "",
"Kurs bearbeiten - Bitcoin Education": "",
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "",
"Bitcoin Kurse - Übersicht": "",
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "",
"Bitcoin Bildung & Kurse": "",
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "",
"Dozent werden - Bitcoin Education": "",
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "",
"Dozentenprofil bearbeiten": "",
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "",
"Bitcoin Dozenten - Übersicht": "",
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "",
"Bitcoin Meetup Events verwalten": "",
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "",
"Meetup bearbeiten - Bitcoin Events": "",
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "",
"Bitcoin Meetups - Alle Events": "",
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "",
"Bitcoin Meetups - Community Events": "",
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "",
"Bitcoin Event Details": "",
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "",
"Bitcoin Meetups Karte": "",
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "",
"Erscheinungsbild - Einstellungen": "",
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "",
"Konto löschen - Bitcoin Meetups": "",
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "",
"Passwort ändern - Bitcoin Meetups": "",
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "",
"Profil bearbeiten - Bitcoin Meetups": "",
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "",
"Neuen Veranstaltungsort erstellen": "",
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "",
"Veranstaltungsort bearbeiten": "",
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "",
"Veranstaltungsorte - Übersicht": "",
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "",
"Willkommen": "",
"Toximalistisches Infotainment für bullische Bitcoiner.": "",
"Sprache wählen": ""
}

View File

@@ -381,5 +381,64 @@
"BooksForPlebs": "BooksForPlebs",
"Lokale Buchausleihe für Bitcoin-Meetups.": "Local book lending for Bitcoin meetups.",
"Bitcoin - Rabbit Hole": "Bitcoin - Rabbit Hole",
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "This is a great overview of the Bitcoin rabbit hole with access to areas that Bitcoin encompasses. Each topic has its own rabbit hole that is visualized in a simple and understandable way through infographics, with QR codes leading to explanatory videos and articles. Have fun on your journey of discovery!"
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "This is a great overview of the Bitcoin rabbit hole with access to areas that Bitcoin encompasses. Each topic has its own rabbit hole that is visualized in a simple and understandable way through infographics, with QR codes leading to explanatory videos and articles. Have fun on your journey of discovery!",
"Login - Bitcoin Meetups": "Login - Bitcoin Meetups",
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "Log in to access your Bitcoin Meetup account and participate in the community.",
"Dashboard - Bitcoin Meetups": "Dashboard - Bitcoin Meetups",
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "Manage your Bitcoin Meetups, events and settings in your personal dashboard.",
"Willkommen bei Bitcoin Meetups": "Welcome to Bitcoin Meetups",
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "Discover the Bitcoin community near you. Find local meetups and connect with like-minded people.",
"Follow the Rabbit - Bitcoin Journey": "Follow the Rabbit - Bitcoin Journey",
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "Start your Bitcoin journey and discover exciting content about Bitcoin and blockchain.",
"Neue Stadt hinzufügen - Bitcoin Meetups": "Add New City - Bitcoin Meetups",
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "Add a new city to organize Bitcoin Meetups in your region.",
"Stadt bearbeiten - Bitcoin Meetups": "Edit City - Bitcoin Meetups",
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "Update the information for Bitcoin Meetup locations in your city.",
"Städteübersicht - Bitcoin Meetups": "Cities Overview - Bitcoin Meetups",
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "Browse all cities with active Bitcoin Meetups and find events near you.",
"Neuen Kurs erstellen - Bitcoin Education": "Create New Course - Bitcoin Education",
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "Create a new Bitcoin education course and share your knowledge with the community.",
"Kursevents bearbeiten - Bitcoin Education": "Edit Course Events - Bitcoin Education",
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "Manage the dates and details of your Bitcoin education events.",
"Kurs bearbeiten - Bitcoin Education": "Edit Course - Bitcoin Education",
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "Update the content and information of your Bitcoin education course.",
"Bitcoin Kurse - Übersicht": "Bitcoin Courses - Overview",
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "Discover our diverse Bitcoin education offerings and workshops.",
"Bitcoin Bildung & Kurse": "Bitcoin Education & Courses",
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "Learn everything about Bitcoin - from basics to advanced topics.",
"Dozent werden - Bitcoin Education": "Become a Lecturer - Bitcoin Education",
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "Become a Bitcoin lecturer and share your expert knowledge with the community.",
"Dozentenprofil bearbeiten": "Edit Lecturer Profile",
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "Update your profile as a Bitcoin lecturer and your course offerings.",
"Bitcoin Dozenten - Übersicht": "Bitcoin Lecturers - Overview",
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "Meet our experienced Bitcoin lecturers and their expertise.",
"Bitcoin Meetup Events verwalten": "Manage Bitcoin Meetup Events",
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "Create and edit Bitcoin Meetup events for your community.",
"Meetup bearbeiten - Bitcoin Events": "Edit Meetup - Bitcoin Events",
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "Update the details and information of your Bitcoin Meetup.",
"Bitcoin Meetups - Alle Events": "Bitcoin Meetups - All Events",
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "Find all current Bitcoin Meetups and events in your region.",
"Bitcoin Meetups - Community Events": "Bitcoin Meetups - Community Events",
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "Discover Bitcoin community events and connect with like-minded people.",
"Bitcoin Event Details": "Bitcoin Event Details",
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "All information about the selected Bitcoin Meetup event.",
"Bitcoin Meetups Karte": "Bitcoin Meetups Map",
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "Find Bitcoin Meetups near you with our interactive map.",
"Erscheinungsbild - Einstellungen": "Appearance - Settings",
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "Customize the appearance of your Bitcoin Meetup profile.",
"Konto löschen - Bitcoin Meetups": "Delete Account - Bitcoin Meetups",
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "Information about deleting your Bitcoin Meetup account.",
"Passwort ändern - Bitcoin Meetups": "Change Password - Bitcoin Meetups",
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "Change your password for increased security of your Bitcoin Meetup account.",
"Profil bearbeiten - Bitcoin Meetups": "Edit Profile - Bitcoin Meetups",
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "Update your personal information and profile settings.",
"Neuen Veranstaltungsort erstellen": "Create New Venue",
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "Add a new location for Bitcoin Meetups and events.",
"Veranstaltungsort bearbeiten": "Edit Venue",
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "Update the details of a Bitcoin Meetup venue.",
"Veranstaltungsorte - Übersicht": "Venues - Overview",
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "Find all venues for Bitcoin Meetups and events.",
"Willkommen": "Welcome",
"Toximalistisches Infotainment für bullische Bitcoiner.": "Toximalistic infotainment for bullish Bitcoiners.",
"Sprache wählen": "Choose language"
}

View File

@@ -380,5 +380,64 @@
"BooksForPlebs": "LibrosParaPlebs",
"Lokale Buchausleihe für Bitcoin-Meetups.": "Préstamo local de libros para encuentros Bitcoin.",
"Bitcoin - Rabbit Hole": "Bitcoin - La Madriguera del Conejo",
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "Esta es una excelente visión general de la madriguera del conejo de Bitcoin con acceso a áreas que abarca Bitcoin. Cada tema tiene su propia madriguera, que se visualiza de manera simple y comprensible a través de infografías, con códigos QR que conducen a videos y artículos explicativos. ¡Disfruta tu viaje de descubrimiento!"
"Dies ist ein großartiger Überblick über die Bitcoin-Kaninchenhöhle mit Zugängen zu Bereichen, die Bitcoin umfasst. Jedes Thema hat seine eigene Kaninchenhöhle, die durch Infografiken auf einfache und verständliche Weise visualisiert wird, mit QR-Codes, die zu erklärenden Videos und Artikeln führen. Viel Spaß auf Ihrer Entdeckungsreise!": "Esta es una excelente visión general de la madriguera del conejo de Bitcoin con acceso a áreas que abarca Bitcoin. Cada tema tiene su propia madriguera, que se visualiza de manera simple y comprensible a través de infografías, con códigos QR que conducen a videos y artículos explicativos. ¡Disfruta tu viaje de descubrimiento!",
"Login - Bitcoin Meetups": "Iniciar sesión - Encuentros Bitcoin",
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "Inicia sesión para acceder a tu cuenta de Encuentros Bitcoin y participar en la comunidad.",
"Dashboard - Bitcoin Meetups": "Panel - Encuentros Bitcoin",
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "Gestiona tus Encuentros Bitcoin, eventos y configuración en tu panel personal.",
"Willkommen bei Bitcoin Meetups": "Bienvenido a Encuentros Bitcoin",
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "Descubre la comunidad Bitcoin cerca de ti. Encuentra encuentros locales y conéctate con personas afines.",
"Follow the Rabbit - Bitcoin Journey": "Sigue al Conejo - Viaje Bitcoin",
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "Comienza tu viaje Bitcoin y descubre contenido emocionante sobre Bitcoin y blockchain.",
"Neue Stadt hinzufügen - Bitcoin Meetups": "Agregar nueva ciudad - Encuentros Bitcoin",
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "Agrega una nueva ciudad para organizar Encuentros Bitcoin en tu región.",
"Stadt bearbeiten - Bitcoin Meetups": "Editar ciudad - Encuentros Bitcoin",
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "Actualiza la información de las ubicaciones de Encuentros Bitcoin en tu ciudad.",
"Städteübersicht - Bitcoin Meetups": "Vista general de ciudades - Encuentros Bitcoin",
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "Busca todas las ciudades con Encuentros Bitcoin activos y encuentra eventos cerca de ti.",
"Neuen Kurs erstellen - Bitcoin Education": "Crear nuevo curso - Educación Bitcoin",
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "Crea un nuevo curso educativo sobre Bitcoin y comparte tu conocimiento con la comunidad.",
"Kursevents bearbeiten - Bitcoin Education": "Editar eventos del curso - Educación Bitcoin",
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "Gestiona las fechas y detalles de tus eventos educativos de Bitcoin.",
"Kurs bearbeiten - Bitcoin Education": "Editar curso - Educación Bitcoin",
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "Actualiza el contenido e información de tu curso educativo de Bitcoin.",
"Bitcoin Kurse - Übersicht": "Cursos Bitcoin - Vista general",
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "Descubre nuestra variada oferta de cursos y talleres sobre Bitcoin.",
"Bitcoin Bildung & Kurse": "Educación & Cursos Bitcoin",
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "Aprende todo sobre Bitcoin - desde lo básico hasta temas avanzados.",
"Dozent werden - Bitcoin Education": "Convertirse en profesor - Educación Bitcoin",
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "Conviértete en profesor de Bitcoin y comparte tu conocimiento experto con la comunidad.",
"Dozentenprofil bearbeiten": "Editar perfil de profesor",
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "Actualiza tu perfil como profesor de Bitcoin y tus ofertas de cursos.",
"Bitcoin Dozenten - Übersicht": "Profesores Bitcoin - Vista general",
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "Conoce a nuestros experimentados profesores de Bitcoin y su experiencia.",
"Bitcoin Meetup Events verwalten": "Gestionar eventos de Encuentros Bitcoin",
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "Crea y edita eventos de Encuentros Bitcoin para tu comunidad.",
"Meetup bearbeiten - Bitcoin Events": "Editar encuentro - Eventos Bitcoin",
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "Actualiza los detalles e información de tu Encuentro Bitcoin.",
"Bitcoin Meetups - Alle Events": "Encuentros Bitcoin - Todos los eventos",
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "Encuentra todos los Encuentros Bitcoin y eventos actuales en tu región.",
"Bitcoin Meetups - Community Events": "Encuentros Bitcoin - Eventos comunitarios",
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "Descubre eventos comunitarios de Bitcoin y conéctate con personas afines.",
"Bitcoin Event Details": "Detalles del evento Bitcoin",
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "Toda la información sobre el evento de Encuentro Bitcoin seleccionado.",
"Bitcoin Meetups Karte": "Mapa de Encuentros Bitcoin",
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "Encuentra Encuentros Bitcoin cerca de ti con nuestro mapa interactivo.",
"Erscheinungsbild - Einstellungen": "Apariencia - Configuración",
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "Personaliza la apariencia de tu perfil de Encuentros Bitcoin.",
"Konto löschen - Bitcoin Meetups": "Eliminar cuenta - Encuentros Bitcoin",
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "Información sobre cómo eliminar tu cuenta de Encuentros Bitcoin.",
"Passwort ändern - Bitcoin Meetups": "Cambiar contraseña - Encuentros Bitcoin",
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "Cambia tu contraseña para mayor seguridad de tu cuenta de Encuentros Bitcoin.",
"Profil bearbeiten - Bitcoin Meetups": "Editar perfil - Encuentros Bitcoin",
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "Actualiza tu información personal y configuración de perfil.",
"Neuen Veranstaltungsort erstellen": "Crear nuevo lugar de evento",
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "Agrega un nuevo lugar para Encuentros Bitcoin y eventos.",
"Veranstaltungsort bearbeiten": "Editar lugar de evento",
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "Actualiza los detalles de un lugar de Encuentros Bitcoin.",
"Veranstaltungsorte - Übersicht": "Lugares de eventos - Vista general",
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "Encuentra todos los lugares para Encuentros Bitcoin y eventos.",
"Willkommen": "Bienvenido",
"Toximalistisches Infotainment für bullische Bitcoiner.": "Infoentretenimiento toximaximalista para bitcoiners alcistas.",
"Sprache wählen": "Elegir idioma"
}

View File

@@ -1,25 +1,26 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\LoginKey;
use App\Models\User;
use App\Notifications\ModelCreatedNotification;
use App\Traits\SeoTrait;
use eza\lnurl;
use Illuminate\Auth\Events\Lockout;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Str;
use Illuminate\Validation\ValidationException;
use Livewire\Attributes\Computed;
use Livewire\Attributes\Layout;
use Livewire\Attributes\On;
use Livewire\Attributes\Renderless;
use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use SimpleSoftwareIO\QrCode\Facades\QrCode;
use eza\lnurl;
new #[Layout('components.layouts.auth')]
new
#[Layout('components.layouts.auth')]
#[SeoDataAttribute(key: 'login')]
class extends Component {
use SeoTrait;
@@ -62,7 +63,8 @@ class extends Component {
if ($user) {
Auth::loginUsingId($user->id);
Session::regenerate();
$this->redirectIntended(default: route_with_country('dashboard', absolute: false), navigate: true);
$this->redirectIntended(default: route_with_country('dashboard', ['country' => 'de'], absolute: false),
navigate: true);
return;
}
return;
@@ -82,7 +84,8 @@ class extends Component {
RateLimiter::clear($this->throttleKey());
Session::regenerate();
$this->redirectIntended(default: route_with_country('dashboard', absolute: false), navigate: true);
$this->redirectIntended(default: route_with_country('dashboard', ['country' => 'de'], absolute: false),
navigate: true);
}
/**

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Models\Country;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'cities_create')]
class extends Component {
use SeoTrait;
public string $name = '';

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Models\Country;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'cities_edit')]
class extends Component {
use SeoTrait;
public City $city;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Livewire\WithPagination;
new class extends Component {
new
#[SeoDataAttribute(key: 'cities_index')]
class extends Component {
use WithPagination;
use SeoTrait;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Models\Course;
use App\Models\CourseEvent;
@@ -8,7 +9,9 @@ use App\Traits\SeoTrait;
use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'courses_edit_events')]
class extends Component {
use SeoTrait;
public Course $course;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Course;
use App\Models\Lecturer;
use App\Traits\SeoTrait;
@@ -7,7 +8,9 @@ use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'courses_create')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Course;
use App\Models\Lecturer;
use App\Traits\SeoTrait;
@@ -8,7 +9,9 @@ use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'courses_edit')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Course;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Livewire\WithPagination;
new class extends Component {
new
#[SeoDataAttribute(key: 'courses_index')]
class extends Component {
use WithPagination;
use SeoTrait;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Course;
use App\Models\CourseEvent;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'courses_landingpage')]
class extends Component {
use SeoTrait;
public Course $course;

View File

@@ -1,12 +1,15 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Meetup;
use App\Models\MeetupEvent;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Flux\Flux;
new class extends Component {
new
#[SeoDataAttribute(key: 'dashboard')]
class extends Component {
use SeoTrait;
public $selectedMeetupId = null;

View File

@@ -1,12 +1,15 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Lecturer;
use App\Traits\SeoTrait;
use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'lecturers_create')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Lecturer;
use App\Traits\SeoTrait;
use Illuminate\Validation\Rule;
@@ -7,7 +8,9 @@ use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'lecturers_edit')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Lecturer;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Livewire\WithPagination;
new class extends Component {
new
#[SeoDataAttribute(key: 'lecturers_index')]
class extends Component {
use WithPagination;
use SeoTrait;

View File

@@ -1,12 +1,15 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Meetup;
use App\Models\MeetupEvent;
use App\Traits\SeoTrait;
use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_create_edit_events')]
class extends Component {
use SeoTrait;
public Meetup $meetup;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Models\Country;
use App\Models\Meetup;
@@ -8,7 +9,9 @@ use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_create')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\City;
use App\Models\Country;
use App\Models\Meetup;
@@ -9,7 +10,9 @@ use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
use Livewire\WithFileUploads;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_edit')]
class extends Component {
use WithFileUploads;
use SeoTrait;

View File

@@ -1,12 +1,15 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\MeetupEvent;
use App\Models\User;
use App\Traits\SeoTrait;
use Livewire\Attributes\Validate;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_landingpage_event')]
class extends Component {
use SeoTrait;
public MeetupEvent $event;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Meetup;
use App\Models\MeetupEvent;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_landingpage')]
class extends Component {
use SeoTrait;
public Meetup $meetup;

View File

@@ -1,10 +1,13 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Meetup;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'meetups_map')]
class extends Component {
use SeoTrait;
public function with(): array

View File

@@ -1,9 +1,12 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'settings_appearance')]
class extends Component {
use SeoTrait;
}; ?>

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Livewire\Actions\Logout;
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Auth;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'settings_delete_user_form')]
class extends Component {
use SeoTrait;
public string $password = '';

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
@@ -7,7 +8,9 @@ use Illuminate\Validation\Rules\Password;
use Illuminate\Validation\ValidationException;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'settings_password')]
class extends Component {
use SeoTrait;
public string $current_password = '';

View File

@@ -1,5 +1,6 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\User;
use App\Traits\SeoTrait;
use Illuminate\Support\Facades\Auth;
@@ -7,7 +8,9 @@ use Illuminate\Support\Facades\Session;
use Illuminate\Validation\Rule;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'settings_profile')]
class extends Component {
use SeoTrait;
public string $name = '';

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Venue;
use App\Models\City;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'venues_create')]
class extends Component {
use SeoTrait;
public string $name = '';

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Venue;
use App\Models\City;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
new class extends Component {
new
#[SeoDataAttribute(key: 'venues_edit')]
class extends Component {
use SeoTrait;
public Venue $venue;

View File

@@ -1,11 +1,14 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Models\Venue;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Livewire\WithPagination;
new class extends Component {
new
#[SeoDataAttribute(key: 'venues_index')]
class extends Component {
use WithPagination;
use SeoTrait;

View File

@@ -1,10 +1,13 @@
<?php
use App\Attributes\SeoDataAttribute;
use App\Traits\SeoTrait;
use Livewire\Volt\Component;
use Livewire\Attributes\Layout;
new #[Layout('components.layouts.auth')]
new
#[Layout('components.layouts.auth')]
#[SeoDataAttribute(key: 'welcome')]
class extends Component {
use SeoTrait;