From 7add42f525c0d8d4aec2fad13b718dc6f127168e Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Fri, 19 Jan 2024 11:40:52 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90(app-desk)=20plug=20i18n=20to=20Lan?= =?UTF-8?q?guagePicker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Plug i18n to LanguagePicker. - Make translatable all the string of the app. --- .../apps/desk/src/app/Header/Header.tsx | 21 +++--- .../desk/src/app/Language/LanguagePicker.tsx | 65 +++++++++---------- .../apps/desk/src/app/Teams/index.tsx | 6 +- .../apps/desk/src/i18n/translations.json | 6 +- .../e2e/__tests__/app-desk/language.spec.ts | 3 - 5 files changed, 50 insertions(+), 51 deletions(-) diff --git a/src/frontend/apps/desk/src/app/Header/Header.tsx b/src/frontend/apps/desk/src/app/Header/Header.tsx index 50db7d6..b8c71c4 100644 --- a/src/frontend/apps/desk/src/app/Header/Header.tsx +++ b/src/frontend/apps/desk/src/app/Header/Header.tsx @@ -1,6 +1,7 @@ import { Button } from '@openfun/cunningham-react'; import Image from 'next/image'; import React from 'react'; +import { useTranslation } from 'react-i18next'; import styled from 'styled-components'; import { Box, Text } from '@/components/'; @@ -22,6 +23,8 @@ const RedStripe = styled.div` `; const Header = () => { + const { t } = useTranslation(); + return ( { - Marianne Logo + {t('Marianne Freedom Equality Fraternity Logo - Desk Logo + {t('Desk - Desk + {t('Desk')} @@ -62,17 +65,17 @@ const Header = () => { >
diff --git a/src/frontend/apps/desk/src/i18n/translations.json b/src/frontend/apps/desk/src/i18n/translations.json index 706b934..4df4409 100644 --- a/src/frontend/apps/desk/src/i18n/translations.json +++ b/src/frontend/apps/desk/src/i18n/translations.json @@ -1,12 +1,14 @@ { "en": { "translation": { - "Hello Desk !": "Hello Desk !" + "Hello Desk !": "Hello Desk !", + "Freedom Equality Fraternity Logo": "Freedom Equality Fraternity Logo" } }, "fr": { "translation": { - "Hello Desk !": "Bienvenue sur Desk !" + "Hello Desk !": "Bienvenue sur Desk !", + "Freedom Equality Fraternity Logo": "Logo Liberté Egalité Fraternité" } } } diff --git a/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts b/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts index 0b35bb9..525bc84 100644 --- a/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-desk/language.spec.ts @@ -18,9 +18,6 @@ test.describe("Language", () => { const header = page.locator("header").first(); await header.getByRole("combobox").getByText("FR").click(); - await expect( - header.getByRole("option", { name: "Language Icon FR" }), - ).toHaveAttribute("aria-selected", "true"); await header.getByRole("option", { name: "Language Icon EN" }).click(); await expect(header.getByRole("combobox").getByText("EN")).toBeVisible(); });