From 2cfd7abc074f97f5bdce670f83a3a9697315d741 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Sun, 23 Nov 2025 22:34:38 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90=20Replace=20manual=20language=20se?= =?UTF-8?q?lection=20with=20reusable=20language=20selector=20component=20a?= =?UTF-8?q?nd=20add=20Hungarian=20translations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replaced inline language selection logic in `profile.blade.php` with ``. - Introduced Hungarian (`hu.json`) translations for improved multilingual support. - Updated `DomainMiddleware` to include settings for Hungarian locale and portal branding. --- app/Http/Middleware/DomainMiddleware.php | 5 + lang/en.json | 2 +- lang/es.json | 2 +- lang/hu.json | 379 ++++++++++++++++++ lang/nl.json | 2 +- lang/pt.json | 2 +- public/img/domains/hu-HU.jpg | Bin 0 -> 18648 bytes .../einundzwanzig/language-selector.blade.php | 134 ++++--- .../views/livewire/settings/profile.blade.php | 46 +-- 9 files changed, 469 insertions(+), 103 deletions(-) create mode 100644 lang/hu.json create mode 100644 public/img/domains/hu-HU.jpg diff --git a/app/Http/Middleware/DomainMiddleware.php b/app/Http/Middleware/DomainMiddleware.php index 8ecf518..ad821d3 100644 --- a/app/Http/Middleware/DomainMiddleware.php +++ b/app/Http/Middleware/DomainMiddleware.php @@ -20,6 +20,11 @@ class DomainMiddleware 'lang_country' => 'nl-NL', 'app_name' => 'EENENTWINTIG Portaal', ], + 'portal.huszonegy.world/' => [ + 'locale' => 'hu', + 'lang_country' => 'hu-HU', + 'app_name' => ' HUSZONEGY Portál', + ], ]; // App-Locale dynamisch setzen diff --git a/lang/en.json b/lang/en.json index 974a8d1..6731e67 100644 --- a/lang/en.json +++ b/lang/en.json @@ -459,4 +459,4 @@ "Über den Kurs": "About the course", "Über uns": "About us", "Einundzwanzig Portal": "Twenty One Portal" -} +} \ No newline at end of file diff --git a/lang/es.json b/lang/es.json index f314bbd..34c6409 100644 --- a/lang/es.json +++ b/lang/es.json @@ -458,4 +458,4 @@ "Über den Kurs": "Sobre el curso", "Über uns": "Sobre nosotros", "Einundzwanzig Portal": "Portal Veintiuno" -} +} \ No newline at end of file diff --git a/lang/hu.json b/lang/hu.json new file mode 100644 index 0000000..50a38f6 --- /dev/null +++ b/lang/hu.json @@ -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" +} diff --git a/lang/nl.json b/lang/nl.json index 1e300f3..d5510f6 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -455,4 +455,4 @@ "Über den Kurs": "Over de cursus", "Über uns": "Over ons", "Einundzwanzig Portal": "Eenentwintig Portaal" -} +} \ No newline at end of file diff --git a/lang/pt.json b/lang/pt.json index 5604c7c..d930720 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -453,4 +453,4 @@ "Über den Kurs": "Sobre o curso", "Über uns": "Sobre nós", "Einundzwanzig Portal": "Portal Vinte e Um" -} +} \ No newline at end of file diff --git a/public/img/domains/hu-HU.jpg b/public/img/domains/hu-HU.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f534e2405c53d550b0fe0e4f047498fc95d57b06 GIT binary patch literal 18648 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 Ao&W#< literal 0 HcmV?d00001 diff --git a/resources/views/components/einundzwanzig/language-selector.blade.php b/resources/views/components/einundzwanzig/language-selector.blade.php index 39dcecc..546739f 100644 --- a/resources/views/components/einundzwanzig/language-selector.blade.php +++ b/resources/views/components/einundzwanzig/language-selector.blade.php @@ -1,58 +1,84 @@ +@props(['collapsable' => true]) + +@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']], + 'hu' => ['name' => 'Magyar', 'countries' => ['hu-HU']], + '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')); +@endphp +
- - - -
- - {{ __('Sprache wählen') }} -
-
+ @if($collapsable) + + + +
+ + {{ __('Sprache wählen') }} +
+
- - @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']], - ]; - - // 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')); - @endphp - -
- @foreach($languages as $langCode => $langData) - @foreach($langData['countries'] as $langCountry) - @php - [$lang, $countryCode] = explode('-', $langCountry); - $isActive = $currentLangCountry === $langCountry; - @endphp - - {{ strtolower($countryCode) }} - {{ $langData['name'] }} - {{ strtoupper($countryCode) }} - + +
+ @foreach($languages as $langCode => $langData) + @foreach($langData['countries'] as $langCountry) + @php + [$lang, $countryCode] = explode('-', $langCountry); + $isActive = $currentLangCountry === $langCountry; + @endphp + + {{ strtolower($countryCode) }} + {{ $langData['name'] }} + {{ strtoupper($countryCode) }} + + @endforeach @endforeach - @endforeach -
-
- - +
+
+
+
+ @else +
+ @foreach($languages as $langCode => $langData) + @foreach($langData['countries'] as $langCountry) + @php + [$lang, $countryCode] = explode('-', $langCountry); + $isActive = $currentLangCountry === $langCountry; + @endphp + + {{ strtolower($countryCode) }} + {{ $langData['name'] }} + {{ strtoupper($countryCode) }} + + @endforeach + @endforeach +
+ @endif
diff --git a/resources/views/livewire/settings/profile.blade.php b/resources/views/livewire/settings/profile.blade.php index bf92acb..aa62455 100644 --- a/resources/views/livewire/settings/profile.blade.php +++ b/resources/views/livewire/settings/profile.blade.php @@ -121,51 +121,7 @@ class extends Component { -
- {{ __('Spracheinstellungen') }} - {{ __('Wähle deine Sprache aus...') }} - -
- @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 - - {{ strtolower($countryCode) }} - {{ $langData['name'] }} - {{ strtoupper($countryCode) }} - - @endforeach - @endforeach -
-
+