From d94232e5317413b6d591163d8fcedb7d8ba5bef6 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Sun, 2 Mar 2025 06:15:20 +0100 Subject: [PATCH] feat(i18n): controlbutton --- .../reader/components/ControlButtons.tsx | 25 +++++++++++++------ src/i18n/messages/en/common.json | 17 +++++++++++++ src/i18n/messages/fr/common.json | 17 +++++++++++++ 3 files changed, 52 insertions(+), 7 deletions(-) diff --git a/src/components/reader/components/ControlButtons.tsx b/src/components/reader/components/ControlButtons.tsx index 42900df..9fd4c2b 100644 --- a/src/components/reader/components/ControlButtons.tsx +++ b/src/components/reader/components/ControlButtons.tsx @@ -12,6 +12,7 @@ import { } from "lucide-react"; import { cn } from "@/lib/utils"; import { PageInput } from "./PageInput"; +import { useTranslation } from "react-i18next"; export const ControlButtons = ({ showControls, @@ -29,6 +30,8 @@ export const ControlButtons = ({ onToggleDirection, onPageChange, }: ControlButtonsProps) => { + const { t } = useTranslation(); + return ( <> {/* Boutons de contrôle */} @@ -48,9 +51,11 @@ export const ControlButtons = ({ onToggleDoublePage(); }} className="p-2 rounded-full bg-background/50 hover:bg-background/80 transition-colors" - aria-label={ - isDoublePage ? "Désactiver le mode double page" : "Activer le mode double page" - } + aria-label={t( + isDoublePage + ? "reader.controls.doublePage.disable" + : "reader.controls.doublePage.enable" + )} > {isDoublePage ? ( @@ -64,9 +69,13 @@ export const ControlButtons = ({ onToggleDirection(); }} className="p-2 rounded-full bg-background/50 hover:bg-background/80 transition-colors" - aria-label={`Changer le sens de lecture (actuellement de ${ - direction === "ltr" ? "gauche à droite" : "droite à gauche" - })`} + aria-label={t("reader.controls.direction.current", { + direction: t( + direction === "ltr" + ? "reader.controls.direction.ltr" + : "reader.controls.direction.rtl" + ), + })} > {direction === "rtl" ? ( @@ -80,7 +89,9 @@ export const ControlButtons = ({ onToggleFullscreen(); }} className="p-2 rounded-full bg-background/50 hover:bg-background/80 transition-colors" - aria-label={isFullscreen ? "Quitter le plein écran" : "Plein écran"} + aria-label={t( + isFullscreen ? "reader.controls.fullscreen.exit" : "reader.controls.fullscreen.enter" + )} > {isFullscreen ? : } diff --git a/src/i18n/messages/en/common.json b/src/i18n/messages/en/common.json index 3ed20e3..7d693e7 100644 --- a/src/i18n/messages/en/common.json +++ b/src/i18n/messages/en/common.json @@ -263,5 +263,22 @@ "BOOK_PAGES_FETCH_ERROR": "Error fetching book pages", "GENERIC_ERROR": "An error occurred" + }, + "reader": { + "controls": { + "doublePage": { + "enable": "Enable double page mode", + "disable": "Disable double page mode" + }, + "direction": { + "current": "Change reading direction (currently {{direction}})", + "ltr": "left to right", + "rtl": "right to left" + }, + "fullscreen": { + "enter": "Enter fullscreen", + "exit": "Exit fullscreen" + } + } } } diff --git a/src/i18n/messages/fr/common.json b/src/i18n/messages/fr/common.json index e077941..5f0ee50 100644 --- a/src/i18n/messages/fr/common.json +++ b/src/i18n/messages/fr/common.json @@ -263,5 +263,22 @@ "BOOK_PAGES_FETCH_ERROR": "Erreur lors de la récupération des pages du livre", "GENERIC_ERROR": "Une erreur est survenue" + }, + "reader": { + "controls": { + "doublePage": { + "enable": "Activer le mode double page", + "disable": "Désactiver le mode double page" + }, + "direction": { + "current": "Changer le sens de lecture (actuellement de {{direction}})", + "ltr": "gauche à droite", + "rtl": "droite à gauche" + }, + "fullscreen": { + "enter": "Plein écran", + "exit": "Quitter le plein écran" + } + } } }