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 Enlaces de Prueba
URLs Estándar
URLs Personalizadas
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