diff --git a/Frontend/src/locales/en.json b/Frontend/src/locales/en.json index e69de29..db0ca14 100644 --- a/Frontend/src/locales/en.json +++ b/Frontend/src/locales/en.json @@ -0,0 +1,35 @@ +{ + "dashboard": "Dashboard", + "failed_to_load_files": "Failed to load files. Please try again later.", + + "skycrate": "Skycrate", + "hero_subtitle": "Store, Access & Share Your Files — Anytime, Anywhere!", + "hero_desc": "A simple, secure, and fast cloud storage solution for all your files. Upload, organize, and access with ease.", + "get_started": "Get Started", + "login": "Login", + "key_features": "Key Features", + "feature_easy_upload_title": "Easy Upload & Access", + "feature_easy_upload_desc": "Drag & drop, instant access.", + "feature_secure_title": "Secure & Private", + "feature_secure_desc": "End-to-end encryption.", + "feature_sharing_title": "Seamless Sharing", + "feature_sharing_desc": "Share files with one click.", + "feature_access_anywhere_title": "Access Anywhere", + "feature_access_anywhere_desc": "Works on all devices.", + "how_it_works": "How It Works", + "how_create_account_title": "Create an account", + "how_create_account_desc": "Sign up in seconds.", + "how_upload_files_title": "Upload files", + "how_upload_files_desc": "Drag & drop or select from your device.", + "how_manage_files_title": "Manage files", + "how_manage_files_desc": "Rename, move, or delete easily.", + "how_access_anytime_title": "Access anytime", + "how_access_anytime_desc": "Open files from any device.", + + "not_found_title": "Page Not Found", + "not_found_description": "Sorry, we couldn't find the page you were looking for. It may have been moved or deleted.", + "go_home": "Go Home" + + +} + diff --git a/Frontend/src/locales/fr.json b/Frontend/src/locales/fr.json index e69de29..f99df3f 100644 --- a/Frontend/src/locales/fr.json +++ b/Frontend/src/locales/fr.json @@ -0,0 +1,34 @@ +{ + "dashboard": "Tableau de bord", + "failed_to_load_files": "Échec du chargement des fichiers. Veuillez réessayer plus tard.", + + "skycrate": "Skycrate", + "hero_subtitle": "Stockez, accédez et partagez vos fichiers — à tout moment, partout !", + "hero_desc": "Une solution de stockage cloud simple, sécurisée et rapide pour tous vos fichiers. Téléchargez, organisez et accédez facilement.", + "get_started": "Commencer", + "login": "Connexion", + "key_features": "Fonctionnalités clés", + "feature_easy_upload_title": "Téléversement et accès faciles", + "feature_easy_upload_desc": "Glissez-déposez, accès instantané.", + "feature_secure_title": "Sécurisé et privé", + "feature_secure_desc": "Chiffrement de bout en bout.", + "feature_sharing_title": "Partage sans effort", + "feature_sharing_desc": "Partagez des fichiers en un clic.", + "feature_access_anywhere_title": "Accès partout", + "feature_access_anywhere_desc": "Fonctionne sur tous les appareils.", + "how_it_works": "Comment ça marche", + "how_create_account_title": "Créer un compte", + "how_create_account_desc": "Inscrivez-vous en quelques secondes.", + "how_upload_files_title": "Téléverser des fichiers", + "how_upload_files_desc": "Glissez-déposez ou sélectionnez depuis votre appareil.", + "how_manage_files_title": "Gérer les fichiers", + "how_manage_files_desc": "Renommez, déplacez ou supprimez facilement.", + "how_access_anytime_title": "Accès à tout moment", + "how_access_anytime_desc": "Ouvrez des fichiers depuis n'importe quel appareil.", + + "not_found_title": "Page non trouvée", + "not_found_description": "Désolé, nous n'avons pas pu trouver la page que vous cherchiez. Elle a peut-être été déplacée ou supprimée.", + "go_home": "Accueil" + + +} diff --git a/Frontend/src/pages/UserPages/Dashboard.jsx b/Frontend/src/pages/UserPages/Dashboard.jsx index 7d8ff46..50a6e92 100644 --- a/Frontend/src/pages/UserPages/Dashboard.jsx +++ b/Frontend/src/pages/UserPages/Dashboard.jsx @@ -1,16 +1,19 @@ import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; +import { useTranslation } from "react-i18next"; // for multilinguality import Sidebar from "../../components/Sidebar"; import FileList from "../../components/FileList"; import FileUploadModal from "../../components/FileUploadModal"; import { FiPlus } from "react-icons/fi"; const Dashboard = () => { + const { t } = useTranslation(); // for multilinguality const [files, setFiles] = useState([]); const [isUploadModalOpen, setIsUploadModalOpen] = useState(false); const [error, setError] = useState(""); const navigate = useNavigate(); const API_URL = import.meta.env.VITE_API_URL; + const isUserLoggedIn = () => { const token = localStorage.getItem("token"); const username = localStorage.getItem("username"); @@ -36,7 +39,7 @@ const Dashboard = () => { setFiles(data); } catch (error) { console.error("Failed to fetch files:", error); - setError("Failed to load files. Please try again later."); + setError(t("failed_to_load_files")); } }; @@ -46,6 +49,7 @@ const Dashboard = () => { } else { fetchFiles(); } + // eslint-disable-next-line }, [navigate]); return ( @@ -54,7 +58,7 @@ const Dashboard = () => {
- A simple, secure, and fast cloud storage solution for all your - files. Upload, organize, and access with ease. + {t("hero_desc")}
{/* Buttons */} @@ -253,13 +255,13 @@ const DrivethruLandingPage = () => { to="/signup" className="bg-emerald-500 hover:bg-emerald-600 text-white font-medium rounded-full px-6 py-4 md:px-8 md:py-6 transform hover:scale-105 transition-all duration-300 shadow-lg hover:shadow-xl" > - Get Started + {t("get_started")} - Login + {t("login")}
- {/* Page number and title */}
- - Sorry, we couldn't find the page you were looking for. It may have - been moved or deleted. + {t("not_found_description")}
- - {/* Call-to-action button */} - Go Home + {t("go_home")}