🌐 Add multilingual translations and update UI for Meetup and Event management

This commit is contained in:
HolgerHatGarKeineNode
2025-11-21 12:55:21 +01:00
parent 122da2b2c7
commit 8afc762bfe
5 changed files with 252 additions and 174 deletions

View File

@@ -224,5 +224,31 @@
"Alle Meetups anzeigen": "",
"Kartenansicht öffnen": "",
"Verbinde dich mit Bitcoinern in deiner Nähe": "",
"Finde deine lokale Community": ""
"Finde deine lokale Community": "",
"Event erfolgreich aktualisiert!": "",
"Event erfolgreich erstellt!": "",
"Event erfolgreich gelöscht!": "",
"Event bearbeiten": "",
"Neues Event erstellen": "",
"Event Details": "",
"Startzeit": "",
"Wann findet das Event statt?": "",
"z.B. Café Mustermann, Hauptstr. 1": "",
"Wo findet das Event statt?": "",
"Beschreibe das Event...": "",
"Details über das Event": "",
"Link": "",
"Link zu weiteren Informationen": "",
"Bist du sicher, dass du dieses Event löschen möchtest?": "",
"Event löschen": "",
"Event aktualisieren": "",
"Event erstellen": "",
"Events": "",
"Teilnahme": "",
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "",
"Dein Name": "",
"Name eingeben": "",
"Ich komme": "",
"Absagen": "",
"Öffnen/RSVP": ""
}

View File

@@ -142,87 +142,113 @@
"With two-factor authentication enabled, you will be prompted for a secure, random pin during login, which you can retrieve from the TOTP-supported application on your phone.": "With two-factor authentication enabled, you will be prompted for a secure, random pin during login, which you can retrieve from the TOTP-supported application on your phone.",
"You are receiving this email because we received a password reset request for your account.": "You are receiving this email because we received a password reset request for your account.",
"Your email address is unverified.": "Your email address is unverified.",
"Success!": "",
"Copied into clipboard": "",
"App": "",
"Meetups": "",
"Karte": "",
"Wallpaper": "",
"Land": "",
"Willkommen zurück": "",
"Log in mit Nostr": "",
"Wähle dein Land...": "",
"Suche dein Land...": "",
"Meine nächsten Meetup Termine": "",
"Keine bevorstehenden Termine": "",
"Meine Meetups": "",
"Meetup hinzufügen...": "",
"Meetup suchen...": "",
"Bearbeiten": "",
"Meetup entfernen?": "",
"Möchtest du": "",
"aus deinen Meetups entfernen?": "",
"Du kannst es jederzeit wieder hinzufügen.": "",
"Abbrechen": "",
"Entfernen": "",
"Keine Meetups zugeordnet": "",
"Meetup erfolgreich aktualisiert!": "",
"Meetup bearbeiten": "",
"Grundlegende Informationen": "",
"ID": "",
"System-generierte ID (nur lesbar)": "",
"Der Anzeigename für dieses Meetup": "",
"Stadt": "",
"Stadt auswählen": "",
"Suche passende Stadt...": "",
"Die nächstgrößte Stadt oder Ort": "",
"Einführung": "",
"Kurze Beschreibung des Meetups": "",
"Links & Soziale Medien": "",
"Webseite": "",
"Offizielle Webseite oder Landingpage": "",
"Telegram Link": "",
"Link zur Telegram-Gruppe oder zum Kanal": "",
"Twitter Benutzername": "",
"Twitter-Handle ohne @ Symbol": "",
"Matrix Gruppe": "",
"Matrix-Raum Bezeichner oder Link": "",
"Nostr": "",
"Nostr öffentlicher Schlüssel oder Bezeichner": "",
"SimpleX": "",
"SimpleX Chat Kontaktinformationen": "",
"Signal": "",
"Signal Kontakt- oder Gruppeninformationen": "",
"Zusätzliche Informationen": "",
"Gemeinschaft": "",
"Gemeinschafts- oder Organisationsname": "",
"Systeminformationen": "",
"Erstellt von": "",
"Unbekannt": "",
"Ersteller des Meetups": "",
"Erstellt am": "",
"Wann dieses Meetup erstellt wurde": "",
"Aktualisiert am": "",
"Letzte Änderungszeit": "",
"Meetup aktualisieren": "",
"Suche nach Meetups...": "",
"Nächster Termin": "",
"Links": "",
"Aktionen": "",
"Ort": "",
"Beschreibung": "",
"Mehr Informationen": "",
"Zusagen": "",
"Vielleicht": "",
"Zurück zum Meetup": "",
"Über uns": "",
"Kontakt & Links": "",
"Standort": "",
"Zoom = STRG+Scroll": "",
"Kommende Veranstaltungen": "",
"Bitcoin Meetups": "",
"Alle Meetups anzeigen": "",
"Kartenansicht öffnen": "",
"Verbinde dich mit Bitcoinern in deiner Nähe": "",
"Finde deine lokale Community": ""
}
"Success!": "Success!",
"Copied into clipboard": "Copied into clipboard",
"App": "App",
"Meetups": "Meetups",
"Karte": "Map",
"Wallpaper": "Wallpaper",
"Land": "Country",
"Willkommen zurück": "Welcome back",
"Log in mit Nostr": "Log in with Nostr",
"Wähle dein Land...": "Choose your country...",
"Suche dein Land...": "Search your country...",
"Meine nächsten Meetup Termine": "My upcoming meetup dates",
"Keine bevorstehenden Termine": "No upcoming dates",
"Meine Meetups": "My Meetups",
"Meetup hinzufügen...": "Add meetup...",
"Meetup suchen...": "Search meetup...",
"Bearbeiten": "Edit",
"Meetup entfernen?": "Remove meetup?",
"Möchtest du": "Do you want to",
"aus deinen Meetups entfernen?": "remove from your meetups?",
"Du kannst es jederzeit wieder hinzufügen.": "You can add it again anytime.",
"Abbrechen": "Cancel",
"Entfernen": "Remove",
"Keine Meetups zugeordnet": "No meetups assigned",
"Meetup erfolgreich aktualisiert!": "Meetup successfully updated!",
"Meetup bearbeiten": "Edit meetup",
"Grundlegende Informationen": "Basic information",
"ID": "ID",
"System-generierte ID (nur lesbar)": "System generated ID (read-only)",
"Der Anzeigename für dieses Meetup": "The display name for this meetup",
"Stadt": "City",
"Stadt auswählen": "Select city",
"Suche passende Stadt...": "Search matching city...",
"Die nächstgrößte Stadt oder Ort": "The nearest major city or location",
"Einführung": "Introduction",
"Kurze Beschreibung des Meetups": "Brief description of the meetup",
"Links & Soziale Medien": "Links & Social Media",
"Webseite": "Website",
"Offizielle Webseite oder Landingpage": "Official website or landing page",
"Telegram Link": "Telegram Link",
"Link zur Telegram-Gruppe oder zum Kanal": "Link to Telegram group or channel",
"Twitter Benutzername": "Twitter username",
"Twitter-Handle ohne @ Symbol": "Twitter handle without @ symbol",
"Matrix Gruppe": "Matrix Group",
"Matrix-Raum Bezeichner oder Link": "Matrix room identifier or link",
"Nostr": "Nostr",
"Nostr öffentlicher Schlüssel oder Bezeichner": "Nostr public key or identifier",
"SimpleX": "SimpleX",
"SimpleX Chat Kontaktinformationen": "SimpleX Chat contact information",
"Signal": "Signal",
"Signal Kontakt- oder Gruppeninformationen": "Signal contact or group information",
"Zusätzliche Informationen": "Additional information",
"Gemeinschaft": "Community",
"Gemeinschafts- oder Organisationsname": "Community or organization name",
"Systeminformationen": "System information",
"Erstellt von": "Created by",
"Unbekannt": "Unknown",
"Ersteller des Meetups": "Creator of the meetup",
"Erstellt am": "Created at",
"Wann dieses Meetup erstellt wurde": "When this meetup was created",
"Aktualisiert am": "Updated at",
"Letzte Änderungszeit": "Last modification time",
"Meetup aktualisieren": "Update meetup",
"Suche nach Meetups...": "Search for meetups...",
"Nächster Termin": "Next date",
"Links": "Links",
"Aktionen": "Actions",
"Ort": "Location",
"Beschreibung": "Description",
"Mehr Informationen": "More information",
"Zusagen": "Commitments",
"Vielleicht": "Maybe",
"Zurück zum Meetup": "Back to meetup",
"Über uns": "About us",
"Kontakt & Links": "Contact & Links",
"Standort": "Location",
"Zoom = STRG+Scroll": "Zoom = CTRL+Scroll",
"Kommende Veranstaltungen": "Upcoming events",
"Bitcoin Meetups": "Bitcoin Meetups",
"Alle Meetups anzeigen": "Show all meetups",
"Kartenansicht öffnen": "Open map view",
"Verbinde dich mit Bitcoinern in deiner Nähe": "Connect with Bitcoiners near you",
"Finde deine lokale Community": "Find your local community",
"Event erfolgreich aktualisiert!": "Event successfully updated!",
"Event erfolgreich erstellt!": "Event successfully created!",
"Event erfolgreich gelöscht!": "Event successfully deleted!",
"Event bearbeiten": "Edit event",
"Neues Event erstellen": "Create new event",
"Event Details": "Event Details",
"Startzeit": "Start time",
"Wann findet das Event statt?": "When does the event take place?",
"z.B. Café Mustermann, Hauptstr. 1": "e.g. Cafe Smith, Main St 1",
"Wo findet das Event statt?": "Where does the event take place?",
"Beschreibe das Event...": "Describe the event...",
"Details über das Event": "Details about the event",
"Link": "Link",
"Link zu weiteren Informationen": "Link to further information",
"Bist du sicher, dass du dieses Event löschen möchtest?": "Are you sure you want to delete this event?",
"Event löschen": "Delete event",
"Event aktualisieren": "Update event",
"Event erstellen": "Create event",
"Events": "Events",
"Teilnahme": "Participation",
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "You are not logged in and therefore need to type your name yourself.",
"Dein Name": "Your name",
"Name eingeben": "Enter name",
"Ich komme": "I'm coming",
"Absagen": "Cancel",
"Öffnen/RSVP": "Open/RSVP"
}

View File

@@ -141,87 +141,113 @@
"With two-factor authentication enabled, you will be prompted for a secure, random pin during login, which you can retrieve from the TOTP-supported application on your phone.": "Con la autenticación de dos factores habilitada, se le solicitará un PIN aleatorio seguro durante el inicio de sesión, que puede recuperar de la aplicación compatible con TOTP en su teléfono.",
"You are receiving this email because we received a password reset request for your account.": "Ha recibido este mensaje porque se solicitó un restablecimiento de contraseña para su cuenta.",
"Your email address is unverified.": "Su dirección de correo electrónico no está verificada.",
"Success!": "",
"Copied into clipboard": "",
"App": "",
"Meetups": "",
"Karte": "",
"Wallpaper": "",
"Land": "",
"Willkommen zurück": "",
"Log in mit Nostr": "",
"Wähle dein Land...": "",
"Suche dein Land...": "",
"Meine nächsten Meetup Termine": "",
"Keine bevorstehenden Termine": "",
"Meine Meetups": "",
"Meetup hinzufügen...": "",
"Meetup suchen...": "",
"Bearbeiten": "",
"Meetup entfernen?": "",
"Möchtest du": "",
"aus deinen Meetups entfernen?": "",
"Du kannst es jederzeit wieder hinzufügen.": "",
"Abbrechen": "",
"Entfernen": "",
"Keine Meetups zugeordnet": "",
"Meetup erfolgreich aktualisiert!": "",
"Meetup bearbeiten": "",
"Grundlegende Informationen": "",
"ID": "",
"System-generierte ID (nur lesbar)": "",
"Der Anzeigename für dieses Meetup": "",
"Stadt": "",
"Stadt auswählen": "",
"Suche passende Stadt...": "",
"Die nächstgrößte Stadt oder Ort": "",
"Einführung": "",
"Kurze Beschreibung des Meetups": "",
"Links & Soziale Medien": "",
"Webseite": "",
"Offizielle Webseite oder Landingpage": "",
"Telegram Link": "",
"Link zur Telegram-Gruppe oder zum Kanal": "",
"Twitter Benutzername": "",
"Twitter-Handle ohne @ Symbol": "",
"Matrix Gruppe": "",
"Matrix-Raum Bezeichner oder Link": "",
"Nostr": "",
"Nostr öffentlicher Schlüssel oder Bezeichner": "",
"SimpleX": "",
"SimpleX Chat Kontaktinformationen": "",
"Signal": "",
"Signal Kontakt- oder Gruppeninformationen": "",
"Zusätzliche Informationen": "",
"Gemeinschaft": "",
"Gemeinschafts- oder Organisationsname": "",
"Systeminformationen": "",
"Erstellt von": "",
"Unbekannt": "",
"Ersteller des Meetups": "",
"Erstellt am": "",
"Wann dieses Meetup erstellt wurde": "",
"Aktualisiert am": "",
"Letzte Änderungszeit": "",
"Meetup aktualisieren": "",
"Suche nach Meetups...": "",
"Nächster Termin": "",
"Links": "",
"Aktionen": "",
"Ort": "",
"Beschreibung": "",
"Mehr Informationen": "",
"Zusagen": "",
"Vielleicht": "",
"Zurück zum Meetup": "",
"Über uns": "",
"Kontakt & Links": "",
"Standort": "",
"Zoom = STRG+Scroll": "",
"Kommende Veranstaltungen": "",
"Bitcoin Meetups": "",
"Alle Meetups anzeigen": "",
"Kartenansicht öffnen": "",
"Verbinde dich mit Bitcoinern in deiner Nähe": "",
"Finde deine lokale Community": ""
}
"Success!": "¡Éxito!",
"Copied into clipboard": "Copiado al portapapeles",
"App": "Aplicación",
"Meetups": "Encuentros",
"Karte": "Mapa",
"Wallpaper": "Fondo de pantalla",
"Land": "País",
"Willkommen zurück": "Bienvenido de nuevo",
"Log in mit Nostr": "Iniciar sesión con Nostr",
"Wähle dein Land...": "Elige tu país...",
"Suche dein Land...": "Busca tu país...",
"Meine nächsten Meetup Termine": "Mis próximos eventos",
"Keine bevorstehenden Termine": "No hay eventos próximos",
"Meine Meetups": "Mis encuentros",
"Meetup hinzufügen...": "Añadir encuentro...",
"Meetup suchen...": "Buscar encuentro...",
"Bearbeiten": "Editar",
"Meetup entfernen?": "¿Eliminar encuentro?",
"Möchtest du": "¿Quieres",
"aus deinen Meetups entfernen?": "eliminar de tus encuentros?",
"Du kannst es jederzeit wieder hinzufügen.": "Puedes volver a añadirlo en cualquier momento.",
"Abbrechen": "Cancelar",
"Entfernen": "Eliminar",
"Keine Meetups zugeordnet": "No hay encuentros asignados",
"Meetup erfolgreich aktualisiert!": "¡Encuentro actualizado con éxito!",
"Meetup bearbeiten": "Editar encuentro",
"Grundlegende Informationen": "Información básica",
"ID": "ID",
"System-generierte ID (nur lesbar)": "ID generado por el sistema (solo lectura)",
"Der Anzeigename für dieses Meetup": "El nombre para mostrar de este encuentro",
"Stadt": "Ciudad",
"Stadt auswählen": "Seleccionar ciudad",
"Suche passende Stadt...": "Buscar ciudad correspondiente...",
"Die nächstgrößte Stadt oder Ort": "La ciudad o lugar más cercano",
"Einführung": "Introducción",
"Kurze Beschreibung des Meetups": "Breve descripción del encuentro",
"Links & Soziale Medien": "Enlaces y redes sociales",
"Webseite": "Sitio web",
"Offizielle Webseite oder Landingpage": "Sitio web oficial o página de destino",
"Telegram Link": "Enlace de Telegram",
"Link zur Telegram-Gruppe oder zum Kanal": "Enlace al grupo o canal de Telegram",
"Twitter Benutzername": "Nombre de usuario de Twitter",
"Twitter-Handle ohne @ Symbol": "Usuario de Twitter sin el símbolo @",
"Matrix Gruppe": "Grupo de Matrix",
"Matrix-Raum Bezeichner oder Link": "Identificador o enlace de sala Matrix",
"Nostr": "Nostr",
"Nostr öffentlicher Schlüssel oder Bezeichner": "Clave pública o identificador de Nostr",
"SimpleX": "SimpleX",
"SimpleX Chat Kontaktinformationen": "Información de contacto de SimpleX Chat",
"Signal": "Signal",
"Signal Kontakt- oder Gruppeninformationen": "Información de contacto o grupo de Signal",
"Zusätzliche Informationen": "Información adicional",
"Gemeinschaft": "Comunidad",
"Gemeinschafts- oder Organisationsname": "Nombre de la comunidad u organización",
"Systeminformationen": "Información del sistema",
"Erstellt von": "Creado por",
"Unbekannt": "Desconocido",
"Ersteller des Meetups": "Creador del encuentro",
"Erstellt am": "Creado el",
"Wann dieses Meetup erstellt wurde": "Cuando se creó este encuentro",
"Aktualisiert am": "Actualizado el",
"Letzte Änderungszeit": "Última hora de modificación",
"Meetup aktualisieren": "Actualizar encuentro",
"Suche nach Meetups...": "Buscar encuentros...",
"Nächster Termin": "Próxima cita",
"Links": "Enlaces",
"Aktionen": "Acciones",
"Ort": "Ubicación",
"Beschreibung": "Descripción",
"Mehr Informationen": "Más información",
"Zusagen": "Confirmaciones",
"Vielleicht": "Quizás",
"Zurück zum Meetup": "Volver al encuentro",
"Über uns": "Sobre nosotros",
"Kontakt & Links": "Contacto y enlaces",
"Standort": "Ubicación",
"Zoom = STRG+Scroll": "Zoom = CTRL+Scroll",
"Kommende Veranstaltungen": "Próximos eventos",
"Bitcoin Meetups": "Encuentros Bitcoin",
"Alle Meetups anzeigen": "Mostrar todos los encuentros",
"Kartenansicht öffnen": "Abrir vista de mapa",
"Verbinde dich mit Bitcoinern in deiner Nähe": "Conéctate con bitcoiners cerca de ti",
"Finde deine lokale Community": "Encuentra tu comunidad local",
"Event erfolgreich aktualisiert!": "¡Evento actualizado con éxito!",
"Event erfolgreich erstellt!": "¡Evento creado con éxito!",
"Event erfolgreich gelöscht!": "¡Evento eliminado con éxito!",
"Event bearbeiten": "Editar evento",
"Neues Event erstellen": "Crear nuevo evento",
"Event Details": "Detalles del evento",
"Startzeit": "Hora de inicio",
"Wann findet das Event statt?": "¿Cuándo tendrá lugar el evento?",
"z.B. Café Mustermann, Hauptstr. 1": "p.ej. Café Ejemplo, Calle Principal 1",
"Wo findet das Event statt?": "¿Dónde tendrá lugar el evento?",
"Beschreibe das Event...": "Describe el evento...",
"Details über das Event": "Detalles sobre el evento",
"Link": "Enlace",
"Link zu weiteren Informationen": "Enlace para más información",
"Bist du sicher, dass du dieses Event löschen möchtest?": "¿Estás seguro de que quieres eliminar este evento?",
"Event löschen": "Eliminar evento",
"Event aktualisieren": "Actualizar evento",
"Event erstellen": "Crear evento",
"Events": "Eventos",
"Teilnahme": "Participación",
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "No has iniciado sesión, por lo que debes escribir el nombre tú mismo.",
"Dein Name": "Tu nombre",
"Name eingeben": "Introducir nombre",
"Ich komme": "Asistiré",
"Absagen": "Cancelar",
"Öffnen/RSVP": "Abrir/RSVP"
}

View File

@@ -135,7 +135,7 @@ new class extends Component {
{{ __('Bearbeiten') }}
</flux:button>
<flux:modal.trigger :name="'remove-meetup-' . $meetup->id">
<flux:button size="xs" variant="danger" icon="trash"></flux:button>
<flux:button class="cursor-pointer" size="xs" variant="danger" icon="trash"></flux:button>
</flux:modal.trigger>
</div>
@@ -154,10 +154,10 @@ new class extends Component {
<flux:spacer />
<flux:modal.close>
<flux:button variant="ghost">{{ __('Abbrechen') }}</flux:button>
<flux:button class="cursor-pointer" variant="ghost">{{ __('Abbrechen') }}</flux:button>
</flux:modal.close>
<flux:button wire:click="removeMeetup({{ $meetup->id }})" variant="danger">{{ __('Entfernen') }}</flux:button>
<flux:button class="cursor-pointer" wire:click="removeMeetup({{ $meetup->id }})" variant="danger">{{ __('Entfernen') }}</flux:button>
</div>
</div>
</flux:modal>

View File

@@ -152,8 +152,8 @@ new class extends Component {
variant="filled" icon="pencil">
{{ __('Bearbeiten') }}
</flux:button>
<flux:button :href="route_with_country('meetups.events.create', ['meetup' => $meetup])" size="xs" variant="ghost" icon="calendar">
{{ __('Events') }}
<flux:button :href="route_with_country('meetups.events.create', ['meetup' => $meetup])" size="xs" variant="filled" icon="calendar">
{{ __('Neues Event erstellen') }}
</flux:button>
</flux:table.cell>
</flux:table.row>