Add password reset localization and chat configuration

- Implemented German and English localization for password reset functionality.
- Added WebSocket URL resolution logic in chat services to support various environments and configurations.
- Created centralized chat configuration for event keys and payload mappings.
- Developed RoomsView component for admin chat room management, including create, edit, and delete functionalities.
This commit is contained in:
Torsten Schulz (local)
2025-08-18 07:44:56 +02:00
parent 23f698d8fd
commit 19ee6ba0a1
50 changed files with 3117 additions and 359 deletions

View File

@@ -14,6 +14,7 @@ import enAdmin from './locales/en/admin.json';
import enSocialNetwork from './locales/en/socialnetwork.json';
import enFriends from './locales/en/friends.json';
import enFalukant from './locales/en/falukant.json';
import enPasswordReset from './locales/en/passwordReset.json';
import deGeneral from './locales/de/general.json';
import deHeader from './locales/de/header.json';
@@ -28,6 +29,7 @@ import deAdmin from './locales/de/admin.json';
import deSocialNetwork from './locales/de/socialnetwork.json';
import deFriends from './locales/de/friends.json';
import deFalukant from './locales/de/falukant.json';
import dePasswordReset from './locales/de/passwordReset.json';
const messages = {
en: {
@@ -37,6 +39,7 @@ const messages = {
...enHome,
...enChat,
...enRegister,
...enPasswordReset,
...enError,
...enActivate,
...enSettings,
@@ -53,6 +56,7 @@ const messages = {
...deHome,
...deChat,
...deRegister,
...dePasswordReset,
...deError,
...deActivate,
...deSettings,

View File

@@ -91,7 +91,8 @@
"start game": "Spiel starten",
"open room": "Raum öffnen",
"systemmessage": "Systemnachricht"
}
},
"confirmDelete": "Soll dieser Chatraum wirklich gelöscht werden?"
}
}
}

View File

@@ -1,30 +1,72 @@
{
"randomchat": {
"title": "Zufallschat",
"age": "Alter",
"gender": {
"title": "Dein Geschlecht",
"male": "Männlich",
"female": "Weiblich"
"chat": {
"multichat": {
"title": "Multi-Chat",
"autoscroll": "Automatisch scrollen",
"options": "Optionen",
"send": "Senden",
"shout": "Schreien",
"action": "Aktion",
"roll": "Würfeln",
"colorpicker": "Farbe wählen",
"colorpicker_preview": "Vorschau: Diese Nachricht nutzt die gewählte Farbe.",
"hex": "HEX",
"invalid_hex": "Ungültiger Hex-Wert",
"hue": "Farbton",
"saturation": "Sättigung",
"lightness": "Helligkeit",
"ok": "Ok",
"cancel": "Abbrechen",
"placeholder": "Nachricht eingeben...",
"action_select_user": "Bitte Benutzer auswählen",
"action_to": "Aktion an {to}",
"action_phrases": {
"left_room": "wechselt zu Raum",
"leaves_room": "verlässt Raum",
"left_chat": "hat den Chat verlassen."
},
"system": {
"room_entered": "Du hast den Raum \"{room}\" betreten.",
"user_entered_room": "{user} hat den Raum betreten.",
"user_left_room": "{user} hat den Raum verlassen."
,
"color_changed_self": "Du hast deine Farbe zu {color} geändert.",
"color_changed_user": "{user} hat seine/ihre Farbe zu {color} geändert."
},
"status": {
"connecting": "Verbinden…",
"connected": "Verbunden",
"disconnected": "Getrennt",
"error": "Fehler bei der Verbindung"
}
},
"start": "Loslegen",
"agerange": "Alter",
"gendersearch": "Geschlechter",
"camonly": "Nur mit Cam",
"showcam": "Eigene Cam anzeigen",
"addfriend": "Zu Freunden hinzufügen",
"close": "Chat beenden",
"autosearch": "Automatisch suchen",
"input": "Ihr Text",
"waitingForMatch": "Warten auf einen Teilnehmer...",
"chatpartner": "Du chattest jetzt mit einer <gender> Person im Alter von <age> Jahren.",
"partnergenderm": "männlichen",
"partnergenderf": "weiblichen",
"self": "Du",
"partner": "Partner",
"jumptonext": "Diesen Chat beenden",
"userleftchat": "Der Gesprächstpartner hat den Chat verlassen.",
"startsearch": "Suche nächstes Gespräch",
"selfstopped": "Du hast das Gespräch verlassen."
"randomchat": {
"title": "Zufallschat",
"age": "Alter",
"gender": {
"title": "Dein Geschlecht",
"male": "Männlich",
"female": "Weiblich"
},
"start": "Loslegen",
"agerange": "Alter",
"gendersearch": "Geschlechter",
"camonly": "Nur mit Cam",
"showcam": "Eigene Cam anzeigen",
"addfriend": "Zu Freunden hinzufügen",
"close": "Chat beenden",
"autosearch": "Automatisch suchen",
"input": "Ihr Text",
"waitingForMatch": "Warten auf einen Teilnehmer...",
"chatpartner": "Du chattest jetzt mit einer <gender> Person im Alter von <age> Jahren.",
"partnergenderm": "männlichen",
"partnergenderf": "weiblichen",
"self": "Du",
"partner": "Partner",
"jumptonext": "Diesen Chat beenden",
"userleftchat": "Der Gesprächstpartner hat den Chat verlassen.",
"startsearch": "Suche nächstes Gespräch",
"selfstopped": "Du hast das Gespräch verlassen."
}
}
}

View File

@@ -41,5 +41,12 @@
"transmale": "Trans-Mann",
"transfemale": "Trans-Frau",
"nonbinary": "Nichtbinär"
},
"common": {
"edit": "Bearbeiten",
"delete": "Löschen",
"create": "Erstellen",
"yes": "Ja",
"no": "Nein"
}
}

View File

@@ -0,0 +1,9 @@
{
"passwordReset": {
"title": "Passwort zurücksetzen",
"email": "E-Mail",
"reset": "Zurücksetzen",
"success": "Falls die E-Mail existiert, wurde eine Anleitung zum Zurücksetzen gesendet.",
"failure": "Passwort-Zurücksetzen fehlgeschlagen. Bitte später erneut versuchen."
}
}

View File

@@ -1,5 +1,46 @@
{
"randomchat": {
"chat": {
"multichat": {
"title": "Multi Chat",
"autoscroll": "Auto scroll",
"options": "Options",
"send": "Send",
"shout": "Shout",
"action": "Action",
"roll": "Roll",
"colorpicker": "Pick color",
"colorpicker_preview": "Preview: This message uses the chosen color.",
"hex": "HEX",
"invalid_hex": "Invalid hex value",
"hue": "Hue",
"saturation": "Saturation",
"lightness": "Lightness",
"ok": "Ok",
"cancel": "Cancel",
"placeholder": "Type a message…",
"action_select_user": "Please select a user",
"action_to": "Action to {to}",
"action_phrases": {
"left_room": "switches to room",
"leaves_room": "leaves room",
"left_chat": "has left the chat."
},
"system": {
"room_entered": "You entered the room \"{room}\".",
"user_entered_room": "{user} has entered the room.",
"user_left_room": "{user} has left the room."
,
"color_changed_self": "You changed your color to {color}.",
"color_changed_user": "{user} changed their color to {color}."
},
"status": {
"connecting": "Connecting…",
"connected": "Connected",
"disconnected": "Disconnected",
"error": "Connection error"
}
},
"randomchat": {
"title": "Random Chat",
"close": "Close",
"age": "Age",
@@ -16,6 +57,16 @@
"autosearch": "Auto Search",
"input": "Input",
"start": "Start",
"waitingForMatch": "Waiting for a match..."
"waitingForMatch": "Waiting for a match...",
"chatpartner": "You are now chatting with a <gender> person aged <age> years.",
"partnergenderm": "male",
"partnergenderf": "female",
"self": "You",
"partner": "Partner",
"jumptonext": "End this chat",
"userleftchat": "The chat partner has left the chat.",
"startsearch": "Search next conversation",
"selfstopped": "You left the conversation."
}
}
}

View File

@@ -0,0 +1,9 @@
{
"passwordReset": {
"title": "Reset Password",
"email": "Email",
"reset": "Reset",
"success": "If the email exists, we've sent reset instructions.",
"failure": "Password reset failed. Please try again later."
}
}