From 14881803df53cea8dfca81b9d25ce0a2f8bef269 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 17 Apr 2026 16:38:39 +0200 Subject: [PATCH] feat(i18n): enhance localization for chat and minigames - Updated localization strings for chat and minigames across multiple languages, including Cebuano, German, English, Spanish, and French, to improve user experience and clarity. - Added new translations for participant counts, user selection prompts, and game over messages, ensuring consistency and better engagement in the UI. - Enhanced existing translations for accuracy and context, particularly in the TaxiGame component and chat functionalities. --- .../src/dialogues/chat/MultiChatDialog.vue | 8 +- frontend/src/i18n/locales/ceb/chat.json | 18 ++-- frontend/src/i18n/locales/ceb/minigames.json | 7 +- frontend/src/i18n/locales/ceb/navigation.json | 16 ++-- frontend/src/i18n/locales/de/chat.json | 4 + frontend/src/i18n/locales/de/minigames.json | 3 + frontend/src/i18n/locales/en/chat.json | 4 + frontend/src/i18n/locales/en/minigames.json | 3 + frontend/src/i18n/locales/es/chat.json | 4 + frontend/src/i18n/locales/es/minigames.json | 3 + frontend/src/i18n/locales/fr/chat.json | 4 + frontend/src/i18n/locales/fr/minigames.json | 5 +- frontend/src/views/minigames/TaxiGame.vue | 82 +++++++++---------- 13 files changed, 98 insertions(+), 63 deletions(-) diff --git a/frontend/src/dialogues/chat/MultiChatDialog.vue b/frontend/src/dialogues/chat/MultiChatDialog.vue index d5f177d..53143cd 100644 --- a/frontend/src/dialogues/chat/MultiChatDialog.vue +++ b/frontend/src/dialogues/chat/MultiChatDialog.vue @@ -42,7 +42,7 @@ @@ -133,7 +133,7 @@
{{ roomCreateValidation.range }}
- {{ $t('chat.multichat.createRoom.commandPrefix') }}: {{ buildRoomCreateCommandPreview() || '/cr ' }} + {{ $t('chat.multichat.createRoom.commandPrefix') }}: {{ buildRoomCreateCommandPreview() || $t('chat.multichat.commandPreviewFallback') }}
{{ $t('chat.multichat.createRoom.ownedRooms.title') }}
@@ -157,11 +157,11 @@
-
Teilnehmer ({{ usersInRoom.length }})
+
{{ $t('chat.multichat.participantsWithCount', { count: usersInRoom.length }) }}
+ :title="$t('chat.multichat.clickToSelectUser')"> ", "createRoom": { "toggleShowChat": "Ipakita ang chat", - "toggleCreateRoom": "Paghimo og room", - "title": "Paghimo og bag-ong room", - "commandPrefix": "Command", + "toggleCreateRoom": "Paghimo og lawak", + "title": "Paghimo og bag-ong lawak", + "commandPrefix": "Sugo", "labels": { "roomName": "Ngalan sa room", "visibility": "Visibility", @@ -69,7 +73,7 @@ "genderAny": "Bisan kinsa / walay limitasyon" }, "actions": { - "create": "Paghimo og room", + "create": "Paghimo og lawak", "reset": "I-reset" }, "validation": { diff --git a/frontend/src/i18n/locales/ceb/minigames.json b/frontend/src/i18n/locales/ceb/minigames.json index 914d95f..621499e 100644 --- a/frontend/src/i18n/locales/ceb/minigames.json +++ b/frontend/src/i18n/locales/ceb/minigames.json @@ -96,13 +96,13 @@ "pointsTitle": "Puntos", "speedViolations": "Mga lapas sa speed limit", "redLightsPassed": "Mga pulang suga nga nalapas", - "highscore": "Highscore", + "highscore": "Labing taas nga puntos", "topPlayers": "Top 20 nga mga player", "loadingHighscore": "Nag-load sa highscore...", "noHighscore": "Wala pay highscore", "pointsShort": "pts", "backToGame": "Balik sa dula", - "minimap": "Minimap", + "minimap": "Gamay nga mapa", "loadedPassengers": "Mga pasahero sulod sa taxi", "waitingPassengers": "Naghulat nga mga pasahero", "noPassengersInTaxi": "Walay pasahero sulod sa taxi", @@ -111,6 +111,9 @@ "destination": "Padulngan", "bonus": "Bonus", "time": "Oras", + "unknownMap": "Wala nailhan", + "gameOverTitle": "Nahuman na ang dula!", + "gameOverMessage": "Wala na kay sakyanan. Nahuman na ang dula!\n\nImong mga resulta:\n• Mga pasahero: {passengers}\n• Puntos: {score}\n• Oras sa dula: {playTime}\n• Mapa: {map}\n\nNa-save na ang highscore!", "crash": { "title": "Bangga!", "message": "Naaksidente ka! Mga crash: {crashes}" diff --git a/frontend/src/i18n/locales/ceb/navigation.json b/frontend/src/i18n/locales/ceb/navigation.json index d70f339..318733a 100644 --- a/frontend/src/i18n/locales/ceb/navigation.json +++ b/frontend/src/i18n/locales/ceb/navigation.json @@ -6,14 +6,14 @@ "socialnetwork": "Tigomanan", "chats": "Mga chat", "falukant": "Falukant", - "minigames": "Mga minigame", - "personal": "Personal", - "settings": "Mga setting", + "minigames": "Mga minidula", + "personal": "Kaugalingon", + "settings": "Mga opsyon", "administration": "Pagdumala", "m-chats": { - "multiChat": "Multiuser chat", - "randomChat": "Random single chat", - "eroticChat": "Erotik chat" + "multiChat": "Daghan nga chat", + "randomChat": "Usa-ka-chat nga random", + "eroticChat": "Erotik nga chat" }, "m-socialnetwork": { "guestbook": "Libro sa bisita", @@ -56,7 +56,7 @@ "m-settings": { "homepage": "Sinugdanan", "account": "Account", - "personal": "Personal", + "personal": "Kaugalingon", "view": "Panagway", "flirt": "Flirt", "interests": "Mga interes", @@ -85,7 +85,7 @@ "mapEditor": "Editor sa mapa", "createNPC": "Paghimo og NPC" }, - "minigames": "Mga minigame", + "minigames": "Mga minidula", "m-minigames": { "match3": "Mga level sa Match3", "taxiTools": "Mga himan sa taxi" diff --git a/frontend/src/i18n/locales/de/chat.json b/frontend/src/i18n/locales/de/chat.json index 5292327..d30c441 100644 --- a/frontend/src/i18n/locales/de/chat.json +++ b/frontend/src/i18n/locales/de/chat.json @@ -41,6 +41,10 @@ "error": "Fehler bei der Verbindung" }, "reloadRooms": "Räume neu laden", + "participantsWithCount": "Teilnehmer ({count})", + "clickToSelectUser": "Zum Auswählen klicken", + "screamColon": " schreit:", + "commandPreviewFallback": "/cr ", "createRoom": { "toggleShowChat": "Chat anzeigen", "toggleCreateRoom": "Raum anlegen", diff --git a/frontend/src/i18n/locales/de/minigames.json b/frontend/src/i18n/locales/de/minigames.json index 53a001d..f3f274c 100644 --- a/frontend/src/i18n/locales/de/minigames.json +++ b/frontend/src/i18n/locales/de/minigames.json @@ -111,6 +111,9 @@ "destination": "Ziel", "bonus": "Bonus", "time": "Zeit", + "unknownMap": "Unbekannt", + "gameOverTitle": "Spiel beendet!", + "gameOverMessage": "Keine Fahrzeuge mehr. Spiel beendet!\n\nDeine Leistung:\n• Passagiere: {passengers}\n• Punkte: {score}\n• Spielzeit: {playTime}\n• Map: {map}\n\nHighscore wurde gespeichert!", "crash": { "title": "Unfall!", "message": "Du hattest einen Unfall! Crashes: {crashes}" diff --git a/frontend/src/i18n/locales/en/chat.json b/frontend/src/i18n/locales/en/chat.json index 06e1ee4..1198d83 100644 --- a/frontend/src/i18n/locales/en/chat.json +++ b/frontend/src/i18n/locales/en/chat.json @@ -41,6 +41,10 @@ "error": "Connection error" }, "reloadRooms": "Reload rooms", + "participantsWithCount": "Participants ({count})", + "clickToSelectUser": "Click to select", + "screamColon": " shouts:", + "commandPreviewFallback": "/cr ", "createRoom": { "toggleShowChat": "Show chat", "toggleCreateRoom": "Create room", diff --git a/frontend/src/i18n/locales/en/minigames.json b/frontend/src/i18n/locales/en/minigames.json index 82e0c6b..4548810 100644 --- a/frontend/src/i18n/locales/en/minigames.json +++ b/frontend/src/i18n/locales/en/minigames.json @@ -111,6 +111,9 @@ "destination": "Destination", "bonus": "Bonus", "time": "Time", + "unknownMap": "Unknown", + "gameOverTitle": "Game over!", + "gameOverMessage": "No vehicles left. Game over!\n\nYour results:\n• Passengers: {passengers}\n• Score: {score}\n• Play time: {playTime}\n• Map: {map}\n\nHighscore saved!", "crash": { "title": "Crash!", "message": "You had an accident! Crashes: {crashes}" diff --git a/frontend/src/i18n/locales/es/chat.json b/frontend/src/i18n/locales/es/chat.json index 3f2bcd1..576ae00 100644 --- a/frontend/src/i18n/locales/es/chat.json +++ b/frontend/src/i18n/locales/es/chat.json @@ -40,6 +40,10 @@ "error": "Error de conexión" }, "reloadRooms": "Recargar salas", + "participantsWithCount": "Participantes ({count})", + "clickToSelectUser": "Clic para seleccionar", + "screamColon": " grita:", + "commandPreviewFallback": "/cr ", "createRoom": { "toggleShowChat": "Mostrar chat", "toggleCreateRoom": "Crear sala", diff --git a/frontend/src/i18n/locales/es/minigames.json b/frontend/src/i18n/locales/es/minigames.json index abe2b1b..bc56f62 100644 --- a/frontend/src/i18n/locales/es/minigames.json +++ b/frontend/src/i18n/locales/es/minigames.json @@ -111,6 +111,9 @@ "destination": "Destino", "bonus": "Bonificación", "time": "Tiempo", + "unknownMap": "Desconocido", + "gameOverTitle": "¡Fin del juego!", + "gameOverMessage": "No quedan vehículos. ¡Fin del juego!\n\nTus resultados:\n• Pasajeros: {passengers}\n• Puntos: {score}\n• Tiempo de juego: {playTime}\n• Mapa: {map}\n\n¡Puntuación guardada!", "crash": { "title": "¡Accidente!", "message": "¡Has tenido un accidente! Choques: {crashes}" diff --git a/frontend/src/i18n/locales/fr/chat.json b/frontend/src/i18n/locales/fr/chat.json index 3c02be6..fe3add3 100644 --- a/frontend/src/i18n/locales/fr/chat.json +++ b/frontend/src/i18n/locales/fr/chat.json @@ -40,6 +40,10 @@ "error": "Fehler bei der Verbindung" }, "reloadRooms": "Räume neu laden", + "participantsWithCount": "Participants ({count})", + "clickToSelectUser": "Cliquer pour sélectionner", + "screamColon": " crie :", + "commandPreviewFallback": "/cr ", "createRoom": { "toggleShowChat": "Chat anzeigen", "toggleCreateRoom": "Raum anlegen", diff --git a/frontend/src/i18n/locales/fr/minigames.json b/frontend/src/i18n/locales/fr/minigames.json index ba9230f..c99501e 100644 --- a/frontend/src/i18n/locales/fr/minigames.json +++ b/frontend/src/i18n/locales/fr/minigames.json @@ -111,9 +111,12 @@ "destination": "Ziel", "bonus": "prime", "time": "Temps", + "unknownMap": "Inconnu", + "gameOverTitle": "Partie terminée !", + "gameOverMessage": "Plus aucun véhicule. Partie terminée !\n\nTes résultats :\n• Passagers : {passengers}\n• Points : {score}\n• Temps de jeu : {playTime}\n• Carte : {map}\n\nMeilleur score enregistré !", "crash": { "title": "Accident!", - "message": "Vous avez eu un accident ! Crashes : {crashs}" + "message": "Vous avez eu un accident ! Crashes : {crashes}" } } } diff --git a/frontend/src/views/minigames/TaxiGame.vue b/frontend/src/views/minigames/TaxiGame.vue index 8bb8bef..e5f4ea8 100644 --- a/frontend/src/views/minigames/TaxiGame.vue +++ b/frontend/src/views/minigames/TaxiGame.vue @@ -14,37 +14,37 @@
-

Steuerung

+

{{ $t('minigames.taxi.controls') }}

↑ W - Gas geben + {{ $t('minigames.taxi.accelerate') }}
↓ X - Bremsen + {{ $t('minigames.taxi.brake') }}
→ D - Rechts lenken + {{ $t('minigames.taxi.steerRight') }}
← A - Links lenken + {{ $t('minigames.taxi.steerLeft') }}
-

Ziele

+

{{ $t('minigames.taxi.goals') }}

    -
  • Vermeide Kollisionen mit anderen Fahrzeugen
  • +
  • {{ $t('minigames.taxi.avoidCollisions') }}
-

Straßennamen

+

{{ $t('minigames.taxi.streetNames') }}

  • - ❤️ {{ vehicleCount }} - ⛽ {{ Math.round(fuel) }}% - ⭐ {{ score }} - 📷 {{ speedViolations }} - + ❤️ {{ vehicleCount }} + ⛽ {{ Math.round(fuel) }}% + ⭐ {{ score }} + 📷 {{ speedViolations }} + 🚦 {{ redLightViolations }} @@ -108,15 +108,15 @@
    -

    🏆 Highscore

    -
    Top 20 Spieler
    +

    🏆 {{ $t('minigames.taxi.highscore') }}

    +
    {{ $t('minigames.taxi.topPlayers') }}
    - Lade Highscore... + {{ $t('minigames.taxi.loadingHighscore') }}
    - Noch keine Highscores vorhanden + {{ $t('minigames.taxi.noHighscore') }}
    {{ entry.rank }}
    {{ entry.nickname }}
    -
    {{ entry.points }} Pkt
    +
    {{ entry.points }} {{ $t('minigames.taxi.pointsShort') }}
    ...
    {{ currentPlayerEntry.rank }}
    {{ currentPlayerEntry.nickname }}
    -
    {{ currentPlayerEntry.points }} Pkt
    +
    {{ currentPlayerEntry.points }} {{ $t('minigames.taxi.pointsShort') }}
    @@ -154,7 +154,7 @@ {{ $t('minigames.taxi.restartLevel') }}
    @@ -164,7 +164,7 @@
    -

    Minimap

    +

    {{ $t('minigames.taxi.minimap') }}