DeveloperBreeze

Javascript Programming Tutorials, Guides & Best Practices

Explore 93+ expertly crafted javascript tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.

How to Translate URLs in React (2025 Guide)

Tutorial May 04, 2025

import React from 'react';
import { useTranslation } from 'react-i18next';
import { BrowserRouter, Routes, Route, useNavigate } from 'react-router-dom';
import { routes } from './routes';
import './i18n';

const LanguageSwitcher = () => {
  const { i18n } = useTranslation();
  const navigate = useNavigate();

  const switchLang = (lang) => {
    const currentPath = window.location.pathname;
    const currentPage = currentPath.split('/')[1];

    i18n.changeLanguage(lang).then(() => {
      // Re-map path using new language
      const t = i18n.getFixedT(lang);
      const mappedRoutes = {
        en: { accueil: 'home', 'a-propos': 'about-us' },
        fr: { home: 'accueil', 'about-us': 'a-propos' },
      };

      const newPath = `/${mappedRoutes[lang][currentPage] || ''}`;
      navigate(newPath);
    });
  };

  return (
    <div className="lang-switch">
      <button onClick={() => switchLang('en')}>EN</button>
      <button onClick={() => switchLang('fr')}>FR</button>
    </div>
  );
};

const App = () => {
  const { t } = useTranslation();

  return (
    <BrowserRouter>
      <LanguageSwitcher />
      <Routes>
        {routes(t).map((route, idx) => (
          <Route key={idx} path={route.path} element={route.element} />
        ))}
      </Routes>
    </BrowserRouter>
  );
};

export default App;

Create pages/Home.js:

Globalization in React (2025 Trends & Best Practices)

Tutorial May 04, 2025

In 2025, certain laws enforce localized data:

  • πŸ‡ͺπŸ‡Ί GDPR requires local-language privacy policies
  • πŸ‡¨πŸ‡³ China's Cybersecurity Law needs local hosting + Mandarin support
  • πŸ‡ΈπŸ‡¦ Saudi localization laws mandate Arabic for all government services

Implementing Internationalization (i18n) in a Large React Application (2025 Guide)

Tutorial May 04, 2025

  • βœ… Add lang attribute dynamically to <html lang="...">
  • βœ… Use language subpaths (e.g., /en/home, /fr/home) for SEO indexing
  • βœ… Translate all visible UI, not just text
  • βœ… Localize URLs and metadata (title, description)
  • βœ… Use hreflang tags in SSR setups (Next.js, Remix)

Use localStorage via i18next-browser-languagedetector:

Building Micro-Frontends with Webpack Module Federation (2025 Guide)

Tutorial May 04, 2025

import('./App');

Update src/App.js:

State Management Beyond Redux: Using Zustand for Scalable React Apps

Tutorial May 03, 2025

Key Features:

  • Simplicity: Create stores using a straightforward API without the need for reducers or action types.
  • Performance: Optimized for performance with selective rendering and minimal re-renders.
  • Flexibility: Supports custom hooks, middleware, and integration with other libraries.
  • No Providers: Unlike Redux, Zustand doesn't require wrapping your app with context providers.