mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-app.git
synced 2025-12-14 12:06:46 +00:00
🌐 Introduce dynamic domain-based locale and country handling
- Added `DomainMiddleware` to dynamically set locale, language-country session, and app name based on domain.
- Updated views and components to leverage `lang_country` session for language and region-specific content.
- Enhanced country parameter retrieval with `config('app.domain_country')` as fallback.
- Refined language filtering by scanning available language files dynamically.
- Added language-specific assets and translations (`nl.json`, `es.json`) with improved language-region associations.
- Updated `app-logo-icon` to display region-specific images or default SVGs.
- Improved views with cleaner, dynamic rendering and session-aware functionalities.
This commit is contained in:
39
app/Http/Middleware/DomainMiddleware.php
Normal file
39
app/Http/Middleware/DomainMiddleware.php
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\App;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class DomainMiddleware
|
||||||
|
{
|
||||||
|
public function handle(Request $request, Closure $next): Response
|
||||||
|
{
|
||||||
|
$domain = $request->getHost(); // Erkennt die aktuelle Domain (via CNAME)
|
||||||
|
|
||||||
|
// domains
|
||||||
|
$domainArray = [
|
||||||
|
'portal.eenentwintig.net' => [
|
||||||
|
'locale' => 'nl',
|
||||||
|
'lang_country' => 'nl-NL',
|
||||||
|
'app_name' => 'EENENTWINTIG Portaal',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
// App-Locale dynamisch setzen
|
||||||
|
if (isset($domainArray[$domain]['locale'])) {
|
||||||
|
session([
|
||||||
|
'lang_country' => $domainArray[$domain]['lang_country'],
|
||||||
|
]);
|
||||||
|
config([
|
||||||
|
'app.name' => $domainArray[$domain]['app_name'],
|
||||||
|
'app.domain_country' => $domainArray[$domain]['locale'],
|
||||||
|
]);
|
||||||
|
App::setLocale($domainArray[$domain]['locale']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware) {
|
->withMiddleware(function (Middleware $middleware) {
|
||||||
$middleware->web(append: [
|
$middleware->web(append: [
|
||||||
|
\App\Http\Middleware\DomainMiddleware::class,
|
||||||
\Stefro\LaravelLangCountry\Middleware\LangCountrySession::class,
|
\Stefro\LaravelLangCountry\Middleware\LangCountrySession::class,
|
||||||
\App\Http\Middleware\SetTimezone::class,
|
\App\Http\Middleware\SetTimezone::class,
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ return [
|
|||||||
|
|
||||||
'name' => env('APP_NAME', 'Laravel'),
|
'name' => env('APP_NAME', 'Laravel'),
|
||||||
|
|
||||||
|
'domain_country' => 'de',
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Application Environment
|
| Application Environment
|
||||||
|
|||||||
19
lang/de.json
19
lang/de.json
@@ -440,5 +440,22 @@
|
|||||||
"Öffnen/RSVP": "",
|
"Öffnen/RSVP": "",
|
||||||
"Über den Dozenten": "",
|
"Über den Dozenten": "",
|
||||||
"Über den Kurs": "",
|
"Über den Kurs": "",
|
||||||
"Über uns": ""
|
"Über uns": "",
|
||||||
|
"Details": "",
|
||||||
|
"Die Endzeit muss nach der Startzeit liegen.": "",
|
||||||
|
"Startdatum": "",
|
||||||
|
"An welchem Tag beginnt das Event?": "",
|
||||||
|
"Um wie viel Uhr beginnt das Event?": "",
|
||||||
|
"Enddatum": "",
|
||||||
|
"An welchem Tag endet das Event?": "",
|
||||||
|
"Um wie viel Uhr endet das Event?": "",
|
||||||
|
"Datum": "",
|
||||||
|
"An welchem Tag findet das Event statt?": "",
|
||||||
|
"Uhrzeit": "",
|
||||||
|
"Um wie viel Uhr startet das Event?": "",
|
||||||
|
"Zeitzone": "",
|
||||||
|
"Wähle deine Zeitzone aus...": "",
|
||||||
|
"Zeitzone erfolgreich aktualisiert": "",
|
||||||
|
"Wähle deine Zeitzone...": "",
|
||||||
|
"Suche Zeitzone...": ""
|
||||||
}
|
}
|
||||||
19
lang/en.json
19
lang/en.json
@@ -440,5 +440,22 @@
|
|||||||
"Öffnen/RSVP": "Open/RSVP",
|
"Öffnen/RSVP": "Open/RSVP",
|
||||||
"Über den Dozenten": "About the lecturer",
|
"Über den Dozenten": "About the lecturer",
|
||||||
"Über den Kurs": "About the course",
|
"Über den Kurs": "About the course",
|
||||||
"Über uns": "About us"
|
"Über uns": "About us",
|
||||||
|
"Details": "Details",
|
||||||
|
"Die Endzeit muss nach der Startzeit liegen.": "The end time must be after the start time.",
|
||||||
|
"Startdatum": "Start date",
|
||||||
|
"An welchem Tag beginnt das Event?": "On which day does the event start?",
|
||||||
|
"Um wie viel Uhr beginnt das Event?": "At what time does the event start?",
|
||||||
|
"Enddatum": "End date",
|
||||||
|
"An welchem Tag endet das Event?": "On which day does the event end?",
|
||||||
|
"Um wie viel Uhr endet das Event?": "At what time does the event end?",
|
||||||
|
"Datum": "Date",
|
||||||
|
"An welchem Tag findet das Event statt?": "On which day does the event take place?",
|
||||||
|
"Uhrzeit": "Time",
|
||||||
|
"Um wie viel Uhr startet das Event?": "At what time does the event start?",
|
||||||
|
"Zeitzone": "Timezone",
|
||||||
|
"Wähle deine Zeitzone aus...": "Select your timezone...",
|
||||||
|
"Zeitzone erfolgreich aktualisiert": "Timezone successfully updated",
|
||||||
|
"Wähle deine Zeitzone...": "Choose your timezone...",
|
||||||
|
"Suche Zeitzone...": "Search timezone..."
|
||||||
}
|
}
|
||||||
19
lang/es.json
19
lang/es.json
@@ -439,5 +439,22 @@
|
|||||||
"Öffnen/RSVP": "Abrir/RSVP",
|
"Öffnen/RSVP": "Abrir/RSVP",
|
||||||
"Über den Dozenten": "Sobre el profesor",
|
"Über den Dozenten": "Sobre el profesor",
|
||||||
"Über den Kurs": "Sobre el curso",
|
"Über den Kurs": "Sobre el curso",
|
||||||
"Über uns": "Sobre nosotros"
|
"Über uns": "Sobre nosotros",
|
||||||
|
"Details": "Detalles",
|
||||||
|
"Die Endzeit muss nach der Startzeit liegen.": "La hora de finalización debe ser posterior a la hora de inicio.",
|
||||||
|
"Startdatum": "Fecha de inicio",
|
||||||
|
"An welchem Tag beginnt das Event?": "¿En qué día comienza el evento?",
|
||||||
|
"Um wie viel Uhr beginnt das Event?": "¿A qué hora comienza el evento?",
|
||||||
|
"Enddatum": "Fecha de finalización",
|
||||||
|
"An welchem Tag endet das Event?": "¿En qué día termina el evento?",
|
||||||
|
"Um wie viel Uhr endet das Event?": "¿A qué hora termina el evento?",
|
||||||
|
"Datum": "Fecha",
|
||||||
|
"An welchem Tag findet das Event statt?": "¿En qué día se lleva a cabo el evento?",
|
||||||
|
"Uhrzeit": "Hora",
|
||||||
|
"Um wie viel Uhr startet das Event?": "¿A qué hora comienza el evento?",
|
||||||
|
"Zeitzone": "Zona horaria",
|
||||||
|
"Wähle deine Zeitzone aus...": "Selecciona tu zona horaria...",
|
||||||
|
"Zeitzone erfolgreich aktualisiert": "Zona horaria actualizada exitosamente",
|
||||||
|
"Wähle deine Zeitzone...": "Elige tu zona horaria...",
|
||||||
|
"Suche Zeitzone...": "Buscar zona horaria..."
|
||||||
}
|
}
|
||||||
380
lang/nl.json
Normal file
380
lang/nl.json
Normal file
@@ -0,0 +1,380 @@
|
|||||||
|
{
|
||||||
|
"Login - Bitcoin Meetups": "Inloggen - Bitcoin Meetups",
|
||||||
|
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und aan der Community teilzunehmen.": "Log in om toegang te krijgen tot je Bitcoin Meetup-account en deel te nemen aan de community.",
|
||||||
|
"Dashboard - Bitcoin Meetups": "Dashboard - Bitcoin Meetups",
|
||||||
|
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "Beheer je Bitcoin Meetups, evenementen en instellingen in je persoonlijke dashboard.",
|
||||||
|
"Willkommen bei Bitcoin Meetups": "Welkom bij Bitcoin Meetups",
|
||||||
|
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "Ontdek de Bitcoin-community in je buurt. Vind lokale Meetups en netwerk met gelijkgestemden.",
|
||||||
|
"Follow the Rabbit - Bitcoin Journey": "Follow the Rabbit - Bitcoin Journey",
|
||||||
|
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "Start je Bitcoin-reis en ontdek spannende inhoud over Bitcoin en Blockchain.",
|
||||||
|
"Neue Stadt hinzufügen - Bitcoin Meetups": "Nieuwe stad toevoegen - Bitcoin Meetups",
|
||||||
|
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "Voeg een nieuwe stad toe om Bitcoin Meetups in je regio te organiseren.",
|
||||||
|
"Stadt bearbeiten - Bitcoin Meetups": "Stad bewerken - Bitcoin Meetups",
|
||||||
|
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "Werk de informatie bij voor Bitcoin Meetup-locaties in je stad.",
|
||||||
|
"Städteübersicht - Bitcoin Meetups": "Stedenoverzicht - Bitcoin Meetups",
|
||||||
|
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "Doorzoek alle steden met actieve Bitcoin Meetups en vind evenementen in je buurt.",
|
||||||
|
"Neuen Kurs erstellen - Bitcoin Education": "Nieuwe cursus maken - Bitcoin Education",
|
||||||
|
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "Maak een nieuwe Bitcoin-educatiecursus en deel je kennis met de community.",
|
||||||
|
"Kursevents bearbeiten - Bitcoin Education": "Cursusevenementen bewerken - Bitcoin Education",
|
||||||
|
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "Beheer de data en details van je Bitcoin-educatie-evenementen.",
|
||||||
|
"Kurs bearbeiten - Bitcoin Education": "Cursus bewerken - Bitcoin Education",
|
||||||
|
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "Werk de inhoud en informatie van je Bitcoin-educatiecursus bij.",
|
||||||
|
"Bitcoin Kurse - Übersicht": "Bitcoin Cursussen - Overzicht",
|
||||||
|
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "Ontdek onze diverse Bitcoin-educatie-aanbiedingen en workshops.",
|
||||||
|
"Bitcoin Bildung & Kurse": "Bitcoin Educatie & Cursussen",
|
||||||
|
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "Leer alles over Bitcoin - van de basis tot geavanceerde onderwerpen.",
|
||||||
|
"Dozent werden - Bitcoin Education": "Docent worden - Bitcoin Education",
|
||||||
|
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "Word Bitcoin-docent en deel je expertise met de community.",
|
||||||
|
"Dozentenprofil bearbeiten": "Docentenprofiel bewerken",
|
||||||
|
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "Werk je profiel als Bitcoin-docent en je cursusaanbiedingen bij.",
|
||||||
|
"Bitcoin Dozenten - Übersicht": "Bitcoin Docenten - Overzicht",
|
||||||
|
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "Leer onze ervaren Bitcoin-docenten en hun expertise kennen.",
|
||||||
|
"Bitcoin Meetup Events verwalten": "Bitcoin Meetup Evenementen beheren",
|
||||||
|
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "Maak en bewerk Bitcoin Meetup-evenementen voor je community.",
|
||||||
|
"Meetup bearbeiten - Bitcoin Events": "Meetup bewerken - Bitcoin Evenementen",
|
||||||
|
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "Werk de details en informatie van je Bitcoin Meetup bij.",
|
||||||
|
"Bitcoin Meetups - Alle Events": "Bitcoin Meetups - Alle Evenementen",
|
||||||
|
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "Vind alle huidige Bitcoin Meetups en evenementen in je regio.",
|
||||||
|
"Bitcoin Meetups - Community Events": "Bitcoin Meetups - Community Evenementen",
|
||||||
|
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "Ontdek Bitcoin Community-evenementen en netwerk met gelijkgestemden.",
|
||||||
|
"Bitcoin Event Details": "Bitcoin Evenement Details",
|
||||||
|
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "Alle informatie over het geselecteerde Bitcoin Meetup-evenement.",
|
||||||
|
"Bitcoin Meetups Karte": "Bitcoin Meetups Kaart",
|
||||||
|
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "Vind Bitcoin Meetups in je buurt met onze interactieve kaart.",
|
||||||
|
"Erscheinungsbild - Einstellungen": "Uiterlijk - Instellingen",
|
||||||
|
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "Pas het uiterlijk van je Bitcoin Meetup-profiel aan.",
|
||||||
|
"Konto löschen - Bitcoin Meetups": "Account verwijderen - Bitcoin Meetups",
|
||||||
|
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "Informatie over het verwijderen van je Bitcoin Meetup-account.",
|
||||||
|
"Passwort ändern - Bitcoin Meetups": "Wachtwoord wijzigen - Bitcoin Meetups",
|
||||||
|
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "Wijzig je wachtwoord voor meer beveiliging van je Bitcoin Meetup-account.",
|
||||||
|
"Profil bearbeiten - Bitcoin Meetups": "Profiel bewerken - Bitcoin Meetups",
|
||||||
|
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "Werk je persoonlijke informatie en profielinstellingen bij.",
|
||||||
|
"Neuen Veranstaltungsort erstellen": "Nieuwe locatie maken",
|
||||||
|
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "Voeg een nieuwe locatie toe voor Bitcoin Meetups en evenementen.",
|
||||||
|
"Veranstaltungsort bearbeiten": "Locatie bewerken",
|
||||||
|
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "Werk de details van een Bitcoin Meetup-locatie bij.",
|
||||||
|
"Veranstaltungsorte - Übersicht": "Locaties - Overzicht",
|
||||||
|
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "Vind alle locaties voor Bitcoin Meetups en evenementen.",
|
||||||
|
"Willkommen": "Welkom",
|
||||||
|
"Toximalistisches Infotainment für bullische Bitcoiner.": "Toximalistisch infotainment voor bullische Bitcoiners.",
|
||||||
|
"no location set": "geen locatie ingesteld",
|
||||||
|
"BooksForPlebs": "BooksForPlebs",
|
||||||
|
"Lokale Buchausleihe für Bitcoin-Meetups.": "Lokale boekuitlening voor 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!": "Dit is een geweldig overzicht van de Bitcoin-rabbithole met toegang tot gebieden die Bitcoin omvatten. Elk onderwerp heeft zijn eigen rabbithole, gevisualiseerd door infographics op een eenvoudige en begrijpelijke manier, met QR-codes die leiden naar uitleggende video's en artikelen. Veel plezier op je ontdekkingstocht!",
|
||||||
|
"Saved.": "Opgeslagen.",
|
||||||
|
"Sprache wählen": "Taal selecteren",
|
||||||
|
"Dashboard": "Dashboard",
|
||||||
|
"Search": "Zoeken",
|
||||||
|
"Repository": "Repository",
|
||||||
|
"Documentation": "Documentatie",
|
||||||
|
"Settings": "Instellingen",
|
||||||
|
"Log Out": "Uitloggen",
|
||||||
|
"Platform": "Platform",
|
||||||
|
"Success!": "Succes!",
|
||||||
|
"Copied into clipboard": "Gekopieerd naar klembord",
|
||||||
|
"App": "App",
|
||||||
|
"Meetups": "Meetups",
|
||||||
|
"Karte": "Kaart",
|
||||||
|
"Kurse": "Cursussen",
|
||||||
|
"Dozenten": "Docenten",
|
||||||
|
"Diverses": "Diversen",
|
||||||
|
"Orte/Gebiete": "Locaties/Gebieden",
|
||||||
|
"Städte/Gebiete": "Steden/Gebieden",
|
||||||
|
"Veranstaltungsorte": "Locaties",
|
||||||
|
"Sprache wechseln": "Taal wisselen",
|
||||||
|
"Land": "Land",
|
||||||
|
"Nächster Termin": "Volgende afspraak",
|
||||||
|
"Zusagen": "Bevestigingen",
|
||||||
|
"Vielleicht": "Misschien",
|
||||||
|
"Telegram": "Telegram",
|
||||||
|
"Website": "Website",
|
||||||
|
"Twitter": "Twitter",
|
||||||
|
"Matrix": "Matrix",
|
||||||
|
"Nostr": "Nostr",
|
||||||
|
"Simplex": "Simplex",
|
||||||
|
"Signal": "Signal",
|
||||||
|
"Details": "Details",
|
||||||
|
"Profile": "Profiel",
|
||||||
|
"Password": "Wachtwoord",
|
||||||
|
"Appearance": "Uiterlijk",
|
||||||
|
"Unauthorized": "Ongeautoriseerd",
|
||||||
|
"Payment Required": "Betaling vereist",
|
||||||
|
"Forbidden": "Verboden",
|
||||||
|
"Not Found": "Niet gevonden",
|
||||||
|
"Page Expired": "Pagina verlopen",
|
||||||
|
"Too Many Requests": "Te veel verzoeken",
|
||||||
|
"Server Error": "Serverfout",
|
||||||
|
"Service Unavailable": "Service niet beschikbaar",
|
||||||
|
"Confirm password": "Bevestig wachtwoord",
|
||||||
|
"This is a secure area of the application. Please confirm your password before continuing.": "Dit is een beveiligd gebied van de applicatie. Bevestig je wachtwoord voordat je doorgaat.",
|
||||||
|
"Confirm": "Bevestigen",
|
||||||
|
"A reset link will be sent if the account exists.": "Er wordt een resetlink verzonden als het account bestaat.",
|
||||||
|
"Forgot password": "Wachtwoord vergeten",
|
||||||
|
"Enter your email to receive a password reset link": "Voer je e-mail in om een wachtwoordherstel-link te ontvangen",
|
||||||
|
"Email Address": "E-mailadres",
|
||||||
|
"Email password reset link": "E-mail wachtwoordherstel-link",
|
||||||
|
"Or, return to": "Of, terug naar",
|
||||||
|
"log in": "inloggen",
|
||||||
|
"Willkommen zurück": "Welkom terug",
|
||||||
|
"Log in mit Nostr": "Inloggen met Nostr",
|
||||||
|
"Copy": "Kopiëren",
|
||||||
|
"Click to connect": "Klik om te verbinden",
|
||||||
|
"Create an account": "Account aanmaken",
|
||||||
|
"Enter your details below to create your account": "Voer je gegevens hieronder in om je account aan te maken",
|
||||||
|
"Name": "Naam",
|
||||||
|
"Full name": "Volledige naam",
|
||||||
|
"Email address": "E-mailadres",
|
||||||
|
"Create account": "Account aanmaken",
|
||||||
|
"Already have an account?": "Heb je al een account?",
|
||||||
|
"Log in": "Inloggen",
|
||||||
|
"Reset password": "Wachtwoord herstellen",
|
||||||
|
"Please enter your new password below": "Voer je nieuwe wachtwoord hieronder in",
|
||||||
|
"Email": "E-mail",
|
||||||
|
"Please verify your email address by clicking on the link we just emailed to you.": "Verifieer je e-mailadres door op de link te klikken die we net naar je hebben gemaild.",
|
||||||
|
"A new verification link has been sent to the email address you provided during registration.": "Een nieuwe verificatielink is verzonden naar het e-mailadres dat je tijdens de registratie hebt opgegeven.",
|
||||||
|
"Resend verification email": "Verificatie-e-mail opnieuw verzenden",
|
||||||
|
"Log out": "Uitloggen",
|
||||||
|
"City successfully created!": "Stad succesvol aangemaakt!",
|
||||||
|
"Create City": "Stad aanmaken",
|
||||||
|
"Basic Information": "Basisinformatie",
|
||||||
|
"Country": "Land",
|
||||||
|
"Select a country": "Selecteer een land",
|
||||||
|
"Coordinates": "Coördinaten",
|
||||||
|
"Latitude": "Breedtegraad",
|
||||||
|
"Longitude": "Lengtegraad",
|
||||||
|
"Demographics": "Demografie",
|
||||||
|
"Population": "Bevolking",
|
||||||
|
"Population Date": "Bevolkingsdatum",
|
||||||
|
"Cancel": "Annuleren",
|
||||||
|
"City successfully updated!": "Stad succesvol bijgewerkt!",
|
||||||
|
"Edit City": "Stad bewerken",
|
||||||
|
"Update City": "Stad bijwerken",
|
||||||
|
"Cities": "Steden",
|
||||||
|
"Search cities...": "Zoek steden...",
|
||||||
|
"Created By": "Aangemaakt door",
|
||||||
|
"Actions": "Acties",
|
||||||
|
"Edit": "Bewerken",
|
||||||
|
"Wähle dein Land...": "Selecteer je land...",
|
||||||
|
"Suche dein Land...": "Zoek je land...",
|
||||||
|
"Die Endzeit muss nach der Startzeit liegen.": "De eindtijd moet na de starttijd liggen.",
|
||||||
|
"Event erfolgreich aktualisiert!": "Evenement succesvol bijgewerkt!",
|
||||||
|
"Event erfolgreich erstellt!": "Evenement succesvol aangemaakt!",
|
||||||
|
"Event erfolgreich gelöscht!": "Evenement succesvol verwijderd!",
|
||||||
|
"Event bearbeiten": "Evenement bewerken",
|
||||||
|
"Neues Event erstellen": "Nieuw evenement aanmaken",
|
||||||
|
"Event Details": "Evenement Details",
|
||||||
|
"Startdatum": "Startdatum",
|
||||||
|
"An welchem Tag beginnt das Event?": "Op welke dag begint het evenement?",
|
||||||
|
"Startzeit": "Starttijd",
|
||||||
|
"Um wie viel Uhr beginnt das Event?": "Hoe laat begint het evenement?",
|
||||||
|
"Enddatum": "Einddatum",
|
||||||
|
"An welchem Tag endet das Event?": "Op welke dag eindigt het evenement?",
|
||||||
|
"Endzeit": "Eindtijd",
|
||||||
|
"Um wie viel Uhr endet das Event?": "Hoe laat eindigt het evenement?",
|
||||||
|
"Veranstaltungsort": "Locatie",
|
||||||
|
"Ort hinzufügen": "Locatie toevoegen",
|
||||||
|
"Veranstaltungsort auswählen": "Locatie selecteren",
|
||||||
|
"Suche nach Ort...": "Zoek naar locatie...",
|
||||||
|
"Wo findet das Event statt?": "Waar vindt het evenement plaats?",
|
||||||
|
"Link": "Link",
|
||||||
|
"Link zu weiteren Informationen oder zur Anmeldung": "Link naar meer informatie of registratie",
|
||||||
|
"Abbrechen": "Annuleren",
|
||||||
|
"Bist du sicher, dass du dieses Event löschen möchtest?": "Weet je zeker dat je dit evenement wilt verwijderen?",
|
||||||
|
"Event löschen": "Evenement verwijderen",
|
||||||
|
"Event aktualisieren": "Evenement bijwerken",
|
||||||
|
"Event erstellen": "Evenement aanmaken",
|
||||||
|
"Veranstaltungsort hinzufügen": "Locatie toevoegen",
|
||||||
|
"Füge einen neuen Veranstaltungsort zur Datenbank hinzu.": "Voeg een nieuwe locatie toe aan de database.",
|
||||||
|
"z.B. Bitcoin Zentrum München": "bijv. Bitcoin Centrum Amsterdam",
|
||||||
|
"Stadt": "Stad",
|
||||||
|
"Stadt auswählen": "Stad selecteren",
|
||||||
|
"Suche passende Stadt...": "Zoek passende stad...",
|
||||||
|
"Straße": "Straat",
|
||||||
|
"z.B. Hauptstraße 1": "bijv. Hoofdstraat 1",
|
||||||
|
"Ort erstellen": "Locatie aanmaken",
|
||||||
|
"Kurs erfolgreich erstellt!": "Cursus succesvol aangemaakt!",
|
||||||
|
"Neuen Kurs erstellen": "Nieuwe cursus aanmaken",
|
||||||
|
"Grundlegende Informationen": "Basisinformatie",
|
||||||
|
"Der Anzeigename für diesen Kurs": "De weergavenaam voor deze cursus",
|
||||||
|
"Dozent": "Docent",
|
||||||
|
"Dozent auswählen": "Docent selecteren",
|
||||||
|
"Suche passenden Dozenten...": "Zoek passende docent...",
|
||||||
|
"Der Dozent, der diesen Kurs leitet": "De docent die deze cursus leidt",
|
||||||
|
"Beschreibung": "Beschrijving",
|
||||||
|
"Ausführliche Beschreibung des Kurses": "Gedetailleerde beschrijving van de cursus",
|
||||||
|
"Kurs erstellen": "Cursus aanmaken",
|
||||||
|
"Kurs erfolgreich aktualisiert!": "Cursus succesvol bijgewerkt!",
|
||||||
|
"Kurs bearbeiten": "Cursus bewerken",
|
||||||
|
"ID": "ID",
|
||||||
|
"System-generierte ID (nur lesbar)": "Systeemgegenereerde ID (alleen-lezen)",
|
||||||
|
"Systeminformationen": "Systeemgegevens",
|
||||||
|
"Erstellt von": "Aangemaakt door",
|
||||||
|
"Unbekannt": "Onbekend",
|
||||||
|
"Ersteller des Kurses": "Maker van de cursus",
|
||||||
|
"Erstellt am": "Aangemaakt op",
|
||||||
|
"Wann dieser Kurs erstellt wurde": "Wanneer deze cursus werd aangemaakt",
|
||||||
|
"Aktualisiert am": "Bijgewerkt op",
|
||||||
|
"Letzte Änderungszeit": "Laatste wijzigingstijd",
|
||||||
|
"Kurs aktualisieren": "Cursus bijwerken",
|
||||||
|
"Suche nach Kursen...": "Zoek naar cursussen...",
|
||||||
|
"Neuer Kurs": "Nieuwe cursus",
|
||||||
|
"Aktionen": "Acties",
|
||||||
|
"Bearbeiten": "Bewerken",
|
||||||
|
"Über den Kurs": "Over de cursus",
|
||||||
|
"Über den Dozenten": "Over de docent",
|
||||||
|
"Kommende Veranstaltungen": "Aankomende evenementen",
|
||||||
|
"Anmeldungen": "Registraties",
|
||||||
|
"Details/Anmelden": "Details/Aanmelden",
|
||||||
|
"Meine nächsten Meetup Termine": "Mijn volgende Meetup-afspraken",
|
||||||
|
"Keine bevorstehenden Termine": "Geen aankomende afspraken",
|
||||||
|
"Meine Meetups": "Mijn Meetups",
|
||||||
|
"Meetup hinzufügen...": "Meetup toevoegen...",
|
||||||
|
"Meetup suchen...": "Meetup zoeken...",
|
||||||
|
"Meetup entfernen?": "Meetup verwijderen?",
|
||||||
|
"Möchtest du": "Wil je",
|
||||||
|
"aus deinen Meetups entfernen?": "uit je Meetups verwijderen?",
|
||||||
|
"Du kannst es jederzeit wieder hinzufügen.": "Je kunt het altijd weer toevoegen.",
|
||||||
|
"Entfernen": "Verwijderen",
|
||||||
|
"Keine Meetups zugeordnet": "Geen Meetups toegewezen",
|
||||||
|
"Dozent erfolgreich erstellt!": "Docent succesvol aangemaakt!",
|
||||||
|
"Neuen Dozenten erstellen": "Nieuwe docent aanmaken",
|
||||||
|
"Vollständiger Name des Dozenten": "Volledige naam van de docent",
|
||||||
|
"Untertitel": "Ondertitel",
|
||||||
|
"Kurze Berufsbezeichnung oder Rolle": "Korte beroepsaanduiding of rol",
|
||||||
|
"Status": "Status",
|
||||||
|
"Ist dieser Dozent aktiv?": "Is deze docent actief?",
|
||||||
|
"Einführung": "Introductie",
|
||||||
|
"Kurze Vorstellung (wird auf Kurs-Seiten angezeigt)": "Korte introductie (wordt getoond op cursuspagina's)",
|
||||||
|
"Ausführliche Beschreibung und Biografie": "Gedetailleerde beschrijving en biografie",
|
||||||
|
"Links & Soziale Medien": "Links & Sociale media",
|
||||||
|
"Webseite": "Website",
|
||||||
|
"Persönliche Webseite oder Portfolio": "Persoonlijke website of portfolio",
|
||||||
|
"Twitter Benutzername": "Twitter-gebruikersnaam",
|
||||||
|
"Twitter-Handle ohne @ Symbol": "Twitter-handle zonder @ symbool",
|
||||||
|
"Nostr öffentlicher Schlüssel": "Nostr publieke sleutel",
|
||||||
|
"Zahlungsinformationen": "Betaalinformatie",
|
||||||
|
"Lightning Adresse": "Lightning-adres",
|
||||||
|
"Lightning-Adresse für Zahlungen": "Lightning-adres voor betalingen",
|
||||||
|
"LNURL": "LNURL",
|
||||||
|
"LNURL für Lightning-Zahlungen": "LNURL voor Lightning-betalingen",
|
||||||
|
"Node ID": "Node ID",
|
||||||
|
"Lightning Node ID": "Lightning Node ID",
|
||||||
|
"PayNym": "PayNym",
|
||||||
|
"PayNym für Bitcoin-Zahlungen": "PayNym voor Bitcoin-betalingen",
|
||||||
|
"Dozenten erstellen": "Docenten aanmaken",
|
||||||
|
"Dozent erfolgreich aktualisiert!": "Docent succesvol bijgewerkt!",
|
||||||
|
"Dozent bearbeiten": "Docent bewerken",
|
||||||
|
"Ersteller des Dozenten": "Maker van de docent",
|
||||||
|
"Wann dieser Dozent erstellt wurde": "Wanneer deze docent werd aangemaakt",
|
||||||
|
"Dozent aktualisieren": "Docent bijwerken",
|
||||||
|
"Suche nach Dozenten...": "Zoek naar docenten...",
|
||||||
|
"Dozenten anlegen": "Docenten aanleggen",
|
||||||
|
"Links": "Links",
|
||||||
|
"Aktiv": "Actief",
|
||||||
|
"Inaktiv": "Inactief",
|
||||||
|
"weitere Termine": "meer afspraken",
|
||||||
|
"Datum": "Datum",
|
||||||
|
"An welchem Tag findet das Event statt?": "Op welke dag vindt het evenement plaats?",
|
||||||
|
"Uhrzeit": "Tijd",
|
||||||
|
"Um wie viel Uhr startet das Event?": "Hoe laat start het evenement?",
|
||||||
|
"Ort": "Locatie",
|
||||||
|
"z.B. Café Mustermann, Hauptstr. 1": "bijv. Café Voorbeeld, Hoofdstr. 1",
|
||||||
|
"Beschreibe das Event...": "Beschrijf het evenement...",
|
||||||
|
"Details über das Event": "Details over het evenement",
|
||||||
|
"Link zu weiteren Informationen": "Link naar meer informatie",
|
||||||
|
"Meetup erfolgreich erstellt!": "Meetup succesvol aangemaakt!",
|
||||||
|
"Neues Meetup erstellen": "Nieuwe Meetup aanmaken",
|
||||||
|
"Der Anzeigename für dieses Meetup": "De weergavenaam voor deze Meetup",
|
||||||
|
"Stadt hinzufügen": "Stad toevoegen",
|
||||||
|
"Die nächstgrößte Stadt oder Ort": "De dichtstbijzijnde stad of plaats",
|
||||||
|
"Auf Karte sichtbar": "Zichtbaar op kaart",
|
||||||
|
"Soll dieses Meetup auf der Karte angezeigt werden?": "Moet deze Meetup op de kaart worden weergegeven?",
|
||||||
|
"Kurze Beschreibung des Meetups": "Korte beschrijving van de Meetup",
|
||||||
|
"Offizielle Webseite oder Landingpage": "Officiële website of landingpagina",
|
||||||
|
"Telegram Link": "Telegram-link",
|
||||||
|
"Link zur Telegram-Gruppe oder zum Kanal": "Link naar Telegram-groep of kanaal",
|
||||||
|
"Matrix Gruppe": "Matrix-groep",
|
||||||
|
"Matrix-Raum Bezeichner oder Link": "Matrix-ruim-identifier of link",
|
||||||
|
"Nostr öffentlicher Schlüssel oder Bezeichner": "Nostr publieke sleutel of identifier",
|
||||||
|
"SimpleX": "SimpleX",
|
||||||
|
"SimpleX Chat Kontaktinformationen": "SimpleX-chatcontactinformatie",
|
||||||
|
"Signal Kontakt- of Gruppeninformationen": "Signalcontact- of groepsinformatie",
|
||||||
|
"Zusätzliche Informationen": "Aanvullende informatie",
|
||||||
|
"Gemeinschaft": "Gemeenschap",
|
||||||
|
"Keine": "Geen",
|
||||||
|
"Gemeinschafts- oder Organisationsname": "Gemeenschaps- of organisatienaam",
|
||||||
|
"Meetup erstellen": "Meetup aanmaken",
|
||||||
|
"Füge eine neue Stadt zur Datenbank hinzu.": "Voeg een nieuwe stad toe aan de database.",
|
||||||
|
"Stadtname": "Stadsnaam",
|
||||||
|
"z.B. Berlin": "bijv. Amsterdam",
|
||||||
|
"Land auswählen": "Land selecteren",
|
||||||
|
"Breitengrad": "Breedtegraad",
|
||||||
|
"Längengrad": "Lengtegraad",
|
||||||
|
"Stadt erstellen": "Stad aanmaken",
|
||||||
|
"Meetup erfolgreich aktualisiert!": "Meetup succesvol bijgewerkt!",
|
||||||
|
"Meetup bearbeiten": "Meetup bewerken",
|
||||||
|
"Ersteller des Meetups": "Maker van de Meetup",
|
||||||
|
"Wann dieses Meetup erstellt wurde": "Wanneer deze Meetup werd aangemaakt",
|
||||||
|
"Meetup aktualisieren": "Meetup bijwerken",
|
||||||
|
"Kalender-Stream-URL kopieren": "Kalender-stream-URL kopiëren",
|
||||||
|
"Suche nach Meetups...": "Zoek naar Meetups...",
|
||||||
|
"Mehr Informationen": "Meer informatie",
|
||||||
|
"Teilnahme": "Deelname",
|
||||||
|
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "Je bent niet ingelogd en moet daarom de naam zelf intypen.",
|
||||||
|
"Dein Name": "Je naam",
|
||||||
|
"Name eingeben": "Naam invoeren",
|
||||||
|
"Ich komme": "Ik kom",
|
||||||
|
"Absagen": "Afmelden",
|
||||||
|
"Zurück zum Meetup": "Terug naar Meetup",
|
||||||
|
"Über uns": "Over ons",
|
||||||
|
"Kontakt & Links": "Contact & Links",
|
||||||
|
"Standort": "Locatie",
|
||||||
|
"Zoom = STRG+Scroll": "Zoom = CTRL+Scroll",
|
||||||
|
"Öffnen/RSVP": "Openen/RSVP",
|
||||||
|
"Update the appearance settings for your account": "Werk de uiterlijk-instellingen bij voor je account",
|
||||||
|
"Light": "Licht",
|
||||||
|
"Dark": "Donker",
|
||||||
|
"System": "Systeem",
|
||||||
|
"Delete account": "Account verwijderen",
|
||||||
|
"Delete your account and all of its resources": "Verwijder je account en al zijn bronnen",
|
||||||
|
"Are you sure you want to delete your account?": "Weet je zeker dat je je account wilt verwijderen?",
|
||||||
|
"Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Zodra je account wordt verwijderd, worden al zijn bronnen en gegevens permanent verwijderd. Voer je wachtwoord in om te bevestigen dat je je account permanent wilt verwijderen.",
|
||||||
|
"Update password": "Wachtwoord bijwerken",
|
||||||
|
"Ensure your account is using a long, random password to stay secure": "Zorg ervoor dat je account een lang, willekeurig wachtwoord gebruikt om veilig te blijven",
|
||||||
|
"Current password": "Huidige wachtwoord",
|
||||||
|
"New password": "Nieuw wachtwoord",
|
||||||
|
"Confirm Password": "Bevestig wachtwoord",
|
||||||
|
"Save": "Opslaan",
|
||||||
|
"Update your name and email address": "Werk je naam en e-mailadres bij",
|
||||||
|
"Your email address is unverified.": "Je e-mailadres is niet geverifieerd.",
|
||||||
|
"Click here to re-send the verification email.": "Klik hier om de verificatie-e-mail opnieuw te verzenden.",
|
||||||
|
"A new verification link has been sent to your email address.": "Een nieuwe verificatielink is verzonden naar je e-mailadres.",
|
||||||
|
"Zeitzone": "Tijdzone",
|
||||||
|
"Wähle deine Zeitzone aus...": "Selecteer je tijdzone...",
|
||||||
|
"Spracheinstellungen": "Taalinstellingen",
|
||||||
|
"Wähle deine Sprache aus...": "Selecteer je taal...",
|
||||||
|
"Zeitzone erfolgreich aktualisiert": "Tijdzone succesvol bijgewerkt",
|
||||||
|
"Wähle deine Zeitzone...": "Selecteer je tijdzone...",
|
||||||
|
"Suche Zeitzone...": "Zoek tijdzone...",
|
||||||
|
"Venue successfully created!": "Locatie succesvol aangemaakt!",
|
||||||
|
"Create Venue": "Locatie aanmaken",
|
||||||
|
"Venue Information": "Locatie-informatie",
|
||||||
|
"City": "Stad",
|
||||||
|
"Select a city": "Selecteer een stad",
|
||||||
|
"Street": "Straat",
|
||||||
|
"Venue successfully updated!": "Locatie succesvol bijgewerkt!",
|
||||||
|
"Edit Venue": "Locatie bewerken",
|
||||||
|
"Update Venue": "Locatie bijwerken",
|
||||||
|
"Venues": "Locaties",
|
||||||
|
"Search venues...": "Zoek locaties...",
|
||||||
|
"Bitcoin Meetups": "Bitcoin Meetups",
|
||||||
|
"Alle Meetups anzeigen": "Alle Meetups weergeven",
|
||||||
|
"Kartenansicht öffnen": "Kartenweergave openen",
|
||||||
|
"Login": "Inloggen",
|
||||||
|
"Verbinde dich mit Bitcoinern in deiner Nähe": "Verbind je met Bitcoiners in je buurt",
|
||||||
|
"Finde deine lokale Community": "Vind je lokale community",
|
||||||
|
"Manage your profile and account settings": "Beheer je profiel- en accountinstellingen",
|
||||||
|
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "Log in om toegang te krijgen tot je Bitcoin Meetup-account en deel te nemen aan de community.",
|
||||||
|
"Signal Kontakt- oder Gruppeninformationen": "Signal contact- of groepsinformatie"
|
||||||
|
}
|
||||||
378
lang/pt.json
Normal file
378
lang/pt.json
Normal file
@@ -0,0 +1,378 @@
|
|||||||
|
{
|
||||||
|
"Login - Bitcoin Meetups": "Login - Bitcoin Meetups",
|
||||||
|
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "Faça login para acessar sua conta do Bitcoin Meetup e participar da comunidade.",
|
||||||
|
"Dashboard - Bitcoin Meetups": "Painel - Bitcoin Meetups",
|
||||||
|
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "Gerencie seus Bitcoin Meetups, eventos e configurações em seu painel pessoal.",
|
||||||
|
"Willkommen bei Bitcoin Meetups": "Bem-vindo aos Bitcoin Meetups",
|
||||||
|
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "Descubra a comunidade Bitcoin perto de você. Encontre meetups locais e conecte-se com pessoas de ideias semelhantes.",
|
||||||
|
"Follow the Rabbit - Bitcoin Journey": "Follow the Rabbit - Jornada Bitcoin",
|
||||||
|
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "Inicie sua jornada Bitcoin e descubra conteúdos fascinantes sobre Bitcoin e Blockchain.",
|
||||||
|
"Neue Stadt hinzufügen - Bitcoin Meetups": "Adicionar nova cidade - Bitcoin Meetups",
|
||||||
|
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "Adicione uma nova cidade para organizar Bitcoin Meetups em sua região.",
|
||||||
|
"Stadt bearbeiten - Bitcoin Meetups": "Editar cidade - Bitcoin Meetups",
|
||||||
|
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "Atualize as informações para locais de Bitcoin Meetup em sua cidade.",
|
||||||
|
"Städteübersicht - Bitcoin Meetups": "Visão geral das cidades - Bitcoin Meetups",
|
||||||
|
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "Pesquise todas as cidades com Bitcoin Meetups ativos e encontre eventos perto de você.",
|
||||||
|
"Neuen Kurs erstellen - Bitcoin Education": "Criar novo curso - Educação Bitcoin",
|
||||||
|
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "Crie um novo curso de educação Bitcoin e compartilhe seu conhecimento com a comunidade.",
|
||||||
|
"Kursevents bearbeiten - Bitcoin Education": "Editar eventos do curso - Educação Bitcoin",
|
||||||
|
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "Gerencie as datas e detalhes de seus eventos educacionais Bitcoin.",
|
||||||
|
"Kurs bearbeiten - Bitcoin Education": "Editar curso - Educação Bitcoin",
|
||||||
|
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "Atualize os conteúdos e informações do seu curso educacional Bitcoin.",
|
||||||
|
"Bitcoin Kurse - Übersicht": "Cursos Bitcoin - Visão geral",
|
||||||
|
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "Descubra nossas diversas ofertas educacionais Bitcoin e workshops.",
|
||||||
|
"Bitcoin Bildung & Kurse": "Educação & Cursos Bitcoin",
|
||||||
|
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "Aprenda tudo sobre Bitcoin - dos fundamentos aos tópicos avançados.",
|
||||||
|
"Dozent werden - Bitcoin Education": "Torne-se professor - Educação Bitcoin",
|
||||||
|
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "Torne-se um professor de Bitcoin e compartilhe seu conhecimento especializado com a comunidade.",
|
||||||
|
"Dozentenprofil bearbeiten": "Editar perfil do professor",
|
||||||
|
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "Atualize seu perfil como professor de Bitcoin e suas ofertas de cursos.",
|
||||||
|
"Bitcoin Dozenten - Übersicht": "Professores Bitcoin - Visão geral",
|
||||||
|
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "Conheça nossos professores experientes de Bitcoin e sua expertise.",
|
||||||
|
"Bitcoin Meetup Events verwalten": "Gerenciar eventos Bitcoin Meetup",
|
||||||
|
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "Crie e edite eventos de Bitcoin Meetup para sua comunidade.",
|
||||||
|
"Meetup bearbeiten - Bitcoin Events": "Editar Meetup - Eventos Bitcoin",
|
||||||
|
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "Atualize os detalhes e informações do seu Bitcoin Meetup.",
|
||||||
|
"Bitcoin Meetups - Alle Events": "Bitcoin Meetups - Todos os eventos",
|
||||||
|
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "Encontre todos os atuais Bitcoin Meetups e eventos em sua região.",
|
||||||
|
"Bitcoin Meetups - Community Events": "Bitcoin Meetups - Eventos da comunidade",
|
||||||
|
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "Descubra eventos da comunidade Bitcoin e conecte-se com pessoas de ideias semelhantes.",
|
||||||
|
"Bitcoin Event Details": "Detalhes do evento Bitcoin",
|
||||||
|
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "Todas as informações sobre o evento selecionado de Bitcoin Meetup.",
|
||||||
|
"Bitcoin Meetups Karte": "Mapa de Bitcoin Meetups",
|
||||||
|
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "Encontre Bitcoin Meetups perto de você com nosso mapa interativo.",
|
||||||
|
"Erscheinungsbild - Einstellungen": "Aparência - Configurações",
|
||||||
|
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "Personalize a aparência do seu perfil de Bitcoin Meetup.",
|
||||||
|
"Konto löschen - Bitcoin Meetups": "Excluir conta - Bitcoin Meetups",
|
||||||
|
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "Informações sobre como excluir sua conta de Bitcoin Meetup.",
|
||||||
|
"Passwort ändern - Bitcoin Meetups": "Alterar senha - Bitcoin Meetups",
|
||||||
|
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "Altere sua senha para maior segurança da sua conta de Bitcoin Meetup.",
|
||||||
|
"Profil bearbeiten - Bitcoin Meetups": "Editar perfil - Bitcoin Meetups",
|
||||||
|
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "Atualize suas informações pessoais e configurações de perfil.",
|
||||||
|
"Neuen Veranstaltungsort erstellen": "Criar novo local de evento",
|
||||||
|
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "Adicione um novo local para Bitcoin Meetups e eventos.",
|
||||||
|
"Veranstaltungsort bearbeiten": "Editar local de evento",
|
||||||
|
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "Atualize os detalhes de um local de evento de Bitcoin Meetup.",
|
||||||
|
"Veranstaltungsorte - Übersicht": "Locais de eventos - Visão geral",
|
||||||
|
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "Encontre todos os locais para Bitcoin Meetups e eventos.",
|
||||||
|
"Willkommen": "Bem-vindo",
|
||||||
|
"Toximalistisches Infotainment für bullische Bitcoiner.": "Entretenimento informativo toximalista para bitcoiners bullish.",
|
||||||
|
"no location set": "nenhum local definido",
|
||||||
|
"BooksForPlebs": "BooksForPlebs",
|
||||||
|
"Lokale Buchausleihe für Bitcoin-Meetups.": "Empréstimo local de livros para Bitcoin Meetups.",
|
||||||
|
"Bitcoin - Rabbit Hole": "Bitcoin - Toca do Coelho",
|
||||||
|
"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!": "Este é uma grande visão geral do abismo do coelho Bitcoin com acesso a áreas que abrangem Bitcoin. Cada tópico tem seu próprio abismo do coelho, visualizado de forma simples e compreensível através de infográficos, com códigos QR que levam a vídeos e artigos explicativos. Divirta-se em sua jornada de descoberta!",
|
||||||
|
"Saved.": "Salvo.",
|
||||||
|
"Sprache wählen": "Escolher idioma",
|
||||||
|
"Dashboard": "Painel",
|
||||||
|
"Search": "Buscar",
|
||||||
|
"Repository": "Repositório",
|
||||||
|
"Documentation": "Documentação",
|
||||||
|
"Settings": "Configurações",
|
||||||
|
"Log Out": "Sair",
|
||||||
|
"Platform": "Plataforma",
|
||||||
|
"Success!": "Sucesso!",
|
||||||
|
"Copied into clipboard": "Copiado para a área de transferência",
|
||||||
|
"App": "App",
|
||||||
|
"Meetups": "Meetups",
|
||||||
|
"Karte": "Mapa",
|
||||||
|
"Kurse": "Cursos",
|
||||||
|
"Dozenten": "Professores",
|
||||||
|
"Diverses": "Diversos",
|
||||||
|
"Orte/Gebiete": "Locais/Áreas",
|
||||||
|
"Städte/Gebiete": "Cidades/Áreas",
|
||||||
|
"Veranstaltungsorte": "Locais de Eventos",
|
||||||
|
"Sprache wechseln": "Alterar idioma",
|
||||||
|
"Land": "País",
|
||||||
|
"Nächster Termin": "Próxima data",
|
||||||
|
"Zusagen": "Confirmações",
|
||||||
|
"Vielleicht": "Talvez",
|
||||||
|
"Telegram": "Telegram",
|
||||||
|
"Website": "Website",
|
||||||
|
"Twitter": "Twitter",
|
||||||
|
"Matrix": "Matrix",
|
||||||
|
"Nostr": "Nostr",
|
||||||
|
"Simplex": "Simplex",
|
||||||
|
"Signal": "Signal",
|
||||||
|
"Details": "Detalhes",
|
||||||
|
"Profile": "Perfil",
|
||||||
|
"Password": "Senha",
|
||||||
|
"Appearance": "Aparência",
|
||||||
|
"Unauthorized": "Não autorizado",
|
||||||
|
"Payment Required": "Pagamento obrigatório",
|
||||||
|
"Forbidden": "Proibido",
|
||||||
|
"Not Found": "Não encontrado",
|
||||||
|
"Page Expired": "Página expirada",
|
||||||
|
"Too Many Requests": "Muitas solicitações",
|
||||||
|
"Server Error": "Erro do servidor",
|
||||||
|
"Service Unavailable": "Serviço indisponível",
|
||||||
|
"Confirm password": "Confirmar senha",
|
||||||
|
"This is a secure area of the application. Please confirm your password before continuing.": "Esta é uma área segura da aplicação. Por favor, confirme sua senha antes de continuar.",
|
||||||
|
"Confirm": "Confirmar",
|
||||||
|
"A reset link will be sent if the account exists.": "Um link de redefinição será enviado se a conta existir.",
|
||||||
|
"Forgot password": "Esqueceu a senha",
|
||||||
|
"Enter your email to receive a password reset link": "Digite seu e-mail para receber um link de redefinição de senha",
|
||||||
|
"Email Address": "Endereço de e-mail",
|
||||||
|
"Email password reset link": "Enviar link de redefinição de senha por e-mail",
|
||||||
|
"Or, return to": "Ou, retornar para",
|
||||||
|
"log in": "fazer login",
|
||||||
|
"Willkommen zurück": "Bem-vindo de volta",
|
||||||
|
"Log in mit Nostr": "Fazer login com Nostr",
|
||||||
|
"Copy": "Copiar",
|
||||||
|
"Click to connect": "Clique para conectar",
|
||||||
|
"Create an account": "Criar uma conta",
|
||||||
|
"Enter your details below to create your account": "Digite seus detalhes abaixo para criar sua conta",
|
||||||
|
"Name": "Nome",
|
||||||
|
"Full name": "Nome completo",
|
||||||
|
"Email address": "Endereço de e-mail",
|
||||||
|
"Create account": "Criar conta",
|
||||||
|
"Already have an account?": "Já tem uma conta?",
|
||||||
|
"Log in": "Fazer login",
|
||||||
|
"Reset password": "Redefinir senha",
|
||||||
|
"Please enter your new password below": "Por favor, digite sua nova senha abaixo",
|
||||||
|
"Email": "E-mail",
|
||||||
|
"Please verify your email address by clicking on the link we just emailed to you.": "Por favor, verifique seu endereço de e-mail clicando no link que acabamos de enviar para você.",
|
||||||
|
"A new verification link has been sent to the email address you provided during registration.": "Um novo link de verificação foi enviado para o endereço de e-mail que você forneceu durante o registro.",
|
||||||
|
"Resend verification email": "Reenviar e-mail de verificação",
|
||||||
|
"Log out": "Sair",
|
||||||
|
"City successfully created!": "Cidade criada com sucesso!",
|
||||||
|
"Create City": "Criar Cidade",
|
||||||
|
"Basic Information": "Informações básicas",
|
||||||
|
"Country": "País",
|
||||||
|
"Select a country": "Selecione um país",
|
||||||
|
"Coordinates": "Coordenadas",
|
||||||
|
"Latitude": "Latitude",
|
||||||
|
"Longitude": "Longitude",
|
||||||
|
"Demographics": "Demografia",
|
||||||
|
"Population": "População",
|
||||||
|
"Population Date": "Data da população",
|
||||||
|
"Cancel": "Cancelar",
|
||||||
|
"City successfully updated!": "Cidade atualizada com sucesso!",
|
||||||
|
"Edit City": "Editar Cidade",
|
||||||
|
"Update City": "Atualizar Cidade",
|
||||||
|
"Cities": "Cidades",
|
||||||
|
"Search cities...": "Buscar cidades...",
|
||||||
|
"Created By": "Criado por",
|
||||||
|
"Actions": "Ações",
|
||||||
|
"Edit": "Editar",
|
||||||
|
"Wähle dein Land...": "Escolha seu país...",
|
||||||
|
"Suche dein Land...": "Busque seu país...",
|
||||||
|
"Die Endzeit muss nach der Startzeit liegen.": "A hora de fim deve ser após a hora de início.",
|
||||||
|
"Event erfolgreich aktualisiert!": "Evento atualizado com sucesso!",
|
||||||
|
"Event erfolgreich erstellt!": "Evento criado com sucesso!",
|
||||||
|
"Event erfolgreich gelöscht!": "Evento deletado com sucesso!",
|
||||||
|
"Event bearbeiten": "Editar evento",
|
||||||
|
"Neues Event erstellen": "Criar novo evento",
|
||||||
|
"Event Details": "Detalhes do evento",
|
||||||
|
"Startdatum": "Data de início",
|
||||||
|
"An welchem Tag beginnt das Event?": "Em que dia começa o evento?",
|
||||||
|
"Startzeit": "Hora de início",
|
||||||
|
"Um wie viel Uhr beginnt das Event?": "A que hora começa o evento?",
|
||||||
|
"Enddatum": "Data de fim",
|
||||||
|
"An welchem Tag endet das Event?": "Em que dia termina o evento?",
|
||||||
|
"Endzeit": "Hora de fim",
|
||||||
|
"Um wie viel Uhr endet das Event?": "A que hora termina o evento?",
|
||||||
|
"Veranstaltungsort": "Local do evento",
|
||||||
|
"Ort hinzufügen": "Adicionar local",
|
||||||
|
"Veranstaltungsort auswählen": "Selecionar local do evento",
|
||||||
|
"Suche nach Ort...": "Buscar por local...",
|
||||||
|
"Wo findet das Event statt?": "Onde acontece o evento?",
|
||||||
|
"Link": "Link",
|
||||||
|
"Link zu weiteren Informationen oder zur Anmeldung": "Link para mais informações ou inscrição",
|
||||||
|
"Abbrechen": "Cancelar",
|
||||||
|
"Bist du sicher, dass du dieses Event löschen möchtest?": "Tem certeza de que deseja deletar este evento?",
|
||||||
|
"Event löschen": "Deletar evento",
|
||||||
|
"Event aktualisieren": "Atualizar evento",
|
||||||
|
"Event erstellen": "Criar evento",
|
||||||
|
"Veranstaltungsort hinzufügen": "Adicionar local do evento",
|
||||||
|
"Füge einen neuen Veranstaltungsort zur Datenbank hinzu.": "Adicione um novo local do evento ao banco de dados.",
|
||||||
|
"z.B. Bitcoin Zentrum München": "Ex.: Centro Bitcoin München",
|
||||||
|
"Stadt": "Cidade",
|
||||||
|
"Stadt auswählen": "Selecionar cidade",
|
||||||
|
"Suche passende Stadt...": "Buscar cidade adequada...",
|
||||||
|
"Straße": "Rua",
|
||||||
|
"z.B. Hauptstraße 1": "Ex.: Rua Principal 1",
|
||||||
|
"Ort erstellen": "Criar local",
|
||||||
|
"Kurs erfolgreich erstellt!": "Curso criado com sucesso!",
|
||||||
|
"Neuen Kurs erstellen": "Criar novo curso",
|
||||||
|
"Grundlegende Informationen": "Informações básicas",
|
||||||
|
"Der Anzeigename für diesen Kurs": "O nome de exibição para este curso",
|
||||||
|
"Dozent": "Professor",
|
||||||
|
"Dozent auswählen": "Selecionar professor",
|
||||||
|
"Suche passenden Dozenten...": "Buscar professor adequado...",
|
||||||
|
"Der Dozent, der diesen Kurs leitet": "O professor que conduz este curso",
|
||||||
|
"Beschreibung": "Descrição",
|
||||||
|
"Ausführliche Beschreibung des Kurses": "Descrição detalhada do curso",
|
||||||
|
"Kurs erstellen": "Criar curso",
|
||||||
|
"Kurs erfolgreich aktualisiert!": "Curso atualizado com sucesso!",
|
||||||
|
"Kurs bearbeiten": "Editar curso",
|
||||||
|
"ID": "ID",
|
||||||
|
"System-generierte ID (nur lesbar)": "ID gerada pelo sistema (somente leitura)",
|
||||||
|
"Systeminformationen": "Informações do sistema",
|
||||||
|
"Erstellt von": "Criado por",
|
||||||
|
"Unbekannt": "Desconhecido",
|
||||||
|
"Ersteller des Kurses": "Criador do curso",
|
||||||
|
"Erstellt am": "Criado em",
|
||||||
|
"Wann dieser Kurs erstellt wurde": "Quando este curso foi criado",
|
||||||
|
"Aktualisiert am": "Atualizado em",
|
||||||
|
"Letzte Änderungszeit": "Última alteração",
|
||||||
|
"Kurs aktualisieren": "Atualizar curso",
|
||||||
|
"Suche nach Kursen...": "Buscar cursos...",
|
||||||
|
"Neuer Kurs": "Novo curso",
|
||||||
|
"Aktionen": "Ações",
|
||||||
|
"Bearbeiten": "Editar",
|
||||||
|
"Über den Kurs": "Sobre o curso",
|
||||||
|
"Über den Dozenten": "Sobre o professor",
|
||||||
|
"Kommende Veranstaltungen": "Próximos eventos",
|
||||||
|
"Anmeldungen": "Inscrições",
|
||||||
|
"Details/Anmelden": "Detalhes/Inscrever-se",
|
||||||
|
"Meine nächsten Meetup Termine": "Minhas próximas datas de Meetup",
|
||||||
|
"Keine bevorstehenden Termine": "Nenhuma data futura",
|
||||||
|
"Meine Meetups": "Meus Meetups",
|
||||||
|
"Meetup hinzufügen...": "Adicionar Meetup...",
|
||||||
|
"Meetup suchen...": "Buscar Meetup...",
|
||||||
|
"Meetup entfernen?": "Remover Meetup?",
|
||||||
|
"Möchtest du": "Você deseja",
|
||||||
|
"aus deinen Meetups entfernen?": "remover dos seus Meetups?",
|
||||||
|
"Du kannst es jederzeit wieder hinzufügen.": "Você pode adicioná-lo novamente a qualquer momento.",
|
||||||
|
"Entfernen": "Remover",
|
||||||
|
"Keine Meetups zugeordnet": "Nenhum Meetup associado",
|
||||||
|
"Dozent erfolgreich erstellt!": "Professor criado com sucesso!",
|
||||||
|
"Neuen Dozenten erstellen": "Criar novo professor",
|
||||||
|
"Vollständiger Name des Dozenten": "Nome completo do professor",
|
||||||
|
"Untertitel": "Subtítulo",
|
||||||
|
"Kurze Berufsbezeichnung oder Rolle": "Breve título profissional ou papel",
|
||||||
|
"Status": "Status",
|
||||||
|
"Ist dieser Dozent aktiv?": "Este professor está ativo?",
|
||||||
|
"Einführung": "Introdução",
|
||||||
|
"Kurze Vorstellung (wird auf Kurs-Seiten angezeigt)": "Apresentação curta (exibida nas páginas do curso)",
|
||||||
|
"Ausführliche Beschreibung und Biografie": "Descrição detalhada e biografia",
|
||||||
|
"Links & Soziale Medien": "Links e mídias sociais",
|
||||||
|
"Webseite": "Website",
|
||||||
|
"Persönliche Webseite oder Portfolio": "Website pessoal ou portfólio",
|
||||||
|
"Twitter Benutzername": "Nome de usuário no Twitter",
|
||||||
|
"Twitter-Handle ohne @ Symbol": "Handle do Twitter sem o símbolo @",
|
||||||
|
"Nostr öffentlicher Schlüssel": "Chave pública Nostr",
|
||||||
|
"Zahlungsinformationen": "Informações de pagamento",
|
||||||
|
"Lightning Adresse": "Endereço Lightning",
|
||||||
|
"Lightning-Adresse für Zahlungen": "Endereço Lightning para pagamentos",
|
||||||
|
"LNURL": "LNURL",
|
||||||
|
"LNURL für Lightning-Zahlungen": "LNURL para pagamentos Lightning",
|
||||||
|
"Node ID": "Node ID",
|
||||||
|
"Lightning Node ID": "Lightning Node ID",
|
||||||
|
"PayNym": "PayNym",
|
||||||
|
"PayNym für Bitcoin-Zahlungen": "PayNym para pagamentos Bitcoin",
|
||||||
|
"Dozenten erstellen": "Criar professores",
|
||||||
|
"Dozent erfolgreich aktualisiert!": "Professor atualizado com sucesso!",
|
||||||
|
"Dozent bearbeiten": "Editar professor",
|
||||||
|
"Ersteller des Dozenten": "Criador do professor",
|
||||||
|
"Wann dieser Dozent erstellt wurde": "Quando este professor foi criado",
|
||||||
|
"Dozent aktualisieren": "Atualizar professor",
|
||||||
|
"Suche nach Dozenten...": "Buscar professores...",
|
||||||
|
"Dozenten anlegen": "Criar professores",
|
||||||
|
"Links": "Links",
|
||||||
|
"Aktiv": "Ativo",
|
||||||
|
"Inaktiv": "Inativo",
|
||||||
|
"weitere Termine": "mais datas",
|
||||||
|
"Datum": "Data",
|
||||||
|
"An welchem Tag findet das Event statt?": "Em que dia ocorre o evento?",
|
||||||
|
"Uhrzeit": "Hora",
|
||||||
|
"Um wie viel Uhr startet das Event?": "A que hora começa o evento?",
|
||||||
|
"Ort": "Local",
|
||||||
|
"z.B. Café Mustermann, Hauptstr. 1": "Ex.: Café Mustermann, Rua Principal 1",
|
||||||
|
"Beschreibe das Event...": "Descreva o evento...",
|
||||||
|
"Details über das Event": "Detalhes sobre o evento",
|
||||||
|
"Link zu weiteren Informationen": "Link para mais informações",
|
||||||
|
"Meetup erfolgreich erstellt!": "Meetup criado com sucesso!",
|
||||||
|
"Neues Meetup erstellen": "Criar novo Meetup",
|
||||||
|
"Der Anzeigename für dieses Meetup": "O nome de exibição para este Meetup",
|
||||||
|
"Stadt hinzufügen": "Adicionar cidade",
|
||||||
|
"Die nächstgrößte Stadt oder Ort": "A próxima maior cidade ou local",
|
||||||
|
"Auf Karte sichtbar": "Visível no mapa",
|
||||||
|
"Soll dieses Meetup auf der Karte angezeigt werden?": "Este Meetup deve ser exibido no mapa?",
|
||||||
|
"Kurze Beschreibung des Meetups": "Descrição curta do Meetup",
|
||||||
|
"Offizielle Webseite oder Landingpage": "Página oficial ou landing page",
|
||||||
|
"Telegram Link": "Link do Telegram",
|
||||||
|
"Link zur Telegram-Gruppe oder zum Kanal": "Link para o grupo ou canal do Telegram",
|
||||||
|
"Matrix Gruppe": "Grupo Matrix",
|
||||||
|
"Matrix-Raum Bezeichner oder Link": "Identificador de sala Matrix ou link",
|
||||||
|
"Nostr öffentlicher Schlüssel oder Bezeichner": "Chave pública Nostr ou identificador",
|
||||||
|
"SimpleX": "SimpleX",
|
||||||
|
"SimpleX Chat Kontaktinformationen": "Informações de contato do SimpleX Chat",
|
||||||
|
"Signal Kontakt- oder Gruppeninformationen": "Informações de contato ou grupo do Signal",
|
||||||
|
"Zusätzliche Informationen": "Informações adicionais",
|
||||||
|
"Gemeinschaft": "Comunidade",
|
||||||
|
"Keine": "Nenhuma",
|
||||||
|
"Gemeinschafts- oder Organisationsname": "Nome da comunidade ou organização",
|
||||||
|
"Meetup erstellen": "Criar Meetup",
|
||||||
|
"Füge eine neue Stadt zur Datenbank hinzu.": "Adicione uma nova cidade ao banco de dados.",
|
||||||
|
"Stadtname": "Nome da cidade",
|
||||||
|
"z.B. Berlin": "Ex.: Berlin",
|
||||||
|
"Land auswählen": "Selecionar país",
|
||||||
|
"Breitengrad": "Latitude",
|
||||||
|
"Längengrad": "Longitude",
|
||||||
|
"Stadt erstellen": "Criar cidade",
|
||||||
|
"Meetup erfolgreich aktualisiert!": "Meetup atualizado com sucesso!",
|
||||||
|
"Meetup bearbeiten": "Editar Meetup",
|
||||||
|
"Ersteller des Meetups": "Criador do Meetup",
|
||||||
|
"Wann dieses Meetup erstellt wurde": "Quando este Meetup foi criado",
|
||||||
|
"Meetup aktualisieren": "Atualizar Meetup",
|
||||||
|
"Kalender-Stream-URL kopieren": "Copiar URL do stream de calendário",
|
||||||
|
"Suche nach Meetups...": "Buscar Meetups...",
|
||||||
|
"Mehr Informationen": "Mais informações",
|
||||||
|
"Teilnahme": "Participação",
|
||||||
|
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "Você não está logado e precisa digitar o nome manualmente.",
|
||||||
|
"Dein Name": "Seu nome",
|
||||||
|
"Name eingeben": "Digite o nome",
|
||||||
|
"Ich komme": "Eu vou",
|
||||||
|
"Absagen": "Desistir",
|
||||||
|
"Zurück zum Meetup": "Voltar ao Meetup",
|
||||||
|
"Über uns": "Sobre nós",
|
||||||
|
"Kontakt & Links": "Contato e links",
|
||||||
|
"Standort": "Localização",
|
||||||
|
"Zoom = STRG+Scroll": "Zoom = CTRL+Scroll",
|
||||||
|
"Öffnen/RSVP": "Abrir/RSVP",
|
||||||
|
"Update the appearance settings for your account": "Atualizar as configurações de aparência da sua conta",
|
||||||
|
"Light": "Claro",
|
||||||
|
"Dark": "Escuro",
|
||||||
|
"System": "Sistema",
|
||||||
|
"Delete account": "Deletar conta",
|
||||||
|
"Delete your account and all of its resources": "Deletar sua conta e todos os seus recursos",
|
||||||
|
"Are you sure you want to delete your account?": "Tem certeza de que deseja deletar sua conta?",
|
||||||
|
"Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Depois que sua conta for deletada, todos os seus recursos e dados serão permanentemente deletados. Por favor, digite sua senha para confirmar que deseja permanetemente deletar sua conta.",
|
||||||
|
"Update password": "Atualizar senha",
|
||||||
|
"Ensure your account is using a long, random password to stay secure": "Garanta que sua conta esteja usando uma senha longa e aleatória para permanecer segura",
|
||||||
|
"Current password": "Senha atual",
|
||||||
|
"New password": "Nova senha",
|
||||||
|
"Confirm Password": "Confirmar senha",
|
||||||
|
"Save": "Salvar",
|
||||||
|
"Update your name and email address": "Atualize seu nome e endereço de e-mail",
|
||||||
|
"Your email address is unverified.": "Seu endereço de e-mail não foi verificado.",
|
||||||
|
"Click here to re-send the verification email.": "Clique aqui para reenviar o e-mail de verificação.",
|
||||||
|
"A new verification link has been sent to your email address.": "Um novo link de verificação foi enviado para seu endereço de e-mail.",
|
||||||
|
"Zeitzone": "Fuso horário",
|
||||||
|
"Wähle deine Zeitzone aus...": "Escolha seu fuso horário...",
|
||||||
|
"Spracheinstellungen": "Configurações de idioma",
|
||||||
|
"Wähle deine Sprache aus...": "Escolha seu idioma...",
|
||||||
|
"Zeitzone erfolgreich aktualisiert": "Fuso horário atualizado com sucesso",
|
||||||
|
"Wähle deine Zeitzone...": "Escolha seu fuso horário...",
|
||||||
|
"Suche Zeitzone...": "Buscar fuso horário...",
|
||||||
|
"Venue successfully created!": "Local criado com sucesso!",
|
||||||
|
"Create Venue": "Criar Local",
|
||||||
|
"Venue Information": "Informações do Local",
|
||||||
|
"City": "Cidade",
|
||||||
|
"Select a city": "Selecionar uma cidade",
|
||||||
|
"Street": "Rua",
|
||||||
|
"Venue successfully updated!": "Local atualizado com sucesso!",
|
||||||
|
"Edit Venue": "Editar Local",
|
||||||
|
"Update Venue": "Atualizar Local",
|
||||||
|
"Venues": "Locais",
|
||||||
|
"Search venues...": "Buscar locais...",
|
||||||
|
"Bitcoin Meetups": "Bitcoin Meetups",
|
||||||
|
"Alle Meetups anzeigen": "Mostrar todos os Meetups",
|
||||||
|
"Kartenansicht öffnen": "Abrir vista do mapa",
|
||||||
|
"Login": "Login",
|
||||||
|
"Verbinde dich mit Bitcoinern in deiner Nähe": "Conecte-se com bitcoiners perto de você",
|
||||||
|
"Finde deine lokale Community": "Encontre sua comunidade local",
|
||||||
|
"Manage your profile and account settings": "Gerencie seu perfil e configurações de conta"
|
||||||
|
}
|
||||||
BIN
public/img/domains/lat.png
Normal file
BIN
public/img/domains/lat.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
BIN
public/img/domains/nl-NL.jpg
Normal file
BIN
public/img/domains/nl-NL.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 9.4 KiB |
@@ -10,11 +10,25 @@
|
|||||||
|
|
||||||
<flux:accordion.content>
|
<flux:accordion.content>
|
||||||
@php
|
@php
|
||||||
$languages = [
|
// Scan lang folder for available languages
|
||||||
|
$availableLanguages = collect(glob(base_path('lang/*.json')))
|
||||||
|
->map(fn($file) => pathinfo($file, PATHINFO_FILENAME))
|
||||||
|
->toArray();
|
||||||
|
|
||||||
|
$allLanguages = [
|
||||||
'de' => ['name' => 'Deutsch', 'countries' => ['de-DE', 'de-AT', 'de-CH']],
|
'de' => ['name' => 'Deutsch', 'countries' => ['de-DE', 'de-AT', 'de-CH']],
|
||||||
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
|
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
|
||||||
'es' => ['name' => 'Español', 'countries' => ['es-ES', 'es-CL', 'es-CO']],
|
'es' => ['name' => 'Español', 'countries' => ['es-ES', 'es-CL', 'es-CO']],
|
||||||
|
'nl' => ['name' => 'Nederlands', 'countries' => ['nl-NL', 'nl-BE']],
|
||||||
|
'pt' => ['name' => 'Português', 'countries' => ['pt-PT']],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Filter languages based on available JSON files and allowed languages
|
||||||
|
$languages = array_filter($allLanguages, function($data, $key) use ($availableLanguages) {
|
||||||
|
return in_array($key, $availableLanguages) &&
|
||||||
|
count(array_intersect($data['countries'], config('lang-country.allowed'))) > 0;
|
||||||
|
}, ARRAY_FILTER_USE_BOTH);
|
||||||
|
|
||||||
$currentLangCountry = session('lang_country', config('lang-country.fallback'));
|
$currentLangCountry = session('lang_country', config('lang-country.fallback'));
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class extends Component {
|
|||||||
|
|
||||||
session(['auth.password_confirmed_at' => time()]);
|
session(['auth.password_confirmed_at' => time()]);
|
||||||
|
|
||||||
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()], absolute: false), navigate: true);
|
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()], absolute: false), navigate: true);
|
||||||
}
|
}
|
||||||
}; ?>
|
}; ?>
|
||||||
|
|
||||||
|
|||||||
@@ -36,9 +36,12 @@ class extends Component {
|
|||||||
public ?string $url = null;
|
public ?string $url = null;
|
||||||
public ?string $lnurl = null;
|
public ?string $lnurl = null;
|
||||||
public ?string $qrCode = null;
|
public ?string $qrCode = null;
|
||||||
|
public string $currentLangCountry = 'de-DE';
|
||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
|
$this->currentLangCountry = session('lang_country');
|
||||||
|
|
||||||
// Nur beim ersten Mount initialisieren
|
// Nur beim ersten Mount initialisieren
|
||||||
if ($this->k1 === null) {
|
if ($this->k1 === null) {
|
||||||
$this->k1 = bin2hex(str()->random(32));
|
$this->k1 = bin2hex(str()->random(32));
|
||||||
@@ -64,7 +67,7 @@ class extends Component {
|
|||||||
Auth::loginUsingId($user->id);
|
Auth::loginUsingId($user->id);
|
||||||
Session::regenerate();
|
Session::regenerate();
|
||||||
$this->redirectIntended(
|
$this->redirectIntended(
|
||||||
default: route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()], absolute: false),
|
default: route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()], absolute: false),
|
||||||
navigate: true,
|
navigate: true,
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
@@ -85,9 +88,12 @@ class extends Component {
|
|||||||
|
|
||||||
RateLimiter::clear($this->throttleKey());
|
RateLimiter::clear($this->throttleKey());
|
||||||
Session::regenerate();
|
Session::regenerate();
|
||||||
|
session([
|
||||||
|
'lang_country' => $this->currentLangCountry,
|
||||||
|
]);
|
||||||
|
|
||||||
$this->redirectIntended(
|
$this->redirectIntended(
|
||||||
default: route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()], absolute: false),
|
default: route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()], absolute: false),
|
||||||
navigate: true
|
navigate: true
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -134,8 +140,12 @@ class extends Component {
|
|||||||
\App\Models\User::find(1)
|
\App\Models\User::find(1)
|
||||||
->notify(new ModelCreatedNotification($user, 'users'));
|
->notify(new ModelCreatedNotification($user, 'users'));
|
||||||
auth()->login($user);
|
auth()->login($user);
|
||||||
|
Session::regenerate();
|
||||||
|
session([
|
||||||
|
'lang_country' => $this->currentLangCountry,
|
||||||
|
]);
|
||||||
|
|
||||||
return to_route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()]);
|
return to_route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class extends Component {
|
|||||||
|
|
||||||
Auth::login($user);
|
Auth::login($user);
|
||||||
|
|
||||||
$this->redirectIntended(route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()],absolute: false), navigate: true);
|
$this->redirectIntended(route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()],absolute: false), navigate: true);
|
||||||
}
|
}
|
||||||
}; ?>
|
}; ?>
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
public function sendVerification(): void
|
public function sendVerification(): void
|
||||||
{
|
{
|
||||||
if (Auth::user()->hasVerifiedEmail()) {
|
if (Auth::user()->hasVerifiedEmail()) {
|
||||||
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()],absolute: false), navigate: true);
|
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()],absolute: false), navigate: true);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ new class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->currentCountry = request()->route('country', 'de');
|
$this->currentCountry = request()->route('country', config('app.domain_country'));
|
||||||
$this->currentRouteName = request()->route()->getName();
|
$this->currentRouteName = request()->route()->getName();
|
||||||
$this->currentRouteParams = request()->route()->parameters();
|
$this->currentRouteParams = request()->route()->parameters();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
$timezone = auth()->user()->timezone ?? 'Europe/Berlin';
|
$timezone = auth()->user()->timezone ?? 'Europe/Berlin';
|
||||||
|
|
||||||
if ($this->event) {
|
if ($this->event) {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addMeetup()
|
public function addMeetup()
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
$timezone = auth()->user()->timezone ?? 'Europe/Berlin';
|
$timezone = auth()->user()->timezone ?? 'Europe/Berlin';
|
||||||
|
|
||||||
if ($this->event) {
|
if ($this->event) {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
$this->name = auth()->user()->name ?? '';
|
$this->name = auth()->user()->name ?? '';
|
||||||
$this->loadAttendees();
|
$this->loadAttendees();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
$geoCountry = \Lwwcas\LaravelCountries\Models\Country::query()
|
$geoCountry = \Lwwcas\LaravelCountries\Models\Country::query()
|
||||||
->where('iso_alpha_2', str($this->country)->upper())
|
->where('iso_alpha_2', str($this->country)->upper())
|
||||||
->first()
|
->first()
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class extends Component {
|
|||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
|
||||||
if ($user->hasVerifiedEmail()) {
|
if ($user->hasVerifiedEmail()) {
|
||||||
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()],absolute: false));
|
$this->redirectIntended(default: route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()],absolute: false));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -127,11 +127,22 @@ class extends Component {
|
|||||||
|
|
||||||
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
|
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
|
||||||
@php
|
@php
|
||||||
$languages = [
|
// Scan lang folder for available languages
|
||||||
|
$availableLanguages = collect(glob(base_path('lang/*.json')))
|
||||||
|
->map(fn($file) => pathinfo($file, PATHINFO_FILENAME))
|
||||||
|
->toArray();
|
||||||
|
|
||||||
|
$allLanguages = [
|
||||||
'de' => ['name' => 'Deutsch', 'countries' => ['de-DE', 'de-AT', 'de-CH']],
|
'de' => ['name' => 'Deutsch', 'countries' => ['de-DE', 'de-AT', 'de-CH']],
|
||||||
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
|
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
|
||||||
'es' => ['name' => 'Español', 'countries' => ['es-ES', 'es-CL', 'es-CO']],
|
'es' => ['name' => 'Español', 'countries' => ['es-ES', 'es-CL', 'es-CO']],
|
||||||
|
'nl' => ['name' => 'Nederlands', 'countries' => ['nl-NL', 'nl-BE']],
|
||||||
|
'pt' => ['name' => 'Português', 'countries' => ['pt-PT', 'pt-BR']],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Filter languages based on available JSON files
|
||||||
|
$languages = array_filter($allLanguages, fn($key) => in_array($key, $availableLanguages), ARRAY_FILTER_USE_KEY);
|
||||||
|
|
||||||
$currentLangCountry = session('lang_country', config('lang-country.fallback'));
|
$currentLangCountry = session('lang_country', config('lang-country.fallback'));
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class extends Component {
|
|||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->country = request()->route('country');
|
$this->country = request()->route('country', config('app.domain_country'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function with(): array
|
public function with(): array
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ class extends Component {
|
|||||||
|
|
||||||
public function goToMeetups(): void
|
public function goToMeetups(): void
|
||||||
{
|
{
|
||||||
$this->redirect(route('meetups.index', ['country' => str(session('lang_country', 'de'))->after('-')->lower()]), navigate: true);
|
$this->redirect(route('meetups.index', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()]), navigate: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function goToMap(): void
|
public function goToMap(): void
|
||||||
{
|
{
|
||||||
$this->redirect(route('meetups.map', ['country' => str(session('lang_country', 'de'))->after('-')->lower()]), navigate: true);
|
$this->redirect(route('meetups.map', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()]), navigate: true);
|
||||||
}
|
}
|
||||||
}; ?>
|
}; ?>
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ class extends Component {
|
|||||||
{{ __('Kartenansicht öffnen') }}
|
{{ __('Kartenansicht öffnen') }}
|
||||||
</flux:button>
|
</flux:button>
|
||||||
|
|
||||||
<flux:button :href="route('dashboard', ['country' => str(session('lang_country', 'de'))->after('-')->lower()])" class="cursor-pointer w-full"
|
<flux:button :href="route('dashboard', ['country' => str(session('lang_country', config('app.domain_country')))->after('-')->lower()])" class="cursor-pointer w-full"
|
||||||
icon="arrow-right-start-on-rectangle">
|
icon="arrow-right-start-on-rectangle">
|
||||||
{{ __('Login') }}
|
{{ __('Login') }}
|
||||||
</flux:button>
|
</flux:button>
|
||||||
|
|||||||
@@ -48,6 +48,12 @@ Route::middleware(['auth'])
|
|||||||
return redirect('/de/dashboard'); // Zu /de weiterleiten
|
return redirect('/de/dashboard'); // Zu /de weiterleiten
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::middleware([])
|
||||||
|
->prefix('/{country:code?}')
|
||||||
|
->group(function () {
|
||||||
|
Volt::route('dashboard', 'dashboard')->name('dashboard');
|
||||||
|
});
|
||||||
|
|
||||||
Route::middleware([])
|
Route::middleware([])
|
||||||
->prefix('/{country:code}')
|
->prefix('/{country:code}')
|
||||||
->group(function () {
|
->group(function () {
|
||||||
@@ -83,7 +89,6 @@ Route::middleware([])
|
|||||||
Route::middleware(['auth'])
|
Route::middleware(['auth'])
|
||||||
->prefix('/{country:code}')
|
->prefix('/{country:code}')
|
||||||
->group(function () {
|
->group(function () {
|
||||||
Volt::route('dashboard', 'dashboard')->name('dashboard');
|
|
||||||
Volt::route('meetup-create', 'meetups.create')->name('meetups.create');
|
Volt::route('meetup-create', 'meetups.create')->name('meetups.create');
|
||||||
Volt::route('meetup-edit/{meetup}', 'meetups.edit')->name('meetups.edit');
|
Volt::route('meetup-edit/{meetup}', 'meetups.edit')->name('meetups.edit');
|
||||||
Volt::route('meetup/{meetup}/events/create', 'meetups.create-edit-events')->name('meetups.events.create');
|
Volt::route('meetup/{meetup}/events/create', 'meetups.create-edit-events')->name('meetups.events.create');
|
||||||
|
|||||||
Reference in New Issue
Block a user