🌐 Replace manual language selection with reusable language selector component and add Hungarian translations

- Replaced inline language selection logic in `profile.blade.php` with `<x-einundzwanzig.language-selector>`.
- Introduced Hungarian (`hu.json`) translations for improved multilingual support.
- Updated `DomainMiddleware` to include settings for Hungarian locale and portal branding.
This commit is contained in:
HolgerHatGarKeineNode
2025-11-23 22:34:38 +01:00
parent 0841732730
commit 2cfd7abc07
9 changed files with 469 additions and 103 deletions

View File

@@ -20,6 +20,11 @@ class DomainMiddleware
'lang_country' => 'nl-NL', 'lang_country' => 'nl-NL',
'app_name' => 'EENENTWINTIG Portaal', 'app_name' => 'EENENTWINTIG Portaal',
], ],
'portal.huszonegy.world/' => [
'locale' => 'hu',
'lang_country' => 'hu-HU',
'app_name' => ' HUSZONEGY Portál',
],
]; ];
// App-Locale dynamisch setzen // App-Locale dynamisch setzen

379
lang/hu.json Normal file
View File

@@ -0,0 +1,379 @@
{
"Login - Bitcoin Meetups": "Bejelentkezés - Bitcoin Meetupok",
"Logge dich ein, um auf dein Bitcoin Meetup Konto zuzugreifen und an der Community teilzunehmen.": "Jelentkezz be a Bitcoin Meetup fiókodba, és csatlakozz a közösséghez.",
"Dashboard - Bitcoin Meetups": "Irányítópult - Bitcoin Meetupok",
"Verwalte deine Bitcoin Meetups, Events und Einstellungen in deinem persönlichen Dashboard.": "Kezeld Bitcoin meetupjaidat, eseményeidet és beállításaidat személyes irányítópultodon.",
"Willkommen bei Bitcoin Meetups": "Üdvözlünk a Bitcoin Meetupoknál",
"Entdecke die Bitcoin Community in deiner Nähe. Finde lokale Meetups und vernetze dich mit Gleichgesinnten.": "Fedezd fel a Bitcoin közösséget a közeledben. Találj helyi meetupokat és kapcsolódj hasonló gondolkodásúakhoz.",
"Follow the Rabbit - Bitcoin Journey": "Kövesd a Nyulat - Bitcoin Utazás",
"Starte deine Bitcoin-Reise und entdecke spannende Inhalte rund um Bitcoin und Blockchain.": "Kezdd el Bitcoin utazásodat és fedezz fel izgalmas tartalmakat a Bitcoinról és a blockchainről.",
"Neue Stadt hinzufügen - Bitcoin Meetups": "Új város hozzáadása - Bitcoin Meetupok",
"Füge eine neue Stadt hinzu, um Bitcoin Meetups in deiner Region zu organisieren.": "Adj hozzá egy új várost, hogy Bitcoin meetupokat szervezhess a régiódban.",
"Stadt bearbeiten - Bitcoin Meetups": "Város szerkesztése - Bitcoin Meetupok",
"Aktualisiere die Informationen für Bitcoin Meetup Standorte in deiner Stadt.": "Frissítsd a Bitcoin meetup helyszínek információit a városodban.",
"Städteübersicht - Bitcoin Meetups": "Városok áttekintése - Bitcoin Meetupok",
"Durchsuche alle Städte mit aktiven Bitcoin Meetups und finde Events in deiner Nähe.": "Böngészd az összes várost aktív Bitcoin meetupokkal és találj eseményeket a közeledben.",
"Neuen Kurs erstellen - Bitcoin Education": "Új kurzus létrehozása - Bitcoin Oktatás",
"Erstelle einen neuen Bitcoin-Bildungskurs und teile dein Wissen mit der Community.": "Hozz létre egy új Bitcoin oktatási kurzust és oszd meg tudásodat a közösséggel.",
"Kursevents bearbeiten - Bitcoin Education": "Kurzusesemények szerkesztése - Bitcoin Oktatás",
"Verwalte die Termine und Details deiner Bitcoin-Bildungsveranstaltungen.": "Kezeld Bitcoin oktatási rendezvényeid időpontjait és részleteit.",
"Kurs bearbeiten - Bitcoin Education": "Kurzus szerkesztése - Bitcoin Oktatás",
"Aktualisiere die Inhalte und Informationen deines Bitcoin-Bildungskurses.": "Frissítsd Bitcoin oktatási kurzusod tartalmát és információit.",
"Bitcoin Kurse - Übersicht": "Bitcoin Kurzusok - Áttekintés",
"Entdecke unsere vielfältigen Bitcoin-Bildungsangebote und Workshops.": "Fedezd fel változatos Bitcoin oktatási kínálatunkat és workshopjainkat.",
"Bitcoin Bildung & Kurse": "Bitcoin Oktatás & Kurzusok",
"Lerne alles über Bitcoin - von den Grundlagen bis zu fortgeschrittenen Themen.": "Tanulj mindent a Bitcoinról - az alapoktól a haladó témákig.",
"Dozent werden - Bitcoin Education": "Oktató leszek - Bitcoin Oktatás",
"Werde Bitcoin-Dozent und teile dein Expertenwissen mit der Community.": "Válj Bitcoin oktatóvá és oszd meg szakértői tudásodat a közösséggel.",
"Dozentenprofil bearbeiten": "Oktatói profil szerkesztése",
"Aktualisiere dein Profil als Bitcoin-Dozent und deine Kursangebote.": "Frissítsd Bitcoin oktatói profilodat és kurzuskínálatodat.",
"Bitcoin Dozenten - Übersicht": "Bitcoin Oktatók - Áttekintés",
"Lerne unsere erfahrenen Bitcoin-Dozenten und ihre Expertise kennen.": "Ismerd meg tapasztalt Bitcoin oktatóinkat és szakértelmüket.",
"Bitcoin Meetup Events verwalten": "Bitcoin Meetup események kezelése",
"Erstelle und bearbeite Bitcoin Meetup Events für deine Community.": "Hozz létre és szerkessz Bitcoin meetup eseményeket a közösséged számára.",
"Meetup bearbeiten - Bitcoin Events": "Meetup szerkesztése - Bitcoin Események",
"Aktualisiere die Details und Informationen deines Bitcoin Meetups.": "Frissítsd Bitcoin meetupod részleteit és információit.",
"Bitcoin Meetups - Alle Events": "Bitcoin Meetupok - Minden esemény",
"Finde alle aktuellen Bitcoin Meetups und Events in deiner Region.": "Találd meg az összes aktuális Bitcoin meetupot és eseményt a régiódban.",
"Bitcoin Meetups - Community Events": "Bitcoin Meetupok - Közösségi események",
"Entdecke Bitcoin Community Events und vernetze dich mit Gleichgesinnten.": "Fedezd fel a Bitcoin közösségi eseményeket és kapcsolódj hasonló gondolkodásúakhoz.",
"Bitcoin Event Details": "Bitcoin esemény részletei",
"Alle Informationen zum ausgewählten Bitcoin Meetup Event.": "Minden információ a kiválasztott Bitcoin meetup eseményről.",
"Bitcoin Meetups Karte": "Bitcoin Meetupok térkép",
"Finde Bitcoin Meetups in deiner Nähe mit unserer interaktiven Karte.": "Találj Bitcoin meetupokat a közeledben interaktív térképünkkel.",
"Erscheinungsbild - Einstellungen": "Megjelenés - Beállítások",
"Passe das Erscheinungsbild deines Bitcoin Meetup Profils an.": "Szabd testre Bitcoin meetup profilod megjelenését.",
"Konto löschen - Bitcoin Meetups": "Fiók törlése - Bitcoin Meetupok",
"Informationen zum Löschen deines Bitcoin Meetup Kontos.": "Információk Bitcoin meetup fiókod törléséről.",
"Passwort ändern - Bitcoin Meetups": "Jelszó módosítása - Bitcoin Meetupok",
"Ändere dein Passwort für mehr Sicherheit deines Bitcoin Meetup Kontos.": "Változtasd meg jelszavadat Bitcoin meetup fiókod nagyobb biztonsága érdekében.",
"Profil bearbeiten - Bitcoin Meetups": "Profil szerkesztése - Bitcoin Meetupok",
"Aktualisiere deine persönlichen Informationen und Profileinstellungen.": "Frissítsd személyes adataidat és profilbeállításaidat.",
"Neuen Veranstaltungsort erstellen": "Új helyszín létrehozása",
"Füge einen neuen Ort für Bitcoin Meetups und Events hinzu.": "Adj hozzá új helyszínt Bitcoin meetupokhoz és eseményekhez.",
"Veranstaltungsort bearbeiten": "Helyszín szerkesztése",
"Aktualisiere die Details eines Bitcoin Meetup Veranstaltungsortes.": "Frissítsd egy Bitcoin meetup helyszín részleteit.",
"Veranstaltungsorte - Übersicht": "Helyszínek - Áttekintés",
"Finde alle Veranstaltungsorte für Bitcoin Meetups und Events.": "Találd meg az összes helyszínt Bitcoin meetupokhoz és eseményekhez.",
"Willkommen": "Üdvözlünk",
"Toximalistisches Infotainment für bullische Bitcoiner.": "Toximalista infotainment bullish bitcoinerek számára.",
"no location set": "nincs helyszín beállítva",
"BooksForPlebs": "KönyvekPlebseknek",
"Lokale Buchausleihe für Bitcoin-Meetups.": "Helyi könyvkölcsönzés Bitcoin meetupokhoz.",
"Bitcoin - Rabbit Hole": "Bitcoin - Nyúlüreg",
"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!": "Ez egy nagyszerű áttekintés a Bitcoin nyúlüregről, hozzáféréssel a Bitcoin által érintett területekhez. Minden témának saját nyúlürege van, amely infografikákkal egyszerű és érthető módon van megjelenítve, QR-kódokkal, amelyek magyarázó videókhoz és cikkekhez vezetnek. Jó szórakozást a felfedező utadon!",
"Saved.": "Mentve.",
"Einundzwanzig Portal": "Huszonegy Portál",
"Sprache wählen": "Nyelv választása",
"Dashboard": "Irányítópult",
"Search": "Keresés",
"Repository": "Adattár",
"Documentation": "Dokumentáció",
"Settings": "Beállítások",
"Log Out": "Kijelentkezés",
"Platform": "Platform",
"Success!": "Sikeres!",
"Copied into clipboard": "Vágólapra másolva",
"App": "Alkalmazás",
"Meetups": "Meetupok",
"Karte": "Térkép",
"Kurse": "Kurzusok",
"Dozenten": "Oktatók",
"Diverses": "Egyebek",
"Orte/Gebiete": "Helyek/Területek",
"Städte/Gebiete": "Városok/Területek",
"Veranstaltungsorte": "Helyszínek",
"Sprache wechseln": "Nyelv váltása",
"Nächster Termin": "Következő időpont",
"Zusagen": "Részvétel",
"Vielleicht": "Talán",
"Telegram": "Telegram",
"Website": "Weboldal",
"Twitter": "Twitter",
"Matrix": "Matrix",
"Nostr": "Nostr",
"Simplex": "Simplex",
"Signal": "Signal",
"Details": "Részletek",
"Profile": "Profil",
"Password": "Jelszó",
"Appearance": "Megjelenés",
"Unauthorized": "Jogosulatlan",
"Payment Required": "Fizetés szükséges",
"Forbidden": "Tiltott",
"Not Found": "Nem található",
"Page Expired": "Oldal lejárt",
"Too Many Requests": "Túl sok kérés",
"Server Error": "Szerverhiba",
"Service Unavailable": "Szolgáltatás nem érhető el",
"Confirm password": "Jelszó megerősítése",
"This is a secure area of the application. Please confirm your password before continuing.": "Ez az alkalmazás biztonságos területe. Kérjük, erősítsd meg jelszavadat a folytatás előtt.",
"Confirm": "Megerősítés",
"A reset link will be sent if the account exists.": "Visszaállítási linket küldünk, ha a fiók létezik.",
"Forgot password": "Elfelejtett jelszó",
"Enter your email to receive a password reset link": "Add meg email címedet, hogy jelszó-visszaállítási linket kapj",
"Email Address": "Email cím",
"Email password reset link": "Jelszó-visszaállítási link emailben",
"Or, return to": "Vagy térj vissza",
"log in": "bejelentkezés",
"Willkommen zurück": "Üdv újra",
"Log in mit Nostr": "Bejelentkezés Nostrral",
"Copy": "Másolás",
"Click to connect": "Kattints a kapcsolódáshoz",
"Create an account": "Fiók létrehozása",
"Enter your details below to create your account": "Add meg adataidat alább fiókod létrehozásához",
"Name": "Név",
"Full name": "Teljes név",
"Email address": "Email cím",
"Create account": "Fiók létrehozása",
"Already have an account?": "Már van fiókod?",
"Log in": "Bejelentkezés",
"Reset password": "Jelszó visszaállítása",
"Please enter your new password below": "Kérjük, add meg új jelszavadat alább",
"Email": "Email",
"Please verify your email address by clicking on the link we just emailed to you.": "Kérjük, erősítsd meg email címedet az általunk küldött linkre kattintva.",
"A new verification link has been sent to the email address you provided during registration.": "Új megerősítő linket küldtünk a regisztráció során megadott email címre.",
"Resend verification email": "Megerősítő email újraküldése",
"Log out": "Kijelentkezés",
"City successfully created!": "Város sikeresen létrehozva!",
"Create City": "Város létrehozása",
"Basic Information": "Alapinformációk",
"Country": "Ország",
"Select a country": "Válassz országot",
"Coordinates": "Koordináták",
"Latitude": "Szélesség",
"Longitude": "Hosszúság",
"Demographics": "Demográfia",
"Population": "Népesség",
"Population Date": "Népesség dátuma",
"Cancel": "Mégse",
"City successfully updated!": "Város sikeresen frissítve!",
"Edit City": "Város szerkesztése",
"Update City": "Város frissítése",
"Cities": "Városok",
"Search cities...": "Városok keresése...",
"Created By": "Létrehozta",
"Actions": "Műveletek",
"Edit": "Szerkesztés",
"Wähle dein Land...": "Válaszd ki országod...",
"Land": "Ország",
"Suche dein Land...": "Keresd országod...",
"Die Endzeit muss nach der Startzeit liegen.": "A befejezési időnek a kezdési idő után kell lennie.",
"Event erfolgreich aktualisiert!": "Esemény sikeresen frissítve!",
"Event erfolgreich erstellt!": "Esemény sikeresen létrehozva!",
"Event erfolgreich gelöscht!": "Esemény sikeresen törölve!",
"Event bearbeiten": "Esemény szerkesztése",
"Neues Event erstellen": "Új esemény létrehozása",
"Event Details": "Esemény részletei",
"Startdatum": "Kezdő dátum",
"An welchem Tag beginnt das Event?": "Melyik napon kezdődik az esemény?",
"Startzeit": "Kezdési idő",
"Um wie viel Uhr beginnt das Event?": "Hány órakor kezdődik az esemény?",
"Enddatum": "Befejezés dátuma",
"An welchem Tag endet das Event?": "Melyik napon ér véget az esemény?",
"Endzeit": "Befejezési idő",
"Um wie viel Uhr endet das Event?": "Hány órakor ér véget az esemény?",
"Veranstaltungsort": "Helyszín",
"Ort hinzufügen": "Helyszín hozzáadása",
"Veranstaltungsort auswählen": "Helyszín kiválasztása",
"Suche nach Ort...": "Helyszín keresése...",
"Wo findet das Event statt?": "Hol lesz az esemény?",
"Link": "Link",
"Link zu weiteren Informationen oder zur Anmeldung": "Link további információkhoz vagy regisztrációhoz",
"Abbrechen": "Mégse",
"Bist du sicher, dass du dieses Event löschen möchtest?": "Biztos vagy benne, hogy törölni szeretnéd ezt az eseményt?",
"Event löschen": "Esemény törlése",
"Event aktualisieren": "Esemény frissítése",
"Event erstellen": "Esemény létrehozása",
"Veranstaltungsort hinzufügen": "Helyszín hozzáadása",
"Füge einen neuen Veranstaltungsort zur Datenbank hinzu.": "Adj hozzá új helyszínt az adatbázishoz.",
"z.B. Bitcoin Zentrum München": "pl. Bitcoin Központ Budapest",
"Stadt": "Város",
"Stadt auswählen": "Város kiválasztása",
"Suche passende Stadt...": "Megfelelő város keresése...",
"Straße": "Utca",
"z.B. Hauptstraße 1": "pl. Fő utca 1",
"Ort erstellen": "Helyszín létrehozása",
"Kurs erfolgreich erstellt!": "Kurzus sikeresen létrehozva!",
"Neuen Kurs erstellen": "Új kurzus létrehozása",
"Grundlegende Informationen": "Alapinformációk",
"Der Anzeigename für diesen Kurs": "A kurzus megjelenítendő neve",
"Dozent": "Oktató",
"Dozent auswählen": "Oktató kiválasztása",
"Suche passenden Dozenten...": "Megfelelő oktató keresése...",
"Der Dozent, der diesen Kurs leitet": "Az oktató, aki ezt a kurzust vezeti",
"Beschreibung": "Leírás",
"Ausführliche Beschreibung des Kurses": "A kurzus részletes leírása",
"Kurs erstellen": "Kurzus létrehozása",
"Kurs erfolgreich aktualisiert!": "Kurzus sikeresen frissítve!",
"Kurs bearbeiten": "Kurzus szerkesztése",
"ID": "ID",
"System-generierte ID (nur lesbar)": "Rendszer által generált ID (csak olvasható)",
"Systeminformationen": "Rendszerinformációk",
"Erstellt von": "Létrehozta",
"Unbekannt": "Ismeretlen",
"Ersteller des Kurses": "A kurzus létrehozója",
"Erstellt am": "Létrehozva",
"Wann dieser Kurs erstellt wurde": "Mikor lett ez a kurzus létrehozva",
"Aktualisiert am": "Frissítve",
"Letzte Änderungszeit": "Utolsó módosítás ideje",
"Kurs aktualisieren": "Kurzus frissítése",
"Suche nach Kursen...": "Kurzusok keresése...",
"Neuer Kurs": "Új kurzus",
"Aktionen": "Műveletek",
"Bearbeiten": "Szerkesztés",
"Über den Kurs": "A kurzusról",
"Über den Dozenten": "Az oktatóról",
"Kommende Veranstaltungen": "Közelgő események",
"Anmeldungen": "Regisztrációk",
"Details/Anmelden": "Részletek/Regisztráció",
"Meine nächsten Meetup Termine": "Következő meetup időpontjaim",
"Keine bevorstehenden Termine": "Nincsenek közelgő időpontok",
"Meine Meetups": "Meetupjaim",
"Meetup hinzufügen...": "Meetup hozzáadása...",
"Meetup suchen...": "Meetup keresése...",
"Meetup entfernen?": "Meetup eltávolítása?",
"Möchtest du": "Szeretnéd",
"aus deinen Meetups entfernen?": "eltávolítani meetupjaid közül?",
"Du kannst es jederzeit wieder hinzufügen.": "Bármikor újra hozzáadhatod.",
"Entfernen": "Eltávolítás",
"Keine Meetups zugeordnet": "Nincsenek hozzárendelt meetupok",
"Dozent erfolgreich erstellt!": "Oktató sikeresen létrehozva!",
"Neuen Dozenten erstellen": "Új oktató létrehozása",
"Vollständiger Name des Dozenten": "Az oktató teljes neve",
"Untertitel": "Alcím",
"Kurze Berufsbezeichnung oder Rolle": "Rövid szakmai megnevezés vagy szerep",
"Status": "Státusz",
"Ist dieser Dozent aktiv?": "Ez az oktató aktív?",
"Einführung": "Bevezetés",
"Kurze Vorstellung (wird auf Kurs-Seiten angezeigt)": "Rövid bemutatkozás (kurzus oldalakon jelenik meg)",
"Ausführliche Beschreibung und Biografie": "Részletes leírás és életrajz",
"Links & Soziale Medien": "Linkek & Közösségi média",
"Webseite": "Weboldal",
"Persönliche Webseite oder Portfolio": "Személyes weboldal vagy portfólió",
"Twitter Benutzername": "Twitter felhasználónév",
"Twitter-Handle ohne @ Symbol": "Twitter handle @ szimbólum nélkül",
"Nostr öffentlicher Schlüssel": "Nostr nyilvános kulcs",
"Zahlungsinformationen": "Fizetési információk",
"Lightning Adresse": "Lightning cím",
"Lightning-Adresse für Zahlungen": "Lightning cím fizetésekhez",
"LNURL": "LNURL",
"LNURL für Lightning-Zahlungen": "LNURL Lightning fizetésekhez",
"Node ID": "Node ID",
"Lightning Node ID": "Lightning Node ID",
"PayNym": "PayNym",
"PayNym für Bitcoin-Zahlungen": "PayNym Bitcoin fizetésekhez",
"Dozenten erstellen": "Oktató létrehozása",
"Dozent erfolgreich aktualisiert!": "Oktató sikeresen frissítve!",
"Dozent bearbeiten": "Oktató szerkesztése",
"Ersteller des Dozenten": "Az oktató létrehozója",
"Wann dieser Dozent erstellt wurde": "Mikor lett ez az oktató létrehozva",
"Dozent aktualisieren": "Oktató frissítése",
"Suche nach Dozenten...": "Oktatók keresése...",
"Dozenten anlegen": "Oktató létrehozása",
"Links": "Linkek",
"Aktiv": "Aktív",
"Inaktiv": "Inaktív",
"weitere Termine": "további időpontok",
"Datum": "Dátum",
"An welchem Tag findet das Event statt?": "Melyik napon lesz az esemény?",
"Uhrzeit": "Időpont",
"Um wie viel Uhr startet das Event?": "Hány órakor kezdődik az esemény?",
"Ort": "Helyszín",
"z.B. Café Mustermann, Hauptstr. 1": "pl. Mintakávézó, Fő utca 1",
"Beschreibe das Event...": "Írd le az eseményt...",
"Details über das Event": "Az esemény részletei",
"Link zu weiteren Informationen": "Link további információkhoz",
"Meetup erfolgreich erstellt!": "Meetup sikeresen létrehozva!",
"Neues Meetup erstellen": "Új meetup létrehozása",
"Der Anzeigename für dieses Meetup": "A meetup megjelenítendő neve",
"Stadt hinzufügen": "Város hozzáadása",
"Die nächstgrößte Stadt oder Ort": "A legközelebbi nagyobb város vagy hely",
"Auf Karte sichtbar": "Látható a térképen",
"Soll dieses Meetup auf der Karte angezeigt werden?": "Megjelenjen ez a meetup a térképen?",
"Kurze Beschreibung des Meetups": "A meetup rövid leírása",
"Offizielle Webseite oder Landingpage": "Hivatalos weboldal vagy landing oldal",
"Telegram Link": "Telegram link",
"Link zur Telegram-Gruppe oder zum Kanal": "Link Telegram csoporthoz vagy csatornához",
"Matrix Gruppe": "Matrix csoport",
"Matrix-Raum Bezeichner oder Link": "Matrix szoba azonosító vagy link",
"Nostr öffentlicher Schlüssel oder Bezeichner": "Nostr nyilvános kulcs vagy azonosító",
"SimpleX": "SimpleX",
"SimpleX Chat Kontaktinformationen": "SimpleX Chat kapcsolati információk",
"Signal Kontakt- oder Gruppeninformationen": "Signal kapcsolat vagy csoportinformációk",
"Zusätzliche Informationen": "További információk",
"Gemeinschaft": "Közösség",
"Keine": "Nincs",
"Gemeinschafts- oder Organisationsname": "Közösség vagy szervezet neve",
"Meetup erstellen": "Meetup létrehozása",
"Füge eine neue Stadt zur Datenbank hinzu.": "Adj hozzá új várost az adatbázishoz.",
"Stadtname": "Város neve",
"z.B. Berlin": "pl. Budapest",
"Land auswählen": "Ország kiválasztása",
"Breitengrad": "Szélesség",
"Längengrad": "Hosszúság",
"Stadt erstellen": "Város létrehozása",
"Meetup erfolgreich aktualisiert!": "Meetup sikeresen frissítve!",
"Meetup bearbeiten": "Meetup szerkesztése",
"Ersteller des Meetups": "A meetup létrehozója",
"Wann dieses Meetup erstellt wurde": "Mikor lett ez a meetup létrehozva",
"Meetup aktualisieren": "Meetup frissítése",
"Kalender-Stream-URL kopieren": "Naptár stream URL másolása",
"Suche nach Meetups...": "Meetupok keresése...",
"Mehr Informationen": "További információk",
"Teilnahme": "Részvétel",
"Du bist nicht eingloggt und musst deshalb den Namen selbst eintippen.": "Nem vagy bejelentkezve, ezért be kell írnod a nevedet.",
"Dein Name": "Neved",
"Name eingeben": "Név megadása",
"Ich komme": "Részt veszek",
"Absagen": "Lemondás",
"Zurück zum Meetup": "Vissza a meetuphoz",
"Über uns": "Rólunk",
"Kontakt & Links": "Kapcsolat & Linkek",
"Standort": "Helyszín",
"Zoom = STRG+Scroll": "Nagyítás = CTRL+Scroll",
"Öffnen/RSVP": "Megnyitás/RSVP",
"Update the appearance settings for your account": "Frissítsd fiókod megjelenési beállításait",
"Light": "Világos",
"Dark": "Sötét",
"System": "Rendszer",
"Delete account": "Fiók törlése",
"Delete your account and all of its resources": "Töröldd fiókodat és összes erőforrását",
"Are you sure you want to delete your account?": "Biztos vagy benne, hogy törölni szeretnéd fiókodat?",
"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.": "Miután fiókodat törlöd, minden erőforrása és adata véglegesen törlésre kerül. Kérjük, add meg jelszavadat a végleges törlés megerősítéséhez.",
"Update password": "Jelszó frissítése",
"Ensure your account is using a long, random password to stay secure": "Gondoskodj arról, hogy fiókod hosszú, véletlenszerű jelszót használjon a biztonság érdekében",
"Current password": "Jelenlegi jelszó",
"New password": "Új jelszó",
"Confirm Password": "Jelszó megerősítése",
"Save": "Mentés",
"Update your name and email address": "Frissítsd nevedet és email címedet",
"Your email address is unverified.": "Email címed még nincs megerősítve.",
"Click here to re-send the verification email.": "Kattints ide a megerősítő email újraküldéséhez.",
"A new verification link has been sent to your email address.": "Új megerősítő linket küldtünk email címedre.",
"Zeitzone": "Időzóna",
"Wähle deine Zeitzone aus...": "Válaszd ki időzónádat...",
"Spracheinstellungen": "Nyelvi beállítások",
"Wähle deine Sprache aus...": "Válaszd ki nyelvedet...",
"Zeitzone erfolgreich aktualisiert": "Időzóna sikeresen frissítve",
"Wähle deine Zeitzone...": "Válaszd ki időzónádat...",
"Suche Zeitzone...": "Időzóna keresése...",
"Venue successfully created!": "Helyszín sikeresen létrehozva!",
"Create Venue": "Helyszín létrehozása",
"Venue Information": "Helyszín információk",
"City": "Város",
"Select a city": "Válassz várost",
"Street": "Utca",
"Venue successfully updated!": "Helyszín sikeresen frissítve!",
"Edit Venue": "Helyszín szerkesztése",
"Update Venue": "Helyszín frissítése",
"Venues": "Helyszínek",
"Search venues...": "Helyszínek keresése...",
"Bitcoin Meetups": "Bitcoin Meetupok",
"Alle Meetups anzeigen": "Minden meetup megjelenítése",
"Kartenansicht öffnen": "Térképnézet megnyitása",
"Login": "Bejelentkezés",
"Verbinde dich mit Bitcoinern in deiner Nähe": "Kapcsolódj bitcoinerekhez a közeledben",
"Finde deine lokale Community": "Találd meg helyi közösségedet",
"Manage your profile and account settings": "Kezeld profilodat és fiókbeállításaidat"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,15 +1,6 @@
<div class="mt-8"> @props(['collapsable' => true])
<flux:accordion>
<flux:accordion.item>
<flux:accordion.heading>
<div class="flex items-center gap-2">
<flux:icon.language class="w-5 h-5" />
{{ __('Sprache wählen') }}
</div>
</flux:accordion.heading>
<flux:accordion.content> @php
@php
// Scan lang folder for available languages // Scan lang folder for available languages
$availableLanguages = collect(glob(base_path('lang/*.json'))) $availableLanguages = collect(glob(base_path('lang/*.json')))
->map(fn($file) => pathinfo($file, PATHINFO_FILENAME)) ->map(fn($file) => pathinfo($file, PATHINFO_FILENAME))
@@ -19,6 +10,7 @@
'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']],
'hu' => ['name' => 'Magyar', 'countries' => ['hu-HU']],
'nl' => ['name' => 'Nederlands', 'countries' => ['nl-NL', 'nl-BE']], 'nl' => ['name' => 'Nederlands', 'countries' => ['nl-NL', 'nl-BE']],
'pt' => ['name' => 'Português', 'countries' => ['pt-PT']], 'pt' => ['name' => 'Português', 'countries' => ['pt-PT']],
]; ];
@@ -30,8 +22,20 @@
}, ARRAY_FILTER_USE_BOTH); }, ARRAY_FILTER_USE_BOTH);
$currentLangCountry = session('lang_country', config('lang-country.fallback')); $currentLangCountry = session('lang_country', config('lang-country.fallback'));
@endphp @endphp
<div class="mt-8">
@if($collapsable)
<flux:accordion>
<flux:accordion.item>
<flux:accordion.heading>
<div class="flex items-center gap-2">
<flux:icon.language class="w-5 h-5"/>
{{ __('Sprache wählen') }}
</div>
</flux:accordion.heading>
<flux:accordion.content>
<div class="grid grid-cols-2 gap-3 mt-2"> <div class="grid grid-cols-2 gap-3 mt-2">
@foreach($languages as $langCode => $langData) @foreach($languages as $langCode => $langData)
@foreach($langData['countries'] as $langCountry) @foreach($langData['countries'] as $langCountry)
@@ -55,4 +59,26 @@
</flux:accordion.content> </flux:accordion.content>
</flux:accordion.item> </flux:accordion.item>
</flux:accordion> </flux:accordion>
@else
<div class="grid grid-cols-2 gap-3">
@foreach($languages as $langCode => $langData)
@foreach($langData['countries'] as $langCountry)
@php
[$lang, $countryCode] = explode('-', $langCountry);
$isActive = $currentLangCountry === $langCountry;
@endphp
<a href="{{ route('lang_country.switch', ['lang_country' => $langCountry]) }}"
class="flex flex-col items-center justify-center p-3 border rounded-lg hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors {{ $isActive ? 'border-blue-500 bg-blue-50 dark:bg-blue-950' : 'border-zinc-200 dark:border-zinc-700' }}">
<img
alt="{{ strtolower($countryCode) }}"
src="{{ asset('vendor/blade-flags/country-'.strtolower($countryCode).'.svg') }}"
class="w-10 h-7 mb-1 object-cover"
/>
<span class="text-xs font-medium">{{ $langData['name'] }}</span>
<span class="text-[10px] text-zinc-500">{{ strtoupper($countryCode) }}</span>
</a>
@endforeach
@endforeach
</div>
@endif
</div> </div>

View File

@@ -121,51 +121,7 @@ class extends Component {
<livewire:timezone.chooser :withRedirect="false"/> <livewire:timezone.chooser :withRedirect="false"/>
</div> </div>
<div class="my-8"> <x-einundzwanzig.language-selector :collapsable="false"/>
<flux:heading size="lg" class="mb-4">{{ __('Spracheinstellungen') }}</flux:heading>
<flux:subheading class="mb-6">{{ __('Wähle deine Sprache aus...') }}</flux:subheading>
<div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4">
@php
// 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']],
'en' => ['name' => 'English', 'countries' => ['en-GB', 'en-US', 'en-AU', 'en-CA']],
'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'));
@endphp
@foreach($languages as $langCode => $langData)
@foreach($langData['countries'] as $langCountry)
@php
[$lang, $countryCode] = explode('-', $langCountry);
$isActive = $currentLangCountry === $langCountry;
@endphp
<a href="{{ route('lang_country.switch', ['lang_country' => $langCountry]) }}"
class="flex flex-col items-center justify-center p-4 border rounded-lg hover:bg-zinc-100 dark:hover:bg-zinc-800 transition-colors {{ $isActive ? 'border-blue-500 bg-blue-50 dark:bg-blue-950' : 'border-zinc-200 dark:border-zinc-700' }}">
<img
alt="{{ strtolower($countryCode) }}"
src="{{ asset('vendor/blade-flags/country-'.strtolower($countryCode).'.svg') }}"
class="w-12 h-8 mb-2 object-cover"
/>
<span class="text-sm font-medium">{{ $langData['name'] }}</span>
<span class="text-xs text-zinc-500">{{ strtoupper($countryCode) }}</span>
</a>
@endforeach
@endforeach
</div>
</div>
<livewire:settings.delete-user-form/> <livewire:settings.delete-user-form/>
</x-settings.layout> </x-settings.layout>