Sistema de URLs Personalizadas

Demostración de URLs diferentes por idioma usando la misma plantilla

URLs Estándar por Idioma

Tienda / Shop

Catalán: /botiga
Español: /es/tienda
Inglés: /en/shop

Privacidad / Privacy

Catalán: /politica-privacitat
Español: /es/politica-privacidad
Inglés: /en/privacy-policy

Juego / Game

Catalán: /jocs/misty-valley
Español: /es/juegos/misty-valley
Inglés: /en/games/misty-valley

URLs Personalizadas por Idioma

Tienda Personalizada

Catalán: /botiga
Español: /es/tienda
Inglés: /en/shop

Privacidad Personalizada

Catalán: /politica-privacitat
Español: /es/politica-privacidad
Inglés: /en/privacy-policy

Juego Personalizado

Catalán: /jocs/misty-valley
Español: /es/juegos/misty-valley
Inglés: /en/games/misty-valley

Código de Ejemplo

// En src/lib/i18n-routes.ts
export const routeMappings = {
  'shop': {
    ca: '/botiga',         // URL personalizada
    es: '/es/tienda',      // URL personalizada
    en: '/en/shop'         // URL personalizada
  }
};

// En src/middleware.ts
const urlMappings = {
  '/tienda': '/es/tienda', // URL personalizada → URL estándar
  '/store': '/en/shop'     // URL personalizada → URL estándar
};

// En componentes
const shopUrl = getRouteUrl('shop', 'es'); // '/es/tienda'
const allUrls = getAllRouteUrls('shop');    // Todas las URLs