From 30ebb90617875e256b2b099e18f2417873b3475f Mon Sep 17 00:00:00 2001 From: Alexis Faizeau Date: Tue, 25 Jan 2022 17:41:05 +0100 Subject: [PATCH 1/8] Enchance emoji menu --- .../src/Components/EmoteMenu/EmoteMenu.svelte | 22 +++++++++++++++++++ front/src/i18n/en-US/emoji.ts | 21 ++++++++++++++++++ front/src/i18n/en-US/index.ts | 2 ++ front/src/i18n/fr-FR/emoji.ts | 21 ++++++++++++++++++ front/src/i18n/fr-FR/index.ts | 2 ++ 5 files changed, 68 insertions(+) create mode 100644 front/src/i18n/en-US/emoji.ts create mode 100644 front/src/i18n/fr-FR/emoji.ts diff --git a/front/src/Components/EmoteMenu/EmoteMenu.svelte b/front/src/Components/EmoteMenu/EmoteMenu.svelte index d084718d..16525e5e 100644 --- a/front/src/Components/EmoteMenu/EmoteMenu.svelte +++ b/front/src/Components/EmoteMenu/EmoteMenu.svelte @@ -4,6 +4,7 @@ import { onDestroy, onMount } from "svelte"; import { EmojiButton } from "@joeattardi/emoji-button"; import { isMobile } from "../../Enum/EnvironmentVariable"; + import LL from "../../i18n/i18n-svelte"; let emojiContainer: HTMLElement; let picker: EmojiButton; @@ -15,10 +16,31 @@ rootElement: emojiContainer, styleProperties: { "--font": "Press Start 2P", + "--text-color": "whitesmoke", + "--secondary-text-color": "whitesmoke", + "--category-button-color": "whitesmoke", }, emojisPerRow: isMobile() ? 6 : 8, autoFocusSearch: false, style: "twemoji", + showPreview: false, + i18n: { + search: $LL.emoji.search(), + categories: { + recents: $LL.emoji.categories.recents(), + smileys: $LL.emoji.categories.smileys(), + people: $LL.emoji.categories.people(), + animals: $LL.emoji.categories.animals(), + food: $LL.emoji.categories.food(), + activities: $LL.emoji.categories.activities(), + travel: $LL.emoji.categories.travel(), + objects: $LL.emoji.categories.objects(), + symbols: $LL.emoji.categories.symbols(), + flags: $LL.emoji.categories.flags(), + custom: $LL.emoji.categories.custom(), + }, + notFound: $LL.emoji.notFound(), + }, }); //the timeout is here to prevent the menu from flashing setTimeout(() => picker.showPicker(emojiContainer), 100); diff --git a/front/src/i18n/en-US/emoji.ts b/front/src/i18n/en-US/emoji.ts new file mode 100644 index 00000000..fb23d102 --- /dev/null +++ b/front/src/i18n/en-US/emoji.ts @@ -0,0 +1,21 @@ +import type { BaseTranslation } from "../i18n-types"; + +const emoji: BaseTranslation = { + search: "Search emojis...", + categories: { + recents: "Recent Emojis", + smileys: "Smileys & Emotion", + people: "People & Body", + animals: "Animals & Nature", + food: "Food & Drink", + activities: "Activities", + travel: "Travel & Places", + objects: "Objects", + symbols: "Symbols", + flags: "Flags", + custom: "Custom", + }, + notFound: "No emojis found", +}; + +export default emoji; diff --git a/front/src/i18n/en-US/index.ts b/front/src/i18n/en-US/index.ts index 609e38ca..2d3ac74a 100644 --- a/front/src/i18n/en-US/index.ts +++ b/front/src/i18n/en-US/index.ts @@ -10,6 +10,7 @@ import login from "./login"; import menu from "./menu"; import report from "./report"; import warning from "./warning"; +import emoji from "./emoji"; const en_US: BaseTranslation = { language: "English", @@ -25,6 +26,7 @@ const en_US: BaseTranslation = { menu, report, warning, + emoji, }; export default en_US; diff --git a/front/src/i18n/fr-FR/emoji.ts b/front/src/i18n/fr-FR/emoji.ts new file mode 100644 index 00000000..0913e074 --- /dev/null +++ b/front/src/i18n/fr-FR/emoji.ts @@ -0,0 +1,21 @@ +import type { Translation } from "../i18n-types"; + +const emoji: NonNullable = { + search: "Chercher un emoji...", + categories: { + recents: "Emojis récents", + smileys: "Smileys & emotions", + people: "Personne & corps", + animals: "Animaux & nature", + food: "Nourriture & boissons", + activities: "Activités", + travel: "Voyage & endroits", + objects: "Objets", + symbols: "Symbols", + flags: "Drapeaux", + custom: "Personalisés", + }, + notFound: "Aucun emoji trouvé", +}; + +export default emoji; diff --git a/front/src/i18n/fr-FR/index.ts b/front/src/i18n/fr-FR/index.ts index 9cc5a0bc..b9f91b13 100644 --- a/front/src/i18n/fr-FR/index.ts +++ b/front/src/i18n/fr-FR/index.ts @@ -4,6 +4,7 @@ import audio from "./audio"; import camera from "./camera"; import chat from "./chat"; import companion from "./companion"; +import emoji from "./emoji"; import error from "./error"; import follow from "./follow"; import login from "./login"; @@ -27,6 +28,7 @@ const fr_FR: Translation = { menu, report, warning, + emoji, }; export default fr_FR; From aefb28d895b63dd572057729ea201b7966213d52 Mon Sep 17 00:00:00 2001 From: Valdo Romao Date: Tue, 25 Jan 2022 19:43:27 +0000 Subject: [PATCH 2/8] Fixed some typos :) --- front/src/Api/IframeListener.ts | 1 - front/src/Api/ScriptUtils.ts | 1 - front/src/WebRtc/CoWebsiteManager.ts | 4 ++-- maps/tests/ChangeLayerApi/script.js | 4 ++-- maps/tests/CoWebsite/script.js | 26 +++++++++++++------------- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/front/src/Api/IframeListener.ts b/front/src/Api/IframeListener.ts index 27486d5d..65ab1303 100644 --- a/front/src/Api/IframeListener.ts +++ b/front/src/Api/IframeListener.ts @@ -8,7 +8,6 @@ import type { ButtonClickedEvent } from "./Events/ButtonClickedEvent"; import { ClosePopupEvent, isClosePopupEvent } from "./Events/ClosePopupEvent"; import { scriptUtils } from "./ScriptUtils"; import { isGoToPageEvent } from "./Events/GoToPageEvent"; -import { isCloseCoWebsite, CloseCoWebsiteEvent } from "./Events/CloseCoWebsiteEvent"; import { IframeErrorAnswerEvent, IframeQueryMap, diff --git a/front/src/Api/ScriptUtils.ts b/front/src/Api/ScriptUtils.ts index 10a80c92..f0a0625a 100644 --- a/front/src/Api/ScriptUtils.ts +++ b/front/src/Api/ScriptUtils.ts @@ -1,4 +1,3 @@ -import { coWebsiteManager, CoWebsite } from "../WebRtc/CoWebsiteManager"; import { playersStore } from "../Stores/PlayersStore"; import { chatMessagesStore } from "../Stores/ChatStore"; import type { ChatEvent } from "./Events/ChatEvent"; diff --git a/front/src/WebRtc/CoWebsiteManager.ts b/front/src/WebRtc/CoWebsiteManager.ts index 48cc9680..92629dd6 100644 --- a/front/src/WebRtc/CoWebsiteManager.ts +++ b/front/src/WebRtc/CoWebsiteManager.ts @@ -512,7 +512,7 @@ class CoWebsiteManager { if (this.coWebsites.length < 1) { this.loadMain(); } else if (this.coWebsites.length === 5) { - throw new Error("Too many we"); + throw new Error("Too many websites"); } Promise.resolve(callback(this.cowebsiteBufferDom)) @@ -580,7 +580,7 @@ class CoWebsiteManager { return reject(); }); }) - .catch((e) => console.error("Error loadCoWebsite >=> ", e)); + .catch((e) => console.error("Error loadCoWebsite => ", e)); }); } diff --git a/maps/tests/ChangeLayerApi/script.js b/maps/tests/ChangeLayerApi/script.js index 32f038ba..4fae2b3a 100644 --- a/maps/tests/ChangeLayerApi/script.js +++ b/maps/tests/ChangeLayerApi/script.js @@ -1,7 +1,7 @@ WA.room.onEnterLayer('myLayer').subscribe(() => { - WA.chat.sendChatMessage("Hello!", 'Wooka'); + WA.chat.sendChatMessage("Hello!", 'Woka'); }); WA.room.onLeaveLayer('myLayer').subscribe(() => { - WA.chat.sendChatMessage("Goodbye!", 'Wooka'); + WA.chat.sendChatMessage("Goodbye!", 'Woka'); }); \ No newline at end of file diff --git a/maps/tests/CoWebsite/script.js b/maps/tests/CoWebsite/script.js index b45c0ffc..5563768f 100644 --- a/maps/tests/CoWebsite/script.js +++ b/maps/tests/CoWebsite/script.js @@ -12,12 +12,12 @@ WA.onInit().then(() => { }); }); -function wookaSendMessage(message) { - WA.chat.sendChatMessage(message, 'Wooka'); +function wokaSendMessage(message) { + WA.chat.sendChatMessage(message, 'Woka'); } function unknownCommand() { - wookaSendMessage('Unknown command'); + wokaSendMessage('Unknown command'); } function executeCommand(command, args) { @@ -32,7 +32,7 @@ function executeCommand(command, args) { function coWebsiteCommand(args) { if (args.length < 1) { - wookaSendMessage('Too few arguments'); + wokaSendMessage('Too few arguments'); return; } @@ -52,27 +52,27 @@ function coWebsiteCommand(args) { async function openCoWebsite(args) { if (args.length < 1) { - wookaSendMessage('Too few arguments'); + wokaSendMessage('Too few arguments'); return; } try { const url = new URL(args[0]); } catch (exception) { - wookaSendMessage('Parameter is not a valid URL !'); + wokaSendMessage('Parameter is not a valid URL !'); return; } await WA.nav.openCoWebSite(args[0]).then(() => { - wookaSendMessage('Co-website has been opened !'); + wokaSendMessage('Co-website has been opened !'); }).catch((error) => { - wookaSendMessage(`Something wrong happen during co-website opening: ${error.message}`); + wokaSendMessage(`Something wrong happen during co-website opening: ${error.message}`); }); } async function closeCoWebsite(args) { if (args.length < 1) { - wookaSendMessage('Too few arguments'); + wokaSendMessage('Too few arguments'); return; } @@ -83,7 +83,7 @@ async function closeCoWebsite(args) { coWebsites.forEach(coWebsite => { coWebsite.close(); }); - wookaSendMessage('All co-websites has been closed !'); + wokaSendMessage('All co-websites has been closed !'); return; } @@ -96,13 +96,13 @@ async function closeCoWebsite(args) { coWebsites.find((coWebsite) => coWebsite.position === position); if (!coWebsite) { - wookaSendMessage('Unknown co-website'); + wokaSendMessage('Unknown co-website'); return; } await coWebsite.close().then(() => { - wookaSendMessage('This co-websites has been closed !'); + wokaSendMessage('This co-websites has been closed !'); }).catch((error) => { - wookaSendMessage(`Something wrong happen during co-website closing: ${error.message}`); + wokaSendMessage(`Something wrong happen during co-website closing: ${error.message}`); }); } From a55e5373fc7677cf247889db09f86679e5afc617 Mon Sep 17 00:00:00 2001 From: Lurkars Date: Wed, 26 Jan 2022 10:33:07 +0100 Subject: [PATCH 3/8] added de-DE translation, fix quality small vs. minimum --- .../Components/Menu/SettingsSubMenu.svelte | 16 +-- front/src/i18n/de-DE/audio.ts | 10 ++ front/src/i18n/de-DE/camera.ts | 22 ++++ front/src/i18n/de-DE/chat.ts | 12 ++ front/src/i18n/de-DE/companion.ts | 11 ++ front/src/i18n/de-DE/error.ts | 20 +++ front/src/i18n/de-DE/follow.ts | 27 ++++ front/src/i18n/de-DE/index.ts | 30 +++++ front/src/i18n/de-DE/login.ts | 14 ++ front/src/i18n/de-DE/menu.ts | 124 ++++++++++++++++++ front/src/i18n/de-DE/report.ts | 25 ++++ front/src/i18n/de-DE/warning.ts | 16 +++ front/src/i18n/de-DE/woka.ts | 20 +++ front/src/i18n/en-US/menu.ts | 16 +-- front/src/i18n/fr-FR/menu.ts | 16 +-- 15 files changed, 355 insertions(+), 24 deletions(-) create mode 100644 front/src/i18n/de-DE/audio.ts create mode 100644 front/src/i18n/de-DE/camera.ts create mode 100644 front/src/i18n/de-DE/chat.ts create mode 100644 front/src/i18n/de-DE/companion.ts create mode 100644 front/src/i18n/de-DE/error.ts create mode 100644 front/src/i18n/de-DE/follow.ts create mode 100644 front/src/i18n/de-DE/index.ts create mode 100644 front/src/i18n/de-DE/login.ts create mode 100644 front/src/i18n/de-DE/menu.ts create mode 100644 front/src/i18n/de-DE/report.ts create mode 100644 front/src/i18n/de-DE/warning.ts create mode 100644 front/src/i18n/de-DE/woka.ts diff --git a/front/src/Components/Menu/SettingsSubMenu.svelte b/front/src/Components/Menu/SettingsSubMenu.svelte index 9ab9ba98..85b16f12 100644 --- a/front/src/Components/Menu/SettingsSubMenu.svelte +++ b/front/src/Components/Menu/SettingsSubMenu.svelte @@ -104,13 +104,13 @@ > @@ -131,13 +131,13 @@ > diff --git a/front/src/i18n/de-DE/audio.ts b/front/src/i18n/de-DE/audio.ts new file mode 100644 index 00000000..33ab5047 --- /dev/null +++ b/front/src/i18n/de-DE/audio.ts @@ -0,0 +1,10 @@ +import type { BaseTranslation } from "../i18n-types"; + +const audio: BaseTranslation = { + manager: { + reduce: "Während Unterhaltungen verringern", + }, + message: "Sprachnachricht", +}; + +export default audio; diff --git a/front/src/i18n/de-DE/camera.ts b/front/src/i18n/de-DE/camera.ts new file mode 100644 index 00000000..58a53a8b --- /dev/null +++ b/front/src/i18n/de-DE/camera.ts @@ -0,0 +1,22 @@ +import type { BaseTranslation } from "../i18n-types"; + +const camera: BaseTranslation = { + enable: { + title: "Bitte schalte deine Kamera und dein Mikrofon ein.", + start: "Los gehts!", + }, + help: { + title: "Zugriff auf Kamera / Mikrofon erforderlich", + permissionDenied: "Zugriff verweigert", + content: "Der Zugriff auf Kamera und Mikrofon muss im Browser freigegeben werden.", + firefoxContent: + 'Bitte klicke auf "Diese Entscheidungen speichern" Schaltfläche um erneute Nachfragen nach der Freigabe in Firefox zu verhindern.', + refresh: "Aktualisieren", + continue: "Ohne Kamera fortfahren", + }, + my: { + silentZone: "Stiller Bereich", + }, +}; + +export default camera; diff --git a/front/src/i18n/de-DE/chat.ts b/front/src/i18n/de-DE/chat.ts new file mode 100644 index 00000000..2958c27c --- /dev/null +++ b/front/src/i18n/de-DE/chat.ts @@ -0,0 +1,12 @@ +import type { BaseTranslation } from "../i18n-types"; + +const chat: BaseTranslation = { + intro: "Hier ist dein Nachrichtenverlauf:", + enter: "Verfasse deine Nachricht...", + menu: { + visitCard: "Visitenkarte", + addFriend: "Freund*In hinzufügen", + }, +}; + +export default chat; diff --git a/front/src/i18n/de-DE/companion.ts b/front/src/i18n/de-DE/companion.ts new file mode 100644 index 00000000..acf3bd85 --- /dev/null +++ b/front/src/i18n/de-DE/companion.ts @@ -0,0 +1,11 @@ +import type { BaseTranslation } from "../i18n-types"; + +const companion: BaseTranslation = { + select: { + title: "Wähle einen Gefährten", + any: "Kein Gefährte", + continue: "Weiter", + }, +}; + +export default companion; diff --git a/front/src/i18n/de-DE/error.ts b/front/src/i18n/de-DE/error.ts new file mode 100644 index 00000000..0f82d482 --- /dev/null +++ b/front/src/i18n/de-DE/error.ts @@ -0,0 +1,20 @@ +import type { BaseTranslation } from "../i18n-types"; + +const error: BaseTranslation = { + accessLink: { + title: "Ungültiger Zugangslink", + subTitle: "Karte konnte nicht gefunden werden. Prüfe bitte deinen Zugangslink.", + details: "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", + }, + connectionRejected: { + title: "Verbindungen zurückgewiesen", + subTitle: "Du kannst diese Welt nicht betreten. Versuche es später noch einmal {error}.", + details: "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", + }, + connectionRetry: { + unableConnect: "Es konnte keine Verbindung zu WorkAdventure erstellt werden. Bist du mit dem Internet verbunden?", + }, + error: "Fehler", +}; + +export default error; diff --git a/front/src/i18n/de-DE/follow.ts b/front/src/i18n/de-DE/follow.ts new file mode 100644 index 00000000..997f4f72 --- /dev/null +++ b/front/src/i18n/de-DE/follow.ts @@ -0,0 +1,27 @@ +import type { BaseTranslation } from "../i18n-types"; + +const follow: BaseTranslation = { + interactStatus: { + following: "{leader} folgen", + waitingFollowers: "Warte auf Bestätigung der Gefolgschaft", + followed: { + one: "{follower} folgt dir", + two: "{firstFollower} und {secondFollower} folgen dir", + many: "{followers} und {lastFollower} folgen dir", + }, + }, + interactMenu: { + title: { + interact: "Interaktion", + follow: "Möchtest du {leader} folgen?", + }, + stop: { + leader: "Möchtest du nicht weiter den Weg weisen?", + follower: "Möchtest du nicht mehr {leader} folgen?", + }, + yes: "Ja", + no: "Nein", + }, +}; + +export default follow; diff --git a/front/src/i18n/de-DE/index.ts b/front/src/i18n/de-DE/index.ts new file mode 100644 index 00000000..d9e8bb48 --- /dev/null +++ b/front/src/i18n/de-DE/index.ts @@ -0,0 +1,30 @@ +import type { BaseTranslation } from "../i18n-types"; +import audio from "./audio"; +import camera from "./camera"; +import chat from "./chat"; +import companion from "./companion"; +import woka from "./woka"; +import error from "./error"; +import follow from "./follow"; +import login from "./login"; +import menu from "./menu"; +import report from "./report"; +import warning from "./warning"; + +const en_US: BaseTranslation = { + language: "Deutsch", + country: "Deutschland", + audio, + camera, + chat, + companion, + woka, + error, + follow, + login, + menu, + report, + warning, +}; + +export default en_US; diff --git a/front/src/i18n/de-DE/login.ts b/front/src/i18n/de-DE/login.ts new file mode 100644 index 00000000..921ffc0e --- /dev/null +++ b/front/src/i18n/de-DE/login.ts @@ -0,0 +1,14 @@ +import type { BaseTranslation } from "../i18n-types"; + +const login: BaseTranslation = { + input: { + name: { + placeholder: "Trage deinen Namen ein", + empty: "Kein Name angegeben", + }, + }, + terms: 'Wenn du fortfährst, akzeptierst du die Nutzungsbedingungen, Datenschutzerklärung und Cookierichtlinien.', + continue: "Fortfahren", +}; + +export default login; diff --git a/front/src/i18n/de-DE/menu.ts b/front/src/i18n/de-DE/menu.ts new file mode 100644 index 00000000..13a3287a --- /dev/null +++ b/front/src/i18n/de-DE/menu.ts @@ -0,0 +1,124 @@ +import type { BaseTranslation } from "../i18n-types"; + +const menu: BaseTranslation = { + title: "Menu", + icon: { + open: { + menu: "Menu öffnen", + invite: "Einladung anzeigen", + register: "Registrieren", + chat: "Chat öffnen", + }, + }, + visitCard: { + close: "Schliessen", + }, + profile: { + edit: { + name: "Deinen Namen ändern", + woka: "Dein WOKA ändern", + companion: "Deinen Begleiter ändern", + camera: "Kameraeinstellungen ändern", + }, + login: "Einloggen", + logout: "Ausloggen", + }, + settings: { + gameQuality: { + title: "Spiel Qualität", + short: { + high: "Hoch (120 BpS)", + medium: "Mittel (60 BpS)", + small: "Gering (40 BpS)", + minimum: "Minimal (20 BpS)", + }, + long: { + high: "Hohe Video Qualität (120 BpS)", + medium: "Mittlere Video Qualität (60 BpS, empfohlen)", + small: "Geringe Video Qualität (40 BpS)", + minimum: "Minimale Video Qualität (20 BpS)", + }, + }, + videoQuality: { + title: "Video Qualität", + short: { + high: "Hoch (30 BpS)", + medium: "Mittel (20 BpS)", + small: "Gering (10 BpS)", + minimum: "Minimale (5 BpS)", + }, + long: { + high: "Hohe Video Qualität (30 BpS)", + medium: "Mittlere Video Qualität (20 BpS, empfohlen)", + small: "Geringe Video Qualität (10 BpS)", + minimum: "Minimale Video Qualität (5 BpS)", + }, + }, + language: { + title: "Sprache", + }, + save: { + warning: "(Das Spiel wird nach dem Speichern neugestartet)", + button: "Speichern", + }, + fullscreen: "Vollbild", + notifications: "Benachrichtigungen", + cowebsiteTrigger: "Jedes mal nachfragen bevor Webseiten oder Jitsi Meet Räume geöffnet werden", + ignoreFollowRequest: "Ignoriere Folgen-Anfragen anderer Nutzer", + }, + invite: { + description: "Link zu diesem Raum teilen!", + copy: "Kopieren", + share: "Teilen", + }, + globalMessage: { + text: "Text", + audio: "Audio", + warning: "An alle Räume dieser Welt senden", + enter: "Trage hier deine Nachricht ein...", + send: "Senden", + }, + globalAudio: { + uploadInfo: "Datei hochladen", + error: "Keine Datei ausgewählt. Du musst vor dem Versenden eine Datei hochladen.", + }, + contact: { + gettingStarted: { + title: "Erste Schritte", + description: + "Mit WorkAdventure kannst du eine Onlinewelt schaffen in der du dich spontan mit Anderen treffen und unterhalten kannst. Erstelle als erstes deine eigene Karte. Es steht dir eine großen Auswahl an vorgefertigten Karten von unserem Team zur Auswahl.", + }, + createMap: { + title: "Eigene Karte erstellen ", + description: "Du kannst auch deine eigene Karte erstellen. Folge dazu unserer Schritt-für-Schritt Anleitung.", + }, + }, + about: { + mapInfo: "Informationen über diese Karte", + mapLink: "Link zur Karte", + copyrights: { + map: { + title: "Urheberrecht der Karte", + empty: "Die Ersteller*In der Karte hat keine Informationen zum Urheberrecht hinterlegt.", + }, + tileset: { + title: "Urheberrecht der Tilesets", + empty: "Die Ersteller*In der Karte hat keine Informationen zum Urheberrecht der Tilesets hinterlegt. Dies bedeutet nicht, dass die Tilesets keiner Lizenz unterliegen.", + }, + audio: { + title: "Urheberrecht der Audiodateien", + empty: "Die Ersteller*In der Karte hat keine Informationen zum Urheberrecht der Audiodateien hinterlegt. Dies bedeutet nicht, dass die Audiodateien keiner Lizenz unterliegen.", + }, + }, + }, + sub: { + profile: "Profil", + settings: "Einstellungen", + invite: "Einladung", + credit: "Über die Karte", + globalMessages: "Globale Nachrichten", + contact: "Kontakt", + }, +}; + +export default menu; diff --git a/front/src/i18n/de-DE/report.ts b/front/src/i18n/de-DE/report.ts new file mode 100644 index 00000000..6f8b2a94 --- /dev/null +++ b/front/src/i18n/de-DE/report.ts @@ -0,0 +1,25 @@ +import type { BaseTranslation } from "../i18n-types"; + +const report: BaseTranslation = { + block: { + title: "Blockieren", + content: "Blockiere jede Kommunikation von und zu {userName}. Kann jederzeit rückgängig gemacht werden.", + unblock: "Blockierung für diesen User aufheben", + block: "Blockiere diese User", + }, + title: "Melden", + content: "Verfasse eine Meldung an die Administratoren dieses Raums. Diese können den User anschließend bannen.", + message: { + title: "Deine Nachricht: ", + empty: "Bitte einen Text angeben.", + }, + submit: "Diesen User melden", + moderate: { + title: "{userName} moderieren", + block: "Blockieren", + report: "Melden", + noSelect: "FEHLER : Es ist keine Handlung ausgewählt.", + }, +}; + +export default report; diff --git a/front/src/i18n/de-DE/warning.ts b/front/src/i18n/de-DE/warning.ts new file mode 100644 index 00000000..958e9cab --- /dev/null +++ b/front/src/i18n/de-DE/warning.ts @@ -0,0 +1,16 @@ +import type { BaseTranslation } from "../i18n-types"; + +const warning: BaseTranslation = { + title: "Warnung!", + content: + 'Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen', + limit: "Diese Welt erreicht bald die maximale Kapazität!", + accessDenied: { + camera: "Zugriff auf die Kamera verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", + screenSharing: "Zugriff auf die Bildschirmfreigabe verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", + }, + importantMessage: "Wichtige Nachricht", + connectionLost: "Verbindungen unterbrochen. Wiederverbinden...", +}; + +export default warning; diff --git a/front/src/i18n/de-DE/woka.ts b/front/src/i18n/de-DE/woka.ts new file mode 100644 index 00000000..a571feea --- /dev/null +++ b/front/src/i18n/de-DE/woka.ts @@ -0,0 +1,20 @@ +import type { BaseTranslation } from "../i18n-types"; + +const woka: BaseTranslation = { + customWoka: { + title: "Dein WOKA bearbeiten", + navigation: { + return: "Zurück", + back: "Hoch", + finish: "Auswählen", + next: "Runter", + }, + }, + selectWoka: { + title: "Dein WOKA auswählen", + continue: "Auswählen", + customize: "Bearbeite dein WOKA", + }, +}; + +export default woka; diff --git a/front/src/i18n/en-US/menu.ts b/front/src/i18n/en-US/menu.ts index 239b0ac1..b7c69935 100644 --- a/front/src/i18n/en-US/menu.ts +++ b/front/src/i18n/en-US/menu.ts @@ -29,14 +29,14 @@ const menu: BaseTranslation = { short: { high: "High (120 fps)", medium: "Medium (60 fps)", - minimum: "Minimum (40 fps)", - small: "Small (20 fps)", + small: "Small (40 fps)", + minimum: "Minimum (20 fps)", }, long: { high: "High video quality (120 fps)", medium: "Medium video quality (60 fps, recommended)", - minimum: "Minimum video quality (40 fps)", - small: "Small video quality (20 fps)", + small: "Small video quality (40 fps)", + minimum: "Minimum video quality (20 fps)", }, }, videoQuality: { @@ -44,14 +44,14 @@ const menu: BaseTranslation = { short: { high: "High (30 fps)", medium: "Medium (20 fps)", - minimum: "Minimum (10 fps)", - small: "Small (5 fps)", + small: "Small (10 fps)", + minimum: "Minimum (5 fps)", }, long: { high: "High video quality (30 fps)", medium: "Medium video quality (20 fps, recommended)", - minimum: "Minimum video quality (10 fps)", - small: "Small video quality (5 fps)", + small: "Small video quality (10 fps)", + minimum: "Minimum video quality (5 fps)", }, }, language: { diff --git a/front/src/i18n/fr-FR/menu.ts b/front/src/i18n/fr-FR/menu.ts index 2c0efeba..54481ec8 100644 --- a/front/src/i18n/fr-FR/menu.ts +++ b/front/src/i18n/fr-FR/menu.ts @@ -29,14 +29,14 @@ const menu: NonNullable = { short: { high: "Haute (120 fps)", medium: "Moyenne (60 fps)", - minimum: "Minimale (40 fps)", - small: "Reduite (20 fps)", + small: "Reduite (40 fps)", + minimum: "Minimale (20 fps)", }, long: { high: "Haute (120 fps)", medium: "Moyenne (60 fps, recommandée)", - minimum: "Minimale (40 fps)", - small: "Reduite (20 fps)", + small: "Reduite (40 fps)", + minimum: "Minimale (20 fps)", }, }, videoQuality: { @@ -44,14 +44,14 @@ const menu: NonNullable = { short: { high: "Haute (30 fps)", medium: "Moyenne (20 fps)", - minimum: "Minimale (10 fps)", - small: "Reduite (5 fps)", + small: "Reduite (10 fps)", + minimum: "Minimale (5 fps)", }, long: { high: "Haute (30 fps)", medium: "Moyenne (20 fps, recommandée)", - minimum: "Minimale (10 fps)", - small: "Reduite (5 fps)", + small: "Reduite (10 fps)", + minimum: "Minimale (5 fps)", }, }, language: { From a808819a1130741751f82ac90921a62a60fff7ba Mon Sep 17 00:00:00 2001 From: Lurkars Date: Wed, 26 Jan 2022 10:38:40 +0100 Subject: [PATCH 4/8] fix de-DE index.js --- front/src/i18n/de-DE/index.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/front/src/i18n/de-DE/index.ts b/front/src/i18n/de-DE/index.ts index d9e8bb48..f07a5b01 100644 --- a/front/src/i18n/de-DE/index.ts +++ b/front/src/i18n/de-DE/index.ts @@ -1,17 +1,19 @@ -import type { BaseTranslation } from "../i18n-types"; +import en_US from "../en-US"; +import type { Translation } from "../i18n-types"; import audio from "./audio"; import camera from "./camera"; import chat from "./chat"; import companion from "./companion"; -import woka from "./woka"; import error from "./error"; import follow from "./follow"; import login from "./login"; import menu from "./menu"; import report from "./report"; import warning from "./warning"; +import woka from "./woka"; -const en_US: BaseTranslation = { +const de_DE: Translation = { + ...en_US, language: "Deutsch", country: "Deutschland", audio, @@ -27,4 +29,4 @@ const en_US: BaseTranslation = { warning, }; -export default en_US; +export default de_DE; From 8858fccd18558753f389064a1f4d12a4187e51fd Mon Sep 17 00:00:00 2001 From: Lurkars Date: Wed, 26 Jan 2022 10:46:42 +0100 Subject: [PATCH 5/8] fix Translation --- front/src/i18n/de-DE/audio.ts | 4 ++-- front/src/i18n/de-DE/camera.ts | 4 ++-- front/src/i18n/de-DE/chat.ts | 4 ++-- front/src/i18n/de-DE/companion.ts | 4 ++-- front/src/i18n/de-DE/error.ts | 4 ++-- front/src/i18n/de-DE/follow.ts | 4 ++-- front/src/i18n/de-DE/login.ts | 4 ++-- front/src/i18n/de-DE/menu.ts | 4 ++-- front/src/i18n/de-DE/report.ts | 4 ++-- front/src/i18n/de-DE/warning.ts | 4 ++-- front/src/i18n/de-DE/woka.ts | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/front/src/i18n/de-DE/audio.ts b/front/src/i18n/de-DE/audio.ts index 33ab5047..c3608b8e 100644 --- a/front/src/i18n/de-DE/audio.ts +++ b/front/src/i18n/de-DE/audio.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const audio: BaseTranslation = { +const audio: NonNullable = { manager: { reduce: "Während Unterhaltungen verringern", }, diff --git a/front/src/i18n/de-DE/camera.ts b/front/src/i18n/de-DE/camera.ts index 58a53a8b..40ea9062 100644 --- a/front/src/i18n/de-DE/camera.ts +++ b/front/src/i18n/de-DE/camera.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const camera: BaseTranslation = { +const camera: NonNullable = { enable: { title: "Bitte schalte deine Kamera und dein Mikrofon ein.", start: "Los gehts!", diff --git a/front/src/i18n/de-DE/chat.ts b/front/src/i18n/de-DE/chat.ts index 2958c27c..a8d96de9 100644 --- a/front/src/i18n/de-DE/chat.ts +++ b/front/src/i18n/de-DE/chat.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const chat: BaseTranslation = { +const chat: NonNullable = { intro: "Hier ist dein Nachrichtenverlauf:", enter: "Verfasse deine Nachricht...", menu: { diff --git a/front/src/i18n/de-DE/companion.ts b/front/src/i18n/de-DE/companion.ts index acf3bd85..10ea32f1 100644 --- a/front/src/i18n/de-DE/companion.ts +++ b/front/src/i18n/de-DE/companion.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const companion: BaseTranslation = { +const companion: NonNullable = { select: { title: "Wähle einen Gefährten", any: "Kein Gefährte", diff --git a/front/src/i18n/de-DE/error.ts b/front/src/i18n/de-DE/error.ts index 0f82d482..6bfdfc35 100644 --- a/front/src/i18n/de-DE/error.ts +++ b/front/src/i18n/de-DE/error.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const error: BaseTranslation = { +const error: NonNullable = { accessLink: { title: "Ungültiger Zugangslink", subTitle: "Karte konnte nicht gefunden werden. Prüfe bitte deinen Zugangslink.", diff --git a/front/src/i18n/de-DE/follow.ts b/front/src/i18n/de-DE/follow.ts index 997f4f72..fd635759 100644 --- a/front/src/i18n/de-DE/follow.ts +++ b/front/src/i18n/de-DE/follow.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const follow: BaseTranslation = { +const follow: NonNullable = { interactStatus: { following: "{leader} folgen", waitingFollowers: "Warte auf Bestätigung der Gefolgschaft", diff --git a/front/src/i18n/de-DE/login.ts b/front/src/i18n/de-DE/login.ts index 921ffc0e..5a2b323c 100644 --- a/front/src/i18n/de-DE/login.ts +++ b/front/src/i18n/de-DE/login.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const login: BaseTranslation = { +const login: NonNullable = { input: { name: { placeholder: "Trage deinen Namen ein", diff --git a/front/src/i18n/de-DE/menu.ts b/front/src/i18n/de-DE/menu.ts index 13a3287a..8a0c0cf7 100644 --- a/front/src/i18n/de-DE/menu.ts +++ b/front/src/i18n/de-DE/menu.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const menu: BaseTranslation = { +const menu: NonNullable = { title: "Menu", icon: { open: { diff --git a/front/src/i18n/de-DE/report.ts b/front/src/i18n/de-DE/report.ts index 6f8b2a94..d0e17ffc 100644 --- a/front/src/i18n/de-DE/report.ts +++ b/front/src/i18n/de-DE/report.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const report: BaseTranslation = { +const report: NonNullable = { block: { title: "Blockieren", content: "Blockiere jede Kommunikation von und zu {userName}. Kann jederzeit rückgängig gemacht werden.", diff --git a/front/src/i18n/de-DE/warning.ts b/front/src/i18n/de-DE/warning.ts index 958e9cab..64efc70b 100644 --- a/front/src/i18n/de-DE/warning.ts +++ b/front/src/i18n/de-DE/warning.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const warning: BaseTranslation = { +const warning: NonNullable = { title: "Warnung!", content: 'Diese Welt erreicht bald die maximale Kapazität. Du kannst die Kapazität hier erhöhen', diff --git a/front/src/i18n/de-DE/woka.ts b/front/src/i18n/de-DE/woka.ts index a571feea..640cd756 100644 --- a/front/src/i18n/de-DE/woka.ts +++ b/front/src/i18n/de-DE/woka.ts @@ -1,6 +1,6 @@ -import type { BaseTranslation } from "../i18n-types"; +import type { Translation } from "../i18n-types"; -const woka: BaseTranslation = { +const woka: NonNullable = { customWoka: { title: "Dein WOKA bearbeiten", navigation: { From c4e5a413764b8a51de5cc3d8939800a927b30cd2 Mon Sep 17 00:00:00 2001 From: Lurkars Date: Wed, 26 Jan 2022 12:34:51 +0100 Subject: [PATCH 6/8] add emoji translation --- front/src/i18n/de-DE/emoji.ts | 21 +++++++++++++++++++++ front/src/i18n/de-DE/index.ts | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 front/src/i18n/de-DE/emoji.ts diff --git a/front/src/i18n/de-DE/emoji.ts b/front/src/i18n/de-DE/emoji.ts new file mode 100644 index 00000000..01ba9311 --- /dev/null +++ b/front/src/i18n/de-DE/emoji.ts @@ -0,0 +1,21 @@ +import type { Translation } from "../i18n-types"; + +const emoji: NonNullable = { + search: "Emojis suchen...", + categories: { + recents: "Letzte Emojis", + smileys: "Smileys & Emotionen", + people: "Menschen", + animals: "Tiere & Natur", + food: "Essen & Trinken", + activities: "Aktivitäten", + travel: "Reise & Orte", + objects: "Objekte", + symbols: "Symbole", + flags: "Flaggen", + custom: "Benutzerdefinier", + }, + notFound: "Keine Emojis gefunden", +}; + +export default emoji; diff --git a/front/src/i18n/de-DE/index.ts b/front/src/i18n/de-DE/index.ts index f07a5b01..ab628a4d 100644 --- a/front/src/i18n/de-DE/index.ts +++ b/front/src/i18n/de-DE/index.ts @@ -4,6 +4,7 @@ import audio from "./audio"; import camera from "./camera"; import chat from "./chat"; import companion from "./companion"; +import emoji from "./emoji"; import error from "./error"; import follow from "./follow"; import login from "./login"; @@ -27,6 +28,7 @@ const de_DE: Translation = { menu, report, warning, + emoji, }; export default de_DE; From 2252bc79fff708324aa124f15a30a7cf3971b324 Mon Sep 17 00:00:00 2001 From: Lurkars Date: Wed, 26 Jan 2022 12:39:20 +0100 Subject: [PATCH 7/8] prettier --- front/src/i18n/de-DE/error.ts | 9 ++++++--- front/src/i18n/de-DE/menu.ts | 3 ++- front/src/i18n/de-DE/warning.ts | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/front/src/i18n/de-DE/error.ts b/front/src/i18n/de-DE/error.ts index 6bfdfc35..372c3974 100644 --- a/front/src/i18n/de-DE/error.ts +++ b/front/src/i18n/de-DE/error.ts @@ -4,15 +4,18 @@ const error: NonNullable = { accessLink: { title: "Ungültiger Zugangslink", subTitle: "Karte konnte nicht gefunden werden. Prüfe bitte deinen Zugangslink.", - details: "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", + details: + "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", }, connectionRejected: { title: "Verbindungen zurückgewiesen", subTitle: "Du kannst diese Welt nicht betreten. Versuche es später noch einmal {error}.", - details: "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", + details: + "Für weitere Information kannst du die Administratoren kontaktieren oder melde dich bei uns unter: hello@workadventu.re", }, connectionRetry: { - unableConnect: "Es konnte keine Verbindung zu WorkAdventure erstellt werden. Bist du mit dem Internet verbunden?", + unableConnect: + "Es konnte keine Verbindung zu WorkAdventure erstellt werden. Bist du mit dem Internet verbunden?", }, error: "Fehler", }; diff --git a/front/src/i18n/de-DE/menu.ts b/front/src/i18n/de-DE/menu.ts index 8a0c0cf7..5fb7882d 100644 --- a/front/src/i18n/de-DE/menu.ts +++ b/front/src/i18n/de-DE/menu.ts @@ -90,7 +90,8 @@ const menu: NonNullable = { }, createMap: { title: "Eigene Karte erstellen ", - description: "Du kannst auch deine eigene Karte erstellen. Folge dazu unserer Schritt-für-Schritt Anleitung.", + description: + "Du kannst auch deine eigene Karte erstellen. Folge dazu unserer Schritt-für-Schritt Anleitung.", }, }, about: { diff --git a/front/src/i18n/de-DE/warning.ts b/front/src/i18n/de-DE/warning.ts index 64efc70b..fb9acd5f 100644 --- a/front/src/i18n/de-DE/warning.ts +++ b/front/src/i18n/de-DE/warning.ts @@ -7,7 +7,8 @@ const warning: NonNullable = { limit: "Diese Welt erreicht bald die maximale Kapazität!", accessDenied: { camera: "Zugriff auf die Kamera verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", - screenSharing: "Zugriff auf die Bildschirmfreigabe verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", + screenSharing: + "Zugriff auf die Bildschirmfreigabe verweigert. Hier klicken um deine Browser Berechtigungen zu prüfen.", }, importantMessage: "Wichtige Nachricht", connectionLost: "Verbindungen unterbrochen. Wiederverbinden...", From fe031579d910ad4c5e19b86d34af291e492802ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Thu, 27 Jan 2022 10:24:19 +0100 Subject: [PATCH 8/8] Fixing typo --- front/src/i18n/fr-FR/camera.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/src/i18n/fr-FR/camera.ts b/front/src/i18n/fr-FR/camera.ts index 4f2c10fa..18697f1a 100644 --- a/front/src/i18n/fr-FR/camera.ts +++ b/front/src/i18n/fr-FR/camera.ts @@ -3,7 +3,7 @@ import type { Translation } from "../i18n-types"; const camera: NonNullable = { enable: { title: "Allumez votre caméra et votre microphone", - start: "C'est partie!", + start: "C'est parti!", }, help: { title: "Accès à la caméra / au microphone nécessaire",