mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
chore: Initial Commit
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
This commit is contained in:
42
Front-End/src/i18n/request.js
Normal file
42
Front-End/src/i18n/request.js
Normal file
@ -0,0 +1,42 @@
|
||||
import { getRequestConfig } from 'next-intl/server';
|
||||
import { routing } from '@/i18n/routing';
|
||||
import { getAvailableNamespaces } from '@/utils/i18n';
|
||||
|
||||
export default getRequestConfig(async ({ requestLocale }) => {
|
||||
let locale = await requestLocale;
|
||||
|
||||
if (!locale || !routing.locales.includes(locale)) {
|
||||
locale = routing.defaultLocale;
|
||||
}
|
||||
|
||||
// Charger dynamiquement les namespaces disponibles
|
||||
const namespaces = await getAvailableNamespaces(locale);
|
||||
const messages = {};
|
||||
|
||||
// Charger les traductions pour chaque namespace
|
||||
await Promise.all(
|
||||
namespaces.map(async (namespace) => {
|
||||
try {
|
||||
const translations = (await import(`../../messages/${locale}/${namespace}.json`)).default;
|
||||
messages[namespace] = translations;
|
||||
} catch (error) {
|
||||
console.warn(`Erreur de chargement pour ${namespace} en ${locale}:`, error);
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
return {
|
||||
locale,
|
||||
messages,
|
||||
timeZone: 'Europe/Paris',
|
||||
formats: {
|
||||
dateTime: {
|
||||
short: {
|
||||
day: 'numeric',
|
||||
month: 'short',
|
||||
year: 'numeric'
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
17
Front-End/src/i18n/routing.js
Normal file
17
Front-End/src/i18n/routing.js
Normal file
@ -0,0 +1,17 @@
|
||||
import {defineRouting} from 'next-intl/routing';
|
||||
import {createNavigation} from 'next-intl/navigation';
|
||||
|
||||
|
||||
|
||||
export const routing = defineRouting({
|
||||
// A list of all locales that are supported
|
||||
locales: ['fr', 'en'],
|
||||
|
||||
// Used when no locale matches
|
||||
defaultLocale: 'fr'
|
||||
});
|
||||
|
||||
// Lightweight wrappers around Next.js' navigation APIs
|
||||
// that will consider the routing configuration
|
||||
export const {Link, redirect, usePathname, useRouter} =
|
||||
createNavigation(routing);
|
||||
Reference in New Issue
Block a user