From ac40eb8f7c2dd8343bb8bbf0819302b99b7ead08 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Thu, 7 Nov 2024 12:47:13 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90(frontend)=20add=20German=20transla?= =?UTF-8?q?tion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add the german translation to Docs - Add the german language to the frontend language picker --- CHANGELOG.md | 4 + .../__tests__/app-impress/language.spec.ts | 12 ++ src/frontend/apps/impress/src/i18n/conf.ts | 1 + .../apps/impress/src/i18n/translations.json | 114 ++++++++++++++++++ 4 files changed, 131 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 635115fa..1c320bb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,10 @@ and this project adheres to ## [Unreleased] +## Added + +- 🌐(frontend) Add German translation #255 + ## Changed - 🚸(backend) improve users similarity search and sort results #391 diff --git a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts index 3ed6317a..9d7e3f3d 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/language.spec.ts @@ -24,6 +24,18 @@ test.describe('Language', () => { name: 'Créer un nouveau document', }), ).toBeVisible(); + + await header.getByRole('combobox').getByText('Français').click(); + await header.getByRole('option', { name: 'Deutsch' }).click(); + await expect( + header.getByRole('combobox').getByText('Deutsch'), + ).toBeVisible(); + + await expect( + page.getByRole('button', { + name: 'Neues Dokument erstellen', + }), + ).toBeVisible(); }); test('checks that backend uses the same language as the frontend', async ({ diff --git a/src/frontend/apps/impress/src/i18n/conf.ts b/src/frontend/apps/impress/src/i18n/conf.ts index 2ecc8a22..dd42827c 100644 --- a/src/frontend/apps/impress/src/i18n/conf.ts +++ b/src/frontend/apps/impress/src/i18n/conf.ts @@ -1,6 +1,7 @@ export const LANGUAGES_ALLOWED: { [key: string]: string } = { en: 'English', fr: 'Français', + de: 'Deutsch', }; export const LANGUAGE_COOKIE_NAME = 'docs_language'; export const BASE_LANGUAGE = 'en'; diff --git a/src/frontend/apps/impress/src/i18n/translations.json b/src/frontend/apps/impress/src/i18n/translations.json index e05da7d5..60acf12e 100644 --- a/src/frontend/apps/impress/src/i18n/translations.json +++ b/src/frontend/apps/impress/src/i18n/translations.json @@ -1,4 +1,118 @@ { + "de": { + "translation": { + "\"{{email}}\" is already invited to the document.": "\"{{email}}\" ist bereits zum Dokument eingeladen.", + "Accessibility": "Barrierefreiheit", + "Accessibility statement": "Erklärung zur Barrierefreiheit", + "Address:": "Anschrift:", + "Administrator": "Administrator", + "Anyone on the internet with the link can view": "Für jeden im Internet mit diesem Link sichtbar", + "Are you sure you want to delete the document \"{{title}}\"?": "Sind Sie sicher, dass Sie das Dokument \"{{title}}\" löschen möchten?", + "Back to home page": "Zurück zur Startseite", + "Back to top": "Zurück nach oben", + "Can't load this page, please check your internet connection.": "Diese Seite kann nicht geladen werden. Bitte überprüfen Sie Ihre Internetverbindung.", + "Cancel": "Abbrechen", + "Choose a role": "Wählen Sie eine Rolle", + "Close the modal": "Pop up schliessen", + "Close the panel": "Fenster schließen", + "Compliance status": "Konformitätsstatus", + "Confirm deletion": "Löschung bestätigen", + "Content modal to delete document": "Inhalts-Modal zum Löschen des Dokuments", + "Content modal to export the document": "Inhalte zum Exportieren des Dokuments", + "Copy link": "Link kopieren", + "Create a new document": "Neues Dokument erstellen", + "Created at": "Erstellt am", + "Current version": "Aktuelle Version", + "Delete document": "Dokument löschen", + "Delete the document": "Dokument löschen", + "Deleting the document \"{{title}}\"": "Lösche das Dokument \"{{title}}\"", + "Doc visibility card": "Dokumenten-Sichtbarkeitskarte", + "Docs": "Docs", + "Docs: Your new companion to collaborate on documents efficiently, intuitively, and securely.": "Pages: Ihr neuer Begleiter für eine effiziente, intuitive und sichere Zusammenarbeit bei Dokumenten.", + "Document icon": "Dokumentensymbol", + "Document name": "Dokumentenname", + "Document panel": "Dokumenten-Panel", + "Document title updated successfully": "Titel des Dokuments erfolgreich aktualisiert", + "Documents": "Dokumente", + "Docx": "Docx", + "Download": "Herunterladen", + "E-mail:": "E-Mail:", + "Editor": "Editor", + "Export": "Exportieren", + "Export your document, it will be inserted in the selected template.": "Exportieren Sie Ihr Dokument, es wird in die gewählte Vorlage eingefügt.", + "Failed to add the member in the document.": "Fehler beim Hinzufügen des Mitglieds zum Dokument.", + "Failed to copy link": "Link konnte nicht kopiert werden", + "Failed to create the invitation for {{email}}.": "Fehler beim Erstellen der Einladung für {{email}}.", + "Find a member to add to the document": "Suchen Sie ein Mitglied, das dem Dokument hinzugefügt werden soll", + "Go to bottom": "Gehe nach unten", + "If a member is editing, his works can be lost.": "Wenn ein Mitglied editiert, können seine Änderungen verloren gehen.", + "Improvement and contact": "Verbesserungen und Kontakt", + "Invitation sent to {{email}}.": "Einladung an {{email}} gesendet.", + "Invite new members to {{title}}": "Neue Mitglieder zu {{title}} einladen", + "Invited": "Eingeladen", + "It is the card information about the document.": "Es handelt sich um die Karteninformationen zum Dokument.", + "It seems that the page you are looking for does not exist or cannot be displayed correctly.": "Es scheint, dass die von Ihnen gesuchte Seite nicht existiert oder nicht korrekt angezeigt werden kann.", + "Language": "Sprache", + "Legal Notice": "Impressum", + "Legal notice": "Impressum", + "Link Copied !": "Link kopiert!", + "Login": "Anmelden", + "Logout": "Abmelden", + "Members": "Mitglieder", + "No editor found": "Kein Editor gefunden", + "Offline ?!": "Offline?!", + "Only for people with access": "Nur für Personen mit Zugriff", + "Open the document options": "Öffnen Sie die Dokumentoptionen", + "Open the panel": "Panel öffnen", + "Open the version options": "Öffnen Sie die Versionsoptionen", + "Ouch !": "Autsch!", + "Owner": "Besitzer", + "Owners:": "Besitzer:", + "PDF": "PDF", + "Personal data and cookies": "Personenbezogene Daten und Cookies", + "Public": "Öffentlich", + "Read only, you cannot edit document versions.": "Nur lesen: Sie können Dokumentenversionen nicht bearbeiten.", + "Read only, you cannot edit this document.": "Nur lesen: Sie können dieses Dokument nicht bearbeiten.", + "Reader": "Leser", + "Rename": "Umbenennen", + "Restore": "Wiederherstellen", + "Restore the version": "Version wiederherstellen", + "Restore this version": "Version wiederherstellen", + "Restore this version?": "Diese Version wiederherstellen?", + "Role": "Rolle", + "Search by email": "Nach E-Mail suchen", + "Share": "Teilen", + "Share modal": "Teilen-Modal", + "Something bad happens, please retry.": "Etwas ist schiefgelaufen, bitte versuchen Sie es erneut.", + "Table of content": "Inhaltsverzeichnis", + "Table of contents": "Inhaltsverzeichnis", + "Template": "Vorlage", + "The document has been deleted.": "Das Dokument wurde gelöscht.", + "The invitation has been removed.": "Die Einladung wurde zurückgenommen.", + "The member has been removed from the document": "Das Mitglied wurde aus dem Dokument entfernt", + "The role has been updated": "Die Rolle wurde aktualisiert", + "The role has been updated.": "Die Rolle wurde aktualisiert.", + "This accessibility statement applies to the site hosted on": "Diese Erklärung zur Barrierefreiheit gilt für die gehostete Seite", + "This site does not display a cookie consent banner, why?": "", + "Unless otherwise stated, all content on this site is under": "Sofern nicht anders angegeben, steht der gesamte Inhalt dieser Website unter", + "Untitled document": "Unbenanntes Dokument", + "Updated at": "Aktualisiert am", + "User {{email}} added to the document.": "Benutzer {{email}} wurde dem Dokument hinzugefügt.", + "Validate": "Bestätigen", + "Version history": "Versionsverlauf", + "Version restored successfully": "Version erfolgreich wiederhergestellt", + "Versions": "Versionen", + "We didn't find a mail matching, try to be more accurate": "Wir haben keine übereinstimmende E-Mail gefunden, versuchen Sie genauer zu sein", + "We try to respond within 2 working days.": "Wir versuchen, innerhalb von 2 Arbeitstagen zu antworten.", + "You are the sole owner of this group, make another member the group owner before you can change your own role or be removed from your document.": "Sie sind der einzige Besitzer dieser Gruppe. Machen Sie ein anderes Mitglied zum Gruppenbesitzer, bevor Sie Ihre eigene Rolle ändern oder aus Ihrem Dokument entfernen können.", + "You cannot update the role or remove other owner.": "Sie können die Rolle nicht aktualisieren oder einen anderen Besitzer entfernen.", + "You don't have any document yet.": "Sie haben noch kein Dokument.", + "Your current document will revert to this version.": "Ihr aktuelles Dokument wird auf diese Version zurückgesetzt.", + "Your role": "Ihre Rolle", + "Your role:": "Ihre Rolle:", + "Your {{format}} was downloaded succesfully": "Ihr {{format}} wurde erfolgreich heruntergeladen" + } + }, "en": { "translation": {} }, "fr": { "translation": {